七、基于ARM的嵌入式系统硬件结构设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1嵌入式系统设计与实例开发——基于32位微处理器与实时操作系统基于ARM的硬件系统结构设计2009.42本节提要132546基于ARM的硬件系统体系结构存储器接口设计网络接口设计I/O接口设计人机交互接口设计其它通讯接口设计3ARM920T内核结构4S3C2410的内部结构5实验平台的体系结构2410核心资源总线隔离驱动168Pin扩展槽网卡设备LCD驱动音频电路串口设备USB设备PCMCIAIDE/CF卡SD卡接口IO扩展电机等其他资源局部总线扩展总线6读写总线的时序图ClockR/W’启用AddressAddressDataready’Data稳态ReadWrite稳态7本节提要132546基于ARM的硬件系统体系结构存储器接口设计网络接口设计I/O接口设计人机交互接口设计其它通讯接口设计82410的存储器系统—可通过软件选择大小端—地址空间:每个Bank128Mbytes(总共1GB)—除bank0(16/32-bit)外,所有的Bank都可以通过编程选择总线宽度=(8/16/32-bit)—共8个banks6个Bank用于控制ROM,SRAM,etc.剩余的两个Bank用于控制ROM,SRAM,SDRAM,etc.—7个Bank固定起始地址;—最后一个Bank可调整起始地址;—最后两个Bank大小可编程—所有Bank存储周期可编程控制;9S3C2410的存储器配置10Bank6/Bank7地址分布11Bank0总线宽度配置12与2片8位的ROM连接方法13与1片16位的ROM连接14S3C2410与2片8位FLASH的连接方法15与1片16M的SDRAM的连接方法16与2片16M的SDRAM的连接方法17NAND和NOR——性能比较NOR和NAND是现在市场上两种主要的非易失闪存技术NOR的读速度比NAND稍快一些NAND的写入速度比NOR快很多NAND的擦除速度远比NOR的快大多数写入操作需要先进行擦除操作NAND的擦除单元更小,相应的擦除电路更少18接口差别NORflash带有SRAM接口,线性寻址,可以很容易地存取其内部的每一个字节NANDflash使用复用接口和控制IO多次寻址存取数据NAND读和写操作采用512字节的块,这一点有点像硬盘管理,此类操作易于取代硬盘等类似的块设备19容量和成本NANDflash生产过程更为简单,成本低常见的NORflash为128KB~16MB,而NANDflash通常有8~128MBNOR主要应用在代码存储介质中,NAND适合于数据存储NAND在CompactFlash、SecureDigital、PCCards和MMC存储卡市场上所占份额最大20本节提要132546基于ARM的硬件系统体系结构存储器接口设计网络接口设计I/O系统设计人机交互接口设计其它通讯接口设计21I/O子系统的层次模型I/O子系统:I/O设备、相关的设备驱动程序和I/O子系统组成嵌入式I/O子系统。I/O子系统的目标是对RTOS和应用程序员隐藏设备特定的信息,并且对系统的外围I/O设备提供一个统一的访问方法。设备驱动程序I/O设备硬件RTOSI/O子系统应用程序中断处理程序22从不同角度看I/O系统从系统软件开发者角度看,I/O操作意味着与设备的通信、对设备编程初始化和请示执行设备与系统之间的实际数据传输以及操作完成后通知请求者。系统软件工程师必须理解设备的物理特性,如寄存器的定义和设备的访问方法。从RTOS的角度看,I/O操作意味着对I/O请求定位正确的设备,对设备定位正确的设备驱动程序,并解决对设备驱动程序的请求。有时要求RTOS保证对设备的同步访问。RTOS必须进行抽象,对应用程序员隐含设备的特性。从应用程序员角度看,目标是找到一个简单、统一和精练的方法与系统中出现的所有类型的设备通信。23I/O接口的编址方式——端口映射1)I/O接口独立编址——端口映射方式这种编址方式是将存储器地址空间和I/O接口地址空间分开设置,互不影响。设有专门的输入指令(IN)和输出指令(OUT)来完成I/O操作。I/O设备10X00000XFFFFI/O设备2I/O地址空间0X0000系统地址空间0XFFFF主要优点:内存地址空间与I/O接口地址空间分开,互不影响,译码电路较简单,并设有专门的I/O指令,所以编程序易于区分,且执行时间短,快速性好。缺点:只用I/O指令访问I/O端口,功能有限且要采用专用I/O周期和专用I/O控制线,使微处理器复杂化。24I/O接口的编址方式——内存映射2)I/O接口与存储器统一编址方式——内存映射这种编址方式不区分存储器地址空间和I/O接口地址空间,把所有的I/O接口的端口都当作是存储器的一个单元对待,每个接口芯片都安排一个或几个与存储器统一编号的地址号。也不设专门的输入/输出指令,所有传送和访问存储器的指令都可用来对I/O接口操作。I/O设备10X00000XFFFFI/O设备2保留I/O地址空间I/O设备硬件系统地址空间应用使用地址空间应用使用地址空间主要优点:访问内存的指令都可用于I/O操作,数据处理功能强;同时I/O接口可与存储器部分共用译码和控制电路。缺点:一是I/O接口要占用存储器地址空间的一部分;二是因不用专门的I/O指令,程序中较难区分I/O操作。25DMAI/ODMAI/ODMA允许设备直接访问内存而不用包含处理器,在数据传输操作开始之前,处理器设置DMA控制器,在数据传输期间,读写操作均不通过处理器。DMA传输速度取决于I/O设备的传输速度、内存设备的速度和DMA控制器的速度。通过指定源地址、目的内存地址和传输到DMA控制器长度,处理器建立传输操作。CPUDMA控制器主存储器I/O设备26字符模式设备与块模式设备根据设备如何处理与系统之间的数据传输方法可将设备分为字符模式设备和块模式设备字符模式设备:允许非结构的数据传输。数据传输典型地采用串行的形式,每次一个字节;字符设备通常是简单的设备,如串口、键盘等;当系统到设备的传输速率高于设备的处理速率时,设备驱动程序开设缓冲区,缓存这些数据;块模式设备:每次传输一个数据块。采用硬件方式控制数据块的大小,有时需要采用固定的传输协议,如USB、以太网等设备27建立通用的I/O接口函数Create()Open()Read()Write()Close()Loctl()Destroy()Driver_Create()Driver_Open()Driver_Read()Driver_Write()Driver_Close()Driver_Loctl()Driver_Destroy()I/O操作设备驱动程序应用设备28I/O接口设计I/O接口电路也简称接口电路。它是主机和外围设备之间交换信息的连接部件(电路)。它在主机和外围设备之间的信息交换中起着桥梁和纽带作用。设置接口电路的必要性:a)解决CPU和外围设备之间的时序配合和通信联络问题。b)解决CPU和外围设备之间的数据格式转换和匹配问题。c)解决CPU的负载能力和外围设备端口选择问题。29通用设计原则(I/O设备)I/O接口接口的概念CPU与外部设备的接口(I/O适配器)接口的功能控制缓冲状态转换整理程序中断30I/O接口3种寄存器数据寄存器、控制寄存器和状态寄存器通用设计原则(I/O设备)数据寄存器状态寄存器控制寄存器I/O接口芯片去I/O设备去CPU31通用设计原则(I/O设备)I/O设备寻址I/O寻址定位I/O设备内部的寄存器(或一小块存储器)与存储器共享总线存储器映像法混合编址CPU存储器地址总线数据总线读信号写总线译码I/O接口译码32通用设计原则(I/O设备)I/O设备寻址I/O隔离法独立编址信号线MERQ/IORQ地址空间CPU存储器地址总线数据总线读信号写总线I/O接口MERQ/IORQ33I/O设备的数据输入/输出输入过程CPU把一个地址值放在地址总线上,这一步将选择某一输入设备;CPUCPU从数据总线读入数据,并放在一个相应的寄存器中。输出过程CPU把一个地址值放在地址总线上,选择输出设备;CPU输出设备认为数据有效,从而把数据取走。究竟什么时候数据才成为有效?通用设计原则(I/O设备)34I/O设备的定时方式简单的外围设备机械开关、二极管(无需定时机制,CPU只要接收或发送数据就可以了)慢速或中速的外围设备速度和CPU速度不在一个数量级,或不规则时间间隔操作(键盘)异步定时方式中断方式查询方式高速的外围设备以相等的时间间隔操作,采样同步定时方式时钟脉冲控制DMA通用设计原则(I/O设备)35通用设计原则(I/O设备)I/O控制方式低速设备程序查询方式程序中断方式高速设备DMA通道方式外围处理机(PPU)方式36I/O接口程序查询方式读操作流程1.CPU测试I/O设备状态,等待空闲2.CPU下达读命令,测试状态寄存器3.把数据寄存器中的数据读入到CPU中4.重复执行以上各步写操作流程1.CPU测试I/O设备状态,等待空闲2.把数据传输到I/O接口芯片的数据寄存器中3.CPU下达写命令4.重复执行以上各步通用设计原则(I/O设备)询问状态准备好否?报告状态I/O接口芯片请求数据(对于读)发送数据(对于写)接收数据(对于读)报告数据(对于读)接收数据(对于写)发出一下个命令其它操作接收下一个命令并启动新的I/O操作YNCPUI/O设备37通用设计原则(I/O设备)I/O接口中断一种实现CPU和I/O设备间异步操作的机制38通用设计原则(I/O设备)I/O接口中断响应时间(现场保存)中断优先级可屏蔽中断不可屏蔽中断中断向量(地址)固定/不固定39CPUPC设备状态寄存器数据寄存器中断请求中断应答数据/地址通用设计原则(I/O设备)中断处理40I/O接口DMAI/O设备和存储器直接进行数据传输使用场合速度快,适用于数据连续传输的高速设备基本操作过程从外围设备发出DMACPU响应请求,把CPU工作改成DMA操作方式,DMA控制器从CPU接管总线的控制;由DMA控制器对内存寻址,并执行数据传送的操作;向CPU报告DMA操作的结束。通用设计原则(I/O设备)41通用设计原则(I/O设备)I/O接口DMA传输方式停止CPU访问内存42通用设计原则(I/O设备)I/O接口DMA传输方式周期挪用43通用设计原则(I/O设备)I/O接口DMA传输方式DMA与CPU交替访问内存44嵌入式软件的开发过程45宿主机调试器宿主机调试器通过固定的协议控制下位机(协议转换器)。比如,SDT中通过Angel协议或者第三方调试器所提供的协议宿主机调试器只发送宏观的命令,比如:程序运行、终止。读内存、ARM寄存器等通讯的介质可以是串口、并口、以太网、USB等46什么是JTAG?JTAG是JointTestActionGroup的缩写是IEEE1149.1标准JTAG的建立使得集成电路固定在PCB上,只通过边界扫描便可以被测试在ARM7TDMI处理器中,可以通过JTAG直接控制ARM的内部总线,IO口等信息,从而达到调试的目的47嵌入式开发板与PC机的串行通讯嵌入式开发板和PC机的通讯电缆可以按照如图所示的方式连接。PC235235RS-232串行接口RS-232串行接口嵌入式开发板482410的UARTS3C2410A的UART(UniversalAsynchronousReceiverandTransmitter)提供了三个独立的异步串行I/O口,每一个都可以工作在中断模式或DMA模式,即UART可以产生中断或DMA请求以在CPU和UART之前传送数据,使用系统时钟,UART最高可以支持230.4Kbps的位传输率。如果采用外部带时钟的UART,则UART可以实现更度速度的传输;每个UART包括2个16Byte的接收/发送FIFO。49UAR

1 / 121
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功