当前位置:文档之家› 嵌入式4412开发硬件平台之基础介绍

嵌入式4412开发硬件平台之基础介绍

嵌入式4412开发硬件平台之基础介绍
嵌入式4412开发硬件平台之基础介绍

本文转自4412开发板实战书籍:https://www.doczj.com/doc/2f7777474.html,

硬件介绍

嵌入式系统的硬件除了核心部件——嵌入式处理器外,还包括存储器系统、外围接口部件以及连接各种设备的总线系统。其中,存储器是嵌入式系统存放数据和程序的功能部件,而外围设备决定了应用于不同领域的嵌入式系统的独特功能。

嵌入式处理器是嵌入式系统中硬件的核心组成部分,但是若没有存储器和I/O设备,它就无法具有各种实用的功能。嵌入式处理器通常集成了大量的I/O模块单元(如中断控制器和通信控制器等)和存储器(Flash和RAM等)。当嵌入式处理器上集成的存储器单元和I/O 单元不够时,可以通过扩充组成强大的嵌入式硬件系统。

嵌入式系统的硬件是以嵌入式处理器为中心,由存储器、I/O单元电路、通信模块、外部设备等必要的辅助接口组成的,如下图所示。在实际应用中,嵌入式系统硬件配置可能非常精简,除了微处理器和基本的外围电路以外,其余的电路可以根据需要和成本进行裁剪、定制。

在嵌入式系统中使用的存储器可以是内部存储器,也可以是外部存储器。通常处理器的内部存储器是非常有限的。对于小型应用,如果这些存储器够用,就不必使用外部存储器;否则,就必须进行扩展,使用外部存储设备。与通用计算机把应用软件和操作系统放在外存的工作方式不同,嵌入式系统的软件通常直接存放在内存(如Flash)中,上电之后可以立刻运行;当然,也有的嵌入式系统的软件从外存启动、装载并运行。无论如何,需要考虑嵌入式系统的软件的固化问题,而这一问题在通用计算机(如PC机)上开发软件是不需要考虑的。此外,考虑存储器系统时,还需要考虑嵌入式系统软件的引导问题。

嵌入式处理器工作时必须有附属电路支持,如时钟电路、复位电路、调试电路、监视定时器、中断控制电路等,这些电路并不完成数据的输入/输出功能,而是为嵌入式处理器的

工作提供必要的条件。在设计嵌入式系统的硬件电路时,常常将它们与嵌入式处理器设计成一个模块,形成处理器最小系统。

嵌入式处理器在功能上有别于通用处理器,其区别在于嵌入式处理器上集成了大量的

I/O电路。因此,用户在开发嵌入式系统时,可以根据系统需求选择合适的嵌入式处理器,而无需再另外配合I/O电路。随着半导体技术的发展,嵌入式处理器的集成度不断提高,许多嵌入式处理器上集成的I/O功能完全满足应用的需求,基本无需扩展。嵌入式系统的I/O 接口电路主要完成嵌入式处理器与外部设备之间的交互和数据通信。这些电路包括网络接口、串行接口、模/数转换和数/模转换接口、人机交互接口等。应用于不同行业的嵌入式系统,其接口功能和数量有很大的差异。在设计I/O接口电路时,一般把这部分作为I/O子系统进行统一的设计,这样既可以综合考虑优化电路,又便于设计成果的重复使用。

处理器和ARM处理器

中央微处理器,简称CPU,它是计算机中最重要的一个部分,它决定嵌入式系统的主要功能特性。CPU又由运算器和控制器两大部分组成。

所谓寄存器(register),是CPU内部用来存放数据的一些小型存储区域,用于暂时存放参与运算的数据和运算结果。

外部设备也有寄存器,是一种存储单元,其物理结构跟内存单元不一样,但作用跟内存单元一样,都能保存信息。

在设计时,给外部设备的每个寄存器都分配一个地址,CPU可以根据地址访问某个寄存器,则该寄存器发生相应的动作:或接收数据总线上的数据(对应于写操作),或把自己的数据送到数据总线上(对应于读操作)。当CPU访问某个寄存器时,同一个外设的其他寄存器和其他外设的寄存器由于没有CPU的指令不会发生动作。

嵌入式处理器通常包括几个部分:处理器内核、地址总线、数据总线、控制总线、片上I/O接口电路及辅助电路(如时钟、复位电路等)。

下面简单介绍一下ARM处理器的历史和发展。

1991年ARM公司(Advanced RISC Machine Limited)成立于英国剑桥,最早由

Arcon、Apple和VLSI合资成立,主要出售芯片设计技术的授权,在1985年4月26 日,第一个ARM原型在英国剑桥的Acorn 计算机有限公司诞生(在美国VLSI 公司制造)。目前,ARM 架构处理器已在高性能、低功耗、低成本的嵌入式应用领域中占据了领先地位。

ARM 公司最初只有12 人,经过十多年的发展,ARM 公司已拥有近千名员工,在许多国家都设立了分公司,包括ARM 公司在中国上海的分公司。目前,采用ARM 技术知识产权(IP)核的微处理器,即我们通常所说的ARM 微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM 技术的微处理器应用约占据了32 位RISC 微处理器80%以上的市场份额,其中,在手机市场,ARM 占有绝对的垄断地位。可以说,ARM技术正在逐步渗入到人们生活中的各个方面,而且随着32 位CPU价格的不断下降和开发环境的不断成熟,ARM技术会应用得越来越广泛。

ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为嵌入式RISC处理器的知识产权IP供应商,公司本身并不直接从事芯片生产,而是靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM 公司购买其设计的ARM 微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM 微处理器芯片进入市场,利用这种合伙关系,ARM很快成为许多全球性RISC标准的缔造者。目前,全世界有几十家大的半导体公司都使用ARM公司的授权,其中包括Intel、IBM、Samsung、LG 半导体、NEC、SONY、PHILIP 等公司,这也使得ARM 技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场并被消费者所接受,更具有竞争力。

存储设备

嵌入式系统的存储器子系统与通用计算机的存储器子系统的功能并无明显的区别,这决定了嵌入式系统的存储器子系统的设计指标和方法也可以采用通用计算机的方法,尤其是嵌入通用计算机的大型嵌入式系统更是如此。

存储器子系统设计的首要目标是使存储器在工作速度上很好地与处理器匹配,并满足各种存取需要。因此,体系结构的特性能够提高存储系统的速度和容量。随着微电子技术的发展,微处理器的工作速度有了很大的提高。而微处理器时钟频率提高比内存速度提高要快,以至于内存速度远远落后于CPU速度。如果大量使用高速存储器,使它们在速度上与处理器相吻合,就能够简便地解决问题。但是,这种方法受到经济上的限制。因为随着存储器芯片速度的提高,其价格急剧上升,使系统成本十分昂贵。在实际的计算机系统中,总是采用分级的方法来设计整个存储器系统。如下图所示为这种分级存储系统的组织结构示意图,它把全部存储系统分为四级,即寄存器组、高速缓存、内存和外存。它们在存取速度上依次递减,而在存储容量上逐级递增。

寄存器组是最高一级的存储器。在计算机设备中,寄存器组一般是微处理器内含的,如上一章介绍的ARM处理器中有37个寄存器。有些待使用的数据或者运算的中间结果可以暂存在这些寄存器中。微处理器在对本芯片内的寄存器读/写时,速度很快,一般在一个时钟周期内完成。从总体上说,设置一系列寄存器是为了尽可能减少微处理器直接从外部取数的次数。但是,由于寄存器组是制作在微处理器内部的,受芯片面积和集成度的限制,因此寄存器的数量不可能做得很多。

第二级存储器是高速缓冲存储器(Cache)。高速缓存是一种小型、快速的存储器,其存取速度足以与微处理器相匹配。高速缓存能够保存部分内存的内容的拷贝,如果正确使用,它能够减少内存平均访问时间。

第三级是内存。运行的程序和数据都放在内存中。由于微处理器的寻址大部分在高速缓存上,因此内存可以采用速度稍慢的存储器芯片,对系统性能的影响不会太大,同时又降低了成本。内存除主要使用RAM外,还要使用一定量的ROM。这些ROM主要用来解决系统初始化的一系列操作,如设备检测、接口电路初始化、启动操作系统等。一般情况下,ROM的存取时间比较长,对ROM的每次读/写要增添3~4个等待周期。但这种少量慢速存储器只在开机时运行,对系统性能影响不大。

最低一级存储器是大容量的外存。这种外存容量大,但是在存取速度上比内存要慢得多。目前嵌入式系统中常用闪存作为大容量硬盘存储各种程序和数据。

