嵌入式4412开发硬件平台之基础介绍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文转自4412开发板实战书籍:硬件介绍
嵌入式系统的硬件除了核心部件——嵌入式处理器外,还包括存储器系统、外围接口部件以及连接各种设备的总线系统。
其中,存储器是嵌入式系统存放数据和程序的功能部件,而外围设备决定了应用于不同领域的嵌入式系统的独特功能。
嵌入式处理器是嵌入式系统中硬件的核心组成部分,但是若没有存储器和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外设厂商的广泛支持。
从当初的、版本到现在广泛采用的、版本,甚至到正在逐步推广的版本,USB本身也在不断地发展和完善。
通用串行总线是一种将USB外围设备连接到主机的外部总线结构,它通过PCI总线和PC的内部系统数据线连接,实现数据传送。
USB同时又是一种通信协议,它支持主系统和USB外围设备之间的数据传送,通过一个4针的标准插头,采用菊花链形式把所有的外设连接起来。
USB主要具有以下优点:
(1) 支持热插拔(hot plug)和即插即用(Plug-and-Play),即在不关机的情况下可以安全地插上或断开USB设备,动态加载驱动程序。
(2) 为所有的USB外设提供单一的、易于操作的标准连接类型,排除了外设对系统资源的需求,因此减少了硬件的复杂性和对端口的占用,整个USB系统只有一个端口和一个中断,节省了系统资源。
(3) 提供全速12 Mb/s和低速 Mb/s的模式,提供高达480 Mb/s的传输速率。
(4) 为了适应各种不同类型外设的要求,USB提供了四种不同的数据传输类型。
(5) 易于扩展,理论上最多可支持127个设备。
液晶控制板
大平面显示器通常由LCD构成。
其中每个像素都由一个液晶体构成。
LCD显示器到系统的接口独具特点,这主要因为LCD像素阵列能够被随机访问。
早期的液晶显示控制板被称为被动矩阵,它依靠一个二维的电线网络来编址像素。
现代液晶显示控制板显示器使用一种主动矩阵系统,它给每个像素配置转发器,以此来控制、访问LCD显示器。
主动矩阵显示器提供了更高的对比度和显示质量。
触摸屏
触摸屏是覆盖在输出设备上的输入设备,用来记录触摸位置。
把触摸屏覆盖在显示器上,使用者可以对显示的信息作出反应。
触摸屏按其工作原理不同分为表面声波屏、电容屏、电阻屏和红外屏等。
其中常见的触摸屏是电阻式触摸屏。
电阻式触摸屏用二维电压表来探测位置。
触摸屏由两层被许多细小的透明隔离球隔开的导电薄层组成。
当手指或笔触摸屏幕时,平常互相绝缘的导电层在触摸点位置有了一个接触。
在顶层的导电层上加上电压,它的电阻就在穿过该层时产生电势差;然后顶层在接触点对电压采样;最后用模/数转换器来测量电压,以此得出位置。
网络设备
以太网接口
以太网是最广泛应用的局域网络技术,实现了在小区域(如一个办公室)范围内连接计算机。
以太网数据速率为10 Mb/s,而快速以太网(Fast Ethernet)数据速率为100 Mb/s。
最常用的以太网协议是IEEE 标准,媒体的存取规则采用CSMA/CD(载波检测多路存取/冲突检测)。
现代的操作系统均能同时支持这些协议标准,因此对嵌入式系统的应用来说,考虑系统精简因素,只需要支持这一种就够了,除非有特殊需要,否则没有必要支持太多协议。
以太网的数据传输有以下特点:
(1) 所有数据位的传输由低位开始,传输的位流采用曼彻斯特编码。
(2) 以太网传输的数据段长度最小为60字节,最大为1514字节。
(3) 通常以太网卡可以接收来自三种地址的数据,即广播地址、多播地址(在嵌入式系统中很少使用)和它自己的地址。
但有时用于网络分析和监控,网卡也可以设置为接收任何。