版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1嵌入式系统设计与实例开发嵌入式系统设计与实例开发ARMARM与与 C/OS-C/OS-第六讲第六讲 基于基于ARMARM的硬件系统结构设计的硬件系统结构设计北京航空航天大学北京航空航天大学嵌入式机电控制研究室嵌入式机电控制研究室2本节提要本节提要基于基于ARM的硬件系统体系结构的硬件系统体系结构存储器接口设计存储器接口设计网络接口设计网络接口设计I/OI/O接口设计接口设计人机交互接口设计人机交互接口设计其他通讯接口设计其他通讯接口设计3基于ARM的硬件设计主要介绍基于主要介绍基于ARM7ARM7的嵌入式硬件开发平台的设计方法,包括结的嵌入式硬件开发平台的设计方法,包括结构、主要接口、存储器
2、选用方案以及外设、显示等方面的内容:构、主要接口、存储器选用方案以及外设、显示等方面的内容: l嵌入式硬件开发平台的体系结构。嵌入式硬件开发平台的体系结构。l外围存储器接口设计方法。外围存储器接口设计方法。l键盘、键盘、LCDLCD等人机交互接口的设计。等人机交互接口的设计。l触摸屏的设计。触摸屏的设计。l以太网设计。以太网设计。lCANCAN总线设计。总线设计。4Samsung S3C44B0X S3C44B0XS3C44B0X微处理器是三星公司专为手持设备和一般应用提供微处理器是三星公司专为手持设备和一般应用提供的高性价比和高性能的微控制器解决方案,它使用的高性价比和高性能的微控制器解决方
3、案,它使用ARM7TDMIARM7TDMI核,工核,工作在作在66MHz66MHz。为了降低系统总成本和减少外围器件,这款芯片中还。为了降低系统总成本和减少外围器件,这款芯片中还集成下列部件:集成下列部件:8KB Cache8KB Cache、外部存储器控制器、外部存储器控制器、LCDLCD控制器、控制器、4 4个个DMADMA通道、通道、2 2通道通道UARTUART、1 1个多主个多主I2CI2C总线控制器、总线控制器、1 1个个IISIIS总线控制总线控制器,器,5 5通道通道PWMPWM定时器及一个内部定时器、定时器及一个内部定时器、7171个通用个通用I/OI/O口、口、8 8个外部
4、个外部中断源、实时时钟、中断源、实时时钟、8 8通道通道1010位位ADCADC等。等。5基于ARM的嵌入式硬件平台体系结构基于ARM架构的 32位微处理器S3C44B0X2MBNORFlash(BIOS)8MBSDRM(系统内存 )16MBNANDFlash(硬盘)USB接口USB9603两个RS-232串行通信接口JTAG 调试端口LCD显示键盘输入TCP/IP协议6芯片体系结构7S3C44B0X存储系统的特征l支持数据存储的大支持数据存储的大/ /小端选择(通过外部引脚和程序进行选择)。小端选择(通过外部引脚和程序进行选择)。l地址空间:具有地址空间:具有8 8个存储体,每个存储体可达个
5、存储体,每个存储体可达32Mb32Mb,总共可达,总共可达256MB256MB。l对所有存储体的访问大小均可进行改变(对所有存储体的访问大小均可进行改变(8 8位位1616位位3232位)。位)。l8 8个存储体中,个存储体中,Bank0Bank0Bank5Bank5可支持可支持ROMROM、SRAMSRAM;Bank6Bank6、Bank7Bank7可可支持支持ROMROM、SRAMSRAM和和FPFPEDOEDOSDRAMSDRAM等。等。8复位后的S3C44B0X的存储器映射表 32MB 32MB 32MB 32MB 32MB 28MB 256MB SA27:0 可存取 区域 特殊功能
6、寄存器( 4MB ) SROM (nGCS0 ) SROM (nGCS1 ) SROM (nGCS2 ) SROM (nGCS3 ) SROM (nGCS4 ) SROM (nGCS5 ) SROM/DRAM/SDRAM (nGCS6 ) SROM/DRAM/SDRAM (nGCS7)0 x1000_0000 0 x0e00_0000 0 x0c00_0000 0 x0e00_0000 0 x0800_0000 0 x0600_0000 0 x0400_0000 0 x0200_0000 0 x01c0_0000 0 x0000_0000 2MB/4MB/8MB/16MB/32MB2MB/4M
7、B/8MB/16MB/32MB9系统的存储空间分配lBank1Bank1:K9F2808K9F2808(三星(三星 16Mbyte Flash16Mbyte Flash),非线性寻址。具体的时),非线性寻址。具体的时序可以参考序可以参考K9F2808K9F2808的的datasheetdatasheet。lBank0:1Bank0:1片片2MB NOR Flash2MB NOR Flash,放置系统引导程序,系统上电复位后,放置系统引导程序,系统上电复位后,PCPC指针自动指向指针自动指向Bank0Bank0的第一个单元,进行系统自举。的第一个单元,进行系统自举。lBank2Bank2:PDI
8、USBD12PDIUSBD12、USBUSB设备端接口芯片,占用系统外部中断设备端接口芯片,占用系统外部中断0 0。8 8位位数据总线。数据总线。lBank3Bank3、Bank4Bank4未接设备,可以供扩展使用。未接设备,可以供扩展使用。lBank5Bank5:RTL8019ASRTL8019AS、ISAISA总线兼容的总线兼容的10M10M以太网(以太网(PHYPHYMACMAC层)控制层)控制芯片。占用系统外部中断芯片。占用系统外部中断1 1,1616位数据总线,扩展位数据总线,扩展IOIO口。口。10lBank6Bank6:SDRAMSDRAM,起始地址为,起始地址为0 xC0000
9、000 xC000000。在。在SDRAMSDRAM中,前中,前512Kbyte512Kbyte的空间的空间划分出来,作为系统的划分出来,作为系统的LCDLCD显示缓冲区使用(更新其中的数据,就可以显示缓冲区使用(更新其中的数据,就可以更新更新LCDLCD的显示)。系统的程序存储空间从的显示)。系统的程序存储空间从0 xC0800000 xC080000开始。也就是,引开始。也就是,引导系统的时候,需要把导系统的时候,需要把system.binsystem.bin文件复制到文件复制到0 xC0800000 xC080000开始的地址空开始的地址空间,把间,把PCPC指针指向指针指向0 xC08
10、00000 xC080000。lBank7Bank7:未使用。可以扩展另一片:未使用。可以扩展另一片SDRAMSDRAM,或者其他的外设。,或者其他的外设。l系统的同步串行口(系统的同步串行口(SIOSIO),连接着触摸屏控制芯片),连接着触摸屏控制芯片FM7843FM7843(与(与ADS7843ADS7843完全兼容);完全兼容);CANCAN总线控制芯片总线控制芯片MCP2510MCP2510;Max504Max504(D/AD/A);键盘和);键盘和LEDLED扫扫描芯片描芯片ZLG7289ZLG7289。在同步串行口上,还可以扩展其他的芯片。通过。在同步串行口上,还可以扩展其他的芯片
11、。通过IOIO口口控制设备的片选信号(控制设备的片选信号(CSCS)来防止设备的冲突。)来防止设备的冲突。 注:系统的外部总线主要有注:系统的外部总线主要有1616位和位和8 8位。原理图设计的时候需要注意位。原理图设计的时候需要注意1616总线和总线和8 8位总线的区别。在连接不同总线宽度的外设,地址是否需要依位总线的区别。在连接不同总线宽度的外设,地址是否需要依次向后错位。次向后错位。11本节提要本节提要基于基于ARM的硬件系统体系结构的硬件系统体系结构存储器接口设计存储器接口设计网络接口设计网络接口设计I/OI/O接口设计接口设计人机交互接口设计人机交互接口设计其他通讯接口设计其他通讯接
12、口设计12S3C44B0X与Flash的连接(Half Word方式)13l使用使用Bank0Bank0上的上的1 1片片2MB Flash2MB Flash来放置系统来放置系统BIOSBIOS,系统上电以后,系统上电以后,PCPC指针自动指向指针自动指向Bank0Bank0的第一个单元,开始进行系统自举。系统的第一个单元,开始进行系统自举。系统自举完成以后,便从硬盘中将系统文件和用户应用程序复制到自举完成以后,便从硬盘中将系统文件和用户应用程序复制到SDRAMSDRAM内存中执行。内存中执行。lBank1Bank1上接上接16MB NAND Flash16MB NAND Flash,当做系统
13、硬盘使用,可以构造文,当做系统硬盘使用,可以构造文件系统,存放海量数据。件系统,存放海量数据。l用用SDRAMSDRAM当作系统内存,只有当作系统内存,只有Bank6/Bank7Bank6/Bank7能支持能支持SDRAMSDRAM,所以将,所以将SDRAMSDRAM接在接在Bank6Bank6上。如果同时使用上。如果同时使用Bank6/Bank7Bank6/Bank7,则要求连接相,则要求连接相同容量的存储器,而且其地址空间在物理上是连续的。同容量的存储器,而且其地址空间在物理上是连续的。存储器接口设计14NAND和NOR性能比较 NORNOR和和NANDNAND是现在市场上两种主要的非易失
14、闪存技术。其特点比较是现在市场上两种主要的非易失闪存技术。其特点比较如下:如下:lNORNOR的读速度比的读速度比NANDNAND稍快一些。稍快一些。lNANDNAND的写入速度比的写入速度比NORNOR快很多。快很多。lNANDNAND的擦除速度远比的擦除速度远比NORNOR的快。的快。l大多数写入操作需要先进行擦除操作。大多数写入操作需要先进行擦除操作。lNANDNAND的擦除单元更小,相应的擦除电路更少。的擦除单元更小,相应的擦除电路更少。15接口差别lNOR FlashNOR Flash带有带有SRAMSRAM接口,线性寻址,可以很容易地存取其内部的每接口,线性寻址,可以很容易地存取其
15、内部的每一个字节。一个字节。lNAND FlashNAND Flash使用复用接口和控制使用复用接口和控制IOIO多次寻址存取数据。多次寻址存取数据。lNANDNAND读和写操作采用读和写操作采用512512字节的块,这一点有点像硬盘管理,此类操字节的块,这一点有点像硬盘管理,此类操作易于取代硬盘等类似的块设备。作易于取代硬盘等类似的块设备。16容量和成本lNAND FlashNAND Flash生产过程更为简单,成本低。生产过程更为简单,成本低。l常见的常见的NOR FlashNOR Flash为为128KB128KB16MB16MB,而,而NANDNANDFlashFlash通常有通常有8
16、 8128128MBMB。lNORNOR主要应用在代码存储介质中,主要应用在代码存储介质中,NANDNAND适合于数据存储。适合于数据存储。lNANDNAND在在CompactFlashCompactFlash、Secure DigitalSecure Digital、PC CardsPC Cards和和MMCMMC存储卡存储卡市场上所占份额最大。市场上所占份额最大。17可靠性和耐用性l在在NANDNAND中每块的最大擦写次数是中每块的最大擦写次数是100100万次,而万次,而NORNOR的擦写次数是的擦写次数是1010万次。万次。l位交换的问题位交换的问题NAND FlashNAND Fla
17、sh中更突出,需要中更突出,需要ECCECC纠错。纠错。lNAND FlashNAND Flash中坏块随机分布,需要通过软件标定中坏块随机分布,需要通过软件标定产品量产的产品量产的问题。问题。18关于BOOT ROM Bank0 Bank0:系统的启动:系统的启动ROMROM(Flash RomFlash Rom)。在系统复位的时候,处理)。在系统复位的时候,处理器的器的PCPC(程序计数器)指针指向(程序计数器)指针指向0 x00 x0地址。在地址。在Bank0Bank0的起始地址的的起始地址的程序,就是系统的初始化程序。此程序的主要任务是:程序,就是系统的初始化程序。此程序的主要任务是:
18、1.1.管理处理器的中断服务程序管理处理器的中断服务程序l处理器的中断是从处理器的中断是从0 x00 x0地址开始,引导地址开始,引导ROMROM负责把这一部分的中断负责把这一部分的中断映射到另一个区域,以便系统处理。具体的做法,可以参考映射到另一个区域,以便系统处理。具体的做法,可以参考44binit.s44binit.s里面的代码。(这部分代码三星主页可以提供,它把系里面的代码。(这部分代码三星主页可以提供,它把系统的中断,映射到了不同的指针所指向的地址空间(主要就是系统的中断,映射到了不同的指针所指向的地址空间(主要就是系统统RAMRAM的空间)。的空间)。192. 2. 初始化硬件平台
19、,配置其他的初始化硬件平台,配置其他的BankBank S3C44B0X S3C44B0X的的Bank0Bank0是通过外部的一个管脚提供的上拉、下拉电阻来是通过外部的一个管脚提供的上拉、下拉电阻来配置的。主要包括:数据位数(配置的。主要包括:数据位数(8 8位、位、1616位、位、3232位),数据格式(位),数据格式(大端、小端)。而其他的大端、小端)。而其他的BankBank的配置,以及读写周期等信息是靠的配置,以及读写周期等信息是靠Bank0Bank0内部的代码配置相应的寄存器来实现的。同时,系统的引导内部的代码配置相应的寄存器来实现的。同时,系统的引导RomRom也负责配置系统的其他
20、的一些寄存器,比如,系统的也负责配置系统的其他的一些寄存器,比如,系统的PLLPLL(锁(锁频环)配置,系统的频环)配置,系统的IOIO口等一些端口功能的配置等。口等一些端口功能的配置等。203.3.系统自动检测系统自动检测 引导引导RomRom负责检测系统的启动所必须的外设是否正常。主要是系统负责检测系统的启动所必须的外设是否正常。主要是系统的的SDRAMSDRAM的检测。的检测。4.4.系统的软件设置,更新系统(系统的软件设置,更新系统(system.binsystem.bin) 用户可以在系统启动的时候,按任意键,进入系统的软件设置状用户可以在系统启动的时候,按任意键,进入系统的软件设置
21、状态。通过引导态。通过引导RomRom设置或者查看系统的一些软件信息。包括:通过设置或者查看系统的一些软件信息。包括:通过开启开启USBUSB端口;更新系统文件端口;更新系统文件system.binsystem.bin;LCDLCD显示测试;演示程显示测试;演示程序的装载测试;键盘测试;触摸屏的坐标校准;触摸屏测试;以序的装载测试;键盘测试;触摸屏的坐标校准;触摸屏测试;以太网地址的设置等太网地址的设置等21嵌入式系统中应用RAM的情况22本节提要本节提要基于基于ARM的硬件系统体系结构的硬件系统体系结构存储器接口设计存储器接口设计网络接口设计网络接口设计I/O系统设计系统设计人机交互接口设计
22、人机交互接口设计其他通讯接口设计其他通讯接口设计23I/O子系统的层次模型lI/OI/O子系统:子系统:I/OI/O设备、相关的设备驱动程序和设备、相关的设备驱动程序和I/OI/O子系统组成嵌入式子系统组成嵌入式I/OI/O子系统。子系统。lI/OI/O子系统的目标是对子系统的目标是对RTOSRTOS和应用程序员隐藏设备特定的信息,并且对和应用程序员隐藏设备特定的信息,并且对系统的外围系统的外围I/OI/O设备提供一个统一的访问方法。设备提供一个统一的访问方法。设备驱动程序I/O设备硬件RTOSI/O子系统应用程序中断处理程序24从不同角度看I/O系统l从系统软件开发者角度看,从系统软件开发者
23、角度看,I/OI/O操作意味着与设备的通信、对设备编程操作意味着与设备的通信、对设备编程初始化和请示执行设备与系统之间的实际数据传输以及操作完成后通知初始化和请示执行设备与系统之间的实际数据传输以及操作完成后通知请求者。系统软件工程师必须理解设备的物理特性,如寄存器的定义和请求者。系统软件工程师必须理解设备的物理特性,如寄存器的定义和设备的访问方法。设备的访问方法。l从从RTOSRTOS的角度看,的角度看,I/OI/O操作意味着对操作意味着对I/OI/O请求定位正确的设备,对设备定请求定位正确的设备,对设备定位正确的设备驱动程序,并解决对设备驱动程序的请求。有时要求位正确的设备驱动程序,并解决
24、对设备驱动程序的请求。有时要求RTOSRTOS保证对设备的同步访问。保证对设备的同步访问。RTOSRTOS必须进行抽象,对应用程序员隐含设备的必须进行抽象,对应用程序员隐含设备的特性。特性。l从应用程序员角度看,从应用程序员角度看,目标是找到一个简单、统一和精练的方法与系统目标是找到一个简单、统一和精练的方法与系统中出现的所有类型的设备通信。中出现的所有类型的设备通信。 25I/O接口的编址方式端口映射1 1)I/OI/O接口独立编址接口独立编址端口映端口映射方式射方式 这种编址方式是将存储器地址这种编址方式是将存储器地址空间和空间和I/OI/O接口地址空间分开接口地址空间分开设置,互不影响。
25、设有专门的设置,互不影响。设有专门的输入指令(输入指令(ININ)和输出指令()和输出指令(OUTOUT)来完成)来完成I/OI/O操作。操作。I/O设备10X00000XFFFFI/O设备2I/O地址空间0X0000系统地址空间0XFFFF主要优点:主要优点:内存地址空间与内存地址空间与I/OI/O接口地址空间分开,互不影响,译码电接口地址空间分开,互不影响,译码电路较简单,并设有专门的路较简单,并设有专门的I/OI/O指令,所以编程序时易于区分,且执行时指令,所以编程序时易于区分,且执行时间短,快速性好。间短,快速性好。缺点:缺点:只用只用I/OI/O指令访问指令访问I/OI/O端口,功能
26、有限且要采用专用端口,功能有限且要采用专用I/OI/O周期和专周期和专用用I/OI/O控制线,使微处理器复杂化。控制线,使微处理器复杂化。26I/O接口的编址方式内存映射2 2)I/OI/O接口与存储器统一编址方式接口与存储器统一编址方式内内存映射存映射 这种编址方式不区分存储器地址空间和这种编址方式不区分存储器地址空间和I/OI/O接口地址空间,把所有的接口地址空间,把所有的I/OI/O接口的接口的端口都当作是存储器的一个单元对待,端口都当作是存储器的一个单元对待,每个接口芯片都安排一个或几个与存储每个接口芯片都安排一个或几个与存储器统一编号的地址号。也不设专门的输器统一编号的地址号。也不设
27、专门的输入入/ /输出指令,所有传送和访问存储器的输出指令,所有传送和访问存储器的指令都可用来对指令都可用来对I/OI/O接口操作。接口操作。I/O设备10X00000XFFFFI/O设备2保留I/O地址空间I/O设备硬件系统地址空间应用使用地址空间应用使用地址空间主要优点:主要优点:访问内存的指令都可用于访问内存的指令都可用于I/OI/O操作,数据处理功能强;同时操作,数据处理功能强;同时I/OI/O接口可与存储器部分共用译码和控制电路。接口可与存储器部分共用译码和控制电路。缺点:缺点:一是一是I/OI/O接口要占用存储器地址空间的一部分;二是因不用专门接口要占用存储器地址空间的一部分;二是
28、因不用专门的的I/OI/O指令,程序中较难区分指令,程序中较难区分I/OI/O操作。操作。 27DMA I/ODMA I/ODMA I/OlDMADMA允许设备直接访问内存而不用包含处理器,在数据传输操作开允许设备直接访问内存而不用包含处理器,在数据传输操作开始之前,处理器设置始之前,处理器设置DMADMA控制器,在数据传输期间,读写操作均不控制器,在数据传输期间,读写操作均不通过处理器。通过处理器。lDMADMA传输速度取决于传输速度取决于I/OI/O设备的传输速度、内存设备的速度和设备的传输速度、内存设备的速度和DMADMA控控制器的速度。制器的速度。l通过指定源地址、目的内存地址和传输到
29、通过指定源地址、目的内存地址和传输到DMADMA控制器长度,处理器控制器长度,处理器建立传输操作。建立传输操作。CPUDMA控制器主存储器I/O设备28字符模式设备与块模式设备 根据设备如何处理与系统之间的数据传输方法可将设备分为字符根据设备如何处理与系统之间的数据传输方法可将设备分为字符模式设备和块模式设备模式设备和块模式设备l字符模式设备:允许非结构的数据传输。数据传输典型地采用串字符模式设备:允许非结构的数据传输。数据传输典型地采用串行的形式,每次一个字节;字符设备通常是简单的设备,如串口行的形式,每次一个字节;字符设备通常是简单的设备,如串口和键盘等;当系统到设备的传输速率高于设备的处
30、理速率时,设和键盘等;当系统到设备的传输速率高于设备的处理速率时,设备驱动程序开设缓冲区,缓存这些数据。备驱动程序开设缓冲区,缓存这些数据。l块模式设备:每次传输一个数据块。采用硬件方式控制数据块的块模式设备:每次传输一个数据块。采用硬件方式控制数据块的大小,有时需要采用固定的传输协议,如大小,有时需要采用固定的传输协议,如USBUSB、以太网等设备。、以太网等设备。29建立通用的I/O接口函数Create()Open()Read()Write()Close()Loctl()Destroy()Driver_Create()Driver_Open()Driver_Read()Driver_Wri
31、te()Driver_Close()Driver_Loctl()Driver_Destroy()I/OI/O操作操作设备驱动程序设备驱动程序应应 用用设设 备备30I/O接口设计 I/OI/O接口电路也简称接口电路。它是主机和外围设备之间交换接口电路也简称接口电路。它是主机和外围设备之间交换信息的连接部件(电路)。它在主机和外围设备之间的信息交换信息的连接部件(电路)。它在主机和外围设备之间的信息交换中起着桥梁和纽带作用。设置接口电路的必要性:中起着桥梁和纽带作用。设置接口电路的必要性:1)1)解决解决CPUCPU和外围设备之间的时序配合和通信联络问题。和外围设备之间的时序配合和通信联络问题。
32、2)2)解决解决CPUCPU和外围设备之间的数据格式转换和匹配问题。和外围设备之间的数据格式转换和匹配问题。3)3)解决解决CPUCPU的负载能力和外围设备端口选择问题。的负载能力和外围设备端口选择问题。31本节提要本节提要基于基于ARM的硬件系统体系结构的硬件系统体系结构存储器接口设计存储器接口设计网络接口设计网络接口设计I/OI/O接口设计接口设计人机交互接口设计人机交互接口设计其他通讯接口设计其他通讯接口设计32嵌入式开发板与PC机的串行通讯嵌入式开发板和嵌入式开发板和PC机的通讯电缆可以按照如图所示的方式连接。机的通讯电缆可以按照如图所示的方式连接。33S3C44B0的UART ARM
33、 ARM自带两个串行口,各带有自带两个串行口,各带有1616字节的字节的FIFOFIFO(先入先出寄存器),最(先入先出寄存器),最大波特率大波特率115.2Kbps115.2Kbps。每个。每个UARTUART有有7 7种状态:溢出错误、校验错误、帧错种状态:溢出错误、校验错误、帧错误、暂停态、接收缓冲区准备好、发送缓冲区空、发送移位缓冲器空,误、暂停态、接收缓冲区准备好、发送缓冲区空、发送移位缓冲器空,这些状态可以由相应的这些状态可以由相应的UTRSTATn/UERSTATnUTRSTATn/UERSTATn表示,并且与发送接收缓冲表示,并且与发送接收缓冲区相对应的有错误缓冲区。波特率可以
34、通过控制波特率寄存器(区相对应的有错误缓冲区。波特率可以通过控制波特率寄存器(UBRDIVnUBRDIVn)控制。)控制。34S3C44B0的UART的寄存器lUARTUART的线性状态控制器的线性状态控制器ULCONnULCONn。lUARTUART的控制寄存器的控制寄存器UCONnUCONn。lUARTUART的的FIFOFIFO控制寄存器控制寄存器UFCONnUFCONn。lUARTUART的的ModemModem控制寄存器控制寄存器UMCONnUMCONn。lUARTUART的发送接收状态寄存器的发送接收状态寄存器UTRSTATnUTRSTATn。lUARTUART的错误状态寄存器的错
35、误状态寄存器UESTATnUESTATn。lUARTUART的的FIFOFIFO状态寄存器状态寄存器UFSTATnUFSTATn。lUARTUART的的ModemModem状态寄存器状态寄存器UMSTATnUMSTATn。lUARTUART的波特率除数寄存器的波特率除数寄存器UBRDIVnUBRDIVn。35例:UART的线性寄存器ULCONnULCONn Bit Description Initial State 保留7 0 红外模式6 红外模式位决定是否使用红外模式:0正常模式;1红外模式0 奇偶校验模式5:3 奇偶校验模式指定当UART执行发送和接收操作时如何进行奇偶校验的产生和检查:
36、0 xx无奇偶校验;100奇校验;101偶校验;110 =作为 Parity forced/checked as 1;111 = Parity forced/checked as 0 000 停止位个数2 每帧停止位的个数:01位;1两位0 数据位长度1:0 字长位决定每帧发送或接收的数据位数:005位;016位;107位;118位00 决定数据传输帧的格式决定数据传输帧的格式36UART的操作串口初始化串口初始化发送数据发送数据接收数据接收数据37键盘接口设计l键盘模块可能用来输入数字型数据或者选择控制设备的操作模式。键盘模块可能用来输入数字型数据或者选择控制设备的操作模式。l键盘有两种方案
37、:一是采用现有的一些芯片实现键盘扫描;再就是用键盘有两种方案:一是采用现有的一些芯片实现键盘扫描;再就是用软件实现键盘扫描。嵌入式控制器的功能很强,可能允分利用这一资软件实现键盘扫描。嵌入式控制器的功能很强,可能允分利用这一资源。源。38一个瞬时接触开关一个瞬时接触开关(按钮)放置在每一行与(按钮)放置在每一行与t每一列的交叉点。矩阵所每一列的交叉点。矩阵所需的键的数目显然根据应需的键的数目显然根据应用程序的不同而不同。每用程序的不同而不同。每一行由一个输出端口的一一行由一个输出端口的一位驱动,而每一列由一个位驱动,而每一列由一个电阻器上拉且供给输入端电阻器上拉且供给输入端口一位。口一位。键盘
38、扫描阵列39键盘扫描过程就是让微处理器按有规律的时间间隔查看键键盘扫描过程就是让微处理器按有规律的时间间隔查看键盘矩阵,以确定是否有键被按下。每个键被分配一个称为扫描码盘矩阵,以确定是否有键被按下。每个键被分配一个称为扫描码的唯一标识符。应用程序利用该扫描码,根据按下的键来判定应的唯一标识符。应用程序利用该扫描码,根据按下的键来判定应采取什么行动:采取什么行动:l消抖算法。消抖算法。l组合键处理。组合键处理。键盘扫描方法40LCD接口设计LCDLCD显示模块显示模块液晶显示是一种被动的显示,它不能发光,只能使用周围环液晶显示是一种被动的显示,它不能发光,只能使用周围环境的光。它显示图案或字符只
39、需很小能量。液晶显示所用的液晶材境的光。它显示图案或字符只需很小能量。液晶显示所用的液晶材料是一种兼有液态和固体双重性质的有机物,它的棒状结构在液晶料是一种兼有液态和固体双重性质的有机物,它的棒状结构在液晶盒内一般平行排列,但在电场作用下能改变其排列方向。盒内一般平行排列,但在电场作用下能改变其排列方向。LCDLCD的背光:的背光:lELEL(场致发光):(场致发光):2000-30002000-3000小时。小时。l和和LEDLED光源:字符模式,光源:字符模式,5000050000小时。小时。41LCD的显示方式l反射型反射型LCDLCD:底偏光片后面加了一块反射板,它一般在户外和光线:底
40、偏光片后面加了一块反射板,它一般在户外和光线良好的办公室使用。良好的办公室使用。l透射型透射型LCDLCD:底偏光片是透射偏光片,它需要连续使用背光源,一:底偏光片是透射偏光片,它需要连续使用背光源,一般在光线差的环境使用。般在光线差的环境使用。l透反射型透反射型LCDLCD:是处于以上两者之间,底偏光片能部分反光,一般:是处于以上两者之间,底偏光片能部分反光,一般也带背光源,光线好的时候,可关掉背光源;光线差时,可点亮也带背光源,光线好的时候,可关掉背光源;光线差时,可点亮背光源使用背光源使用LCDLCD。42反射型LCD的结构43lLCDLCD通常有两种方式,一种是带有驱动芯片的通常有两种
41、方式,一种是带有驱动芯片的LCDLCD模块,基本上属模块,基本上属于半成品。于半成品。l一些新型的嵌入式处理器也可以直接使用芯片上的内置一些新型的嵌入式处理器也可以直接使用芯片上的内置LCDLCD控制器控制器来构造显示模块,比如:来构造显示模块,比如:s3c44b0s3c44b0可以支持可以支持STNSTN的彩色的彩色/ /灰度灰度/ /单色单色三种模式,灰度模式下可支持三种模式,灰度模式下可支持4 4级灰度和级灰度和1616级灰度,彩色模式下最级灰度,彩色模式下最多支持多支持256256色,色,LCDLCD的实际尺寸可支持到的实际尺寸可支持到640640X480X480。LCD的驱动方式44
42、总线驱动方式l一般带有驱动模块的一般带有驱动模块的LCDLCD显示屏使用这种驱动方式,由于显示屏使用这种驱动方式,由于LCDLCD已经已经带有驱动硬件电路,因此模块给出的是总线接口,便于与单片机带有驱动硬件电路,因此模块给出的是总线接口,便于与单片机的总线进行接口。的总线进行接口。l驱动模块具有八位数据总线,外加一些电源接口和控制信号。而驱动模块具有八位数据总线,外加一些电源接口和控制信号。而且自带显示缓存,只需将要显示的内容送到显示缓存中就可以实且自带显示缓存,只需将要显示的内容送到显示缓存中就可以实现内容的显示。由于只有八条数据线,因此常常通过引脚信号来现内容的显示。由于只有八条数据线,因
43、此常常通过引脚信号来实现地址与数据线复用,以达到把相应数据送到相应显示缓存的实现地址与数据线复用,以达到把相应数据送到相应显示缓存的目的。目的。45控制器扫描方式lS3C44B0XS3C44B0X中具有内置的中具有内置的LCDLCD控制器,它具有将显示缓存(在系统存储器控制器,它具有将显示缓存(在系统存储器中)中的中)中的LCDLCD图像数据传输到外部图像数据传输到外部LCDLCD驱动电路的逻辑功能。驱动电路的逻辑功能。lS3C44B0XS3C44B0X中内置的中内置的LCDLCD控制器可支持灰度控制器可支持灰度LCDLCD和彩色和彩色LCDLCD。在灰度。在灰度LCDLCD上,上,使用基于时
44、间的抖动算法(使用基于时间的抖动算法(time-based dithering algorithmtime-based dithering algorithm)和)和FRC FRC (Frame Rate Control)(Frame Rate Control)方法,可支持单色、方法,可支持单色、4 4级灰度和级灰度和1616级灰度模式的级灰度模式的灰度灰度LCDLCD。 在彩色在彩色LCDLCD上,可以支持上,可以支持256256级彩色。对于不同尺寸的级彩色。对于不同尺寸的LCDLCD,具有不同数量的垂直和水平像素、数据接口的数据宽度、接口时间及刷具有不同数量的垂直和水平像素、数据接口的数据
45、宽度、接口时间及刷新率,而新率,而LCDLCD控制器可以进行编程控制相应的寄存器值,以适应不同的控制器可以进行编程控制相应的寄存器值,以适应不同的LCDLCD显示板。显示板。46嵌入式处理器与LCD的连接嵌入式嵌入式处理器处理器LCD模模块块数据数据总线总线寄存器选择寄存器选择使能信号使能信号有有LCD控制器的控制器的嵌入式处理器嵌入式处理器LCDLCD控制信控制信号线号线47 从系统结构上来讲,由于显示器模块中已经有显示存从系统结构上来讲,由于显示器模块中已经有显示存储器。显存中的每一个单元对应储器。显存中的每一个单元对应LCDLCD上的一个点,只要显上的一个点,只要显存中的内容改变,显示结
46、果便进行刷新。于是便存在两种存中的内容改变,显示结果便进行刷新。于是便存在两种刷新:刷新:1 1直接根据系统要求对显存进行修改,一种是只需修改相应的局部就直接根据系统要求对显存进行修改,一种是只需修改相应的局部就可以,不需要判断覆盖等;另一种就是有覆盖问题,计算起来比较复可以,不需要判断覆盖等;另一种就是有覆盖问题,计算起来比较复杂,而且每做一点小的屏幕改变就进行刷新,将增加系统负担。杂,而且每做一点小的屏幕改变就进行刷新,将增加系统负担。2 .2 .专门开辟显示内存,在需要刷新的时候由程序进行显示更新。这样专门开辟显示内存,在需要刷新的时候由程序进行显示更新。这样不但可以减轻总线负荷,而且也
47、比较合理,在有需要的时候进行统一不但可以减轻总线负荷,而且也比较合理,在有需要的时候进行统一的显示更新,界面也可以比较美观,不致由于无法预料的刷新动作导的显示更新,界面也可以比较美观,不致由于无法预料的刷新动作导致显示界面闪烁。致显示界面闪烁。LCD模块的显示控制48前后台双重显示缓存的显示模块结构 LCD中的存储器系统显示缓存(在内存中)进行局部显示改变当需要刷新显示时将缓存中的内容复制到显示存储器中主程序运行过程49触摸屏接口设计触摸屏的分类如下触摸屏的分类如下: :l电阻式触摸屏。电阻式触摸屏。 l表面声波触摸屏。表面声波触摸屏。 l红外式触摸屏。红外式触摸屏。l电容式触摸屏。电容式触摸
48、屏。50电阻式触摸屏l电阻技术触摸屏是一种对外界完全隔离的工作环境,故不怕灰尘、电阻技术触摸屏是一种对外界完全隔离的工作环境,故不怕灰尘、水汽和油污,可以用任何物体来触摸,比较适合工业控制领域及办水汽和油污,可以用任何物体来触摸,比较适合工业控制领域及办公室内有限人的使用。公室内有限人的使用。l分为四线电阻和五线电阻触摸屏。分为四线电阻和五线电阻触摸屏。51四线电阻触摸屏原理52测量原理 在触摸点在触摸点X X、Y Y坐标的测量过程中,测量电压与测量点的等效电路图所坐标的测量过程中,测量电压与测量点的等效电路图所示,图中示,图中P P为测量点。为测量点。XVYY53触摸屏芯片54FM(ADS)
49、7843的特点l实现触摸屏的驱动选择控制(实现触摸屏的驱动选择控制(X X、Y Y通道)。通道)。l对于输入电压或附加电压进行对于输入电压或附加电压进行ADAD转换。转换。l同步串行接口。同步串行接口。l最大转换速率最大转换速率125125KHzKHz。l可编程控制可编程控制8 8位或者位或者1212位转换模式。位转换模式。l工作电压工作电压2.7V-5.0V2.7V-5.0V。l两个附加的输入端口。两个附加的输入端口。55FM7843与ARM的连接56AD7843的工作时序l同步串口(同步串口(SIOSIO)向)向ADS7843ADS7843发送控制字。发送控制字。l转换完成后从转换完成后从
50、ADS7843ADS7843串口读出电压转换值。串口读出电压转换值。 A/DA/D转换时序(每次转换需要转换时序(每次转换需要2424个时钟周期)个时钟周期)57触摸屏与LCD的配合lFM 7843FM 7843送回控制器的送回控制器的X X与与Y Y值仅是对当前触摸点的电压值的值仅是对当前触摸点的电压值的A/DA/D转转换值,它不具有实用价值。这个值的大小不但与触摸屏的分辨率换值,它不具有实用价值。这个值的大小不但与触摸屏的分辨率有关,而且也与触摸屏与有关,而且也与触摸屏与LCDLCD贴合的情况有关。而且,贴合的情况有关。而且,LCDLCD分辨率分辨率与触摸屏的分辨率一般来说是不一样,坐标也
51、不一样,因此,如与触摸屏的分辨率一般来说是不一样,坐标也不一样,因此,如果想得到体现果想得到体现LCDLCD坐标的触摸屏位置,还需要在程序中进行转换。坐标的触摸屏位置,还需要在程序中进行转换。转换公式如下转换公式如下: : lx=(x-TchScr_Xmin)x=(x-TchScr_Xmin)* *LCDWIDTH/(TchScr_Xmax-TchScr_XminLCDWIDTH/(TchScr_Xmax-TchScr_Xmin) )ly=(y-TchScr_Ymin)y=(y-TchScr_Ymin)* *LCDHEIGHT/(TchScr_Ymax-TchScr_YminLCDHEIGHT
52、/(TchScr_Ymax-TchScr_Ymin) )l其中,其中,TchScr_XmaxTchScr_Xmax、TchScr_XminTchScr_Xmin、TchScr_YmaxTchScr_Ymax和和TchScr_YminTchScr_Ymin是触摸屏返回电压值是触摸屏返回电压值x x、y y轴的范围,轴的范围,LCDWIDTHLCDWIDTH、LCDHEIGHTLCDHEIGHT是液晶是液晶屏的宽度与高度。屏的宽度与高度。58触摸屏的驱动#define ADS7843_CTRL_START0 x80#define ADS7843_GET_X0 x50#define ADS7843_
53、GET_Y0 x10#define ADS7843_CTRL_12MODE0 x0#define ADS7843_CTRL_8MODE0 x8#define ADS7843_CTRL_SER0 x4#define ADS7843_CTRL_DFR0 x0#define ADS7843_CTRL_DISPWD0 x3/ Disable power down#define ADS7843_CTRL_ENPWD0 x0/ enable power down#define ADS7843_PIN_CS(16)/GPF6#define ADS7843_PIN_PEN(15)/GPG5/#define A
54、DS7843_PIN_BUSY(16)/触摸屏动作触摸屏动作/#define TCHSCR_ACTION_NULL0#define TCHSCR_ACTION_CLICK1/触摸屏单击触摸屏单击#define TCHSCR_ACTION_DBCLICK2/触摸屏双击触摸屏双击#define TCHSCR_ACTION_DOWN3/触摸屏按下触摸屏按下#define TCHSCR_ACTION_UP4/触摸屏抬起触摸屏抬起#define TCHSCR_ACTION_MOVE5/触摸屏移动触摸屏移动#define TCHSCR_IsPenNotDown()(rPDATG&ADS7843_P
55、IN_PEN)void TchScr_init(void);void TchScr_GetScrXY(int *x, int *y);59函数TchScrGetScrXY(int *x, int *y)的结构60读取触摸点坐标61本节提要本节提要基于基于ARM的硬件系统体系结构的硬件系统体系结构存储器接口设计存储器接口设计网络接口设计网络接口设计I/OI/O接口设计接口设计人机交互接口设计人机交互接口设计其他通讯接口设计其他通讯接口设计62以太网接口的基本知识 1. 传输编码传输编码l曼彻斯特编码曼彻斯特编码l差分曼彻斯特编码差分曼彻斯特编码63以太网协议 以太网MAC层物理传输帧 (IEEE
56、802.3 )PRSDDASATYPEDATAPADFCS56位位8位位48位位48位位16位位不超过不超过1500字节字节可选可选32位位PRPR:同步位,收发双方的时钟同步,也指明传输的速率(同步位,收发双方的时钟同步,也指明传输的速率(10M10M、100M100M)。)。SDSD:分隔位,表示下面跟着的是真正的数据,而不是同步时钟。分隔位,表示下面跟着的是真正的数据,而不是同步时钟。DADA: 目的地址,以太网的地址为目的地址,以太网的地址为4848位地址。如果位都为位地址。如果位都为F F,则是广播地址。,则是广播地址。SASA:源地址,源地址,4848位,表明该帧数据是哪个网卡发的
57、,即发送端网卡地址。位,表明该帧数据是哪个网卡发的,即发送端网卡地址。TYPETYPE: 类型字段,表明该帧的数据是什么类型。如:类型字段,表明该帧的数据是什么类型。如:0800H 0800H 表示数据为表示数据为IPIP 包,包,0806H0806H表示数据为表示数据为ARPARP包,包,814CH814CH是是SNMPSNMP包,包,8137H8137H为为IPX/SPXIPX/SPX包。包。 DATADATA: 数据段,该段数据不能超过数据段,该段数据不能超过15001500字节。字节。PADPAD: 填充位。以太网帧传输的数据包最小不能小于填充位。以太网帧传输的数据包最小不能小于606
58、0字节字节, , 当数据段不当数据段不 足足4646字节时,后面补字节时,后面补000000.(000000.(当然也可以补其他值当然也可以补其他值) )。FCS: 32FCS: 32位位CRCCRC数据校验位。该校验由网卡自动完成。数据校验位。该校验由网卡自动完成。64以太网的数据传输特点lPRPR、SDSD、PADPAD、FCSFCS这几个数据段是由网卡自动产生的;只需要理这几个数据段是由网卡自动产生的;只需要理解解DADA、SASA、TYPETYPE、DATADATA四个段的内容。四个段的内容。l所有数据位的传输由低位开始所有数据位的传输由低位开始( (传输的位流使用曼彻斯特编码传输的位
59、流使用曼彻斯特编码) )。 l以太网的冲突退避算法是由硬件自动执行的。以太网的冲突退避算法是由硬件自动执行的。lDA+SA+TYPE+DATA+PADDA+SA+TYPE+DATA+PAD最小为最小为6060字节,最大为字节,最大为15141514字节。字节。l以太网卡可以接收三种地址的数据:一个是广播地位,一个是多以太网卡可以接收三种地址的数据:一个是广播地位,一个是多播地址播地址( (在嵌入式的环境中一般不用在嵌入式的环境中一般不用) ),一个是它自已的地址。,一个是它自已的地址。l任何两个网卡的物理地址都是不一样的,是世界上唯一的,网卡任何两个网卡的物理地址都是不一样的,是世界上唯一的,
60、网卡地址由专门机构分配。地址由专门机构分配。65嵌入式的以太网方案l嵌入式处理器网卡芯片(嵌入式处理器网卡芯片(RTL8019RTL8019)l对嵌入式处理器没有特殊要求,通用性强。对嵌入式处理器没有特殊要求,通用性强。l处理器和网络数据交换通过外部总线,速度慢,不适合于处理器和网络数据交换通过外部总线,速度慢,不适合于100M100M网络。网络。l带有以太网络接口的嵌入式处理器带有以太网络接口的嵌入式处理器l处理器面向网络应用。处理器面向网络应用。l处理器和网络数据交换通过内部总线,速度快。处理器和网络数据交换通过内部总线,速度快。66RTL8019的原理框图67嵌入式网络接口的特点l与常规的网卡设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 融资租赁配套借款协议
- 汽车制造技术专利许可协议
- 食品稳定剂研发工程师考试试卷及答案
- 石漠化治理工程师考试试卷及答案
- 低温热水地板辐射采暖系统施工工艺
- 邮政校招就业协议书签订
- 竞业协议书不执行是否可以
- 签了保密协议书离职后泄密
- 路面恢复建设方案
- 外墙防水工程实施计划及报价构成
- 2026年重庆烟草招聘考试试题及答案
- 安徽省A10联盟2026届高三5月最后一卷历史试卷(含答案及解析)
- 2026年城管协管员业务知识考试题库及答案
- 2026年哈三中高三下学期三模语文试卷及答案
- 肠造口患者的心理支持与调适
- 河南省2026年普通高等学校对口招收中等职业学校毕业生考试机电与制造类基础课试卷
- 2026年普通动物学通关试题库及参考答案详解【达标题】
- 2025年广东省深圳市初二学业水平地生会考试题题库(答案+解析)
- 2026年度春季江西金德铅业股份有限公司校园招聘17人建设考试备考试题及答案解析
- 20kV及以下配电网工程预算定额(2022版)全5册excel版
- 2025福建龙岩国信物业有限公司招聘5人笔试历年难易错考点试卷带答案解析
评论
0/150
提交评论