上述四级存储器系统并不是每个嵌入式系统所必须具备的,应当根据系统的性能要求和处理器的功能来确定。例如,在8位处理器上,主要考虑内存的时间,而高速缓存极少被采用。对于16位和32位微处理器组成的系统,随着性能的提高,存储系统变得更为复杂,一般都包含了全部四级存储器。

总线

一个处理器系统可能使用多条总线来连接设备。高速设备可以连到高速总线上,而低速设备连到低速总线上,通过一个被称为桥的逻辑电路使得总线可以互连。

使用这样的总线配置主要考虑到以下几个原因:

(1) 高速总线通常提供较宽的数据连接。

(2) 高速总线通常要更昂贵的电路和连接器,可以通过使用较慢的、比较便宜的总线来降低低速设备成本。

(3) 桥允许总线独立操作,因此可以在I/O操作中提供并行性。

在高速总线和低速总线之间的总线桥是高速总线的受控器,是低速总线的主控器。桥从高速总线上获取指令并将其传到低速总线,将结果从低速总线传到高速总线上。

嵌入式最常用的有四大总线有I2C总线、SPI总线、CAN总线、USB总线。

I2C总线

IIC总线,是INTER-IC串行总线的缩写。INTER-IC原文大意是用于相互作用的集成电路,这种集成电路主要由双向串行时钟线SCL和双向串行数据线SDA两条线路组成,由荷兰菲利浦公司于80年代研制开发成功。

IIC总线在传送数据时其速率可达100kbps,最高速率时可达400kbps,总线上允许连接的设备数主要决定于总线上的电容量,一般设定为400pF以下。I2C总线主要在微处理器的控制之下,因此通常称微处理器是I2C总线的主机。习惯上总称受控设备及功能电路为I2C总线的从机。这种主机与从机之间的连接通常是在总线的输出端,而输出端的电路结构为IIC总线的从机。这种主机与从机之间的连接通常是在总线的输出端,而输出端的电路结构又总是开漏输出或集电极开路输出。通常数据传送要由主机发出启动信号和时钟信号,向所控从机发出一个地址、一个读写位和一个应答位,其中地址位为7位数据,在实际控制中,一般一次只能传送一个8位数据,并以一个停止位结束。

在实际应用中,往往被传送的数据位数会超过8位,也就是说总会有多字节传送,这时必须在传送数据地址结束后再传送一个副地址。因此,被传送的字节没有限制,但每一个字节后面必须有一位应答位。应答位通常被设定在低电平,当应答位处于高电平时,指示被传送的数据已结束。

在I2C总线的控制系统中,有时从机也可以是多台微处理器,在多台微机同时工作时,

它们对总线的控制也由相似于时钟的同步方式进行仲裁,也就是说时钟的同步与仲裁过程是同时进行的,不存在因是主机而有优先权次序。不同速度的从机可以接在同一I2C总线上完成相互间数据的传送。高速方式芯片和普通芯片可以混合于同一I2C总线上。

I2C总线的特点与特性

I2C总线与传统的PWM调宽脉冲相比较,其最大的特点是串行数据线和时钟线都是双向传输线。I2C总线在实际电路的应用中,两根线各自通过一个上拉电阻连接到电源电压的正极端,当总线空闲时,数据线SDA和时钟线SCL必须保持高电平,同时各接口电路的输出又必须是开路漏极或开路集电极,因此I2C总线的最大特性是在地址信息传输过程中,即可以是主控器也可以是被控器,或既可以是发射器又可以是接收器,从而为挂在总线上的各集成电路或功能模块完成各自的功能提供了极大方便。

总线具有十分灵活的运用性,并且还具有多重主控的能力,如多个作为主控器去控制占用总线的电路,都可以根据在I2C总线上进行数据传送的工作状态,被分为主控发送器、主控接收器、被控发射器、被控接收器。在多重主控能力中,由于总线的仲裁过程,I2C总线的时钟信号将是各试力占用总线的各主控器的时钟信号的同步组合。所谓仲裁是在多个主控器试图同时控制总线时一个裁决过程,它只允许其中的一个主控器继续占用总线,并保证在整个过程中总线上的数据不会被丢失或出错误;所谓同步是将两个或多个器件的时钟信号进行处理。

SPI总线

SPI接口的全称是"Serial Peripheral Interface",意为串行外围接口,是Motorola 首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。

SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,地位在后,为全双工通信,数据传输速度总体来说比I2C 总线要快,速度可达到几Mbps。

SPI接口是以主从方式工作的,这种模式通常有一个主器件和一个或多个从器件,其接口包括以下四种信号:

(1)MOSI –主器件数据输出,从器件数据输入

(2)MISO –主器件数据输入,从器件数据输出

(3)SCLK –时钟信号,由主器件产生

(4)/SS –从器件使能信号,由主器件控制

在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。

在多个从器件的系统中,每个从器件需要独立的使能信号,硬件上比I2C系统要稍微复杂一些。

SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。如下图所示,在SCLK 的下降沿上数据改变,同时一位数据被存入移位寄存器。

SPI接口内部硬件图示:

SPI接口的一个缺点:没有指定的流控制,没有应答机制确认是否接收到数据。

CAN总线

CAN(Controller Area Network)是ISO国际标准化的串行通信协议。广泛应用于汽车、船舶等。具有已经被大家认可的高性能和可靠性。

CAN控制器通过组成总线的2根线(CAN-H和CAN-L)的电位差来确定总线的电平,在任一时刻,总线上有2种电平:显性电平和隐性电平。

“显性”具有“优先”的意味,只要有一个单元输出显性电平,总线上即为显性电平,并且,“隐性”具有“包容”的意味,只有所有的单元都输出隐性电平,总线上才为隐性电平。(显性电平比隐性电平更强)。

总线上执行逻辑上的线“与”时,显性电平的逻辑值为“0”,隐性电平为“1”。

下图显示了一个典型的CAN拓扑连接图。

连接在总线上的所有单元都能够发送信息,如果有超过一个单元在同一时刻发送信息,有最高优先级的单元获得发送的资格,所有其它单元执行接收操作。

CAN总线协议具有下面的特点:

1) 多主控制。当总线空闲时,连接到总线上的所有单元都可以启动发送信息,这就是所谓的多主控制的概念。先占有总线的设备获得在总线上进行发送信息的资格。这就是所谓的CSMA/CR(Carrier Sense MultipleAccess/Collosion Avoidance)方法。如果多个设备同时开始发送信息,那么发送最高优先级ID消息的设备获得发送资格。

2) 信息的发送。在CAN协议中,所有发送的信息要满足预先定义的格式。当总线没有被占用的时候,连接在总线上的任何设备都能起动新信息的传输,如果两个或更多个设备在同时刻启动信息的传输,通过ID来决定优先级。ID并不是指明信息发送的目的地,而是指示信息的优先级。如果2个或者更多的设备在同一时刻启动信息的传输,在总线上按照信息所包含的ID的每一位来竞争,赢得竞争的设备(也就是具有最高优先级的信息)能够继续发送,而失败者则立刻停止发送并进入接收操作。因为总线上同一时刻只可能有一个发送者,而其它均处于接收状态,所以,并不需要在底层协议中定义地址的概念。

3) 系统的灵活性。连接到总线上的单元并没有类似地址这样的标识,所以,添加或去除一个设备,无需改变软件和硬件,或其它设备的应用层软件。

4) 通信速度。可以设置任何通讯速度,以适应网络规模。对一个网络,所有单元必须有相同的通讯速度,如果不同,就会产生错误,并妨碍网络通讯,然而,不同网络间可以有不同的通讯速度。

5) 远程数据请求。可以通过发送“遥控帧”,请求其他单元发送数据。

6) 错误检测、错误通知、错误恢复功能。所有单元均可以检测出错误(错误检测功能)。检测到错误的单元立刻同时通知其它所有的单元(错误通知功能)。如果一个单元发送信息时检测到一个错误,它会强制终止信息传输,并通知其它所有设备发生了错误,然后它会重

传直到信息正常传输出去(错误恢复功能)。

7) 错误隔离。在CAN总线上有两种类型的错误:暂时性的错误(总线上的数据由于受到噪声的影响而暂时出错);持续性的错误(由于设备内部出错(如驱动器坏了、连接有问题等)而导致的)。CAN能够区别这两种类型,一方面降低常出错单元的通讯优先级以阻止对其它正常设备的影响,另一方面,如果是一种持续性的错误,将这个设备从总线上隔离开。

