基于ARM的嵌入式系统硬件结构设计.ppt
《基于ARM的嵌入式系统硬件结构设计.ppt》由会员分享,可在线阅读,更多相关《基于ARM的嵌入式系统硬件结构设计.ppt(133页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1嵌入式系统设计与实例开发嵌入式系统设计与实例开发基于基于3232位微处理器与实时操作系统位微处理器与实时操作系统第七讲第七讲 基于基于ARMARM的硬件系统结构设计的硬件系统结构设计2本节提要本节提要1 13 32 25 54 46 6基于基于ARM的硬件系统体系结构的硬件系统体系结构存储器接口设计存储器接口设计网络接口设计网络接口设计I/OI/O接口接口设计人机交互接口设计人机交互接口设计其它通讯接口设计其它通讯接口设计3ARM920T内核结构4S3C2410的内部结构5实验平台的体系结构2410核心资源总线隔离驱动168Pin扩展槽网卡设备LCD驱动音频电路串口设备USB设备PCMCIA
2、IDE/CF卡SD卡接口IO扩展电机等其他资源局部总线扩展总线6读写总线的时序图稳态稳态ReadWrite稳态稳态7本节提要本节提要1 13 32 25 54 46 6基于基于ARM的硬件系统体系结构的硬件系统体系结构存储器接口设计存储器接口设计网络接口设计网络接口设计I/OI/O接口接口设计人机交互接口设计人机交互接口设计其它通讯接口设计其它通讯接口设计82410的存储器系统的存储器系统 可通过软件选择大小端可通过软件选择大小端 地址空间地址空间:每个每个Bank 128Mbytes(总共总共 1GB)除除 bank0(16/32-bit)外,所有的外,所有的Bank都可以通过编程选择总线宽
3、都可以通过编程选择总线宽度度=(8/16/32-bit)共共 8 个个banksl6个个Bank用于控制用于控制 ROM,SRAM,etc.l剩余的两个剩余的两个Bank用于控制用于控制 ROM,SRAM,SDRAM,etc.7个个Bank固定起始地址;固定起始地址;最后一个最后一个Bank可调整起始地址;可调整起始地址;最后两个最后两个Bank大小可编程大小可编程所有所有Bank存储周期可编程控制;存储周期可编程控制;9S3C2410的存储器配置的存储器配置10Bank6/Bank7地址分布地址分布11Bank0总线宽度配置总线宽度配置12与与2片片8位的位的ROM连接方法连接方法13与与1
4、片片16位的位的ROM连接连接14S3C2410与与2片片8位位FLASH的连接方法的连接方法15与与1片片16M的的SDRAM的连接方法的连接方法16与与2片片16M的的SDRAM的连接方法的连接方法17NAND和NOR性能比较NORNOR和和NANDNAND是是现在市在市场上两种主要的非易失上两种主要的非易失闪存技存技术lNORNOR的的读速度比速度比NANDNAND稍快一些稍快一些lNANDNAND的写入速度比的写入速度比NORNOR快很多快很多lNANDNAND的擦除速度的擦除速度远比比NORNOR的快的快l大多数写入操作需要先大多数写入操作需要先进行擦除操作行擦除操作lNANDNAN
5、D的擦除的擦除单元更小,相元更小,相应的擦除的擦除电路更少路更少18接口差别lNORflashNORflash带有有SRAMSRAM接口,接口,线性性寻址,可以很容易地存址,可以很容易地存取其内部的每一个字取其内部的每一个字节lNANDflashNANDflash使用复用接口和控制使用复用接口和控制IOIO多次多次寻址存取数据址存取数据lNANDNAND读和写操作采用和写操作采用512512字字节的的块,这一点有点像硬一点有点像硬盘管理,此管理,此类操作易于取代硬操作易于取代硬盘等等类似的似的块设备19容量和成本lNANDflashNANDflash生生产过程更程更为简单,成本低,成本低l常常
6、见的的NORflashNORflash为128KB128KB16MB16MB,而,而NANDNANDflashflash通常有通常有8 8128MB128MBlNORNOR主要主要应用在代用在代码存存储介介质中,中,NANDNAND适合于数据存适合于数据存储lNANDNAND在在CompactFlashCompactFlash、SecureDigitalSecureDigital、PCCardsPCCards和和MMCMMC存存储卡市卡市场上所占份上所占份额最大最大20可靠性和耐用性l在在NAND中每块的最大擦写次数是中每块的最大擦写次数是100万次,而万次,而NOR的的擦写次数是擦写次数是1
7、0万次万次l位交换的问题位交换的问题NAND flash中更突出,需要中更突出,需要ECC纠错纠错lNAND flash中坏块随机分布,需要通过软件标定中坏块随机分布,需要通过软件标定产品量产的问题产品量产的问题21嵌入式系统中应用RAM的情况22本节提要本节提要1 13 32 25 54 46 6基于基于ARM的硬件系统体系结构的硬件系统体系结构存储器接口设计存储器接口设计网络接口设计网络接口设计I/O系统设计系统设计人机交互接口设计人机交互接口设计其它通讯接口设计其它通讯接口设计23I/O子系统的层次模型lI/OI/O子系子系统:I/OI/O设备、相关的、相关的设备驱动程序和程序和I/OI
8、/O子系子系统组成嵌入式成嵌入式I/OI/O子系子系统。lI/OI/O子系子系统的目的目标是是对RTOSRTOS和和应用程序用程序员隐藏藏设备特定的信息,并且特定的信息,并且对系系统的外的外围I/OI/O设备提供一个提供一个统一的一的访问方法。方法。24从不同角度看I/O系统l从系从系统软件开件开发者角度看,者角度看,I/OI/O操作意味着与操作意味着与设备的通信、的通信、对设备编程初始化和程初始化和请示示执行行设备与系与系统之之间的的实际数据数据传输以及操作完成后通知以及操作完成后通知请求者。系求者。系统软件工程件工程师必必须理理解解设备的物理特性,如寄存器的定的物理特性,如寄存器的定义和和
9、设备的的访问方法。方法。l从从RTOSRTOS的角度看,的角度看,I/OI/O操作意味着操作意味着对I/OI/O请求定位正确的求定位正确的设备,对设备定位正确的定位正确的设备驱动程序,并解决程序,并解决对设备驱动程序的程序的请求。有求。有时要求要求RTOSRTOS保保证对设备的同步的同步访问。RTOSRTOS必必须进行抽象,行抽象,对应用程序用程序员隐含含设备的特性。的特性。l从从应用程序用程序员角度看,角度看,目目标是找到一个是找到一个简单、统一和精一和精练的方法与系的方法与系统中出中出现的所有的所有类型的型的设备通信。通信。25I/O接口的编址方式端口映射1 1)I/OI/O接口独立接口独
10、立编址址端口映射端口映射方式方式l这种种编址方式是将存址方式是将存储器地址器地址空空间和和I/OI/O接口地址空接口地址空间分开分开设置,互不影响。置,互不影响。设有有专门的的输入指令(入指令(ININ)和)和输出指令出指令(OUTOUT)来完成)来完成I/OI/O操作。操作。主要主要优点:点:内存地址空内存地址空间与与I/OI/O接口地址空接口地址空间分开,互不影响,分开,互不影响,译码电路路较简单,并,并设有有专门的的I/OI/O指令,所以指令,所以编程序易于区分,且程序易于区分,且执行行时间短,快速性好。短,快速性好。缺点:缺点:只用只用I/OI/O指令指令访问I/OI/O端口,功能有限
11、且要采用端口,功能有限且要采用专用用I/OI/O周期和周期和专用用I/OI/O控制控制线,使微,使微处理器复理器复杂化。化。26I/O接口的编址方式内存映射1 1)2 2)I/OI/O接口与存接口与存储器器统一一编址方式址方式内内存映射存映射l这种种编址方式不区分存址方式不区分存储器地址空器地址空间和和I/OI/O接口地址空接口地址空间,把所有的,把所有的I/OI/O接口的接口的端口都当作是存端口都当作是存储器的一个器的一个单元元对待,待,每个接口芯片都安排一个或几个与存每个接口芯片都安排一个或几个与存储器器统一一编号的地址号。也不号的地址号。也不设专门的的输入入/输出指令,所有出指令,所有传
12、送和送和访问存存储器的器的指令都可用来指令都可用来对I/OI/O接口操作。接口操作。主要主要优点:点:访问内存的指令都可用于内存的指令都可用于I/OI/O操作,数据操作,数据处理功能理功能强;同;同时I/OI/O接口可与存接口可与存储器部分共用器部分共用译码和控制和控制电路。路。缺点:缺点:一是一是I/OI/O接口要占用存接口要占用存储器地址空器地址空间的一部分;二是因不用的一部分;二是因不用专门的的I/OI/O指令,程序中指令,程序中较难区分区分I/OI/O操作。操作。27DMA I/ODMAI/ODMAI/OlDMADMA允允许设备直接直接访问内存而不用包含内存而不用包含处理器,在数据理器
13、,在数据传输操作开操作开始之前,始之前,处理器理器设置置DMADMA控制器,在数据控制器,在数据传输期期间,读写操作均不写操作均不通通过处理器。理器。lDMADMA传输速度取决于速度取决于I/OI/O设备的的传输速度、内存速度、内存设备的速度和的速度和DMADMA控控制器的速度。制器的速度。l通通过指定源地址、目的内存地址和指定源地址、目的内存地址和传输到到DMADMA控制器控制器长度,度,处理器理器建立建立传输操作。操作。28字符模式设备与块模式设备根据根据设备如何如何处理与系理与系统之之间的数据的数据传输方法可将方法可将设备分分为字符模式字符模式设备和和块模式模式设备l字符模式字符模式设备
14、:允:允许非非结构的数据构的数据传输。数据。数据传输典典型地采用串行的形式,每次一个字型地采用串行的形式,每次一个字节;字符;字符设备通常通常是是简单的的设备,如串口、,如串口、键盘等;当系等;当系统到到设备的的传输速率高于速率高于设备的的处理速率理速率时,设备驱动程序开程序开设缓冲区,冲区,缓存存这些数据;些数据;l块模式模式设备:每次:每次传输一个数据一个数据块。采用硬件方式控。采用硬件方式控制数据制数据块的大小,有的大小,有时需要采用固定的需要采用固定的传输协议,如,如USBUSB、以太网等、以太网等设备29建立通用的I/O接口函数Create()Open()Read()Write()C
15、lose()Loctl()Destroy()Driver_Create()Driver_Open()Driver_Read()Driver_Write()Driver_Close()Driver_Loctl()Driver_Destroy()I/OI/O操作操作设备驱动程序程序应 用用设 备30I/O接口设计I/OI/O接口接口电路也路也简称接口称接口电路。它是主机和外路。它是主机和外围设备之之间交交换信息的信息的连接部件(接部件(电路)。它在主机和外路)。它在主机和外围设备之之间的信息交的信息交换中起着中起着桥梁和梁和纽带作用。作用。设置接口置接口电路路的必要性:的必要性:a)a)解决解决C
16、PUCPU和外和外围设备之之间的的时序配合和通信序配合和通信联络问题。b)b)解决解决CPUCPU和外和外围设备之之间的数据格式的数据格式转换和匹配和匹配问题。c)c)解决解决CPUCPU的的负载能力和外能力和外围设备端口端口选择问题。31通用设计原则(I/O设备)lI/O接口接口l接口的概念接口的概念lCPU与外部设备的接口(与外部设备的接口(I/O适配器)适配器)l接口的功能接口的功能l控制控制 l缓冲缓冲l状态状态 l转换转换l整理整理 l程序中断程序中断 32lI/O接口接口l3种寄存器种寄存器l数据寄存器、控制寄存器和状态寄存器数据寄存器、控制寄存器和状态寄存器通用设计原则(I/O设
17、备)数据寄存器状态寄存器控制寄存器I/O接口芯片去I/O设备去CPU33通用设计原则(I/O设备)lI/O设备寻址设备寻址lI/O寻址寻址l定位定位I/O设备内部的寄存器(或一小块存储器)设备内部的寄存器(或一小块存储器)l与存储器共享总线与存储器共享总线l存储器映像法存储器映像法l混合编址混合编址CPU存储器地址总线数据总线读信号写总线译码I/O接口译码34通用设计原则(I/O设备)lI/O设备寻址设备寻址lI/O隔离法隔离法l独立编址独立编址l信号线信号线MERQ/IORQl地址空间地址空间CPU存储器地址总线数据总线读信号写总线I/O接口MERQ/IORQ35lI/O设备的数据输入设备的
18、数据输入/输出输出l输入过程输入过程lCPU把一个地址值放在地址总线上,这一步将选择某一输入设备把一个地址值放在地址总线上,这一步将选择某一输入设备;lCPU等候输入设备的数据成为有效;等候输入设备的数据成为有效;lCPU从数据总线读入数据,并放在一个相应的寄存器中。从数据总线读入数据,并放在一个相应的寄存器中。l输出过程输出过程lCPU把一个地址值放在地址总线上,选择输出设备;把一个地址值放在地址总线上,选择输出设备;lCPU把数据放在数据总线上;把数据放在数据总线上;l输出设备认为数据有效,从而把数据取走。输出设备认为数据有效,从而把数据取走。l究竟什么时候数据才成为有效?通用设计原则(I
19、/O设备)36lI/O设备的定时方式设备的定时方式l简单的外围设备简单的外围设备l机械开关、二极管(无需定时机制,机械开关、二极管(无需定时机制,CPU只要接收或发送数据就可以了)只要接收或发送数据就可以了)l慢速或中速的外围设备慢速或中速的外围设备l速度和速度和CPU速度不在一个数量级,或不规则时间间隔操作速度不在一个数量级,或不规则时间间隔操作(键盘键盘)l异步定时方式异步定时方式l中断方式中断方式l查询方式查询方式l高速的外围设备高速的外围设备l以相等的时间间隔操作,采样同步定时方式以相等的时间间隔操作,采样同步定时方式 l时钟脉冲控制时钟脉冲控制 lDMA通用设计原则(I/O设备)37
20、通用设计原则(I/O设备)lI/O控制方式控制方式l低速设备低速设备l程序查询方式程序查询方式l程序中断方式程序中断方式l高速设备高速设备lDMAl通道方式通道方式l外围处理机(外围处理机(PPU)方式)方式38lI/O接口接口l程序查询方式程序查询方式l读操作流程读操作流程1.CPU测试测试I/O设备状态,等待空闲设备状态,等待空闲2.CPU下达读命令,测试状态寄存器下达读命令,测试状态寄存器3.把数据寄存器中的数据读入到把数据寄存器中的数据读入到CPU中中4.重复执行以上各步重复执行以上各步l写操作流程写操作流程1.CPU测试测试I/O设备状态,等待空闲设备状态,等待空闲2.把数据传输到把
21、数据传输到I/O接口芯片的数据寄接口芯片的数据寄存器中存器中3.CPU下达写命令下达写命令4.重复执行以上各步重复执行以上各步通用设计原则(I/O设备)CPUI/O设备39通用设计原则(I/O设备)lI/O接口接口l中断中断l一种实现一种实现CPU和和I/O设备间异步操作的机制设备间异步操作的机制40通用设计原则(I/O设备)lI/O接口接口l中断中断l响应时间(现场保存)响应时间(现场保存)l中断优先级中断优先级l可屏蔽中断可屏蔽中断l不可屏蔽中断不可屏蔽中断l中断向量(地址)中断向量(地址)l固定固定/不固定不固定41CPUPC 设备设备状态寄存器数据寄存器中断请求中断应答数据/地址通用设
22、计原则(I/O设备)中断处理42lI/O接口接口lDMAlI/O设备和存储器直接进行数据传输设备和存储器直接进行数据传输l使用场合使用场合l速度快,适用于数据连续传输的高速设备速度快,适用于数据连续传输的高速设备l基本操作过程基本操作过程l从外围设备发出从外围设备发出DMA请求;请求;lCPU响应请求,把响应请求,把CPU工作改成工作改成DMA操作方式,操作方式,DMA控制器从控制器从CPU接管总线的控制;接管总线的控制;l由由DMA控制器对内存寻址,并执行数据传送的操作;控制器对内存寻址,并执行数据传送的操作;l向向CPU报告报告DMA操作的结束。操作的结束。通用设计原则(I/O设备)43通
23、用设计原则(I/O设备)lI/O接口接口lDMA传输方式传输方式l停止停止CPU访问内存访问内存44通用设计原则(I/O设备)lI/O接口接口lDMA传输方式传输方式l周期挪用周期挪用45通用设计原则(I/O设备)lI/O接口接口lDMA传输方式传输方式lDMA与与CPU交替访问内存交替访问内存46嵌入式软件的开发过程嵌入式软件的开发过程47ARM的JTAG调试结构AngelJTAG48宿主机调试器l宿主机宿主机调试器通器通过固定的固定的协议控制下位机(控制下位机(协议转换器)。比如,器)。比如,SDTSDT中通中通过AngelAngel协议或者第三方或者第三方调试器所提供的器所提供的协议l宿
24、主机宿主机调试器只器只发送宏送宏观的命令,比如:的命令,比如:程序运行、程序运行、终止。止。读内存、内存、ARMARM寄存器等寄存器等l通通讯的介的介质可以是串口、并口、以太网、可以是串口、并口、以太网、USBUSB等等49JTAG与AngellJTAGJTAG调试:协议转换器解器解释上位机上位机传送送过来的命令,通来的命令,通过JTAGJTAG控控制制ARMARM执行。行。lAngelAngel调试:协议转换器可以直接做器可以直接做为目目标板的板的FirmwareFirmware的一部分。的一部分。直接直接执行从宿主机行从宿主机传送送过来的来的调试命令;并回送相命令;并回送相应的数据。的数据
25、。lAngelAngel可以可以节省省专门的的JTAGJTAG仿真器,但是,它需要仿真器,但是,它需要软件,或者是嵌件,或者是嵌入式操作系入式操作系统的支持,做不到完全的的支持,做不到完全的实时仿真。而仿真。而JTAGJTAG仿真是通仿真是通过硬件和控制硬件和控制ARMARM的的EmbeddedICEEmbeddedICE实现的,可以做到的,可以做到实时仿真。仿真。50什么是JTAG?lJTAGJTAG是是JointTestActionGroupJointTestActionGroup的的缩写是写是IEEE1149.1IEEE1149.1标准准lJTAGJTAG的建立使得集成的建立使得集成电路
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ARM 嵌入式 系统 硬件 结构设计
限制150内