嵌入式系统设计与实例开发基于32位微处理器与实时操作课件.ppt
《嵌入式系统设计与实例开发基于32位微处理器与实时操作课件.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统设计与实例开发基于32位微处理器与实时操作课件.ppt(133页珍藏版)》请在三一办公上搜索。
1、嵌入式系统设计与实例开发基于32位微处理器与实时操作系统第七讲 基于ARM的硬件系统结构设计北京航空航天大学机器人研究所王田苗魏洪兴,本节提要,1,3,2,5,4,6,基于ARM的硬件系统体系结构,存储器接口设计,网络接口设计,I/O接口设计,人机交互接口设计,其它通讯接口设计,ARM920T内核结构,S3C2410的内部结构,实验平台的体系结构,2410核心资源,总线隔离驱动,168Pin扩展槽,网卡设备,LCD驱动,音频电路,串口设备,USB设备,PCMCIA,IDE/CF卡,SD卡接口,IO扩展,电机等,其他资源,局部总线,扩展总线,读写总线的时序图,稳态,Read,Write,稳态,本
2、节提要,1,3,2,5,4,6,基于ARM的硬件系统体系结构,存储器接口设计,网络接口设计,I/O接口设计,人机交互接口设计,其它通讯接口设计,2410的存储器系统,可通过软件选择大小端 地址空间:每个Bank 128Mbytes(总共 1GB)除 bank0(16/32-bit)外,所有的Bank都可以通过编程选择总线宽度=(8/16/32-bit)共 8 个banks6个Bank用于控制 ROM,SRAM,etc.剩余的两个Bank用于控制 ROM,SRAM,SDRAM,etc.7个Bank固定起始地址;最后一个Bank可调整起始地址;最后两个Bank大小可编程所有Bank存储周期可编程控
3、制;,S3C2410的存储器配置,Bank6/Bank7地址分布,Bank0总线宽度配置,与2片8位的ROM连接方法,与1片16位的ROM连接,S3C2410与2片8位FLASH的连接方法,与1片16M的SDRAM的连接方法,与2片16M的SDRAM的连接方法,NAND和NOR性能比较,NOR和NAND是现在市场上两种主要的非易失闪存技术NOR的读速度比NAND稍快一些NAND的写入速度比NOR快很多NAND的擦除速度远比NOR的快大多数写入操作需要先进行擦除操作NAND的擦除单元更小,相应的擦除电路更少,接口差别,NOR flash带有SRAM接口,线性寻址,可以很容易地存取其内部的每一个字
4、节NAND flash使用复用接口和控制IO多次寻址存取数据NAND读和写操作采用512字节的块,这一点有点像硬盘管理,此类操作易于取代硬盘等类似的块设备,容量和成本,NAND flash生产过程更为简单,成本低常见的NOR flash为128KB16MB,而NANDflash通常有8128MBNOR主要应用在代码存储介质中,NAND适合于数据存储NAND在CompactFlash、Secure Digital、PC Cards和MMC存储卡市场上所占份额最大,可靠性和耐用性,在NAND中每块的最大擦写次数是100万次,而NOR的擦写次数是10万次位交换的问题NAND flash中更突出,需要
5、ECC纠错NAND flash中坏块随机分布,需要通过软件标定产品量产的问题,嵌入式系统中应用RAM的情况,本节提要,1,3,2,5,4,6,基于ARM的硬件系统体系结构,存储器接口设计,网络接口设计,I/O系统设计,人机交互接口设计,其它通讯接口设计,I/O子系统的层次模型,I/O子系统:I/O设备、相关的设备驱动程序和I/O子系统组成嵌入式I/O子系统。I/O子系统的目标是对RTOS和应用程序员隐藏设备特定的信息,并且对系统的外围I/O设备提供一个统一的访问方法。,从不同角度看I/O系统,从系统软件开发者角度看,I/O操作意味着与设备的通信、对设备编程初始化和请示执行设备与系统之间的实际数
6、据传输以及操作完成后通知请求者。系统软件工程师必须理解设备的物理特性,如寄存器的定义和设备的访问方法。从RTOS的角度看,I/O操作意味着对I/O请求定位正确的设备,对设备定位正确的设备驱动程序,并解决对设备驱动程序的请求。有时要求RTOS保证对设备的同步访问。RTOS必须进行抽象,对应用程序员隐含设备的特性。从应用程序员角度看,目标是找到一个简单、统一和精练的方法与系统中出现的所有类型的设备通信。,I/O接口的编址方式端口映射,1)I/O接口独立编址端口映射方式这种编址方式是将存储器地址空间和I/O接口地址空间分开设置,互不影响。设有专门的输入指令(IN)和输出指令(OUT)来完成I/O操作
7、。,主要优点:内存地址空间与I/O接口地址空间分开,互不影响,译码电路较简单,并设有专门的I/O指令,所以编程序易于区分,且执行时间短,快速性好。缺点:只用I/O指令访问I/O端口,功能有限且要采用专用I/O周期和专用I/O控制线,使微处理器复杂化。,I/O接口的编址方式内存映射,1)2)I/O接口与存储器统一编址方式内存映射这种编址方式不区分存储器地址空间和I/O接口地址空间,把所有的I/O接口的端口都当作是存储器的一个单元对待,每个接口芯片都安排一个或几个与存储器统一编号的地址号。也不设专门的输入/输出指令,所有传送和访问存储器的指令都可用来对I/O接口操作。,主要优点:访问内存的指令都可
8、用于I/O操作,数据处理功能强;同时I/O接口可与存储器部分共用译码和控制电路。缺点:一是I/O接口要占用存储器地址空间的一部分;二是因不用专门的I/O指令,程序中较难区分I/O操作。,DMA I/O,DMA I/ODMA允许设备直接访问内存而不用包含处理器,在数据传输操作开始之前,处理器设置DMA控制器,在数据传输期间,读写操作均不通过处理器。DMA传输速度取决于I/O设备的传输速度、内存设备的速度和DMA控制器的速度。通过指定源地址、目的内存地址和传输到DMA控制器长度,处理器建立传输操作。,字符模式设备与块模式设备,根据设备如何处理与系统之间的数据传输方法可将设备分为字符模式设备和块模式
9、设备字符模式设备:允许非结构的数据传输。数据传输典型地采用串行的形式,每次一个字节;字符设备通常是简单的设备,如串口、键盘等;当系统到设备的传输速率高于设备的处理速率时,设备驱动程序开设缓冲区,缓存这些数据;块模式设备:每次传输一个数据块。采用硬件方式控制数据块的大小,有时需要采用固定的传输协议,如USB、以太网等设备,建立通用的I/O接口函数,Create()Open()Read()Write()Close()Loctl()Destroy(),Driver_Create()Driver_Open()Driver_Read()Driver_Write()Driver_Close()Driver
10、_Loctl()Driver_Destroy(),I/O操作,设备驱动程序,应 用,设 备,I/O接口设计,I/O接口电路也简称接口电路。它是主机和外围设备之间交换信息的连接部件(电路)。它在主机和外围设备之间的信息交换中起着桥梁和纽带作用。设置接口电路的必要性:a)解决CPU和外围设备之间的时序配合和通信联络问题。b)解决CPU和外围设备之间的数据格式转换和匹配问题。c)解决CPU的负载能力和外围设备端口选择问题。,通用设计原则(I/O设备),I/O接口接口的概念CPU与外部设备的接口(I/O适配器)接口的功能控制 缓冲状态 转换整理 程序中断,I/O接口3种寄存器数据寄存器、控制寄存器和状
11、态寄存器,通用设计原则(I/O设备),通用设计原则(I/O设备),I/O设备寻址I/O寻址定位I/O设备内部的寄存器(或一小块存储器)与存储器共享总线存储器映像法混合编址,通用设计原则(I/O设备),I/O设备寻址I/O隔离法独立编址信号线MERQ/IORQ地址空间,I/O设备的数据输入/输出输入过程CPU把一个地址值放在地址总线上,这一步将选择某一输入设备;CPU等候输入设备的数据成为有效;CPU从数据总线读入数据,并放在一个相应的寄存器中。输出过程CPU把一个地址值放在地址总线上,选择输出设备;CPU把数据放在数据总线上;输出设备认为数据有效,从而把数据取走。究竟什么时候数据才成为有效?,
12、通用设计原则(I/O设备),I/O设备的定时方式简单的外围设备机械开关、二极管(无需定时机制,CPU只要接收或发送数据就可以了)慢速或中速的外围设备速度和CPU速度不在一个数量级,或不规则时间间隔操作(键盘)异步定时方式中断方式查询方式高速的外围设备以相等的时间间隔操作,采样同步定时方式 时钟脉冲控制 DMA,通用设计原则(I/O设备),通用设计原则(I/O设备),I/O控制方式低速设备程序查询方式程序中断方式高速设备DMA通道方式外围处理机(PPU)方式,I/O接口程序查询方式读操作流程1.CPU测试I/O设备状态,等待空闲2.CPU下达读命令,测试状态寄存器3.把数据寄存器中的数据读入到C
13、PU中4.重复执行以上各步写操作流程1.CPU测试I/O设备状态,等待空闲2.把数据传输到I/O接口芯片的数据寄存器中3.CPU下达写命令4.重复执行以上各步,通用设计原则(I/O设备),CPU,I/O设备,通用设计原则(I/O设备),I/O接口中断一种实现CPU和I/O设备间异步操作的机制,通用设计原则(I/O设备),I/O接口中断响应时间(现场保存)中断优先级可屏蔽中断不可屏蔽中断中断向量(地址)固定/不固定,CPU,PC,设备,状态寄存器,数据寄存器,中断请求,中断应答,数据/地址,通用设计原则(I/O设备),中断处理,I/O接口DMAI/O设备和存储器直接进行数据传输使用场合速度快,适
14、用于数据连续传输的高速设备基本操作过程从外围设备发出DMA请求;CPU响应请求,把CPU工作改成DMA操作方式,DMA控制器从CPU接管总线的控制;由DMA控制器对内存寻址,并执行数据传送的操作;向CPU报告DMA操作的结束。,通用设计原则(I/O设备),通用设计原则(I/O设备),I/O接口DMA传输方式停止CPU访问内存,通用设计原则(I/O设备),I/O接口DMA传输方式周期挪用,通用设计原则(I/O设备),I/O接口DMA传输方式DMA与CPU交替访问内存,嵌入式软件的开发过程,ARM的JTAG调试结构,Angel,JTAG,宿主机调试器,宿主机调试器通过固定的协议控制下位机(协议转换
15、器)。比如,SDT中通过Angel协议或者第三方调试器所提供的协议宿主机调试器只发送宏观的命令,比如:程序运行、终止。读内存、ARM寄存器等通讯的介质可以是串口、并口、以太网、USB等,JTAG与Angel,JTAG调试:协议转换器解释上位机传送过来的命令,通过JTAG控制ARM执行。Angel调试:协议转换器可以直接做为目标板的Firmware的一部分。直接执行从宿主机传送过来的调试命令;并回送相应的数据。Angel可以节省专门的JTAG仿真器,但是,它需要软件,或者是嵌入式操作系统的支持,做不到完全的实时仿真。而JTAG仿真是通过硬件和控制ARM的EmbeddedICE实现的,可以做到实时
16、仿真。,什么是JTAG?,JTAG是Joint Test Action Group的缩写是IEEE1149.1标准JTAG的建立使得集成电路固定在PCB上,只通过边界扫描便可以被测试在ARM7TDMI处理器中,可以通过JTAG直接控制ARM的内部总线,IO口等信息,从而达到调试的目的,JTAG的典型接口,TMS:测试模式选择(Test Mode Select),通过TMS信号控制JTAG状态机的状态TCK:JTAG的时钟信号TDI:数据输入信号TDO:数据输出信号nTRST:JTAG复位信号,复位JTAG的状态机和内部的宏单元(Macrocell),JTAG的状态机(TAP),JTAG链的组成
17、,ARM7TDMI的JTAG标准链(1),ARM7TDMI的JTAG标准链(2),Scan Chain 0:包括ARM核的所有的IO和总线的输入输出控制信号Scan Chain 1:包括ARM核的数据总线和一个断点控制信号。通过控制这个条链,可以控制ARM核执行指定的指令。Scan Chain 2:通过控制EmbeddedICE宏单元,实现对ARM执行指令的断点、观察点的控制,EmbeddedICE的结构,ARM7TDMI中断点的设置,设置EmbeddedICE的两个watchpoint单元主要包括:地址、数据、控制信号等当一个(或者两个)watchpoint中的地址(也可以包括数据)和ARM
18、所执行的当前的指令相同的时候,ARM就从运行状态进入Debug状态硬件断点:在ARM中直接设定watchpoint中的地址,当ARM运行到指定的地址时,就进入Debug状态软件断点:改变存储器中的ARM指令为一个特殊的数据X(ARM的未定义指令),同时,设置watchpoint中的断点数据也为X,当ARM把X数据作为指令读入的时候,ARM就进入Debug状态,硬件断点和软件断点的优缺点,硬件断点:数目受EmbeddedICE中的Watchpoint数目的限制;但是,可以在任何地方设置断点软件断点:数目不受限制,但是,软件断点是通过替换系统的断点地址的指令实现的,所以,软件断点只能在可写的存储器
19、的地址中设置(比如:RAM),而不能在ROM(比如:Flash)中设置,嵌入式开发板与PC机的串行通讯,嵌入式开发板和PC机的通讯电缆可以按照如图所示的方式连接。,2410的UART,S3C2410A 的UART(Universal Asynchronous Receiver and Transmitter)提供了三个独立的异步串行I/O口,每一个都可以工作在中断模式或DMA模式,即UART可以产生中断或DMA请求以在CPU和UART之前传送数据,使用系统时钟,UART最高可以支持230.4K bps 的位传输率。如果采用外部带时钟的UART,则UART可以实现更度速度的传输;每个UART包括
20、2个16Byte的接收/发送FIFO。,UART控制框图,异步串行通讯简介,在一条传输线上完成单向传输。将传输数据的字符一位接一位的传送。接收方对于同一条线上的一连串连续数学信号,首先将其分割成位,再按位组成字符。每个字符需要确定起始位和结束位,字符与字符间还可能有长度不定的空闲时间,因此传输效率较低。,字符串行输出格式:,发送前:线路处于空闲状态,连续发送“1”开始发送:首先,发送一位起始位“0”然后,发送连续的二进制位,数据位可以为5、6、7、8 随后,紧跟一位奇偶校验位(可选择奇/偶/无校验)最后,发送停止位“1”,可以有1位、1.5位或2位停止位,串行通讯硬件规范及连接方法,EIA R
21、S-232C 物理特征:DB-25 DB-15 DB-9 信号连线:保护地、TXD/RXD、RTS/CTS、DCD、DSR、DTR、R1 电平规定:-5V-15V 之间的电平表示逻辑“1”+5V+15V 之间的电平表示逻辑“0”,UART的操作,串口初始化,发送数据,接收数据,显示设备单个LED显示器一个发光二极管,亮/灭代表着一个二进制数典型电流520mACPU数据线通过驱动反相(或同相)驱动器驱动,通用设计原则(I/O设备),键盘接口设计,键盘模块可能用来输入数字型数据或者选择控制设备的操作模式。键盘有两种方案:一是采用现有的一些芯片实现键盘扫描;再就是用软件实现键盘扫描。嵌入式控制器的功
22、能很强,可能允分利用这一资源。,两组信号线:输出信号线(行线),输入信号线(列线)。列信号线一般通过电阻与电源正极相连。,通用设计原则(I/O设备),44阵列的键盘,键盘的行信号线和列信号线均由CPU通过数据线加以控制,CPU通过数据线向行信号线上输出全“0”信号,然后通过数据线读取列信号,若键盘阵列中无任何键按下,则读到的列信号必然是全“1”信号,否则就是非全“1”信号。若是非全“1”信号时,CPU再在行信号线上输出“步进的0”信号,既逐行输出“0”信号,来判断被按下的键具体在哪一行上,然后产生对应的键码。,一个瞬时接触开关(按钮)放置在每一行与线一列的交叉点。矩阵所需的键的数目显然根据应用
23、程序而不同。每一行由一个输出端口的一位驱动,而每一列由一个电阻器上拉且供给输入端口一位。,键盘扫描阵列,键盘扫描过程就是让微处理器按有规律的时间间隔查看键盘矩阵,以确定是否有键被按下。每个键被分配一个称为扫描码的唯一标识符。应用程序利用该扫描码,根据按下的键来判定应该采取什么行动。消抖算法:组合键处理,键盘扫描方法,本节提要,1,3,2,5,4,6,基于ARM的硬件系统体系结构,存储器接口设计,网络接口设计,I/O接口设计,人机交互接口设计,其它通讯接口设计,LCD接口设计,LCD显示模块液晶显示是一种被动的显示,它不能发光,只能使用周围环境的光。它显示图案或字符只需很小能量。液晶显示所用的液
24、晶材料是一种兼有液态和固体双重性质的有机物,它的棒状结构在液晶盒内一般平行排列,但在电场作用下能改变其排列方向。LCD的背光:EL(场致发光):2000-3000小时和LED光源:字符模式,50000小时,LCD的显示方式,反射型LCD:底偏光片后面加了一块反射板,它一般在户外和光线良好的办公室使用。透射型LCD:底偏光片是透射偏光片,它需要连续使用背光源,一般在光线差的环境使用。透反射型LCD:是处于以上两者之间,底偏光片能部分反光,一般也带背光源,光线好的时候,可关掉背光源;光线差时,可点亮背光源使用LCD。,反射型LCD的结构,LCD通常由两种方式,一种是带有驱动芯片的LCD模块,基本上
25、属于半成品一些新型的嵌入式处理器也可以直接使用芯片上的内置LCD控制器来构造显示模块,比如:s3c2410可以支持STN的彩色/灰度/单色三种模式和TFT模式,灰度模式下可支持4级灰度和16级灰度,彩色模式下最多支持256色,LCD的实际尺寸可支持到640X480。,LCD的驱动方式,总线驱动方式,一般带有驱动模块的LCD显示屏使用这种驱动方式,由于LCD已经带有驱动硬件电路,因此模块给出的是总线接口,便于与单片机的总线进行接口。驱动模块具有八位数据总线,外加一些电源接口和控制信号。而且自带显示缓存,只需要将要显示的内容送到显示缓存中就可以实现内容的显示。由于只有八条数据线,因此常常通过引脚信
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 设计 实例 开发 基于 32 微处理器 实时 操作 课件
链接地址:https://www.31ppt.com/p-3968856.html