8) 连接。CAN总线允许多个设备同时连接到总线上且在逻辑上没有数目上的限制。然而由于延迟和负载能力的限制,实际可连接得设备还是有限制的,可以通过降低通讯速度来增加连接的设备个数。相反,如果连接的设备少,通讯的速度可以增加。

USB总线

连接计算机外设的串行数据总线,其技术的发展一直非常缓慢。1969年EIA推出的RS-232C串行总线至今仍是连接计算机外设的主流串行总线。尽管在20世纪70年代和80年代陆续推出了RS-422A、RS-449、RS-485和RS-530等串行总线(其中RS-449的设计初衷是想取代RS-232C,而RS-530则是想取代RS-449),但由于种种原因都没有改变RS-232C先入为主的主导地位。因此,长期以来,串行总线只用于连接慢速外设或用作低速网络的总线。

通用串行总线(Universal Serial Bus,USB)是1995年Microsoft、Compaq、IBM等公司联合制定的一种新的计算机串行通信协议。USB协议得到各PC厂商、芯片制造商和PC外设厂商的广泛支持。从当初的0.7、0.8版本到现在广泛采用的1.0、1.1版本,甚至到正在逐步推广的2.0版本,USB本身也在不断地发展和完善。

通用串行总线是一种将USB外围设备连接到主机的外部总线结构,它通过PCI总线和PC的内部系统数据线连接,实现数据传送。USB同时又是一种通信协议,它支持主系统和USB外围设备之间的数据传送,通过一个4针的标准插头,采用菊花链形式把所有的外设连接起来。

USB主要具有以下优点:

(1) 支持热插拔(hot plug)和即插即用(Plug-and-Play),即在不关机的情况下可以安全地插上或断开USB设备,动态加载驱动程序。

(2) 为所有的USB外设提供单一的、易于操作的标准连接类型,排除了外设对系统资源的需求,因此减少了硬件的复杂性和对端口的占用,整个USB系统只有一个端口和一个中断,节省了系统资源。

(3) USB1.1提供全速12 Mb/s和低速1.5 Mb/s的模式,USB2.0提供高达480 Mb/s 的传输速率。

(4) 为了适应各种不同类型外设的要求,USB提供了四种不同的数据传输类型。

(5) 易于扩展,理论上最多可支持127个设备。

液晶控制板

大平面显示器通常由LCD构成。其中每个像素都由一个液晶体构成。LCD显示器到系统的接口独具特点,这主要因为LCD像素阵列能够被随机访问。早期的液晶显示控制板被称为被动矩阵,它依靠一个二维的电线网络来编址像素。现代液晶显示控制板显示器使用一种主动矩阵系统,它给每个像素配置转发器,以此来控制、访问LCD显示器。主动矩阵显示器提供了更高的对比度和显示质量。

触摸屏

触摸屏是覆盖在输出设备上的输入设备,用来记录触摸位置。把触摸屏覆盖在显示器上,使用者可以对显示的信息作出反应。

触摸屏按其工作原理不同分为表面声波屏、电容屏、电阻屏和红外屏等。其中常见的触摸屏是电阻式触摸屏。电阻式触摸屏用二维电压表来探测位置。触摸屏由两层被许多细小的透明隔离球隔开的导电薄层组成。当手指或笔触摸屏幕时,平常互相绝缘的导电层在触摸点位置有了一个接触。在顶层的导电层上加上电压,它的电阻就在穿过该层时产生电势差;然后顶层在接触点对电压采样;最后用模/数转换器来测量电压,以此得出位置。

网络设备

以太网接口

以太网是最广泛应用的局域网络技术,实现了在小区域(如一个办公室)范围内连接计算机。以太网数据速率为10 Mb/s,而快速以太网(Fast Ethernet)数据速率为100 Mb/s。最常用的以太网协议是IEEE 802.3标准,媒体的存取规则采用CSMA/CD(载波检测多路存取/冲突检测)。现代的操作系统均能同时支持这些协议标准,因此对嵌入式系统的应用来说,考虑系统精简因素,只需要支持这一种就够了,除非有特殊需要,否则没有必要支持太多协议。

以太网的数据传输有以下特点:

(1) 所有数据位的传输由低位开始,传输的位流采用曼彻斯特编码。

(2) 以太网传输的数据段长度最小为60字节,最大为1514字节。

(3) 通常以太网卡可以接收来自三种地址的数据,即广播地址、多播地址(在嵌入式系统中很少使用)和它自己的地址。但有时用于网络分析和监控,网卡也可以设置为接收任何数据包。

(4) 任何两个网卡的物理地址都是不一样的。网卡地址由专门结构分配,不同厂家使用

不同地址段,同一厂家的任意两个网卡的地址也是唯一的。

蓝牙

蓝牙,是一种无线个人局域网(Wireless PAN),最初由爱立信创制,后来由蓝牙技术联盟订定技术标准。能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。利用“蓝牙”技术,能够有效地简化移动通信终端设备之间的通信,也能够成功地简化设备与因特网Internet之间的通信,从而数据传输变得更加迅速高效,为无线通信拓宽道路。蓝牙采用分散式网络结构以及快跳频和短包技术,支持点对点及点对多点通信,工作在全球通用的2.4GHz ISM(即工业、科学、医学)频段。其数据速率为1Mbps。采用时分双工传输方案实现全双工传输。

WIFI

WIFI一般指Wi-Fi,Wi-Fi是一种可以将个人电脑、手持设备(如pad、手机)等终端以无线方式互相连接的技术,事实上它是一个高频无线电信号。无线保真是一个无线网络通信技术的品牌,由Wi-Fi联盟所持有。目的是改善基于IEEE 802.11标准的无线网路产品之间的互通性。有人把使用IEEE 802.11系列协议的局域网就称为无线保真。甚至把无线保真等同于无线网际网路(Wi-Fi是WLAN的重要组成部分)关于"Wi-Fi”这个缩写词的发音,根据英文标准韦伯斯特词典的读音注释,标准发音为/?wa?.fa?/因为Wi-Fi这个单词是两个单词组成的,所以书写形式最好为WI-FI,这样也就不存在所谓专家所说的读音问题,同理有HI-FI(/ha?.fa?/)。

标准串行通信接口

标准异步串行通信接口主要有以下几类:RS-232C、RS-422和RS-485。RS-232C是美国电子工业协会(EIA)正式公布的、在异步串行通信中应用最广的标准总线,适合短距离或带调制解调器的通信场合。为了提供数据传输速率和通信距离,EIA又公布了RS-422和RS-485串行总线接口标准。

RS-232C是美国电子工业协会(Electronic Industry Association,EIA)制定的在数据终端设备(Data Terminal Equipment,DTE)和数据通信设备(Data Communication Equipment,DCE)之间进行串行二进制数据交换的接口。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232C标准是一种硬件协议,规定了21个信号和25个引脚,用于连接DTE和DCE两种设备。

RS-232C标准规定的数据传输速率为50、75、100、150、300、600、1200、2400、4800、9600、19200 b/s等;驱动器允许有不超过2500 pF的电容负载,通信距离将受此电容限制。例如,当信号传输速率为20 kb/s时,最大传输距离为15 m。传输距离短的另

一个原因是RS-232C属于单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于短距离通信。

RS-232C接口的缺点主要表现在两个方面:数据传输速率慢和传输距离短。RS-232C 规定的20 kb/s的传输速率虽然能够满足异步通信要求(通常异步通信速率限制在19.2 kb/s 以下),但对某些同步系统来说不能满足传输速率要求。此外,RS-232C接口的一般设备之间电缆长度为15 m,最长也不会超过60 m。

RS-422是EIA公布的“平衡电压数字接口电路的电气特性”标准,是为改善RS-232C 标准的电气特性、又考虑与RS-232C兼容而制定的。RS-422与RS-232C的关键差别在于把单端输入改为双端差分输入,双方的信号地不再共用。

RS-422给出了对电缆、驱动器的要求,规定了双端电气接口形式,并使用双绞线传送信号。与RS-232C相比,RS-422传输信号距离长、速度快。传输率最大为10 Mb/s,在此速率下,电缆允许长度为120 m。如果采用较低传输速率,如90 kb/s,则最大距离可达1200 m。

RS-485是RS-422的变型,RS-422是全双工的,可以同时发送与接收;而RS-485

是半双工的,在某一时刻,只能一个发送另一个接收。

RS-485是一种多发送器的电路标准,它扩展了RS-422的性能,允许双线总线上驱动32个负载设备。负载设备可以是被动发送器、接收器或二者组合而成的收发器。当用于多点互连时,可节省信号线,便于高速远距离传送。许多智能仪器设备配有RS-485总线接口,便于将它们进行联网。

