《七基于ARM的嵌入式系统硬件结构设计.pptx》由会员分享,可在线阅读,更多相关《七基于ARM的嵌入式系统硬件结构设计.pptx(133页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、会计学1七基于七基于ARM的嵌入式系统硬件结构设计的嵌入式系统硬件结构设计本节提要1 13 32 25 54 46 6基于ARM的硬件系统体系结构存储器接口设计网络接口设计I/O接口设计人机交互接口设计其它通讯接口设计第1页/共133页ARM920T内核结构第2页/共133页S3C2410的内部结构第3页/共133页实验平台的体系结构2410核心资源总线隔离驱动168Pin扩展槽网卡设备LCD驱动音频电路串口设备USB设备PCMCIAIDE/CF卡SD卡接口IO扩展电机等其他资源局部总线扩展总线第4页/共133页读写总线的时序图稳态ReadWrite稳态第5页/共133页本节提要1 13 32
2、 25 54 46 6基于ARM的硬件系统体系结构存储器接口设计网络接口设计I/O接口设计人机交互接口设计其它通讯接口设计第6页/共133页2410的存储器系统的存储器系统 可通过软件选择大小端 地址空间:每个Bank 128Mbytes(总共 1GB)除 bank0(16/32-bit)外,所有的Bank都可以通过编程选择总线宽度=(8/16/32-bit)共 8 个banksn n6 6个个BankBank用于控制用于控制 ROM,SRAM,ROM,SRAM,etc.etc.n n剩余的两个剩余的两个BankBank用于控制用于控制 ROM,ROM,SRAM,SDRAM,etc.SRAM,
3、SDRAM,etc.7个Bank固定起始地址;最后一个Bank可调整起始地址;最后两个Bank大小可编程所有Bank存储周期可编程控制;第7页/共133页S3C2410的存储器配置的存储器配置第8页/共133页Bank6/Bank7地址分布地址分布第9页/共133页Bank0总线宽度配置总线宽度配置第10页/共133页与与2片片8位的位的ROM连接方法连接方法第11页/共133页与与1片片16位的位的ROM连接连接第12页/共133页S3C2410与与2片片8位位FLASH的连接的连接方法方法第13页/共133页与与1片片16M的的SDRAM的连接方法的连接方法第14页/共133页与与2片片1
4、6M的的SDRAM的连接方法的连接方法第15页/共133页NAND和NOR性能比较NORNOR和和NANDNAND是现在市场上两种主要的非易失闪存技术是现在市场上两种主要的非易失闪存技术n nNORNOR的读速度比的读速度比NANDNAND稍快一些稍快一些n nNANDNAND的写入速度比的写入速度比NORNOR快很多快很多n nNANDNAND的擦除速度远比的擦除速度远比NORNOR的快的快n n大多数写入操作需要先进行擦除操作大多数写入操作需要先进行擦除操作n nNANDNAND的擦除单元更小,相应的擦除电路更少的擦除单元更小,相应的擦除电路更少第16页/共133页接口差别n nNOR f
5、lashNOR flash带有带有SRAMSRAM接口,线性寻址,可以很容易地接口,线性寻址,可以很容易地存取其内部的每一个字节存取其内部的每一个字节n nNAND flashNAND flash使用复用接口和控制使用复用接口和控制IOIO多次寻址存取数据多次寻址存取数据n nNANDNAND读和写操作采用读和写操作采用512512字节的块,这一点有点像硬字节的块,这一点有点像硬盘管理,此类操作易于取代硬盘等类似的块设备盘管理,此类操作易于取代硬盘等类似的块设备第17页/共133页容量和成本n nNAND flash生产过程更为简单,成本低n n常见的NOR flash为128KB16MB,而
6、NANDflash通常有8128MBn nNORNOR主要应用在代码存储介质中,主要应用在代码存储介质中,NANDNAND适合于数据存储适合于数据存储n nNANDNAND在在CompactFlashCompactFlash、Secure Secure DigitalDigital、PC CardsPC Cards和和MMCMMC存储存储卡市场上所占份额最大卡市场上所占份额最大第18页/共133页可靠性和耐用性n n在在NANDNAND中每块的最大擦写次数是中每块的最大擦写次数是100100万次,而万次,而NORNOR的擦写次数是的擦写次数是1010万次万次n n位交换的问题位交换的问题NAN
7、D flashNAND flash中更突出,需要中更突出,需要ECCECC纠错纠错n nNAND flashNAND flash中坏块随机分布,需要通过软件标定中坏块随机分布,需要通过软件标定产品量产的问题产品量产的问题第19页/共133页嵌入式系统中应用RAM的情况第20页/共133页本节提要1 13 32 25 54 46 6基于ARM的硬件系统体系结构存储器接口设计网络接口设计I/O系统设计人机交互接口设计其它通讯接口设计第21页/共133页I/O子系统的层次模型n nI/O子系统:I/O设备、相关的设备驱动程序和I/O子系统组成嵌入式I/O子系统。n nI/O子系统的目标是对RTOS和
8、应用程序员隐藏设备特定的信息,并且对系统的外围I/O设备提供一个统一的访问方法。第22页/共133页从不同角度看I/O系统n n从系统软件开发者角度看,从系统软件开发者角度看,I/OI/O操作意味着与设备的通信、操作意味着与设备的通信、对设备编程初始化和请示执行设备与系统之间的实际数据对设备编程初始化和请示执行设备与系统之间的实际数据传输以及操作完成后通知请求者。系统软件工程师必须理传输以及操作完成后通知请求者。系统软件工程师必须理解设备的物理特性,如寄存器的定义和设备的访问方法。解设备的物理特性,如寄存器的定义和设备的访问方法。n n从从RTOSRTOS的角度看,的角度看,I/OI/O操作意
9、味着对操作意味着对I/OI/O请求定位正确的设请求定位正确的设备,对设备定位正确的设备驱动程序,并解决对设备驱动备,对设备定位正确的设备驱动程序,并解决对设备驱动程序的请求。有时要求程序的请求。有时要求RTOSRTOS保证对设备的同步访问。保证对设备的同步访问。RTOSRTOS必须进行抽象,对应用程序员隐含设备的特性。必须进行抽象,对应用程序员隐含设备的特性。n n从应用程序员角度看,从应用程序员角度看,目标是找到一个简单、统一和精练目标是找到一个简单、统一和精练的方法与系统中出现的所有类型的设备通信。的方法与系统中出现的所有类型的设备通信。第23页/共133页I/O接口的编址方式端口映射1)
10、I/O接口独立编址端口映射方式n n这种编址方式是将存储器地址空间和I/O接口地址空间分开设置,互不影响。设有专门的输入指令(IN)和输出指令(OUT)来完成I/O操作。主要优点:内存地址空间与I/O接口地址空间分开,互不影响,译码电路较简单,并设有专门的I/O指令,所以编程序易于区分,且执行时间短,快速性好。缺点:只用I/O指令访问I/O端口,功能有限且要采用专用I/O周期和专用I/O控制线,使微处理器复杂化。第24页/共133页I/OI/O接口的编址方式接口的编址方式内存映射内存映射1)2)I/O接口与存储器统一编址方式内存映射n n这种编址方式不区分存储器地址空间和I/O接口地址空间,把
11、所有的I/O接口的端口都当作是存储器的一个单元对待,每个接口芯片都安排一个或几个与存储器统一编号的地址号。也不设专门的输入/输出指令,所有传送和访问存储器的指令都可用来对I/O接口操作。主要优点:访问内存的指令都可用于I/O操作,数据处理功能强;同时I/O接口可与存储器部分共用译码和控制电路。缺点:一是I/O接口要占用存储器地址空间的一部分;二是因不用专门的I/O指令,程序中较难区分I/O操作。第25页/共133页DMA I/ODMA I/ODMA I/On nDMA允许设备直接访问内存而不用包含处理器,在数据传输操作开始之前,处理器设置DMA控制器,在数据传输期间,读写操作均不通过处理器。n
12、 nDMA传输速度取决于I/O设备的传输速度、内存设备的速度和DMA控制器的速度。n n通过指定源地址、目的内存地址和传输到DMA控制器长度,处理器建立传输操作。第26页/共133页字符模式设备与块模式设备 根据设备如何处理与系统之间的数据传输方法可将设根据设备如何处理与系统之间的数据传输方法可将设备分为字符模式设备和块模式设备备分为字符模式设备和块模式设备n n字符模式设备:允许非结构的数据传输。数据传输典字符模式设备:允许非结构的数据传输。数据传输典型地采用串行的形式,每次一个字节;字符设备通常型地采用串行的形式,每次一个字节;字符设备通常是简单的设备,如串口、键盘等;当系统到设备的传是简
13、单的设备,如串口、键盘等;当系统到设备的传输速率高于设备的处理速率时,设备驱动程序开设缓输速率高于设备的处理速率时,设备驱动程序开设缓冲区,缓存这些数据;冲区,缓存这些数据;n n块模式设备:每次传输一个数据块。采用硬件方式控块模式设备:每次传输一个数据块。采用硬件方式控制数据块的大小,有时需要采用固定的传输协议,如制数据块的大小,有时需要采用固定的传输协议,如USBUSB、以太网等设备、以太网等设备第27页/共133页建立通用的I/O接口函数Create()Open()Read()Write()Close()Loctl()Destroy()Driver_Create()Driver_Open
14、()Driver_Read()Driver_Write()Driver_Close()Driver_Loctl()Driver_Destroy()I/O操作设备驱动程序应 用设 备第28页/共133页I/O接口设计 I/OI/O接口电路也简称接口电路。它是主机和外围设备之接口电路也简称接口电路。它是主机和外围设备之间交换信息的连接部件(电路)。它在主机和外围设间交换信息的连接部件(电路)。它在主机和外围设备之间的信息交换中起着桥梁和纽带作用。设置接口备之间的信息交换中起着桥梁和纽带作用。设置接口电路的必要性:电路的必要性:a)a)解决解决CPUCPU和外围设备之间的时序配合和通信联络问题。和外
15、围设备之间的时序配合和通信联络问题。b)b)解决解决CPUCPU和外围设备之间的数据格式转换和匹配问题。和外围设备之间的数据格式转换和匹配问题。c)c)解决解决CPUCPU的负载能力和外围设备端口选择问题。的负载能力和外围设备端口选择问题。第29页/共133页通用设计原则(I/O设备)n nI/OI/O接口接口n n接口的概念接口的概念n nCPUCPU与外部设备的接口(与外部设备的接口(I/OI/O适配器)适配器)n n接口的功能接口的功能n n控制控制 n n缓冲缓冲n n状态状态 n n转换转换n n整理整理 n n程序中断程序中断 第30页/共133页n nI/OI/O接口接口n n3
16、 3种寄存器种寄存器n n数据寄存器、控制寄存器和状态数据寄存器、控制寄存器和状态寄存器寄存器通用设计原则(I/O设备)数据寄存器状态寄存器控制寄存器I/O接口芯片去I/O设备去CPU第31页/共133页通用设计原则(I/O设备)n nI/OI/O设备寻址设备寻址n nI/OI/O寻址寻址n n定位定位I/OI/O设备内部的寄存器(或一小块存储器)设备内部的寄存器(或一小块存储器)n n与存储器共享总线与存储器共享总线n n存储器映像法存储器映像法n n混合编址混合编址CPU存储器地址总线数据总线读信号写总线译码I/O接口译码第32页/共133页通用设计原则(I/O设备)n nI/O设备寻址n
17、 nI/OI/O隔离法隔离法n n独立编址独立编址n n信号线信号线MERQ/IORQMERQ/IORQn n地址空间地址空间CPU存储器地址总线数据总线读信号写总线I/O接口MERQ/IORQ第33页/共133页n nI/OI/O设备的数据输入设备的数据输入/输出输出n n输入过程输入过程n nCPUCPU把一个地址值放在地址总线上,这一步将选择某一输入设备把一个地址值放在地址总线上,这一步将选择某一输入设备;n nCPUCPU等候输入设备的数据成为有效;等候输入设备的数据成为有效;n nCPUCPU从数据总线读入数据,并放在一个相应的寄存器中。从数据总线读入数据,并放在一个相应的寄存器中。
18、n n输出过程输出过程n nCPUCPU把一个地址值放在地址总线上,选择输出设备;把一个地址值放在地址总线上,选择输出设备;n nCPUCPU把数据放在数据总线上;把数据放在数据总线上;n n输出设备认为数据有效,从而把数据取走。输出设备认为数据有效,从而把数据取走。n n究竟什么时候数据才成为有效究竟什么时候数据才成为有效?通用设计原则(I/O设备)第34页/共133页n nI/OI/O设备的定时方式设备的定时方式n n简单的外围设备简单的外围设备n n机械开关、二极管(无需定时机制,机械开关、二极管(无需定时机制,CPUCPU只要接收或发送数据就可只要接收或发送数据就可以了)以了)n n慢
19、速或中速的外围设备慢速或中速的外围设备n n速度和速度和CPUCPU速度不在一个数量级,或不规则时间间隔操作速度不在一个数量级,或不规则时间间隔操作(键盘键盘)n n异步定时方式异步定时方式n n中断方式中断方式n n查询方式查询方式n n高速的外围设备高速的外围设备n n以相等的时间间隔操作,采样同步定时方式以相等的时间间隔操作,采样同步定时方式 n n时钟脉冲控制时钟脉冲控制 n nDMADMA通用设计原则(I/O设备)第35页/共133页通用设计原则(I/O设备)n nI/OI/O控制方式控制方式n n低速设备低速设备n n程序查询方式程序查询方式n n程序中断方式程序中断方式n n高速
20、设备高速设备n nDMADMAn n通道方式通道方式n n外围处理机(外围处理机(PPUPPU)方式方式第36页/共133页n nI/OI/O接口接口n n程序查询方式程序查询方式n n读操作流程读操作流程1.CPU1.CPU测试测试I/OI/O设备状态,等待空闲设备状态,等待空闲2.CPU2.CPU下达读命令,测试状态寄存器下达读命令,测试状态寄存器3.3.把数据寄存器中的数据读入到把数据寄存器中的数据读入到CPUCPU中中4.4.重复执行以上各步重复执行以上各步n n写操作流程写操作流程1.CPU1.CPU测试测试I/OI/O设备状态,等待空闲设备状态,等待空闲2.2.把数据传输到把数据传
21、输到I/OI/O接口芯片的数据寄接口芯片的数据寄存器中存器中3.CPU3.CPU下达写命令下达写命令4.4.重复执行以上各步重复执行以上各步通用设计原则(I/O设备)CPUI/O设备第37页/共133页通用设计原则(I/O设备)n nI/O接口n n中断中断n n一种实现一种实现CPUCPU和和I/OI/O设备间异步操设备间异步操作的机制作的机制第38页/共133页通用设计原则(I/O设备)n nI/O接口n n中断中断n n响应时间(现场响应时间(现场保存)保存)n n中断优先级中断优先级n n可屏蔽中断可屏蔽中断n n不可屏蔽中断不可屏蔽中断n n中断向量(地址)中断向量(地址)n n固定
22、固定/不固定不固定第39页/共133页CPUPC设备状态寄存器数据寄存器中断请求中断应答数据/地址通用设计原则(I/O设备)中断处理第40页/共133页n nI/O接口n nDMADMAn nI/OI/O设备和存储器直接进行数据传输设备和存储器直接进行数据传输n n使用场合使用场合n n速度快,适用于数据连续传输的高速速度快,适用于数据连续传输的高速设备设备n n基本操作过程基本操作过程n n从外围设备发出从外围设备发出DMADMA请求;请求;n nCPUCPU响应请求,把响应请求,把CPUCPU工作改成工作改成DMADMA操作方式,操作方式,DMADMA控制器从控制器从CPUCPU接管总接管
23、总线的控制;线的控制;n n由由DMADMA控制器对内存寻址,并执行数控制器对内存寻址,并执行数据传送的操作;据传送的操作;n n向向CPUCPU报告报告DMADMA操作的结束。操作的结束。通用设计原则(I/O设备)第41页/共133页通用设计原则(I/O设备)n nI/OI/O接口接口n nDMADMA传输方式传输方式n n停止停止CPUCPU访问内存访问内存第42页/共133页通用设计原则(I/O设备)n nI/OI/O接口接口n nDMADMA传输方式传输方式n n周期挪用周期挪用第43页/共133页通用设计原则(I/O设备)n nI/OI/O接口接口n nDMADMA传输方式传输方式n
24、 nDMADMA与与CPUCPU交替访问内存交替访问内存第44页/共133页嵌入式软件的开发过程嵌入式软件的开发过程第45页/共133页ARM的JTAG调试结构AngelJTAG第46页/共133页宿主机调试器n n宿主机调试器通过固定的协议控制下位机(协议转换器)。比如,SDT中通过Angel协议或者第三方调试器所提供的协议n n宿主机调试器只发送宏观的命令,比如:程序运行、终止。读内存、ARM寄存器等n n通讯的介质可以是串口、并口、以太网、USB等第47页/共133页JTAG与Angeln nJTAG调试:协议转换器解释上位机传送过来的命令,通过JTAG控制ARM执行。n nAngel调
25、试:协议转换器可以直接做为目标板的Firmware的一部分。直接执行从宿主机传送过来的调试命令;并回送相应的数据。n nAngel可以节省专门的JTAG仿真器,但是,它需要软件,或者是嵌入式操作系统的支持,做不到完全的实时仿真。而JTAG仿真是通过硬件和控制ARM的EmbeddedICE实现的,可以做到实时仿真。第48页/共133页什么是JTAG?n nJTAG是Joint Test Action Group的缩写是IEEE1149.1标准n nJTAG的建立使得集成电路固定在PCB上,只通过边界扫描便可以被测试n n在ARM7TDMI处理器中,可以通过JTAG直接控制ARM的内部总线,IO口
26、等信息,从而达到调试的目的第49页/共133页JTAG的典型接口n nTMSTMS:测试模式选择(测试模式选择(Test Mode SelectTest Mode Select),通过),通过TMSTMS信号控制信号控制JTAGJTAG状态机状态机的状态的状态n nTCK TCK:JTAGJTAG的时钟信号的时钟信号n nTDITDI:数据输入信号:数据输入信号n nTDO TDO:数据输出信号:数据输出信号n nnTRSTnTRST:JTAGJTAG复位信号,复位复位信号,复位JTAGJTAG的状态机和内部的宏单元(的状态机和内部的宏单元(MacrocellMacrocell)第50页/共1
27、33页JTAG的状态机(TAP)第51页/共133页JTAG链的组成第52页/共133页ARM7TDMI的JTAG标准链(1)第53页/共133页ARM7TDMI的JTAG标准链(2)n nScan Chain 0Scan Chain 0:包括:包括ARMARM核的所有的核的所有的IOIO和总线的输入和总线的输入输出控制信号输出控制信号n nScan Chain 1Scan Chain 1:包括:包括ARMARM核的数据总线和一个断点控核的数据总线和一个断点控制信号。通过控制这个条链,可以控制制信号。通过控制这个条链,可以控制ARMARM核执行指核执行指定的指令。定的指令。n nScan Ch
28、ain 2Scan Chain 2:通过控制:通过控制EmbeddedICEEmbeddedICE宏单元,实现宏单元,实现对对ARMARM执行指令的断点、观察点的控制执行指令的断点、观察点的控制第54页/共133页EmbeddedICE的结构第55页/共133页ARM7TDMI中断点的设置n n设置EmbeddedICE的两个watchpoint单元主要包括:地址、数据、控制信号等n n当一个(或者两个)watchpoint中的地址(也可以包括数据)和ARM所执行的当前的指令相同的时候,ARM就从运行状态进入Debug状态n n硬件断点:在ARM中直接设定watchpoint中的地址,当ARM
29、运行到指定的地址时,就进入Debug状态n n软件断点:改变存储器中的ARM指令为一个特殊的数据X(ARM的未定义指令),同时,设置watchpoint中的断点数据也为X,当ARM把X数据作为指令读入的时候,ARM就进入Debug状态第56页/共133页硬件断点和软件断点的优缺点n n硬件断点:数目受EmbeddedICE中的Watchpoint数目的限制;但是,可以在任何地方设置断点n n软件断点:数目不受限制,但是,软件断点是通过替换系统的断点地址的指令实现的,所以,软件断点只能在可写的存储器的地址中设置(比如:RAM),而不能在ROM(比如:Flash)中设置第57页/共133页嵌入式开
30、发板与PC机的串行通讯嵌入式开发板和嵌入式开发板和PCPC机的通讯电缆可以按照如图所示的方式连接。机的通讯电缆可以按照如图所示的方式连接。第58页/共133页2410的UARTn n S3C2410A S3C2410A 的的UART(Universal Asynchronous Receiver UART(Universal Asynchronous Receiver and Transmitter)and Transmitter)提供了三个独立的异步串行提供了三个独立的异步串行I/OI/O口,口,每一个都可以工作在中断模式或每一个都可以工作在中断模式或DMADMA模式,即模式,即UARTUA
31、RT可以产可以产生中断或生中断或DMADMA请求以在请求以在CPUCPU和和UARTUART之前传送数据,使用系之前传送数据,使用系统时钟,统时钟,UARTUART最高可以支持最高可以支持230.4K bps 230.4K bps 的位传输率。的位传输率。n n如果采用外部带时钟的如果采用外部带时钟的UARTUART,则,则UARTUART可以实现更度速度可以实现更度速度的传输;的传输;n n每个每个UARTUART包括包括2 2个个16Byte16Byte的接收的接收/发送发送FIFOFIFO。第59页/共133页UART控制框图第60页/共133页异步串行通讯简介n n在一条传输线上完成单
32、向传输。在一条传输线上完成单向传输。n n将传输数据的字符一位接一位的传送。将传输数据的字符一位接一位的传送。n n接收方对于同一条线上的一连串连续数学信号,首先接收方对于同一条线上的一连串连续数学信号,首先将其分割成位,再按位组成字符。将其分割成位,再按位组成字符。n n每个字符需要确定起始位和结束位,字符与字符间还每个字符需要确定起始位和结束位,字符与字符间还可能有长度不定的空闲时间,因此传输效率较低。可能有长度不定的空闲时间,因此传输效率较低。第61页/共133页字符串行输出格式:发送前:线路处于空闲状态,连续发送“1”开始发送:首先,发送一位起始位“0”然后,发送连续的二进制位,数据位
33、可以为5、6、7、8 随后,紧跟一位奇偶校验位(可选择奇/偶/无校验)最后,发送停止位“1”,可以有1位、1.5位或2位停止位第62页/共133页串行通讯硬件规范及连接方法n nEIA RS-232CEIA RS-232C 物理特征:物理特征:DB-25 DB-15 DB-9 DB-25 DB-15 DB-9 信号连线:保护地、信号连线:保护地、TXD/RXDTXD/RXD、RTS/CTSRTS/CTS、DCDDCD、DSRDSR、DTRDTR、R1R1 电平规定:电平规定:-5V -15V-5V -15V 之间的电平表示逻辑之间的电平表示逻辑“1”1”+5V +15V +5V +15V 之间
34、的电平表示逻辑之间的电平表示逻辑“0”0”第63页/共133页第64页/共133页UART的操作串口初始化发送数据接收数据第65页/共133页n n显示设备n n单个单个LEDLED显示器显示器n n一个发光二极管,亮一个发光二极管,亮/灭代表着灭代表着一个二进制数一个二进制数n n典型电流典型电流5 520mA20mAn nCPUCPU数据线通过驱动反相数据线通过驱动反相(或同相或同相)驱动器驱动驱动器驱动通用设计原则(I/O设备)I/O端口D7D0VCC与CPU相连第66页/共133页键盘接口设计n n键盘模块可能用来输入数字型数据或者选择控制设备键盘模块可能用来输入数字型数据或者选择控制
35、设备的操作模式。的操作模式。n n键盘有两种方案:一是采用现有的一些芯片实现键盘键盘有两种方案:一是采用现有的一些芯片实现键盘扫描;再就是用软件实现键盘扫描。嵌入式控制器的扫描;再就是用软件实现键盘扫描。嵌入式控制器的功能很强,可能允分利用这一资源。功能很强,可能允分利用这一资源。第67页/共133页n n两两组组信信号号线线:输输出出信信号号线线(行行线线),输输入入信信号号线线(列列线线)。列列信信号号线线一一般般通通过过电电阻阻与与电电源源正正极相连。极相连。通用设计原则(I/O设备)D0D1D2D3D4D5D6D7RRRRVcc0123456789ABCDEF44阵列的键盘键盘的行信号
36、线和列信号线均由CPU通过数据线加以控制,CPU通过数据线向行信号线上输出全“0”信号,然后通过数据线读取列信号,若键盘阵列中无任何键按下,则读到的列信号必然是全“1”信号,否则就是非全“1”信号。若是非全“1”信号时,CPU再在行信号线上输出“步进的0”信号,既逐行输出“0”信号,来判断被按下的键具体在哪一行上,然后产生对应的键码。第68页/共133页一个瞬时接触开关(按钮)放置在每一行与线一列的交叉点。矩阵所需的键的数目显然根据应用程序而不同。每一行由一个输出端口的一位驱动,而每一列由一个电阻器上拉且供给输入端口一位。键盘扫描阵列第69页/共133页键盘扫描过程就是让微处理器按有规律的时间
37、键盘扫描过程就是让微处理器按有规律的时间间隔查看键盘矩阵,以确定是否有键被按下。每个键间隔查看键盘矩阵,以确定是否有键被按下。每个键被分配一个称为扫描码的唯一标识符。应用程序利用被分配一个称为扫描码的唯一标识符。应用程序利用该扫描码,根据按下的键来判定应该采取什么行动。该扫描码,根据按下的键来判定应该采取什么行动。n n消抖算法:消抖算法:n n组合键处理组合键处理键盘扫描方法第70页/共133页本节提要1 13 32 25 54 46 6基于ARM的硬件系统体系结构存储器接口设计网络接口设计I/O接口设计人机交互接口设计其它通讯接口设计第71页/共133页LCD接口设计LCDLCD显示模块显
38、示模块液晶显示是一种被动的显示,它不能发光,只能使用周围环境的光。它显示图案或字符只需很小能量。液晶显示所用的液晶材料是一种兼有液态和固体双重性质的有机物,它的棒状结构在液晶盒内一般平行排列,但在电场作用下能改变其排列方向。LCD的背光:n nEL(场致发光):2000-3000小时n n和LED光源:字符模式,50000小时第72页/共133页LCD的显示方式n n反射型LCD:底偏光片后面加了一块反射板,它一般在户外和光线良好的办公室使用。n n透射型LCD:底偏光片是透射偏光片,它需要连续使用背光源,一般在光线差的环境使用。n n透反射型LCD:是处于以上两者之间,底偏光片能部分反光,一
39、般也带背光源,光线好的时候,可关掉背光源;光线差时,可点亮背光源使用LCD。第73页/共133页反射型LCD的结构第74页/共133页n nLCD通常由两种方式,一种是带有驱动芯片的LCD模块,基本上属于半成品n n一些新型的嵌入式处理器也可以直接使用芯片上的内置LCD控制器来构造显示模块,比如:s3c2410可以支持STN的彩色/灰度/单色三种模式和TFT模式,灰度模式下可支持4级灰度和16级灰度,彩色模式下最多支持256色,LCD的实际尺寸可支持到640X480。LCD的驱动方式第75页/共133页总线驱动方式n n一般带有驱动模块的一般带有驱动模块的LCDLCD显示屏使用这种驱动方式,显
40、示屏使用这种驱动方式,由于由于LCDLCD已经带有驱动硬件电路,因此模块给出的是已经带有驱动硬件电路,因此模块给出的是总线接口,便于与单片机的总线进行接口。总线接口,便于与单片机的总线进行接口。n n驱动模块具有八位数据总线,外加一些电源接口和控驱动模块具有八位数据总线,外加一些电源接口和控制信号。而且自带显示缓存,只需要将要显示的内容制信号。而且自带显示缓存,只需要将要显示的内容送到显示缓存中就可以实现内容的显示。由于只有八送到显示缓存中就可以实现内容的显示。由于只有八条数据线,因此常常通过引脚信号来实现地址与数据条数据线,因此常常通过引脚信号来实现地址与数据线复用,以达到把相应数据送到相应
41、显示缓存的目的。线复用,以达到把相应数据送到相应显示缓存的目的。第76页/共133页控制器扫描方式n nS3C2410XS3C2410X中具有内置的中具有内置的LCDLCD控制器,它具有将显示缓控制器,它具有将显示缓存(在系统存储器中)中的存(在系统存储器中)中的LCDLCD图象数据传输到外部图象数据传输到外部LCDLCD驱动电路的逻辑功能。驱动电路的逻辑功能。n nS3C2410XS3C2410X中内置的中内置的LCDLCD控制器可支持灰度控制器可支持灰度LCDLCD和彩色和彩色LCDLCD。在灰度。在灰度LCDLCD上,使用基于时间的抖动算法上,使用基于时间的抖动算法(time-based
42、 dithering algorithmtime-based dithering algorithm)和)和FRC(Frame FRC(Frame Rate Control)Rate Control)方法,可以支持单色、方法,可以支持单色、4 4级灰度和级灰度和1616级级灰度模式的灰度灰度模式的灰度LCDLCD。在彩色在彩色LCDLCD上,可以支持上,可以支持256256级级彩色。对于不同尺寸的彩色。对于不同尺寸的LCDLCD,具有不同数量的垂直和,具有不同数量的垂直和水平象素、数据接口的数据宽度、接口时间及刷新率,水平象素、数据接口的数据宽度、接口时间及刷新率,而而LCDLCD控制器可以进
43、行编程控制相应的寄存器值,以控制器可以进行编程控制相应的寄存器值,以适应不同的适应不同的LCDLCD显示板。显示板。第77页/共133页嵌入式处理器与LCD的连接嵌入式处理器LCD模块数据总线寄存器选择使能信号有LCD控制器的嵌入式处理器LCDLCD控制信号线第78页/共133页 从系统结构上来讲,由于显示器模块中已经有显示从系统结构上来讲,由于显示器模块中已经有显示存储器。显存中的每一个单元对应存储器。显存中的每一个单元对应LCDLCD上的一个点,上的一个点,只要显存中的内容改变,显示结果便进行刷新。于只要显存中的内容改变,显示结果便进行刷新。于是便存在两种刷新:是便存在两种刷新:1直接根据
44、系统要求对显存进行修改,一种是只需修改相应的局部就可以,不需要判断覆盖等;另一种就是有覆盖问题,计算起来比较复杂,而且每做一点小的屏幕改变就进行刷新,将增加系统负担。2 专门开辟显示内存,在需要刷新时候由程序进行显示更新。这样,不但可以减轻总线负荷,而且也比较合理,在有需要的时候进行统一的显示更新,界面也可以比较美观,不致由于无法预料的刷新动作导致显示界面闪烁。LCD模块的显示控制第79页/共133页前后台双重显示缓存的显示模块结构 第80页/共133页集成了LCD控制器的嵌入式处理器体系结构 第81页/共133页LCD接口设计1、实现过程简述:就是将要显示的数据放到一个特定的地址,这个特定的
45、地址就是frame memory(帧存储器),这块空间是在系统内存中。然后LCD控制器将这些数据配合控制信号送到LCD驱动器完成显示。有相应的寄存器来设定这个地址及其大小。与显示数据相配合完成显示的控制信号时序也是由相应的寄存器来完成的。这些寄存器都在LCD的控制器中。第82页/共133页LCD控制器框图REGBANK 是LCD控制器的寄存器组,用来对LCD控制器的各项参数进行设置。而 LCDCDMA 则是LCD控制器专用的DMA信道,负责将视频资料从系统总线(System Bus)上取来,通过 VIDPRCS 从VD23:0发送给LCD屏。同时 TIMEGEN 和 LPC3600 负责产生
46、LCD屏所需要的控制时序,例如VSYNC、HSYNC、VCLK、VDEN,然后从 VIDEO MUX 送给LCD屏。第83页/共133页主要的寄存器n nLCDLCD控制寄存器(控制寄存器(5 5个)个)n n帧缓冲开始地址寄存器(帧缓冲开始地址寄存器(3 3个)个)n n临时调色板寄存器(临时调色板寄存器(Temp Palette RegisterTemp Palette Register)n nLCDLCD中断屏蔽寄存器(中断屏蔽寄存器(LCD Interrupt LCD Interrupt Mask Register Mask Register)n nLPC3600LPC3600控制寄存
47、器(控制寄存器(LPC3600 Control Register LPC3600 Control Register)第84页/共133页LCD图形显示方式lLCD显示模块由S3C2410的LCD控制器和64K色彩色LCD显示器组成。l其显示方式以直接操作显示缓冲区的内容进行,LCD控制器会通过DMA从显示缓冲区中获取数据,不需要CPU干预。l本系统采用的LCD分辨率为640X480,工作在64k色彩色显示模式,在该模式下,显示缓冲区中的2个字节数据代表LCD上的一个点的颜色信息,因此,所需要的显示缓冲区大小为640X480X2 字节。第85页/共133页LCD控制器初始化l初始化LCD端口,由
48、于LCD控制端口与CPU的GPIO端口是复用的,因此必须设置相应寄存器为LCD驱动控制端口l申请显示缓冲区,大小为640X480X2 字节l初始化LCD控制寄存器,包括设置LCD分辨率,扫描频率,显示缓冲区等。第86页/共133页触摸屏接口设计触摸屏的分类触摸屏的分类n n电阻式触摸屏电阻式触摸屏 n n表面声波触摸屏表面声波触摸屏 n n红外式触摸屏红外式触摸屏 n n电容式触摸屏电容式触摸屏第87页/共133页电阻式触摸屏n n电阻技术触摸屏是一种对外界完全隔离的工作环境,故不怕灰尘、水汽和油污,可以用任何物体来触摸,比较适合工业控制领域及办公室内有限人的使用。n n分为四线电阻和五线电阻
49、触摸屏第88页/共133页四线电阻触摸屏原理第89页/共133页测量原理n n在触摸点X、Y坐标的测量过程中,测量电压与测量点的等效电路图所示,图中P为测量点 XVYY第90页/共133页触摸屏芯片第91页/共133页FM(ADS)7843的特点n n实现触摸屏的驱动选择控制(X、Y通道)n n对于输入电压或附加电压进行AD转换n n同步串行接口n n最大转换速率125KHzn n可编程控制8位或者12位转换模式n n工作电压2.7V-5.0Vn n两个附加的输入端口第92页/共133页FM7843与ARM的连接第93页/共133页AD7843的工作时序n n同步串口(SIO)向ADS7843
50、发送控制字n n转换完成后从ADS7843串口读出电压转换值 A/D转换时序(每次转换需要24个时钟周期)第94页/共133页触摸屏与LCD的配合n nFM 7843送回控制器的X与Y值仅是对当前触摸点的电压值的A/D转换值,它不具有实用价值。这个值的大小不但与触摸屏的分辨率有关,而且也与触摸屏与LCD贴合的情况有关。而且,LCD分辨率与触摸屏的分辨率一般来说是不一样,坐标也不一样,因此,如果想得到体现LCD坐标的触摸屏位置,还需要在程序中进行转换。转换公式如下:n nx=(x-x=(x-TchScr_Xmin)*LCDWIDTH/(TchSTchScr_Xmin)*LCDWIDTH/(Tch