嵌入式系统课程内容1)嵌入式系统硬件基础(2学时)2)嵌入式系统软件基础(2学时)3)Arduino开源硬件平台应用开发(6学时)4)嵌入式系统中的总线与网络(2学时)5)嵌入式操作系统(2学时)6)嵌入式系统驱动开发方法(2学时)7)嵌入式数据库(1学时)8)数据流图(1学时)9)实时软件设计方法DARTS(2学时)10)ARM硬件体系结构(2学时)11)ARM应用开发介绍(2学时)12)实时操作系统freeRTOS(2学时)13)实时操作系统freeRTOS的移植(2学时)14)基于freeRTOS的驱动开发(2学时)15)基于实时操作系统的实时应用开发(20学时,实践)第二部分嵌入式系统开发2.1嵌入式系统中的总线嵌入式系统中的总线•系统级总线•板级总线•片上总线板级总线嵌入式系统中,通过总线在多个互连I/O设备间进行计算机或者主机系统并行通信。•PC总线•PC104•VME板级总线——PC总线从整体来看,PC总线大致只经过了ISA和PCI总线两个阶段以及未来的PCIExpress总线。ISA总线阶段1.PC/XT总线(PC总线):1981年,IBM,PC/XT电脑,基于8bit的8088处理器。2.PC/AT总线:1984年,IBM,基于16-bitIntel80286处理器的PC/AT电脑。为了开发与IBMPC兼容的外围设备,业内逐渐确立了以IBMPC总线规范为基础的ISA(工业标准架构:IndustryStandardArchitecture)总线。3.EISA(ExtendedISA,扩展ISA)总线:1988年,康柏、惠普等9个厂商协同把ISA扩展到32-bit,8MHz,与8/16bit的ISA总线完全兼容。ISA总线阶段ISA:8/16bit,最大传输速率仅为8MB/s,允许多个CPU共享系统资源。兼容性好,是上个世纪80年代最广泛采用的系统总线;弱点:传输速率过低、CPU占用率高、占用硬件中断资源等。在PC’98规范中,就开始放弃了ISA总线,而Intel从i810芯片组开始,也不再提供对ISA接口的支持。EISA也由于速度有限,且成本过高,在还没成为标准总线之前,在20世纪90年代初的时候,就给PCI总线给取代了。PCI总线阶段PCI总线是独立于CPU的系统总线,采用了独特的中间缓冲器设计,可将显示卡、声卡、网卡、硬盘控制器等高速的外围设备直接挂在CPU总线上,打破了瓶颈,使得CPU的性能得到充分的发挥。•最早提出的PCI总线工作在33MHz频率之下,传输带宽达到了133MB/s(33MHzX32bit/8)。•1993年提出了64-bit的PCI总线。•后来又提出把PCI总线的频率提到66MHz。目前广泛采用的是32-bit、33MHz的PCI总线。PCI总线的特点及系统结构PCI总线是一种兼容性最强、功能最全的计算机总线。他可同时支持多组外围设备,且不受制于处理器。PCI总线有如下主要特点:(1)在全部读写传送中可实现突发传送。(2)并行总线操作。(3)隐式仲裁。(4)访问速度快。(5)软件透明。(6)自动配置。PCI总线阶段PCI总线阶段PCI是一种高性能32/64b地址数据复用总线。PCI总线不仅可以应用到低档至高档的台式系统上,而且也可应用在便携式机及至服务器的范围中。在一个PCI系统中,可做到高速外部设备和低速外部设备共享,PCI总线与ISA/EISA总线并存。PCI总线阶段PCI总线信号与命令接口信号线,通常分为必备的和可选的2大类。•主设备:取得了总线控制权的设备,需要49条接口信号线;•“从设备”或“目标设备”:被主设备选中以进行通信的设备,至少需要47条接口信号线。图中,#表示低电平有效,否则表示高电平有效。PCI总线阶段总线命令用来规定主、从设备之间的传输类型,出现于地址期的C/BE[3∶0]#线上。当一个主设备获得PCI总线的拥有权时,他可启动表1的任何一种交易类型。PCI总线阶段PCI总线传输协议PCI总线对协议、时序、负载、电气特性及机械特性等技术指标均有严格的规定和要求。(1)基本的总线传输机制:一次突发传输包括一个地址期和一个或若干个数据期。(2)除RST#,INTA#~INTD#之外的所有信号都是在时钟的上升沿被采样。(3)PCI总线上数据传输基本上都由FRAME#,IRDY#和TRDY#三条信号线控制。(4)当FRAME#和IRDY#都无效时,接口处于空闲状态。FRAME#信号建立后的第一个时钟前沿是地址期,在这个时钟前沿上传送地址和总线命令;下一个时钟前沿开始一个或若干个数据期。IRDY#和TRDY#有效的时钟前沿进行一次数据传输。(5)无论是主设备还是目标设备,一旦承诺了数据传输,就要进行到本次传输完成。(6)FRAME#撤销而IRDY#建立,表示主设备准备好了最后一次数据传输,等到目标设备发出了TRDY#信号,就标志着最后一次传输的完成.PCI总线阶段PCI总线配置空间根据PCI规范,每一个PCI设备都有一个PCI配置空间,容量最大为256字节,称为配置寄存器。配置寄存器是PCI设备的硬件与PCI设备的初始化软件及错误处理软件之间的信息交接区,以便软件对Pci设备进行识别和控制以及PCI设备向软件反映设备状态和要求。配置空间的组织结构256字节的配置空间分为•头标区(HeaderRegion):64个字节,每个PCI设备必备,对所有的PCI设备其寄存器布局和格式大致相同。头标区又分为两部分,头16个字节的对所有类型的PCI设备都是相同的,余下的48字节根据设备的功能类别有不同的布局。•设备关联区(DeviceDependentRegion):192字节,寄存器的设置与布局完全取决于该PCI设备本身的需要,一个PCI设备因本身的特殊功能所需设置的专用寄存器只能放在这个区域中。PCI总线阶段配置空间的功能1.设备识别头标区有五个寄存器是识别一个PCI设备的,这五个寄存器都是只读的。(1)厂商标识(VendorID)这个标识符由PCI规范的权威组织SIG统一分配,以保证惟一性,例如分配给Intel公司的标识码为“8086h”。“FFFFh”是一个无效的标识。(2)设备标识(DeviceID)标识某一种设备,这个标识符由制造厂商分配。(3)修订版本标识(RevisionID)标识设备具体的修订版本,由制造厂商选择。(4)头标类型(HeadType)表明头标区中10h到3Fh字节空间的布局类型和该设备是否是多功能设备。位7用来标识一个多功能设备,为1则该设备是一个多功能设备;为0该设备为单一功能设备。位6到0规定头标区中10h到3Fh字节的布局类型,目前只有两种类型:00h和01h,此处讨论的是00h类型。(5)分类代码(ClassCode)该寄存器分为三个字节段:高字节(0Bh)是基本分类码,粗略地对设备地功能进行分类;中字节(0Ah)是一个子分类码,标识设备更具体的功能;低字节(09h)标识所用的、寄存器一级的编程接口。PCI总线阶段2.设备控制位于配置空间04h偏移地址处的命令寄存器是一个读/写寄存器,控制一个PCI设备产生和响应PCI周期的能力。I/O空间使能位控制设备对I/O空间访问的响应,为1时,允许该设备对I/O空间的访问进行响应,为0时禁止。如果该设备内有属于PCII/O空间的单元并允许PCI主设备访问时,此位应置为1。存储器空间使能位控制本设备对存储器空间访问的响应,为1时允许该设备对存储器空间的访问进行响应,为0时禁止。如果该设备内有属于PCI存储空间的单元并允许PCI主设备访问时,此位应置为1。PCI总线阶段3基地址头标区中有6个双字的基址寄存器,在上电时,这6个基地址寄存器中的内容向POST软件反映该设备需要多少存储器空间和I/O空间。POST软件通过各设备内的基地址寄存器了解到PCI总线上有哪些存储器设备和I/O设备,根据它们的容量需求把它们映射定位到适当的存储器地址和I/O地址,并把起始地址再写入基地址寄存器,然后引导系统。PCIExpress总线,第三代输入/输出总线,简称3GIO(Third-GenerationInput/Output),另外它的开发代号是Arapahoe,所以又称为Arapahoe总线。Intel在2001年春季的IDF上,正式公布了旨在取代PCI总线的第三代I/O技术,该规范由Intel支持的AWG(ArapahoeWorkingGroup)负责制定。在2002年4月17日,AWG正式宣布3GIO1.0规范草稿制定完毕,并移交PCI-SIG进行审核。PCIExpress总线阶段CPCI总线1995年11月PCI工业计算机制造者联合会(PICMIG)颁布了CompactPCI规范1.0版1997年推出CPCI2.0规范CPCI总线规范=PCI总线的电气规范+标准针孔连接器(IEC-1076-4-101)+欧洲卡规范(IEC297/IEEE1011.1)CPCI总线•在电气特性上,CPCI总线以PCI电气规范为基础,解决了VME等总线技术与PCI总线不兼容的问题,使得基于PC的x86架构、硬盘存储等技术能在工业领域使用。同时由于在接口等地方做了重大改进,使得采用CPCI技术的服务器、工控电脑等拥有了高可靠性、高密度的优点。•在机械结构上,CPCI总线结构使用了欧卡连接器和标准3U、6U板卡尺寸。此外,CPCI总线具有很好的抗震性和通风性,而且还可以从前面板拔插板卡,使更换和维修板卡极为方便。PC/104是一种工业计算机总线标准PC/104是一种工业计算机总线标准。PC/104有两个版本:8位和16位,分别与PC和PC/AT相对应。PC/104PLUS则与PCI总线相对应。PC/104是IEEE-996标准的延伸。第一块PC104产生于1987年,但严格意义的规范说明在1992年才公布,从那以后,对PC104感兴趣的人越来越多,当时就有125个厂家引进PC104规范生产PC104兼容产品。像原来的PC总线一样,PC104一直是以一个非法定标准在执行,而不是委员会设计制定的。1992年IEEE开始着手为PC和PC/AT总线制定一个精简的IEEEP996标准(草稿),PC104作为基本文件被采纳,叫做IEEEP996.1兼容PC嵌入式模块标准。PC104是一种专门为嵌入式控制而定义的工业控制总线。其信号定义和PC/AT基本一致,但电气和机械规范却完全不同,是一种优化的、小型、堆栈式结构的嵌入式控制系统。板级总线——PC/104总线PC/104是一种工业计算机总线标准PC104与普通PC总线控制系统的主要不同是:1、小尺寸结构:标准模块的机械尺寸是3.6X3.8英寸,即96X90mm2、堆栈式连接:去掉总线背板和插板滑道,总线以“针”和“孔”形式层叠连接,即PC104总线模块之间总线的连接是通过上层的针和下层的孔相互咬和相连,这种层叠封装有极好的抗震性。3、轻松总线驱动:减少元件数量和电源消耗,4mA总线驱动即可使模块正常工作,,每个模块1-2瓦能耗。PC/104是一种工业计算机总线标准PC104和PC104PLUSPC104有两个版本,8位和16位,分别与PC和PC/AT相对应。8位PC104共有64个总线管脚,单列双排插针和插孔,P1:64针,P2:40针,合计104个总线信号,PC104因此得名。当8位模块和16位模块连接时,16位模块必须在8位模块得下面(见附图2)。P2总线连结在8-位元模块中是可选的,这样让这些模块无论何处都可在堆栈中使用。PC104PLUS则与PCI总线相对应。PC104PLUS是专为PCI总线设计的,可以连接高速外接设备。PC104PLUS在硬件上通过一个3X40即120孔插座,PC104PLUS包括了PCI规范2.1版要求的所有信号。为了向下兼容,PC104PLUS保持了PC104的所有特性。PC/104是一种工业计算机总线标准PC104PLUS与PC104相比有以下3个特点:1.相对PC/104连接,增加了第三个连结接口支持PCIbus.2.改变了组件高度的需求,增加模块的柔韧