UART提供了RS-232C数据终端设备接口,这样计算机就可以和调制解调器或其他使用RS-232C接口的串行设备进行通信。作为接口的一部分,UART还提供了以下功能:将计算机外部传来的串行数据转换为字节,供计算机内部使用并行数据的器件使用;将由计算机内部传送过来的并行数据转换为输出的串行数据;在输出的串行数据流中加入奇偶校验位,并对从外部接收的数据流进行奇偶校验;在输出的数据流中加入“起”、“止”标记,并从接收数据流中删除“起”、“止”标记;处理计算机与外部串行设备的同步管理问题;处理由键盘或鼠标发出的中断信号(键盘和鼠标也是串行设备)。

相对于微处理器,一台UART是作为一个甚至多个存储点或I/O端口的。UART一般包括一个或多个状态寄存器,用于验证数据传输和接收时的状态、进程。微处理器能够判断何时已收到一个字节、何时已发送一个字节、是否产生通信错误等。UART还可以通过一个或多个控制寄存器进行配置,配置内容包括波特率的设置、终止位数量的设置以及在发送字节时产生中断等。异步通信在UART上几乎是透明地运行,为了收、发数据,只需运行程

序,简单地在UART上执行读/写操作。

OpenVX嵌入式图像处理(一)硬件平台及软件介绍

OpenVX嵌入式图像处理(一)硬件平台及软件介绍 图像处理这几年可谓是大红大紫了一番,尤其是 OpenCV的出现让很多之前只有研究者才能使用的算法变成 了小白装个库调用个函数就可以解决的问题。但是实时性一 直以来都是一个非常头疼的问题,尤其是在嵌入式平台上进 行图像处理的门槛一直以来都没有降低。今天在这挖个坑, 想和大家一起把图像处理搬到嵌入式平台上去,让图像处理 从花拳绣腿的演示实验,到真正真枪实剑。 硬件选择图像处理方面ARM,DSP,FPGA,GPU四者可谓是各有各的优点。ARM的最大优点是系统封装,一旦ARM 加上了系统那程序写起来会避免接触诸多底层的麻烦。在 2014年之前,大多数高端开发板还停留在DSP+ARM的架构上,程序写起来可谓是难上加难。而单纯ARM CPU的嵌入式平台即便是可以跑较为完整的Linux系统,运算速度和桌 面平台也差一个数量级。2014年英伟达推出了Jetson 系列的带GPU的嵌入式超级计算机在硬件上打破这一难题。入 门级Jetson tk1 以及高配版Jeston tx1 基本上可以完全满足 用户对于嵌入式图像处理的硬件需求。本系列将使用Jetson tk1作为嵌入式图像处理的硬件平台使用Jeston tk1 全名

Nvidia Jeston Tegra K,他拥有Cortex-A15架构的32位四核心CPU,拥有192核心的开普勒GPU, 2GB内存,并有USB 3.0、HDMI 1.4、SATA、千兆以太网(Realtek RTL8111GS)、音频(Realtek ALC5639)、mini PCI-E。总的来说,除了USB 接口数目,其他的都已经绰绰有余,配得上“超级计算机的 名号”。不过关于硬件方面,有几个藏得很深的地方要拿出 来说明一下: 板子一共有四个串口,一个RS232串口和三个TTL电平,英伟达官方文档中不建议使用UART 2,因为他适用于开发 板的调试功能; RS232串口存在只能发不能收的问题,目前尚未解决; USB控制器不支持Kinect V2。 软件介绍Jeston tk1 自带有Tegra系统,其实就是一个加入 部分优化的ARM Ubuntu。Tegra保留了几乎所有Ubuntu 14.04 LST的功能,如果你是一个Linux程序员那上手起来一 定会非常快。此外,Nivida 还提供了Tegra2Opencv的工具包,使用它可以利用NVCC编译Opencv,这比使用ARM编译的Opencv速度要快很多。值得一提的是,使用NVCC编译的Opencv可以利用Opencv中的GPU模块,虽然Gpu模块现在还是一个效率存疑的模块,但是就我的测试结果来

嵌入式系统硬件体系结构设计

一、嵌入式计算机系统体系结构 体系主要组成包括: 1. 硬件层 硬件层中包含嵌入式微处理器、存储器(SDRAM 、ROM 、Flash 等)、通用设备接口和I/O 接口(A/D 、D/A 、I/O 等)。在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM 中。 软件层功能层

2. 中间层 硬件层与软件层之间为中间层,也称为硬件抽象层(Hardware Abstract Layer,HAL)或板级支持包(Board Support Package,BSP),它将系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关,上层软件开发人员无需关心底层硬件的具体情况,根据BSP 层提供的接口即可进行开发。该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。 3. 系统软件层 系统软件层由实时多任务操作系统(Real-time Operation System,RTOS)、文件系统、图形用户接口(Graphic User Interface,GUI)、网络系统及通用组件模块组成。RTOS是嵌入式应用软件的基础和开发平台。 4. 功能层 功能层主要由实现某种或某几项任务而被开发运行于操作系统上的程序组成。 一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,而嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。 硬件的设计 本网关硬件环境以单片机S3C2440芯片和DM9000以太网控制芯片为主,

什么是嵌入式软件开发嵌入式系统软件开发所需要学习那些知识_百(精)

什么是嵌入式软件开发?嵌入式系统软件开发所需要学习那些知识? 随着智能化和信息化网络化的不断发展,嵌入式技能已经日趋成为一种新时代新技术革命的关键。对于嵌入式系统和嵌入式软件开发人员来说,这份职业无疑是种高端应用技术的结合。是一个很有前景的职业。 嵌入式趋势来势汹涌,目前为止已经被很多企业所应用,对于这方面人才的需求更是倍感吃紧。关于嵌入式具体应用不做详细的解说,在这里有必要强调一下,嵌入式软件开发是含义,和要想在嵌入式软件开发中取得不菲的成绩所需掌握那些最基础的知识。 嵌入式技术执行专用功能并被内部计算机控制的设备或者系统。嵌入式系统不能使用通用型计算机,而且运行的是固化的软件,嵌入式技术及应用是计算机应用技术的新发展,具有广泛的应用领域和发展前景,就业形势看好。 嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是是由单个程序实现整个控制逻辑,笼统地来说,嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。 这么多的应用可见嵌入式系统的前景和人才需求是相当大的,在最近几年中关于这一类的培训也层出不穷,所涉及到的课程和知识点相对来说还是有点差异的,在深圳达内福田培训中心网站上看到了关于嵌入式系统软件开发所需要掌握的几大知识点,感觉划分的很细致。 主要包含以下8个核心部分 1.Linux操作系统核心

嵌入式系统课后答案整理版

第一章 思考与练习 1、举出3个书本中未提到的嵌入式系统的例子。 答:红绿灯控制,数字空调,机顶盒 2、什么叫嵌入式系统 嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 3、什么叫嵌入式处理器?嵌入式处理器分为哪几类? 嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。 嵌入式微处理器(Embedded Microprocessor Un it, EMPU) 嵌入式微控制器(Microco ntroller Un it, MCU) 嵌入式 DSP 处理器(Embedded Digital Signal Processor, EDSP) 嵌入式片上系统(System On Chip) 4、什么是嵌入式操作系统?为何要使用嵌入式操作系统? 是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实时操作系统提高了系统的可靠性。其次,提高了开发效率,缩短了开发周期。再次,嵌入式实时操作系统充分发挥了 32位CPU的多任务潜力。 第二章 1、嵌入式系统项目开发的生命周期分哪几个阶段?各自的具体任务是什么? 项目的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目4个阶段。 识别需求阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。 提出解决方案阶段由各厂商向客户提交标书、介绍解决方案。 执行项目阶段细化目标,制定工作计划,协调人力和其他资源;定期监控进展,分析项目偏差,采取必要措施以实现目标。 结束项目阶段主要包括移交工作成果,帮助客户实现商务目标;系统交接给维护人员;结清各种款项。 2、为何要进行风险分析?嵌入式项目主要有哪些方面的风险? 在一个项目中,有许多的因素会影响到项目进行,因此在项目进行的初期,在客户和开发团队都还未投入大量资源之前,风险的评估可以用来预估项目进行可能会遭遇的难题。

嵌入式开发工具使用

