1、嵌入式系统学习课件C7本节提要本节提要基于基于ARM的硬件系统体系构造的硬件系统体系构造存储器接口设计存储器接口设计网络接口设计网络接口设计I/OI/O接口设计接口设计人机交互接口设计人机交互接口设计其它通讯接口设计其它通讯接口设计基于ARM的硬件设计主要介绍基于主要介绍基于ARM7ARM7的嵌入式硬件开发平台的设计方的嵌入式硬件开发平台的设计方法,包括构造、主要接口、存储器选用方案以及外设、显法,包括构造、主要接口、存储器选用方案以及外设、显示等方面的内容。示等方面的内容。嵌入式硬件开发平台的体系构造嵌入式硬件开发平台的体系构造外围存储器接口设计方法外围存储器接口设计方法键盘、键盘、LCDL
2、CD等人机交互接口的设计等人机交互接口的设计触摸屏的设计触摸屏的设计以太网设计以太网设计CANCAN总线设计总线设计Samsung S3C44B0XlSamsung S3C44B0XSamsung S3C44B0X微处理器是三星公司专为手持设备和微处理器是三星公司专为手持设备和一般应用提供的高性价比和高性能的微控制器解决方案一般应用提供的高性价比和高性能的微控制器解决方案,它使用,它使用ARM7TDMIARM7TDMI核,工作在核,工作在66MHZ66MHZ。为了降低系统总。为了降低系统总本钱和减少外围器件,这款芯片中还集成了以下部件:本钱和减少外围器件,这款芯片中还集成了以下部件:l8KB
3、Cache8KB Cache、外部存储器控制器、外部存储器控制器、LCDLCD控制器、控制器、4 4个个DMADMA通通道、道、2 2通道通道UARTUART、1 1个多主个多主I2CI2C总线控制器、总线控制器、1 1个个IISIIS总线总线控制器,控制器,5 5通道通道PWMPWM定时器及一个内部定时器、定时器及一个内部定时器、7171个通用个通用I/OI/O口、口、8 8个外部中断源、实时时钟、个外部中断源、实时时钟、8 8通道通道1010位位ADCADC等。等。基于ARM的嵌入式硬件平台体系构造芯片体系构造本节提要本节提要基于基于ARM的硬件系统体系构造的硬件系统体系构造存储器接口设计
4、存储器接口设计网络接口设计网络接口设计I/OI/O接口设计接口设计人机交互接口设计人机交互接口设计其它通讯接口设计其它通讯接口设计S3C44B0X存储系统的特征l支持数据存储的大支持数据存储的大/小端选择小端选择(通过外部引脚进展选择通过外部引脚进展选择)l地址空间:具有地址空间:具有8 8个存储体,每个存储体可达个存储体,每个存储体可达32Mb32Mb,总,总共可达共可达256Mb256Mb。l对所有存储体的访问大小均可进展改变对所有存储体的访问大小均可进展改变8 8位位1616位位3232位位l8 8个存储体中,个存储体中,Bank0Bank0Bank5Bank5可支持可支持ROMROM、
5、SRAMSRAM;Bank6Bank6、Bank7Bank7可支持可支持ROMROM、SRAMSRAM和和FPFPEDOEDOSDRAMSDRAM等。等。l7 7个存储体的起始地址固定,个存储体的起始地址固定,1 1个存储体的起始地址可个存储体的起始地址可变。变。复位后的S3C44B0X的存储器映射表 2MB/4MB/8MB/16MB/32MB 2MB/4MB/8MB/16MB/32MB 32MB 32MB 32MB 32MB 32MB 28MB 256MB SA27:0 可存取 区域 参 见 表 7-1 特殊功能 寄存器(4MB)SROM(nGCS1)SROM(nGCS1)SROM(nGCS
6、2)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 Bank0总线宽度配置总线宽度配置系统的存储空间分配lBank0:Bank0:两片两片512KFlash512KFlash,放置系统引导程序,系统上电复位后,放置系统引导程序,系统上
7、电复位后,PCPC指针自动指向指针自动指向Bank0Bank0的第一个单元,进展系统自举。的第一个单元,进展系统自举。lBank1Bank1:K9F2808K9F2808三星三星 16Mbyte Flash16Mbyte Flash,非线性寻址。详细的,非线性寻址。详细的时序可以参考时序可以参考K9F2808K9F2808的的datasheetdatasheetlBank2Bank2:USBN9603USBN9603。USBUSB设备端接口芯片,占用系统外部中断设备端接口芯片,占用系统外部中断0 0。8 8位数据总线。位数据总线。lBank3Bank3、Bank4Bank4未接设备。可以供扩展
8、使用未接设备。可以供扩展使用lBank5Bank5:RTL8019ASRTL8019AS,ISAISA总线兼容的总线兼容的10M10M以太网以太网PHYPHYMACMAC层控层控制芯片。占用系统外部中断制芯片。占用系统外部中断1 1,1616位数据总线位数据总线lBank6Bank6:SDRAMSDRAM,起始地址为,起始地址为0 xC0000000 xC000000。在。在SDRAMSDRAM中,前中,前512Kbyte512Kbyte的空间划分出来,作为系统的的空间划分出来,作为系统的LCDLCD显示缓冲区使用更新其中的数显示缓冲区使用更新其中的数据,就可以更新据,就可以更新LCDLCD的
9、显示。系统的程序存储空间从的显示。系统的程序存储空间从0 xC0800000 xC080000开场。也就是,引导系统的时候,需要把开场。也就是,引导系统的时候,需要把system.binsystem.bin文件复制到文件复制到0 xC0800000 xC080000开场的地址空间,把开场的地址空间,把PCPC指针指向指针指向0 xC0800000 xC080000。lBank7Bank7:未使用。可以扩展另一片:未使用。可以扩展另一片SDRAMSDRAM,或者其他的外设。,或者其他的外设。l系统的同步串行口系统的同步串行口SIOSIO,连接着触摸屏控制芯片,连接着触摸屏控制芯片FM7843FM
10、7843与与ADS7843ADS7843完全兼容。在同步串行口上,还可以扩展其他的芯片。完全兼容。在同步串行口上,还可以扩展其他的芯片。靠靠IOIO口控制设备的片选信号口控制设备的片选信号CSCS来防止设备的冲突。来防止设备的冲突。l注:系统的扩展接口上,注:系统的扩展接口上,A0A0的标号,连接在的标号,连接在S3C44B0XS3C44B0X的的ADDR1ADDR1上,上,后面的地址依次向后错位。后面的地址依次向后错位。S3C44B0X与FLASH的连接Half Word方式与与2片片8位的位的ROM连接方法连接方法与与1片片16位的位的ROM连接连接关于BOOT ROMlBank0Bank
11、0:系统的启动:系统的启动ROMROMFlash RomFlash Rom。在系统复位的时候,处理。在系统复位的时候,处理器的器的PCPC程序计数器指针指向程序计数器指针指向0 x00 x0地址。在地址。在Bank0Bank0的起始地址的的起始地址的程序,就是系统的初始化程序。此程序的主要任务是:程序,就是系统的初始化程序。此程序的主要任务是:l1 1、管理处理器的中断效劳程序、管理处理器的中断效劳程序l处理器的中断是从处理器的中断是从0 x00 x0地址开场,引导地址开场,引导ROMROM负责把这一部分的中断负责把这一部分的中断映射到另一个区域,以便系统处理。详细的做法,可以参考映射到另一个
12、区域,以便系统处理。详细的做法,可以参考44binit.s44binit.s里面的代码。这部分代码是三星主页可以提供,它把里面的代码。这部分代码是三星主页可以提供,它把系统的中断,映射到了不同的指针所指向的地址空间主要就是系统的中断,映射到了不同的指针所指向的地址空间主要就是系统系统RAMRAM的空间。的空间。2 2、初始化硬件平台,配置其他的、初始化硬件平台,配置其他的BankBankS3C44B0XS3C44B0X的的Bank0Bank0是通过外部的一个管脚提供的上拉、下是通过外部的一个管脚提供的上拉、下拉电阻来配置的。主要包括:数据位数拉电阻来配置的。主要包括:数据位数8 8位、位、16
13、16位、位、3232位,数据格式大端、小端。而其他的位,数据格式大端、小端。而其他的BankBank的配的配置,以及读写周期等信息是靠置,以及读写周期等信息是靠Bank0Bank0内部的代码配置相内部的代码配置相应的存放器来实现的。同时,系统的引导应的存放器来实现的。同时,系统的引导RomRom也负责配也负责配置系统的其他的一些存放器,比方,系统的置系统的其他的一些存放器,比方,系统的PLLPLL锁频锁频环配置,系统的环配置,系统的IOIO口等一些端口功能的配置等等。口等一些端口功能的配置等等。3 3、系统自动检测、系统自动检测引导引导RomRom负责检测系统的启动所必须的外设是否正常。主负责
14、检测系统的启动所必须的外设是否正常。主要是系统的要是系统的SDRAMSDRAM的检测。的检测。4 4、系统的软件设置,更新系统、系统的软件设置,更新系统system.binsystem.bin用户可以在系统启动的时候,按任意键,进入系统的软用户可以在系统启动的时候,按任意键,进入系统的软件设置状态。通过引导件设置状态。通过引导RomRom设置或者查看系统的一些软设置或者查看系统的一些软件信息。包括:通过开启件信息。包括:通过开启USBUSB端口;更新系统文件端口;更新系统文件system.binsystem.bin;LCDLCD显示测试;演示程序的装载测试;键显示测试;演示程序的装载测试;键盘
15、测试;触摸屏的坐标校准;触摸屏测试;以太网地址盘测试;触摸屏的坐标校准;触摸屏测试;以太网地址的设置等的设置等本节提要本节提要基于基于ARM的硬件系统体系构造的硬件系统体系构造存储器接口设计存储器接口设计网络接口设计网络接口设计I/O接口设计接口设计人机交互接口设计人机交互接口设计其它通讯接口设计其它通讯接口设计I/O子系统的层次模型lI/OI/O子系统:子系统:I/OI/O设备、相关的设备驱动程序和设备、相关的设备驱动程序和I/OI/O子系统组成嵌入式子系统组成嵌入式I/OI/O子系统。子系统。lI/OI/O子系统的目的是对子系统的目的是对RTOSRTOS和应用程序员隐藏设备特定的信息,并且
16、对和应用程序员隐藏设备特定的信息,并且对系统的外围系统的外围I/OI/O设备提供一个统一的访问方法。设备提供一个统一的访问方法。设备驱动程序I/O设备硬件RTOSI/O子系统应用程序中断处理程序从不同角度看I/O系统l从系统软件开发者角度看,从系统软件开发者角度看,I/OI/O操作意味着与设备的通信、操作意味着与设备的通信、对设备编程初始化和请示执行设备与系统之间的实际数据对设备编程初始化和请示执行设备与系统之间的实际数据传输以及操作完成后通知恳求者。系统软件工程师必须理传输以及操作完成后通知恳求者。系统软件工程师必须理解设备的物理特性,如存放器的定义和设备的访问方法。解设备的物理特性,如存放
17、器的定义和设备的访问方法。l从从RTOSRTOS的角度看,的角度看,I/OI/O操作意味着对操作意味着对I/OI/O恳求定位正确的设恳求定位正确的设备,对设备定位正确的设备驱动程序,并解决对设备驱动备,对设备定位正确的设备驱动程序,并解决对设备驱动程序的恳求。有时要求程序的恳求。有时要求RTOSRTOS保证对设备的同步访问。保证对设备的同步访问。RTOSRTOS必须进展抽象,对应用程序员隐含设备的特性。必须进展抽象,对应用程序员隐含设备的特性。l从应用程序员角度看,目的是找到一个简单、统一和精练从应用程序员角度看,目的是找到一个简单、统一和精练的方法与系统中出现的所有类型的设备通信。的方法与系
18、统中出现的所有类型的设备通信。I/O接口设计 I/O I/O接口电路也简称接口电路。它是主机和外围设备之间交换信息接口电路也简称接口电路。它是主机和外围设备之间交换信息的连接部件电路。它在主机和外围设备之间的信息交换中起的连接部件电路。它在主机和外围设备之间的信息交换中起着桥梁和纽带作用。设置接口电路的必要性:着桥梁和纽带作用。设置接口电路的必要性:a)a)解决解决CPUCPU和外围设备之间的时序配合和通信联络问题。和外围设备之间的时序配合和通信联络问题。b)b)解决解决CPUCPU和外围设备之间的数据格式转换和匹配问题。和外围设备之间的数据格式转换和匹配问题。c)c)解决解决CPUCPU的负
19、载才能和外围设备端口选择问题。的负载才能和外围设备端口选择问题。I/O接口的编址方式1 1I/OI/O接口独立编址:接口独立编址:这种编址方式是将存储器地址空间和这种编址方式是将存储器地址空间和I/OI/O接口地址空间分接口地址空间分开设置,互不影响。设有专门的输入指令开设置,互不影响。设有专门的输入指令ININ和输出和输出指令指令OUTOUT来完成来完成I/OI/O操作。操作。2 2I/OI/O接口与存储器统一编址方式:接口与存储器统一编址方式:这种编址方式不区分存储器地址空间和这种编址方式不区分存储器地址空间和I/OI/O接口地址空间接口地址空间,把所有的,把所有的I/OI/O接口的端口都
20、当作是存储器的一个单元接口的端口都当作是存储器的一个单元对待,每个接口芯片都安排一个或几个与存储器统一编对待,每个接口芯片都安排一个或几个与存储器统一编号的地址号。也不设专门的输入号的地址号。也不设专门的输入/输出指令,所有传送输出指令,所有传送和访问存储器的指令都可用来对和访问存储器的指令都可用来对I/OI/O接口操作。接口操作。两种编址方式有各自的优缺点1 1独立编址方式:独立编址方式:主要优点:内存地址空间与主要优点:内存地址空间与I/OI/O接口地址空间分开,互不接口地址空间分开,互不影响,译码电路较简单,并设有专门的影响,译码电路较简单,并设有专门的I/OI/O指令,所以指令,所以编
21、程序易于区分,且执行时间短,快速性好。编程序易于区分,且执行时间短,快速性好。缺点:只用缺点:只用I/OI/O指令访问指令访问I/OI/O端口,功能有限且要采用专端口,功能有限且要采用专用用I/OI/O周期和专用周期和专用I/OI/O控制线,使微处理器复杂化。控制线,使微处理器复杂化。2 2统一编址方式统一编址方式主要优点:访问内存的指令都可用于主要优点:访问内存的指令都可用于I/OI/O操作,数据处理操作,数据处理功能强;同时功能强;同时I/OI/O接口可与存储器部分共用译码和控制接口可与存储器部分共用译码和控制电路。电路。缺点:一是缺点:一是I/OI/O接口要占用存储器地址空间的一部分;二
22、接口要占用存储器地址空间的一部分;二是因不用专门的是因不用专门的I/OI/O指令,程序中较难区分指令,程序中较难区分I/OI/O操作。操作。通用设计原那么I/O设备lI/O接口接口l接口的概念接口的概念lCPU与外部设备的接口与外部设备的接口I/O适配器适配器l接口的功能接口的功能l控制控制 l缓冲缓冲l状态状态 l转换转换l整理整理 l程序中断程序中断 S3C44B0X的I/O接口lARMARM系统完成系统完成I/OI/O功能的标准方法是使用存储器映射功能的标准方法是使用存储器映射I/OI/O。这种方法。这种方法使用特定的存储器地址。当从这些地址加载或向这些地址存储时使用特定的存储器地址。当
23、从这些地址加载或向这些地址存储时,它们提供,它们提供I/OI/O功能。典型情况下,从存储器映射功能。典型情况下,从存储器映射I/OI/O地址加载用地址加载用于输入,而向存储器映射于输入,而向存储器映射I/OI/O地址存储用于输出。地址存储用于输出。lS3C44B0XS3C44B0X有有71 71 个多功能输入个多功能输入 输出管脚,构成了输出管脚,构成了7 7个个I/OI/O接口:接口:l两个两个9 9位的输入位的输入/输出接口输出接口E E和和F Fl两个两个8 8位的输入位的输入/输出接口输出接口D D和和G Gl一个一个1616位的输入位的输入/输出接口输出接口C Cl一个一个1010位
24、的输出接口位的输出接口A Al一个一个1111位的输出接口位的输出接口B B嵌入式开发板与PC机的串行通讯嵌入式开发板和嵌入式开发板和PC机的通讯电缆可以按照如下图的方式连机的通讯电缆可以按照如下图的方式连接。接。UART控制框图异步串行通讯简介l在一条传输线上完成单向传输。在一条传输线上完成单向传输。l将传输数据的字符一位接一位的传送。将传输数据的字符一位接一位的传送。l接收方对于同一条线上的一连串连续数学信号,首先将接收方对于同一条线上的一连串连续数学信号,首先将其分割成位,再按位组成字符。其分割成位,再按位组成字符。l每个字符需要确定起始位和完毕位,字符与字符间还可每个字符需要确定起始位
25、和完毕位,字符与字符间还可能有长度不定的空闲时间,因此传输效率较低。能有长度不定的空闲时间,因此传输效率较低。字符串行输出格式:发送前:线路处于空闲状态,连续发送发送前:线路处于空闲状态,连续发送“1开场发送:首先,发送一位起始位开场发送:首先,发送一位起始位“0 然后,发送连续的二进制位,数据位可以为然后,发送连续的二进制位,数据位可以为5、6、7、8 随后,紧跟一位奇偶校验位可选择奇随后,紧跟一位奇偶校验位可选择奇/偶偶/无校验无校验串行通讯硬件标准及连接方法lEIA RS-232Cl 物理特征:物理特征:DB-25 DB-15 DB-9 l 信号连线:保护地、信号连线:保护地、TXD/R
26、XD、RTS/CTS、DCD、DSR、DTR、R1l 电平规定:电平规定:-5V -15V 之间的电平表之间的电平表示逻辑示逻辑“1l +5V +15V 之间的电平表之间的电平表示逻辑示逻辑“0l比特率比特率l在数字信道中,比特率是数字信号的传输速率,它用单位时间内传输的二在数字信道中,比特率是数字信号的传输速率,它用单位时间内传输的二进制代码的有效位进制代码的有效位(bit)数来表示,其单位为每秒比特数数来表示,其单位为每秒比特数bit/s(bps)、每秒千、每秒千比特数比特数(Kbps)或每秒兆比特数或每秒兆比特数(Mbps)来表示来表示(此处此处K和和M分别为分别为1000和和10000
27、00,而不是涉及计算机存储器容量时的,而不是涉及计算机存储器容量时的1024和和 1048576)。l.波特率波特率l波特率指数据信号对载波的调制速率,它用单位时间内载波调制状态改变波特率指数据信号对载波的调制速率,它用单位时间内载波调制状态改变次数来表示,其单位为波特次数来表示,其单位为波特(Baud)。波特率与比特率的关系为:比特率波特率与比特率的关系为:比特率=波特率波特率X单个调制状态对应的二进制位数。单个调制状态对应的二进制位数。l显然,两相调制显然,两相调制(单个调制状态对应单个调制状态对应1个二进制位个二进制位)的比特率等于波特率;四的比特率等于波特率;四相调制相调制(单个调制状
28、态对应单个调制状态对应2个二进制位个二进制位)的比特率为波特率的两倍;八相调的比特率为波特率的两倍;八相调制制(单个调制状态对应单个调制状态对应3个二进制位个二进制位)的比特率为波特率的三倍;依次类推。的比特率为波特率的三倍;依次类推。UART的操作串口初始化串口初始化发送数据发送数据接收数据接收数据本节提要本节提要基于基于ARM的硬件系统体系构造的硬件系统体系构造存储器接口设计存储器接口设计网络接口设计网络接口设计I/OI/O接口设计接口设计人机交互接口设计人机交互接口设计其它通讯接口设计其它通讯接口设计键盘接口设计l键盘模块键盘可能用来输入数字型数据或者选择控制设备的操作键盘模块键盘可能用
29、来输入数字型数据或者选择控制设备的操作形式。形式。l键盘有两种方案:一是采用现有的一些芯片实现键盘扫描;再就键盘有两种方案:一是采用现有的一些芯片实现键盘扫描;再就是用软件实现键盘扫描。嵌入式控制器的功能很强,可能允分利是用软件实现键盘扫描。嵌入式控制器的功能很强,可能允分利用这一资源。用这一资源。一个瞬时接触开关一个瞬时接触开关按钮放置在每一行与按钮放置在每一行与每一列的穿插点。矩阵所每一列的穿插点。矩阵所需的键的数目显然根据应需的键的数目显然根据应用程序而不同。每一行由用程序而不同。每一行由一个输出端口的一位驱动一个输出端口的一位驱动,而每一列由一个电阻器,而每一列由一个电阻器上拉且供给输
30、入端口一位上拉且供给输入端口一位。键盘扫描阵列键盘扫描过程就是让微处理器按有规律的时间间隔查看键键盘扫描过程就是让微处理器按有规律的时间间隔查看键盘矩阵,以确定是否有键被按下。每个键被分配一个称为扫描码盘矩阵,以确定是否有键被按下。每个键被分配一个称为扫描码的唯一标识符。应用程序利用该扫描码,根据按下的键来断定应的唯一标识符。应用程序利用该扫描码,根据按下的键来断定应该采取什么行动。该采取什么行动。消抖算法:消抖算法:组合键处理组合键处理键盘扫描方法/得到按键的扫描码,格式为得到按键的扫描码,格式为0 xXYZWU16 GetScanKey()U16 key;U8 i,temp;for(i=1
31、;i0 x10;i=1)/I/O口送出数据口送出数据rPDATD|=0 xf;rPDATD&=i;key4);return key;键盘扫描程序LCD接口设计LCDLCD显示模块显示模块液晶显示是一种被动的显示,它不能发光,只能使液晶显示是一种被动的显示,它不能发光,只能使用周围环境的光。它显示图案或字符只需很小能量。液用周围环境的光。它显示图案或字符只需很小能量。液晶显示所用的液晶材料是一种兼有液态和固体双重性质晶显示所用的液晶材料是一种兼有液态和固体双重性质的有机物,它的棒状构造在液晶盒内一般平行排列,但的有机物,它的棒状构造在液晶盒内一般平行排列,但在电场作用下能改变其排列方向。在电场作
32、用下能改变其排列方向。LCDLCD的背光:的背光:ELEL场致发光:场致发光:2000-30002000-3000小时小时和和LEDLED光源:字符形式,光源:字符形式,5000050000小时小时LCD的显示方式l反射型反射型LCDLCD:底偏光片后面加了一块反射板,它一般在户外和光线:底偏光片后面加了一块反射板,它一般在户外和光线良好的办公室使用。良好的办公室使用。l透射型透射型LCDLCD:底偏光片是透射偏光片,它需要连续使用背光源,一:底偏光片是透射偏光片,它需要连续使用背光源,一般在光线差的环境使用。般在光线差的环境使用。l透反射型透反射型LCDLCD:是处于以上两者之间,底偏光片能
33、部分反光,一般:是处于以上两者之间,底偏光片能部分反光,一般也带背光源,光线好的时候,可关掉背光源;光线差时,可点亮也带背光源,光线好的时候,可关掉背光源;光线差时,可点亮背光源使用背光源使用LCDLCD。反射型LCD的构造lLCDLCD通常由两种方式,一种是带有驱动芯片的通常由两种方式,一种是带有驱动芯片的LCDLCD模块,根本上属模块,根本上属于半成品于半成品l假如有需要,也可以直接使用芯片上的内置假如有需要,也可以直接使用芯片上的内置LCDLCD控制器来构造显示控制器来构造显示模块,它可以支持彩色模块,它可以支持彩色/灰度灰度/单色三种形式,灰度形式下可支持单色三种形式,灰度形式下可支持
34、4 4级灰度和级灰度和1616级灰度,彩色形式下最多支持级灰度,彩色形式下最多支持256256色,色,LCDLCD的实际尺寸的实际尺寸可支持到可支持到320X240320X240。LCD的驱动方式嵌入式处理器与LCD的连接嵌入嵌入式处式处理器理器LCD模块模块数据数据总线总线存放器选择存放器选择使能信号使能信号 从系统构造上来讲,由于显示器模块中已经有显示存储器。显存从系统构造上来讲,由于显示器模块中已经有显示存储器。显存中的每一个单元对应中的每一个单元对应LCDLCD上的一个点,只要显存中的内容改变,上的一个点,只要显存中的内容改变,显示结果便进展刷新。于是便存在两种刷新:显示结果便进展刷新
35、。于是便存在两种刷新:1 1直接根据系统要求对显存进展修改,一种是只需修改相应的部直接根据系统要求对显存进展修改,一种是只需修改相应的部分就可以,不需要判断覆盖等;另一种就是有覆盖问题,计算起分就可以,不需要判断覆盖等;另一种就是有覆盖问题,计算起来比较复杂,而且每做一点小的屏幕改变就进展刷新,将增加系来比较复杂,而且每做一点小的屏幕改变就进展刷新,将增加系统负担。统负担。2 2 专门开拓显示内存,在需要刷新时候由程序进展显示更新。这专门开拓显示内存,在需要刷新时候由程序进展显示更新。这样,不但可以减轻总线负荷,而且也比较合理,在有需要的时候样,不但可以减轻总线负荷,而且也比较合理,在有需要的
36、时候进展统一的显示更新,界面也可以比较美观,不致由于无法意料进展统一的显示更新,界面也可以比较美观,不致由于无法意料的刷新动作导致显示界面闪烁。的刷新动作导致显示界面闪烁。LCD的显示控制前后台双重显示缓存的显示模块构造 触摸屏接口设计触摸屏的分类触摸屏的分类电阻式触摸屏电阻式触摸屏 外表声波触摸屏外表声波触摸屏 红外式触摸屏红外式触摸屏 电容式触摸屏电容式触摸屏电阻式触摸屏l分为四线电阻和五线电阻触摸屏分为四线电阻和五线电阻触摸屏l电阻技术触摸屏是一种对外界完全隔离的工作环境,故不怕灰尘电阻技术触摸屏是一种对外界完全隔离的工作环境,故不怕灰尘、水汽和油污,可以用任何物体来触摸,比较合适工业控
37、制领域、水汽和油污,可以用任何物体来触摸,比较合适工业控制领域及办公室内有限人的使用。及办公室内有限人的使用。四线电阻触摸屏原理测量原理l在触摸点在触摸点X X、Y Y坐标的测量过程中,测量电压与测量点的等效电路图所坐标的测量过程中,测量电压与测量点的等效电路图所示,图中示,图中P P为测量点为测量点 XVYY触摸屏芯片FM(ADS)7843的特点l实现触摸屏的驱动选择控制实现触摸屏的驱动选择控制X X、Y Y通道通道l对于输入电压或附加电压进展对于输入电压或附加电压进展ADAD转换转换l同步串行接口同步串行接口l最大转换速率最大转换速率125KHz125KHzl可编程控制可编程控制8 8位或
38、者位或者1212位转换形式位转换形式l两个附加的输入端口两个附加的输入端口FM7843与ARM的连接触摸屏的驱动#define ADS7843_CTRL_START0 x80#define ADS7843_GET_X0 x50#define ADS7843_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 powe
39、r down#define ADS7843_CTRL_ENPWD0 x0/enable power down#define ADS7843_PIN_CS(16)/GPF6#define ADS7843_PIN_PEN(15)/GPG5/#define ADS7843_PIN_BUSY(16)/触摸屏动作触摸屏动作/#define TCHSCR_ACTION_NULL0#define TCHSCR_ACTION_CLICK1/触摸屏单击触摸屏单击#define TCHSCR_ACTION_DBCLICK2/触摸屏双击触摸屏双击#define TCHSCR_ACTION_DOWN3/触摸屏按下触摸
40、屏按下#define TCHSCR_ACTION_UP4/触摸屏抬起触摸屏抬起#define TCHSCR_ACTION_MOVE5/触摸屏挪动触摸屏挪动#define TCHSCR_IsPenNotDown()(rPDATG&ADS7843_PIN_PEN)void TchScr_init(void);void TchScr_GetScrXY(int*x,int*y);本节提要本节提要基于基于ARM的硬件系统体系构造的硬件系统体系构造存储器接口设计存储器接口设计网络接口设计网络接口设计I/OI/O接口设计接口设计人机交互接口设计人机交互接口设计其它通讯接口设计其它通讯接口设计以太网接口的根本
41、知识 1、传输编码、传输编码l曼彻斯特编码曼彻斯特编码l差分曼彻斯特编码差分曼彻斯特编码以太网协议 l以太网MAC层物理传输帧 IEEE802.3 PRSDDASATYPEDATAPADFCS56位位8位位48位位48位位16位位不超过不超过1500字节字节可选可选32位位PRPR:同步位,收发双方的时钟同步,也指明传输的速率同步位,收发双方的时钟同步,也指明传输的速率10M10M、100M100MSDSD:分隔位分隔位,表示下面跟着的是真正的数据表示下面跟着的是真正的数据,而不是同步时钟而不是同步时钟DADA:目的地址目的地址,以太网的地址为以太网的地址为4848位地址。假如为都为位地址。假
42、如为都为F,F,那么是播送地址那么是播送地址SASA:源地址源地址,48,48位位,说明该帧的数据是哪个网卡发的说明该帧的数据是哪个网卡发的,即发送端网卡地址即发送端网卡地址TYPETYPE:类型字段,说明该帧的数据是什么类型。如:类型字段,说明该帧的数据是什么类型。如:0800H 0800H 表示数据为表示数据为IPIP 包,包,0806H0806H表示数据为表示数据为ARPARP包,包,814CH814CH是是SNMPSNMP包,包,8137H8137H为为IPX/SPXIPX/SPX包包 DATADATA:数据段,该段数据不能超过:数据段,该段数据不能超过15001500字节。字节。PA
43、DPAD:填充位。以太网帧传输的数据包最小不能小于填充位。以太网帧传输的数据包最小不能小于6060字节字节,当数据段不当数据段不 足足4646字节时,后面补字节时,后面补000000.(000000.(当然也可以补其它值当然也可以补其它值)FCS:32FCS:32位位CRCCRC数据校验位。该校验由网卡自动完成数据校验位。该校验由网卡自动完成以太网的数据传输特点lPR,SD,PAD,FCSPR,SD,PAD,FCS这几个数据段是由网卡自动产生的;只需要理解这几个数据段是由网卡自动产生的;只需要理解DADA、SASA、TYPETYPE、DATADATA四个段的内容四个段的内容l所有数据位的传输由
44、低位开场所有数据位的传输由低位开场(传输的位流使用曼彻斯特编码传输的位流使用曼彻斯特编码)l以太网的冲突退避算法是由硬件自动执行的以太网的冲突退避算法是由硬件自动执行的lDA+SA+TYPE+DATA+PADDA+SA+TYPE+DATA+PAD最小为最小为6060字节字节,最大为最大为15141514字节字节l以太网卡可以接收三种地址的数据,一个是播送地位,一个是多以太网卡可以接收三种地址的数据,一个是播送地位,一个是多播地址播地址(在嵌入式的环境中一般不用在嵌入式的环境中一般不用),一个是它自已的地址,一个是它自已的地址l任何两个网卡的物理地址都是不一样的,是世界上唯一的,网卡任何两个网卡
45、的物理地址都是不一样的,是世界上唯一的,网卡地址由专门机构分配。地址由专门机构分配。嵌入式的以太网方案l嵌入式处理器网卡芯片嵌入式处理器网卡芯片RTL8019RTL8019l对嵌入式处理器没有特殊要求,通用性强对嵌入式处理器没有特殊要求,通用性强l处理器和网络数据交换通过外部总线,速度慢,不合处理器和网络数据交换通过外部总线,速度慢,不合适于适于100M100M网络网络l带有以太网络接口的嵌入式处理器带有以太网络接口的嵌入式处理器l处理器面向网络应用处理器面向网络应用l处理器和网络数据交换通过内部总线,速度快处理器和网络数据交换通过内部总线,速度快RTL8019的原理框图嵌入式网络接口的特点l
46、与常规的网卡设计思路不同的是,在嵌入式系统中,系统的精简与常规的网卡设计思路不同的是,在嵌入式系统中,系统的精简一直是个主要的原那么。一直是个主要的原那么。RTL8019ASRTL8019AS作为网卡,时需要一片作为网卡,时需要一片EEPROMEEPROM作为配置存储器,来确定通讯的端口地址,中断地址,网卡的物作为配置存储器,来确定通讯的端口地址,中断地址,网卡的物理地址,工作形式,制造厂商等信息;理地址,工作形式,制造厂商等信息;l而在嵌入式系统中,可以使用而在嵌入式系统中,可以使用RTL8019ASRTL8019AS的默认配置和一些管脚作的默认配置和一些管脚作为网卡的初始化方法。这样可以节
47、省配置存储器,减小嵌入式硬为网卡的初始化方法。这样可以节省配置存储器,减小嵌入式硬件平台的体积。件平台的体积。基于RTL8019在嵌入式以太网设计1 RTL8019AS的初始化 RTL8019支持即插即用形式和非即插即用形式。在嵌入式系统中,网卡的外设通常是不经常插拔的,所以,为了系统的精简,配置RTL8019为非即插即用形式。有着固定的中断,有着固定的端口地址,假设是端口是0 x300这里的端口是相对于ISA总线来说的端口,对于ARM的总线,需要重新计算地址。这些配置可以通过RTL8019的外部管脚,在系统上电复位的时候,自动配置起来。关于RTL8019的RAMlRTL8019RTL8019
48、含有含有16K16K字节的字节的RAMRAM,地址为,地址为0 x4000-0 x7fff(0 x4000-0 x7fff(指的是指的是RTL8019RTL8019内部的存储地址,是内部的存储地址,是RTL8019RTL8019工作用的存储器,可以通过工作用的存储器,可以通过远程远程DMADMA访问,每访问,每256256个字节称为一页,共有个字节称为一页,共有6464页。页的地址就页。页的地址就是地址的高是地址的高8 8位,页地址为位,页地址为0 x40-0 x7f0 x40-0 x7f。这。这16k16k的的ramram的一部分用来的一部分用来存放接收的数据包,一部分用来存储待发送的数据包
49、存放接收的数据包,一部分用来存储待发送的数据包 2 通过RTL8019AS发送数据 作为一个集成的以太网芯片,数据的发送校验,总线数据包的作为一个集成的以太网芯片,数据的发送校验,总线数据包的碰撞检测与防止是由芯片自己完成的。我们只需要配置发送数据碰撞检测与防止是由芯片自己完成的。我们只需要配置发送数据的物理层地址的源地址、目的地址、数据包类型以及发送的数据的物理层地址的源地址、目的地址、数据包类型以及发送的数据就可以了。就可以了。3、通过RTL8019AS接收数据l在在RTL8019RTL8019的初始化程序中已经设置好了接收缓冲区的位置,并且的初始化程序中已经设置好了接收缓冲区的位置,并且
50、配置好了中断的形式。当有一个正确的数据包到达的时候,配置好了中断的形式。当有一个正确的数据包到达的时候,RTL8019RTL8019会产生一个中断信号,在会产生一个中断信号,在ARMARM中断处理程序中,接收数据中断处理程序中,接收数据。l数据的接收比较简单,即通过远端数据的接收比较简单,即通过远端DMADMA把数据从把数据从RTL8019RTL8019的的RAMRAM空间空间读回读回ARMARM中处理。中处理。TCP/IP 协议的层次应用层应用层(Application)BSD套接字套接字(BSD Sockets)传输层传输层(Transport)TCP、UDP网络层网络层(Network)
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。