《嵌入式开发工具使用》 实验报告 学生姓名:______________________ 学号:— 专业班级:_______________ 指导教师:_________________ 完成时间: 实验2嵌入式开发工具使用实验 一?实验目的 了解嵌入式开发工具套件组成,掌握开发工具安装,熟练运用gcc各命令选项,熟练编写Makefile和使用make工具,掌握gdb各命令用于应用程序调试。 二?实验内容 实验 2.1 arm-linux-gcc安装 实验2.2编译工具gcc使用 实验2.3 编写Makefile和使用make编译 实验2.4使用gdb调试应用程序 实验2.5 使用code::blocks进行图形化编程 三?预备知识 Linux使用等 四?实验设备及工具(包括软件调试工具) 硬件:ARM嵌入式开发平台、PC机Pentium100以上、串口线。软件:WinXP或 UBUNTU开发环境。 五?实验步骤 5.1交叉编译工具配置及编译 第一步,解压缩交叉编译器工具,命令为: #cd /tmp _____________________________________________________________________ ? arm-l inu x-gcc可执行文件位于目录 /root/gcc-gdb-make_exp _________________________________________ 。 第二步,修改PATH环境变量,将arm-linux-gcc可执行文件目录添加到PATH环境变量中,命令为 5.2 arm-l inu x-gcc编译工具使用

浅谈嵌入式系统的现状及发展前景

课程考核论文 课程名称信息学导论 学生姓名曾文静 学号1141304067 系、专业信息工程系电子科学与技术专业 2013年6 月15 日 浅谈嵌入式系统的现状及发展前景 摘要:从嵌入式系统的含义、特点、开发平台及其工业特征出发 ,深入阐述了嵌入式计算机技术的发展现状 ,展望了嵌入式系统产业在我国的广阔发展前景景。 1. 嵌入式系统的发展趋势及典型应用产品 在现在日益信息化的社会中,计算机和网络已经全面渗透到日常生活的每一个角落。对于我们每个人,需要的已经不再仅仅是那种放在桌上处理文档,进行工作管理和生产控制的计算机"机器";各种各样的新型嵌入式系统设备在应用数量上已经远远超过通用计算机,任何一个普通人可能拥有从大到小的各种使用嵌入式技术的电子产品,小到mp3,PDA等微型数字化产品,大到网络家电,智能家电,车载电子设备。而在工业和服务领域中,使用嵌入式技术的数字机床,智能工具,工业机器人,服务机器人也将逐渐改变传统的工业和服务方式。近几年,嵌入式系统产品日臻完善,并在全世界各行业得到广泛应用。嵌入式系统产品的研制和应用已经成为我国信息化带动工业化、工业化促进信息化发展的新的国民经济增长点。随着信息化、智能化、网络化的发展,嵌入式技术将全面展开,现在嵌入式已经成为通信和消费类产品的共同发展方向。总体来说,嵌入式系统分别在硬件和软件方面获得发展。嵌入式系统必将成为当今IT界的又一焦点,开发自主知识产权的嵌入式处理器和嵌入式操作系统,对于我们国家的民族IT产业来讲具有十分重要的战略意义。从国内IT市场来看,嵌入式系统及其产品在由家电产品和Internet衍生出来的新型市场中占有主导地位和独特份额。 在消费家电的智能化的今天,嵌入式更显重要。像我们平常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3Player、数字相机(DC)、数字摄像机(DV)、U-Disk 、机顶盒(Set Top Box)、高清电视(HDTV )、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等,都是典型的嵌入式系统。据预测,随着Internet的迅速发展和廉价微处理器的出现,嵌入式系统将在日常生活里形成更大的应用领域。 例如,行车称重无线遥测调度系统:由贵溪冶炼厂和北京市自动化系统成套工程公司合作开发,用在贵溪冶炼车间。具体要求为系统前端由安装在行车上的行车工作站(3台)构成,行车工作站将行车称重信号转换成数字信号,并将采集的数字信号经处理后,通过无线电台传送给地面接收电台,接收电台将信号传输给地面工作站,地面工作站将接收到的信号进行归纳处理、监视,通过双绞线传送给闪速炉、阳极炉操作室显示,通过以太网传送给5台转炉操作并显示,传送给车间办公室终端,车间办公室进行最终的数据归纳、生成报表并打印。其中行车工作站主要采用PC/104数据采集卡和研华公司3.5英寸饼干PC机PCM-4,该机主板上带有Load bus IDE,VGA/LCD口,2个串口,1个并口和软驱接口,并附16M电子硬盘,体积小巧却达到了486级工业PC的配置水平。显示屏采用EL致发光屏(带触摸屏),通过RS232接口与调制解调器及数据传输电台相连。行车工作站采用Windows32操作系统和组态王2.0版软件,实现数据采集、输入行车运行状态、参数计算、显示功能,并在该软件基础上开发

嵌入式操作系统启动流程

1 什么是BSP: 1. 在通电后, 初始化硬件( bootrom ) 2. 支持VxWorks和硬件驱动通信(Image的底层驱动) 3. 本质上是硬件驱动、初始化的合集; 2 研究BSP内容: 1. 系统image的生成和image的种类 2. image的download 下载过程 3. 系统的启动顺序和过程 4. 调试环境的配置及远端调试的方式和方法 5. 相应BSP设置文件的修改(网络,串口..) 6. BSP各文件的组成和作用. 7. 要对系统底层驱动清楚,也就是对CPU及相关的硬件有所了解?主要是32微处理 器(上电启动过程,download image的方式方法,读写ROM地址空间分 配,MMU寄存器,中断定义,..).参照硬件资料,多读一些源码会有所帮助. 3 BSP主要文件目录的组成及主要文件的作用: 3.1 目录target/config/All: 这个目录下的文件是所有BSP文件共享的,不是特别需要不要更改里面的任何文件. configAll.h: 缺省定义了所有VxWorks的设置.如果不用缺省的设置,可在BSP目录下的config.h文件中用 #define或#口门def方式来更改设置. bootInit.c: 在romlnit.s 后,完成Boot ROM的第二步初始化.程序从romlnit.s 中的romlnit() 跳到这个文件中的romStart().来执行必要的解压和ROM image的放置. bootConfig.c: 完成Boot ROM image的初始化和控制. usrConfig.c: VxWorks image 的初始化代码. 3.2 目录target/config/comps/src: 涉及系统核心的components, 主要由target/config/All 中usrConfig.c 中函数调用 3.3 目录target/config/bspname: 包含系统或硬件相关的BSP文件.

嵌入式linux系统地启动过程

一、分析嵌入式系统的启动过程 嵌入式系统的启动过程: 上电------->u-boot------->加载Linux内核------->挂载rootfs ---->执行应用程序 二、分析u-boot 1.什么是u-boot(是一个通用的bootloader) U-Boot,全称Universal Boot Loader,是遵循GPL条款的开放源码项目。 Universal ----------->通用的 Boot ----------------->启动,引导 Loader ----------------->加载 通用------->支持多种架构的CPU,除了支持ARM系列的处理器外,还能支持MIPS、x86、Power PC、NIOS等诸多常用系列的处理器 ------->支持多种厂家的开发板,如cortex-A8,cortex-A9,cortex-A53等不同厂 家的开发板 ------->支持多种嵌入式操作系统,U-Boot不仅仅支持嵌入式Linux系统的引导,它还支持Net BSD, Vx Works, QNX, RTEMS, ARTOS, Lynx OS, android 嵌入式操作系统。 Boot -------->完成硬件的初始化,启动硬件平台。 Loader ------->当初始化硬件结束后,加载操作系统。 2.u-boot的作用 大多数BootLoader都分为stage1和stage2两大部分,U-boot也不例外。依赖于cpu体系结构的代码(如设备初始化代码等)通常都放在stage1且可以用汇编语言来实现,而stage2则通常用C语言来实现,这样可以实现复杂的功能,而且有更好的可读性和移植性。 (1)Stage1:CPU(S5P6818-->Cortex-A53)的初始化,使用汇编语言编写。 如:初始化Cache、MMU、clock、中断、看门狗、DDR3、eMMC、... (2)Stage2:板级初始化,使用C语言编写。 如:uart、网卡、usb、LCD、.... (3)提供了一些工具,如进入uboot的命令行模式,使用u-boot命令 (4)加载操作系统 3.U-boot的工作模式 U-Boot的工作模式有启动加载模式和下载模式。

嵌入式软件开发流程图

嵌入式软件开发流程 一、嵌入式软件开发流程 1.1 嵌入式系统开发概述 由嵌入式系统本身的特性所影响,嵌入式系统开发与通用系统的开发有很大的区别。嵌入式系统的开发主要分为系统总体开发、嵌入式硬件开发和嵌入式软件开发3大部分,其总体流程图如图1.1所示。 图1.1 嵌入式系统开发流程图 在系统总体开发中,由于嵌入式系统与硬件依赖非常紧密,往往某些需求只能通过特定的硬件才能实现,因此需要进行处理器选型,以更好地满足产品的需求。另外,对于有些硬件和软件都可以实现的功能,就需要在成本和性能上做出抉择。往往通过硬件实现会增加产品的成本,但能大大提高产品的性能和可靠性。 再次,开发环境的选择对于嵌入式系统的开发也有很大的影响。这里的开发环境包括嵌入式操作系统的选择以及开发工具的选择等。比如,对开发成本和进度限制较大的产品可以选择嵌入式Linux,对实时性要求非常高的产品可以选择Vxworks等。

1.2 嵌入式软件开发概述 嵌入式软件开发总体流程为图4.15中“软件设计实现”部分所示,它同通用计算机软件开发一样,分为需求分析、软件概要设计、软件详细设计、软件实现和软件测试。其中嵌入式软件需求分析与硬件的需求分析合二为一,故没有分开画出。 由于在嵌入式软件开发的工具非常多,为了更好地帮助读者选择开发工具,下面首先对嵌入式软件开发过程中所使用的工具做一简单归纳。 嵌入式软件的开发工具根据不同的开发过程而划分,比如在需求分析阶段,可以选择IBM的Rational Rose等软件,而在程序开发阶段可以采用CodeWarrior(下面要介绍的ADS 的一个工具)等,在调试阶段所用的Multi-ICE等。同时,不同的嵌入式操作系统往往会有配套的开发工具,比如Vxworks有集成开发环境Tornado,WindowsCE的集成开发环境WindowsCE Platform等。此外,不同的处理器可能还有对应的开发工具,比如ARM的常用集成开发工具ADS、IAR和RealView等。在这里,大多数软件都有比较高的使用费用,但也可以大大加快产品的开发进度,用户可以根据需求自行选择。图4.16是嵌入式开发的不同阶段的常用软件。 图1.2 嵌入式开发不同阶段的常用软件 嵌入式系统的软件开发与通常软件开发的区别主要在于软件实现部分,其中又可以分为编译和调试两部分,下面分别对这两部分进行讲解。 1.交叉编译 嵌入式软件开发所采用的编译为交叉编译。所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。在第3章中已经提到,编译的最主要的工作就在将程序转化成运行该程序的CPU所能识别的机器代码,由于不同的体系结构有不同的指令系统。因此,不同的CPU需要有相应的编译器,而交叉编译就如同翻译一样,把相同的程序代码翻译成不同CPU的对应可执行二进制文件。要注意的是,编译器本身也是程序,也要在与之对应的某一个CPU平台上运行。嵌入式系统交叉编译环境如图4.17所示。

嵌入式系统期末考试题库及答案

《嵌入式系统》试题库 《嵌入式系统》试题库 一、填空题 嵌入式系统的基本定义为:以应用中心,以计算机技术为基础,软件硬件可裁剪,适、 1应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。从模块结构来看,嵌入式系统由三大部分组成,分别是:硬件、软件和开发平台。、 2从层次角度来看,嵌入式

系统由四大部分组成,分别是:应用软件层、操作系统层、、 3板级支持包(或硬件抽象层) 和硬件层。嵌入式产品的主要度量指标包括:上市时间、设计成本和产品质量。、 4嵌入式系统的设计过程包括:需求分析、规格说明、体系结构设计、构件设计、系统、 5集成和系统测试。需求分析包括:功能性需求分析和非功能性需求分析。 6、确定输入信号是数字信号还 是模拟信号属于功能性需求。 7、确定系统的物理尺寸和重量属于非功能性需求。 8、在嵌 入式系统的设计过程中,其中规格说明解决“做什么”。 9、在嵌入式系统的设计过程中,其 中体系结构设计解决“如何做”。 10、在嵌入式系统的设计过程中,软硬件划分应该在体系结构设计阶段完成。 11、在嵌入式系统的设计过程中,处理器的选择应该在体系结构设计阶段 完成。、 12在嵌入式系统的设计过程中,嵌入式操作系统的选择应该在体系结构设计阶段完成。、13在嵌入式系统的设计过程中,完成原理图设计应在构件设计阶段完成。、 14在嵌入式系统 的设计过程中,完成版图设计应在构件设计阶段完成。、15在嵌入式系统的设计过程中,完 成软件设计应在构件设计阶段完成。 16、反映嵌入式系统设计人员的水平能力主要在于总体 设计(需求分析、规格说明和体系 17、结构设计)和系统调试。设计流程指的是设计过程中所经历的过程步骤。、 18核的模块级重用和基于平台的系统级重用。 IP 设计重用技术主要分为基于19、 软硬件协同设计由系统描述、软硬件划分、软硬件协同综合以及软硬件协同模拟与验 20、证几个阶段组成。嵌入式处理器的分类包括三种,分别是:嵌入式微处理器、微控制器(或单片机)和、21页共页第 1 44 《嵌入式系统》试题库

嵌入式技术基础与实践答案(第3版)

第一章 1.嵌入式系统的基本含义是什么?为什么说单片机是典型的嵌入式系统? 答:即MCU的含义是:在一块芯片上集成了中央处理单元(CPU)、存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。大部分嵌入式系统以MCU为核心进行设计。MCU从体系结构到指令系统都是按照嵌入式系统的应用特点专门设计的,它能很好地满足应用系统的嵌入、面向测控对象、现场可靠运行等方面的要求。因此以MCU为核心的系统是应用最广的嵌入式系统。 2.简述嵌入式系统的特点以及应用领域(举例)。 答:嵌入式系统属于计算机系统,但不单独以通用计算机的面目出现;嵌入式系统开发需要专用工具和特殊方法;使用MCU设计嵌入式系统,数据与程序空间采用不同存储介质;开发嵌入式系统涉及软件、硬件及应用领域的知识;嵌入式系统的其他特点,比如紧张的资源,较高稳定性要求,低功耗,低成本等。 一般用于工业控制,智能家电,日常电子等领域。 日常数码产品:手机,MP3,U盘,相机等。 日常工业类:冰箱,空调,微波炉,汽车等。

3.比较MCU与CPU的区别与联系。 答:CPU是一个单独的PC处理器。而MCU,则有微处理器,存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。所以可以这么说,MCU是一个包含微处理器的嵌入式系统,而CPU紧紧是一个处理器而已。 4. 总结嵌入式系统常用术语。 硬件:封装,印刷电路板,动态可读写随机存储器与静态可读写随机存储器,只读存储器,闪速存储器,模拟量与开关量。 通信:并行通信,串行通信,串行外设接口,集成电路互连总线,通用串行总线,控制器局域网,背景调试模式,边界扫描测试协议,串行线调试技术。 功能模块及软件:通用输入/输出,A/D与D/A,脉冲宽度调制器,看门狗,液晶显示,发光二级管,键盘,实时操作系统。 5.C语言的那些特性使得它成为嵌入式系统中使用频率最高的高级语言。 答:相比底端汇编,更简单易学;与高级语言如(C++,C#,java等)相比,执行效率高,编译后的编码体积小,而且支持好的编译器还支持嵌入汇编代码;对位的操纵能力很强。 6. 举例说明结构体变量类型的定义、结构体变量的声明与使用方法。

嵌入式操作系统启动流程

1什么是B S P: 1.在通电后,初始化硬件(bootrom) 2.支持VxWorks和硬件驱动通信(Image的底层驱动) 3.本质上是硬件驱动、初始化的合集; 2研究BSP内容: 1.系统image的生成和image的种类 2.image的download下载过程 3.系统的启动顺序和过程 4.调试环境的配置及远端调试的方式和方法 5.相应BSP设置文件的修改(网络,串口..) 6.BSP各文件的组成和作用. 7.要对系统底层驱动清楚,也就是对CPU及相关的硬件有所了解.主要 是32微处理器(上电启动过程, download image的方式方法,读写ROM, 地址空间分配,MMU,寄存器,中断定义,..).参照硬件资料,多读一些 源码会有所帮助. 3BSP主要文件目录的组成及主要文件的作用: 3.1目录target/config/All: 这个目录下的文件是所有BSP文件共享的,不是特别需要不要更改里面的任何文件.

: 缺省定义了所有VxWorks的设置.如果不用缺省的设置,可在BSP目录下的文件中用#define或#undef方式来更改设置. : 在后,完成Boot ROM的第二步初始化.程序从中的romInit()跳到这个文件中的romStart().来执行必要的解压和ROM image的放置. :完成Boot ROM image的初始化和控制. : VxWorks image的初始化代码. 3.2目录target/config/comps/src: 涉及系统核心的components,主要由target/config/All中中函数调用 3.3目录target/config/bspname: 包含系统或硬件相关的BSP文件. Makefile 一些命令行控制images的生成,参见 README BSP发布纪录,版本,总的文档

OpenV嵌入式图像处理硬件平台及软件介绍

O p e n V嵌入式图像处理 硬件平台及软件介绍Prepared on 21 November 2021

OpenVX嵌入式图像处理(一)硬件平台及软件介绍 图像处理这几年可谓是大红大紫了一番,尤其是OpenCV的出现让很多之前只有研究者才能使用的算法变成了小白装个库调用个函数就可以解决的问题。但是实时性一直以来都是一个非常头疼的问题,尤其是在嵌入式平台上进行图像处理的门槛一直以来都没有降低。今天在这挖个坑,想和大家一起把图像处理搬到嵌入式平台上去,让图像处理从花拳绣腿的演示实验,到真正真枪实剑。 硬件选择图像处理方面ARM,DSP,FPGA,GPU四者可谓是各有各的优点。ARM的最大优点是系统封装,一旦ARM加上了系统那程序写起来会避免接触诸多底层的麻烦。在2014年之前,大多数高端开发板还停留在DSP+ARM的架构上,程序写起来可谓是难上加难。而单纯ARMCPU的嵌入式平台即便是可以跑较为完整的Linux系统,运算速度和桌面平台也差一个数量级。2014年英伟达推出了Jetson系列的带GPU的嵌入式超级计算机在硬件上打破这一难题。入门级Jetsontk1以及高配版Jestontx1基本上可以完全满足用户对于嵌入式图像处理的硬件需求。本系列将使用Jetsontk1作为嵌入式图像处理的硬件平台使用Jestontk1全名NvidiaJestonTegraK,他拥有Cortex-A15架构的32位四核心CPU,拥有192核心的开普勒GPU,2GB内存,并有USB3.0、HDMI1.4、SATA、千兆以太网(RealtekRTL8111GS)、音频(RealtekALC5639)、miniPCI-E。总的来说,除了USB接口数目,其他的都已经绰绰有余,配得上“超级计算机的名号”。不过关于硬件方面,有几个藏得很深的地方要拿出来说明一下:

[流程管理]嵌入式操作系统启动流程

(流程管理)嵌入式操作系统启动流 程

1什么是BSP: 1.于通电后,初始化硬件(bootrom) 2.支持VxWorks和硬件驱动通信(Image的底层驱动) 3.本质上是硬件驱动、初始化的合集; 2研究BSP内容: 1.系统image的生成和image的种类 2.image的download下载过程 3.系统的启动顺序和过程 4.调试环境的配置及远端调试的方式和方法 5.相应BSP设置文件的修改(网络,串口..) 6.BSP各文件的组成和作用. 7.要对系统底层驱动清楚,也就是对CPU及关联的硬件有所了解.主要 是32微处理器(上电启动过程,downloadimage的方式方法,读写 ROM,地址空间分配,MMU,寄存器,中断定义,..).参照硬件资料,多读 壹些源码会有所帮助. 3BSP主要文件目录的组成及主要文件的作用: 3.1目录target/config/All: 这个目录下的文件是所有BSP文件共享的,不是特别需要不要更改里面的任何文件.

configAll.h: 缺省定义了所有VxWorks的设置.如果不用缺省的设置,可于BSP目录下的config.h文件中用#define或#undef方式来更改设置. bootInit.c: 于romInit.s后,完成BootROM的第二步初始化.程序从romInit.s中的romInit()跳到这个文件中的romStart().来执行必要的解压和ROMimage的放置. bootConfig.c:完成BootROMimage的初始化和控制. usrConfig.c:VxWorksimage的初始化代码. 3.2目录target/config/comps/src: 涉及系统核心的components,主要由target/config/All中usrConfig.c中函数调用 3.3目录target/config/bspname: 包含系统或硬件关联的BSP文件. Makefile 壹些命令行控制images的生成,参见BSP设置部分及生成下载 README

硬件开发工程师入门宝典

获取更多权威电子书请登录https://www.doczj.com/doc/2f7777474.html, ARM嵌入式系统开发综述ARM开发工程师入门宝典

获取更多权威电子书请登录https://www.doczj.com/doc/2f7777474.html, 前言 嵌入式系统通常是以具体应用为中心,以处理器为核心且面向实际应用的软硬件系统,其硬件是整个嵌入式系统运行的基础和平台,提供了软件运行所需的物理平台和通信接口;而嵌入式系统的软件一般包括操作系统和应用软件,它们是整个系统的控制核心,提供人机交互的信息等。所以,嵌入式系统的开发通常包括硬件和软件两部分的开发,硬件部分主要包括选择合适的MCU或者SOC 器件、存储器类型、通讯接口及I/O、电源及其他的辅助设备等;软件部分主要涉及OS porting和应用程序的开发等,与此同时,软件中断调试和实时调试、代码的优化、可移植性/可重用以及软件固化等也是嵌入式软件开发的关键。 嵌入式系统开发的每一个环节都可以独立地展开进行详细的阐述,而本文的出发点主要是为嵌入式开发的初学者者提供一个流程参考。因为对于初学者在面对一个嵌入式开发项目的时候,往往面临着诸多困难,如选择什么样的开发平台?什么样的器件类型?在进行编译时怎样实现代码优化?开发工具该如何选择和使用?在进行程序调试时应该注意那些问题以及选择什么样的嵌入式OS 等等。希望通过本文,能帮助初学者了解有关ARM嵌入式系统开发流程。

获取更多权威电子书请登录https://www.doczj.com/doc/2f7777474.html, 目录 前言 (2) 1 嵌入式开发平台 (4) 1.1 ARM的开发平台: (4) 1.2 器件选型 (7) 2 工具选择 (11) 3 编译和连接 (13) 3.1 RVCT的优化级别与优化方向 (16) 3.2 Multifile compilation (21) 3.3调试 (22) 4 操作系统 (23) 4.1 哪里可以得到os 软件包 (Open Source and Linux Kernel) (25) 4.2 安装镜像 (26) 4.3 交叉编译 (26) 总结 (27)

32位ARM7嵌入式硬件平台简介

32位ARM7嵌入式硬件平台简介 1 ARM7 S3C44B0X ARM-R44B0X-002(S3C44B0X) ARM7嵌入式硬件平台ARM-R44B0X-002是基于三星的高性能、32-bit、嵌入式微处理器S3C44B0X的单板计算机。 S3C44B0X是三星公司推出的针对嵌入式应用的16/32位嵌入式处理器,它的核心是基于ARM公司的ARM7TDMI实现的,集成了多种外围部件,主要有: ● 2.5V静态CPU内核电压,SAMBA II 总线体系结构,工作频率最高可达66MHz ●8KB的Cache/SRAM ●扩展内存控制器,8个内存BANK,支持SDRAM,EDO DRAM,SRAM,Flash 等 ●支持大、小端模式(Little/Big endian) ●LCD控制器(可支持16级灰度,256色的DSTN),带一个LCD专用的DMA ●两个UART(兼容IrDA1.0, 16-byte FIFO) ●四个DMA,其中两个通用的ZDMA通道,两个BDMA ●6个可编程16位定时/计数器,其中一个是内部定时器 ●71个通用的可编程I/O口

●中断控制器,30个中断源(Watch-dog timer, 6 Timer, 6 UART(复用), 8 External interrupts, 4 DMA , 2 RTC, 1 ADC, 1 IIC, 1 SIO) ●看门狗定时器 ●8路10位ADC ●1路IIC总线控制器 ●1路IIS总线控制器 ●1路SIO控制器 ●5个PWM总线控制器 ●RTC(实时时钟) ●具有扩展外部总线 ●JTAG逻辑测试部件,支持软/硬件开发 ●电源管理:支持NORMAL,SLOW,IDLE,STOP四种模式 ●160LQFP封装 ●工作温度:0℃至70℃ 其结构如下图所示: ARM7结构 硬件配置清单:

嵌入式4412开发硬件平台之基础介绍

本文转自4412开发板实战书籍:硬件介绍 嵌入式系统的硬件除了核心部件——嵌入式处理器外,还包括存储器系统、外围接口部件以及连接各种设备的总线系统。其中,存储器是嵌入式系统存放数据和程序的功能部件,而外围设备决定了应用于不同领域的嵌入式系统的独特功能。 嵌入式处理器是嵌入式系统中硬件的核心组成部分,但是若没有存储器和I/O设备,它就无法具有各种实用的功能。嵌入式处理器通常集成了大量的I/O模块单元(如中断控制器和通信控制器等)和存储器(Flash和RAM等)。当嵌入式处理器上集成的存储器单元和I/O 单元不够时,可以通过扩充组成强大的嵌入式硬件系统。 嵌入式系统的硬件是以嵌入式处理器为中心,由存储器、I/O单元电路、通信模块、外部设备等必要的辅助接口组成的,如下图所示。在实际应用中,嵌入式系统硬件配置可能非常精简,除了微处理器和基本的外围电路以外,其余的电路可以根据需要和成本进行裁剪、定制。 在嵌入式系统中使用的存储器可以是内部存储器,也可以是外部存储器。通常处理器的内部存储器是非常有限的。对于小型应用,如果这些存储器够用,就不必使用外部存储器;否则,就必须进行扩展,使用外部存储设备。与通用计算机把应用软件和操作系统放在外存的工作方式不同,嵌入式系统的软件通常直接存放在内存(如Flash)中,上电之后可以立刻运行;当然,也有的嵌入式系统的软件从外存启动、装载并运行。无论如何,需要考虑嵌入式系统的软件的固化问题,而这一问题在通用计算机(如PC机)上开发软件是不需要考虑的。此外,考虑存储器系统时,还需要考虑嵌入式系统软件的引导问题。 嵌入式处理器工作时必须有附属电路支持,如时钟电路、复位电路、调试电路、监视定

嵌入式系统的定义及特点(精)

嵌入式系统的定义及特点 定义:嵌入式系统是以应用为中心、以计算机技术为基础,软、硬件可裁剪,适应于应用系统对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统。 特点:(1)嵌入式系统是面向特定应用的。嵌入式系统中的CPU是专门为特定应用设计的,具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于整个系统设计趋于小型化。 (2)嵌入式系统涉及先进的计算机技术、半导体技术、电子技术、通信和软件等各个行业。是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。 (3)嵌入式系统的硬件和软件都必须具备高度可定制性。 (4)嵌入式系统的生命周期相当长。嵌入式系统和具体应用有机地结合在一起,其升级换代也是和具体产品同步进行的。 (5)嵌入式系统本身并不具备在其上进行进一步开发的能力。在设计完成以后,用户如果需要修改其中的程序功能,必须借助于一套专门的开发工具和环境。 (6)为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机中,而不是存贮于磁盘等载体中。 3.与通用计算机相比,嵌入式系统有哪些特点?答:与通用计算机相比,嵌入式系统有以下特点:(1)嵌入式系统通常是面向特定应用的;(2)嵌入式系统的硬件和软件必须高效率地设计,做到量体裁衣、去除冗余;(3)有实时操作系统的支持;(4)嵌入式系统具有较长的生命周期;(5)嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存储在磁盘等载体中;(6)具有专门的开发工具支持。 操作系统在嵌入式系统中所起的作用 EOS负责嵌入系统的全部软、硬件资源的分配、调度作,控制、协调并发活动;它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固化以及应用的专用性等方面具有较为突出的特点。 嵌入式系统是以应用为中心,整合了计算机软件、硬件技术,通信技术和微电子技术,嵌入式系统主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及应用程序等四个部分组成。嵌入式操作系统是嵌入式系统应用的核心. 嵌入式操作系统,大大地提高了嵌入式系统硬件工作效率,并为应用软件开发提供了极大的便利。

嵌入式开发环境和硬件平台调研报告

嵌入式开发环境和硬件平台调研报告 调研的主要目标: 软件: 找到一款适合今后发展的嵌入式软件开发平台,此平台适合大多数嵌入 式硬件开发; 满足主流应用开发(例如物联网应用,手持机开发,各类接口,通讯协 议,常用器件等)。 开发周期短。 IDC预计,到2016年,ARM在嵌入式处理器市场的份额将提升至68%,高于2012年的60%。由此看出未来嵌入式将进入ARM的时代。考虑到了未来发展,硬件上采用的是32位arm核心的MCU处理器。这样就围绕着arm 来确定开发的软件环境。首先说说arduino,紧接着是MBED,其次是Keil和IAR,再是coocex,最后是各个厂家自己的arm开发环境。 硬件: 选择需要满足今后若干年(10~20年)不会落后,具有先进的前瞻性技术。 产品性能稳定可靠,功耗要低。 应用前景广泛,各类硬件接口丰富。 开发周期短。 技术支持力度强。主流厂商,销量大,技术支持好(案例多)产品生态 链全。为适应未来发展,选择了arm核的32位嵌入式MCU,核心是基 于精简指令集(RSIC)的ARM系列,现在主要是ARM的cortex-M系列 芯片。 软硬件环境相互关联,首先是硬件决定软件,软件开发的难易程度,技术 支持度又反过来决定具体的硬件。 当然本次选型中主要集中在了arm系列的软硬件环境,这是由于现在最多 的嵌入式开发都集中在ARM上。我们人手一部的手机,工业控制mcu短短几年也被arm占去很大一块市场。知名的半导体厂商NXP也提出今后其全面转向arm市场。 一、下面先介绍软件开发环境: 开发环境调研找了很多,有arduino,mbed,cocoon,keil,air,各半导体厂商自己的IDE,各家都有优点。最终确定以mbed和STM32 cube mx两个环境交互

嵌入式硬件基础题库

一单项选择题 1、单片机是将( D )做到一块集成电路芯片中,称为单片机。A.CPU、RAM、ROM B.CPU、I/O设备 C.CPU、RAM D.CPU、RAM、ROM、I/O设备 2、单片机8051的XTAL1和XTAL2引脚是( D )引脚。 A.外接定时器 B.外接串行口 C.外接中断 D.外接晶振 3、堆栈数据的进出原则是( A ) A、先进先出 B、先进后出 C、后进后出 D、进入不出 4、用AT89S51的串行口扩展并行I/O口时,串行接口工作方式选择( A )。 A. 方式0 B.方式1 C. 方式2 D.方式3 5、执行子程序返回或中断子程序返回指令时,返回的断点是( C ) A.调用指令的首地址 B.调用指令的末地址 C.调用指令下一条指令的首地址 D.返回指令的末地址 6、AT89S51单片机的( D )口的引脚,还具有外中断、串行通信等第二功能。 A.P0 B.P1 C. P2 D.P3 7、单片机应用程序一般存放在( B ) A. RAM B.ROM C. 寄存器 D.CPU 8、定时器1工作在计数方式时,其外加的计数脉冲信号应连接到( D )引脚。 A.P 3.2 B.P 3.3 C.P 3.4 D.P 3.5 9、当外部中断请求的信号方式为脉冲方式时,要求中断请求信号的高电平状态和低电平状态都应至少维持( A )。 A.1个机器周期 B.2个机器周期 C.4个机器周期 D.10个晶振周期 10、AT89S51单片机在同一优先级的中断源同时申请中断时,CPU首先响应( A )。 A.外部中断0 B.外部中断1

C.定时器0中断 D.定时器1中断 11、定时器若工作在循环定时或循环计数场合,应选用( C )。 A.工作方式0 B.工作方式1 C.工作方式2 D.工作方式3 12、MCS-51单片机的外部中断1的中断请求标志是( D )。 A.ET1 B.TF1 C.IT1 D.IE1 13、执行中断返回指令,从堆栈弹出地址送给( C )。 A. A B. CY C. PC D. DPTR 14、在串行通信中, AT89S51中发送和接收的寄存器是( B )。 A.TMOD B. SBUF C. SCON D. DPTR 15、不属于单片机与输入输出设备进行信息交换的方式是( D )。 A. 无条件传送方式 B. 查询方式 C.中断方式 D.存储器直接存取方式 16、AT89S51单片机内有(B )个16位的定时/计数器,每个定时/计数器都有( )种工作方式。 A. 4, 5 B. 2, 4 C.5, 2 D.2, 3 17、要使AT89S51能响应定时器T1中断,串行接口中断,它的中断允许寄存器IE的内容应是(A ) A.98H B.84H C.42H D.22H 18、控制串行口工作方式的寄存器是( C ) A.TCON B.PCON C.SCON D.TMOD 19、P1口的每一位能驱动( B ) A.2个TTL低电平负载 B. 4个TTL低电平负载 C.8个TTL低电平负载 D.10个TTL低电平负载 20、下面说法对的是:( A ) A.74LS373可用于数据锁存器,或地址锁存器 B.74LS373只能用于地址锁存器 C.74LS373只能用于数据锁存器 D.ALE是低电平有效 二填空题 1、嵌入式系统主要由两大部分组成,它们分别是硬件系统和软件系统。

相关主题
文本预览
相关文档 最新文档