版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1嵌入式系统设计嵌入式系统设计ARMARM与与 C/OS-C/OS-2嵌入式系统的软嵌入式系统的软/硬件框架硬件框架机械装置机械装置嵌入式嵌入式微处理器微处理器SDRAMSDRAMROMROMI/OI/OA/DA/DD/AD/A人机交互接口人机交互接口通用接口通用接口实时操作系统(实时操作系统(RTOS)RTOS)图形用户图形用户接口接口BSP/HAL 硬件抽象层/板极支持包BSP/HAL 硬件抽象层/板极支持包任务管理任务管理文件系统文件系统应用程序应用程序嵌入式计算机系统嵌入式计算机系统传感器1传感器1传感器2传感器2传感器N传感器N.驱动器1驱动器1驱动器2驱动器2驱动器N驱动器N.硬件
2、层硬件层软件层软件层中间层中间层功能层功能层被控对象被控对象334嵌入式系统的设计步骤嵌入式系统的设计步骤体系结构设计系统需求分析:规格说明书机械系统设计硬件设计软件设计系统集成系统测试产品51 1)需求分析阶段)需求分析阶段l分析用户的需求分析用户的需求l确定硬件软件确定硬件软件l检查需求分析的结果检查需求分析的结果l确定项目的约束条件确定项目的约束条件l概要设计概要设计6需求分析需求分析- -罗列用户的需求罗列用户的需求(1 1)系统用于什么任务?)系统用于什么任务?(2 2)系统从用户或其他源接收什么输入?)系统从用户或其他源接收什么输入?(3 3)系统从用户或其他源输出什么?)系统从用
3、户或其他源输出什么?(4 4)用户想要如何同系统打交道?)用户想要如何同系统打交道?(5 5)系统的重量和体积如何?)系统的重量和体积如何?(6 6)系统连接何种外设?)系统连接何种外设?(7 7)系统是否需要运行某些现存的软件?)系统是否需要运行某些现存的软件?(8 8)系统处理哪种类型的数据?)系统处理哪种类型的数据?(9 9)系统是否要与别的系统通讯?)系统是否要与别的系统通讯?(1010)系统是单机还是网络系统?)系统是单机还是网络系统?7需求分析需求分析- -罗列用户的需求罗列用户的需求(1111)系统的响应时间是多少?)系统的响应时间是多少?(1212)需要什么安全措施?)需要什么
4、安全措施?(1313)系统在什么样的环境下运行?)系统在什么样的环境下运行?(1414)外部存储媒介和内存需要多大?)外部存储媒介和内存需要多大?(1515)系统的可拆装性,可靠性和牢固性的期望值是什么)系统的可拆装性,可靠性和牢固性的期望值是什么(1616)如何给系统供电?)如何给系统供电?(1717)系统如何向用户通报故障?)系统如何向用户通报故障?(1818)是否需要任何手动或机械代用装置?)是否需要任何手动或机械代用装置?(1919)系统是否将具有远程诊断或更正问题的功能?)系统是否将具有远程诊断或更正问题的功能?(2020)其他问题)其他问题82 2)体系结构设计)体系结构设计l决定
5、因素决定因素l系统是硬实时系统还是软实时系统系统是硬实时系统还是软实时系统l操作系统是否需要嵌入操作系统是否需要嵌入l物理系统的成本、尺寸和耗电量是否是产物理系统的成本、尺寸和耗电量是否是产品成功的关键因素品成功的关键因素l选择处理器和相关硬件选择处理器和相关硬件1.1.其他其他93 3)详细设计阶段)详细设计阶段- -硬件与软件划分硬件与软件划分决定哪些用硬件实现,哪些用软件实现?决定哪些用硬件实现,哪些用软件实现?例如:例如:l浮点运算浮点运算l网络通信控制器实现的功能网络通信控制器实现的功能l软调制解调器软调制解调器/ /硬调制解调器硬调制解调器1.1.软件压缩解压软件压缩解压/ /硬件
6、压缩解压图像硬件压缩解压图像10详细设计阶段详细设计阶段- -硬件设计硬件设计l设计硬件子系统:设计硬件子系统:top-downtop-down方法方法l分成模块分成模块l设计框图设计框图l例:例:CPUCPU子系统、存储器子系统等子系统、存储器子系统等l定义硬件接口定义硬件接口lI/OI/O端口端口l硬件寄存器硬件寄存器l共享内存共享内存l硬件中断硬件中断l存储器空间分配存储器空间分配l处理器的运行速度处理器的运行速度11详细设计阶段详细设计阶段- -软件设计软件设计设计软件子系统设计软件子系统总体设计、模块设计总体设计、模块设计定义软件接口定义软件接口模块接口、函数接口模块接口、函数接口1
7、2详细设计阶段详细设计阶段- -检查设计检查设计l小项目小项目l自己审查设计文档自己审查设计文档l中等项目中等项目l拿给同事朋友并向他们解释你的设计拿给同事朋友并向他们解释你的设计 l大型项目大型项目- -审查会审查会l设计者应作一个更正式的报告。由于这是一设计者应作一个更正式的报告。由于这是一个设计审查会,召集一群人,主要由工程师个设计审查会,召集一群人,主要由工程师组成,并尽可能包括一些对项目有不同看法组成,并尽可能包括一些对项目有不同看法角度的成员,如做市场的人员、最终用户角度的成员,如做市场的人员、最终用户 134 4)系统集成)系统集成把系统的软件、硬件和执行装置集成在一起,把系统的
8、软件、硬件和执行装置集成在一起,进行调试,发现并改进设计过程中的错误。进行调试,发现并改进设计过程中的错误。5 5)系统测试)系统测试对设计好的系统进行测试,看其是否满足给定对设计好的系统进行测试,看其是否满足给定的要求。的要求。14嵌入式系统的硬件体系结构嵌入式系统的硬件体系结构通用嵌入式微处理器应用软件数据可重构计算部件配置存储器数据ASIC数据通用微处理器可重构计算机ASIC15基于基于ARM和和FPGA的嵌入式系统可重构设计的嵌入式系统可重构设计ARM7TDMI嵌入式微处理器内存8MBSDRAM电子硬盘16MBFLASHBIOS1MBFLASH微处理器模块FPGA配置存储器输入输出接口
9、FPGAI/O模块16S3C2410的内部结构172410的存储器系统的存储器系统 可通过软件选择大小端可通过软件选择大小端 地址空间地址空间:每个每个Bank 128Mbytes (总共总共 1GB) 共共 8 个个banksl6个个Bank用于控制用于控制 ROM, SRAM, etc.l剩余的两个剩余的两个Bank用于控制用于控制 ROM, SRAM, SDRAM, etc . 除除 bank0 (16/32-bit) 外,所有的外,所有的Bank都可以通过编程选择总线都可以通过编程选择总线宽度宽度= (8/16/32-bit) 7个个Bank固定起始地址;固定起始地址; 最后一个最后一
10、个Bank可调整起始地址;可调整起始地址; 最后两个最后两个Bank大小可编程大小可编程所有所有Bank存储周期可编程控制;存储周期可编程控制;18S3C2410的存储器配置的存储器配置19实验平台的体系结构20基于基于ARM的嵌入式系统硬件结构设计的嵌入式系统硬件结构设计主要介绍基于主要介绍基于ARM7的嵌入式硬件开发平的嵌入式硬件开发平台的设计方法,包括结构、主要接口、存储器台的设计方法,包括结构、主要接口、存储器选用方案以及外设、显示等方面的内容。选用方案以及外设、显示等方面的内容。 l嵌入式硬件开发平台的体系结构嵌入式硬件开发平台的体系结构l外围存储器接口设计方法外围存储器接口设计方法
11、l键盘、键盘、LCD等人机交互接口的设计等人机交互接口的设计l触摸屏的设计触摸屏的设计l以太网设计以太网设计21基于基于ARMARM的嵌入式硬件平台体系结构的嵌入式硬件平台体系结构22ARM实验平台与实验平台与PC机连接关系框图机连接关系框图基于ARM架构的32位微处理器SamsungS3C44B0X1MB线性Flash(BIOS)8MBSDRM(系统内存)16MB非线性Flash( 硬盘)USB接口USBN9603两个RS-232串行通信接口JTAG调试端口LCD显示键盘输入TCP/IP协议CAN BUSARM硬件开发平台PC机USB口并口RS232Jtag电缆网口23嵌入式开发板与嵌入式开
12、发板与PCPC机的串行通讯机的串行通讯嵌入式开发板和嵌入式开发板和PC机的通讯电缆可以按照如图机的通讯电缆可以按照如图所示的方式连接。所示的方式连接。24lARMARM架构的处理器有的带有指令快存和数据快架构的处理器有的带有指令快存和数据快存。但是片内都不带有存。但是片内都不带有RAMRAM和和ROMROM。 系统所需的系统所需的RAMRAM和和ROMROM(包括闪存)都通过总线外接。(包括闪存)都通过总线外接。l快存(快存(CacheCache)是一种小容量、高速度的存储)是一种小容量、高速度的存储器,用于处理器与主存之间存放当前被使用的主器,用于处理器与主存之间存放当前被使用的主存内容,以
13、减少访问主存的等待时间。存内容,以减少访问主存的等待时间。2525 高速缓冲存储器工作原理高速缓冲存储器工作原理26存储系统的构成分析存储系统的构成分析以基于以基于S3C44B0XS3C44B0X的存储系统为例:的存储系统为例: v支持数据存储的大支持数据存储的大/ /小端选择小端选择( (通过外部引脚和程序通过外部引脚和程序进行选择进行选择) )v地址空间:具有地址空间:具有8 8个存储体,每个存储体可达个存储体,每个存储体可达32Mb32Mb,总共可达总共可达256MB256MB。v对所有存储体的访问大小均可进行改变(对所有存储体的访问大小均可进行改变(8 8位位1616位位3232位)位
14、)v8 8个个BankBank中,中,Bank0Bank0Bank5Bank5可支持可支持ROMROM、SRAMSRAM;Bank6Bank6、Bank7Bank7可支持可支持ROMROM、SRAMSRAM和和EDOEDOSDRAMSDRAM等。等。27典型系统中存储体的分配情况典型系统中存储体的分配情况存储体存储体与存储体的接口与存储体的接口Bank0BIOS 512K2FlashBank116M Flash 硬盘硬盘Bank2USB接口接口Bank3LCD显示模块显示模块Bank4保留保留Bank5保留保留Bank6系统内存系统内存SDRAMBank7保留保留28系统的存储空间分配系统的存
15、储空间分配lBank0:1Bank0:1片片2MB NOR Flash2MB NOR Flash,放置系统引导程序,系统上,放置系统引导程序,系统上电复位后,电复位后,PCPC指针自动指向指针自动指向Bank0Bank0的第一个单元,进行的第一个单元,进行系统自举。以便从硬盘中将系统文件和用户应用程序复系统自举。以便从硬盘中将系统文件和用户应用程序复制到制到SDRAMSDRAM内存中执行。内存中执行。lBank1Bank1:非线性寻址。:非线性寻址。Bank1Bank1上接上接16M NAND Flash16M NAND Flash,当做,当做系统硬盘使用,可以构造文件系统,存放海量数据。系统
16、硬盘使用,可以构造文件系统,存放海量数据。l用用SDRAMSDRAM当作系统内存,只有当作系统内存,只有Bank6/Bank7Bank6/Bank7能支持能支持SDRAMSDRAM,所以将,所以将SDRAMSDRAM接在接在Bank6Bank6上。上。lBank2Bank2:PDIUSBD12PDIUSBD12。USBUSB设备端接口芯片,占用系统外设备端接口芯片,占用系统外部中断部中断0 0。8 8位数据总线。位数据总线。29lBank5Bank5:RTL8019ASRTL8019AS,ISAISA总线兼容的总线兼容的10M10M以太网(以太网(PHYPHYMACMAC层)控制芯片。占用系统
17、外部中断层)控制芯片。占用系统外部中断1 1,1616位数据总线位数据总线;扩展;扩展IOIO口口lBank6Bank6:SDRAMSDRAM,起始地址为,起始地址为0 xC0000000 xC000000。在。在SDRAMSDRAM中,前中,前512Kbyte512Kbyte的空间划分出来,作为系统的的空间划分出来,作为系统的LCDLCD显示缓冲区显示缓冲区使用(更新其中的数据,就可以更新使用(更新其中的数据,就可以更新LCDLCD的显示)。系的显示)。系统的程序存储空间从统的程序存储空间从0 xC0800000 xC080000开始。也就是,引导系开始。也就是,引导系统的时候,需要把统的时
18、候,需要把system.binsystem.bin文件复制到文件复制到0 xC0800000 xC080000开开始的地址空间,把始的地址空间,把PCPC指针指向指针指向0 xC0800000 xC080000。303) Boot Loader3) Boot Loader的任务的任务lBoot LoaderBoot Loader是系统加电后首先运行的一段代码,完成是系统加电后首先运行的一段代码,完成整个系统的加载启动任务。它首先完成系统硬件的初始整个系统的加载启动任务。它首先完成系统硬件的初始化,包括时钟的设置、存储器的映射等。并设置堆栈指化,包括时钟的设置、存储器的映射等。并设置堆栈指针,然
19、后跳转到操作系统内核入口,如系统在加电或复针,然后跳转到操作系统内核入口,如系统在加电或复位时通常从地址位时通常从地址0 x000000000 x00000000处开始执行,而在这个地址处开始执行,而在这个地址处安排的通常就是系统的处安排的通常就是系统的Boot LoaderBoot Loader程序。程序。l每种嵌入式微处理器体系结构都有不同的每种嵌入式微处理器体系结构都有不同的Boot LoaderBoot Loader。通常,。通常, Boot LoaderBoot Loader只有几十只有几十KBKB的大小,其作用相当的大小,其作用相当于普通于普通pcpc机的机的BIOSBIOS,是在
20、系统复位后执行的第一段代码,是在系统复位后执行的第一段代码31Boot Loader Boot Loader 的操作模式的操作模式启动加载模式启动加载模式(AutonomousAutonomous) : Boot Loader Boot Loader 从目标机的固体存储设备上将操作系统加载到从目标机的固体存储设备上将操作系统加载到RAMRAM中运中运行,整个过程并没有用户的介入。这种模式是行,整个过程并没有用户的介入。这种模式是 Boot Boot Loader Loader 的正常工作模式,因此在嵌入式产品发布的的正常工作模式,因此在嵌入式产品发布的时侯,时侯,Boot Loader Boo
21、t Loader 显然必须工作在这种模式下。显然必须工作在这种模式下。32下载模式:目标机中的下载模式:目标机中的Boot Loader Boot Loader 通过串通过串口或网络连接等通信手段从宿主机上下载口或网络连接等通信手段从宿主机上下载文件,如操作系统的内核映像和根文件的文件,如操作系统的内核映像和根文件的映像等。从宿主级上下载的文件通常首先映像等。从宿主级上下载的文件通常首先被被Boot Loader Boot Loader 保存到目标机的保存到目标机的RAMRAM中,然中,然后再被后再被Boot Loader Boot Loader 写到目标机的写到目标机的FlashFlash中
22、中。这种模式通常在第。这种模式通常在第1 1次安装操作系统内核次安装操作系统内核和根文件系统时被使用,另外系统更新时和根文件系统时被使用,另外系统更新时也会使用这种方式。也会使用这种方式。334 4)存储管理单元)存储管理单元MMUMMU 虚拟内存管理占用了相当一部分系统资源,因此在虚拟内存管理占用了相当一部分系统资源,因此在系统资源非常有限的嵌入式系统中可不采用虚拟内存系统资源非常有限的嵌入式系统中可不采用虚拟内存管理,使用不带有管理,使用不带有MMUMMU的微处理器。这样要采用动态的微处理器。这样要采用动态内存管理方式,即当程序的某一部分需要使用内存时内存管理方式,即当程序的某一部分需要使
23、用内存时,利用操作系统提供的分配函数来处理,一旦使用完,利用操作系统提供的分配函数来处理,一旦使用完毕,可通过释放函数来释放所占用的内存,这样内存毕,可通过释放函数来释放所占用的内存,这样内存就可以重复使用。就可以重复使用。 34 但在具有但在具有MMUMMU的的ARMARM系统中,存储管理单元系统中,存储管理单元MMUMMU主要完成工作:主要完成工作:l虚拟存储空间到物理存储空间的映射。在虚拟存储空间到物理存储空间的映射。在ARMARM中采用了页式虚拟存储管理。中采用了页式虚拟存储管理。l存储器访问权限的控制。存储器访问权限的控制。l设置虚拟存储空间的缓冲的特性。设置虚拟存储空间的缓冲的特性
24、。352410的UARTl S3C2410A S3C2410A 的的UART (Universal Asynchronous Receiver UART (Universal Asynchronous Receiver and Transmitter) and Transmitter) 提供了三个独立的异步串行提供了三个独立的异步串行I/OI/O口,每口,每一个都可以工作在中断模式或一个都可以工作在中断模式或DMADMA模式,即模式,即UARTUART可以产生中可以产生中断或断或DMADMA请求以在请求以在CPUCPU和和UARTUART之前传送数据,使用系统时钟之前传送数据,使用系统时钟,U
25、ARTUART最高可以支持最高可以支持230.4K bps 230.4K bps 的位传输率。的位传输率。l如果采用外部带时钟的如果采用外部带时钟的UARTUART,则,则UARTUART可以实现更度速度的可以实现更度速度的传输;传输;l每个每个UARTUART包括包括2 2个个16Byte16Byte的接收的接收/ /发送发送FIFOFIFO。36UART控制框图37异步串行通讯简介l在一条传输线上完成单向传输。在一条传输线上完成单向传输。l将传输数据的字符一位接一位的传送。将传输数据的字符一位接一位的传送。l接收方对于同一条线上的一连串连续数学信号,首先将接收方对于同一条线上的一连串连续数
26、学信号,首先将其分割成位,再按位组成字符。其分割成位,再按位组成字符。l每个字符需要确定起始位和结束位,字符与字符间还可每个字符需要确定起始位和结束位,字符与字符间还可能有长度不定的空闲时间,因此传输效率较低。能有长度不定的空闲时间,因此传输效率较低。38字符串行输出格式:发送前:线路处于空闲状态,连续发送发送前:线路处于空闲状态,连续发送 “1”开始发送:首先,发送一位起始位开始发送:首先,发送一位起始位 “0” 然后,发送连续的二进制位,数据位可以为然后,发送连续的二进制位,数据位可以为5、6、7、8 随后,紧跟一位奇偶校验位(可选择奇随后,紧跟一位奇偶校验位(可选择奇/偶偶/无校验)无校
27、验) 最后,发送停止位最后,发送停止位 “1”,可以有,可以有1位、位、1.5位或位或2位停止位位停止位39串行通讯硬件规范及连接方法lEIA RS-232C 物理特征:物理特征: DB-25 DB-15 DB-9 信号连线:保护地、信号连线:保护地、TXD/RXD、RTS/CTS、DCD、 DSR、DTR、R1 电平规定:电平规定:-5V -15V 之间的电平表示逻辑之间的电平表示逻辑 “1” +5V +15V 之间的电平表示逻辑之间的电平表示逻辑 “0”4041UART的操作串口初始化串口初始化发送数据发送数据接收数据接收数据42人机交互接口人机交互接口43嵌入式开发板与PC机的串行通讯嵌
28、入式开发板和嵌入式开发板和PC机的通讯电缆可以按照如图所示的方式连接。机的通讯电缆可以按照如图所示的方式连接。44人机交互接口人机交互接口LCD显示模块显示模块液晶显示是一种被动的显示,它不能发液晶显示是一种被动的显示,它不能发光,只能使用周围环境的光。它显示图案或光,只能使用周围环境的光。它显示图案或字符只需很小能量。液晶显示所用的液晶材字符只需很小能量。液晶显示所用的液晶材料是一种兼有液态和固体双重性质的有机物料是一种兼有液态和固体双重性质的有机物,它的棒状结构在液晶盒内一般平行排列,它的棒状结构在液晶盒内一般平行排列,但在电场作用下能改变其排列方向但在电场作用下能改变其排列方向45LCD
29、LCD有三种显示方式有三种显示方式LCD有三种显示方式:反射型,透射型和透有三种显示方式:反射型,透射型和透反射型。反射型。(1)反射型反射型LCD的底偏光片后面加了一块反射的底偏光片后面加了一块反射板,它一般在户外和光线良好的办公室使用。板,它一般在户外和光线良好的办公室使用。(2)透射型透射型LCD的底偏光片是透射偏光片,它的底偏光片是透射偏光片,它需要连续使用背光源,一般在光线差的环境使用需要连续使用背光源,一般在光线差的环境使用。(3)透反射型透反射型LCD是处于以上两者之间,底偏是处于以上两者之间,底偏光片能部分反光,一般也带背光源,光线好的时光片能部分反光,一般也带背光源,光线好的
30、时候,可关掉背光源;光线差时,可点亮背光源使候,可关掉背光源;光线差时,可点亮背光源使用用LCD。46反射型反射型LCD的结构的结构47lLCD显示方式还分正性和负性。正性显示方式还分正性和负性。正性LCD呈现白底黑字,在反射和透反射型呈现白底黑字,在反射和透反射型LCD中显示中显示最佳;负性最佳;负性LCD呈现黑底白字,一般用于透射呈现黑底白字,一般用于透射型型LCD,加上背光源,字体清晰,易于阅读。,加上背光源,字体清晰,易于阅读。正显模式(白底黑字)负显模式(黑底白字)48lLCD通常有两种方式,一种是带有驱动芯通常有两种方式,一种是带有驱动芯片的片的LCD模块,基本上属于半成品模块,基
31、本上属于半成品l如果有需要,也可以直接使用芯片上的内如果有需要,也可以直接使用芯片上的内置置LCD控制器来构造显示模块,它可以支持彩控制器来构造显示模块,它可以支持彩色色/灰度灰度/单色三种模式,灰度模式下可支持单色三种模式,灰度模式下可支持4级级灰度和灰度和16级灰度,彩色模式下最多支持级灰度,彩色模式下最多支持256色色.49嵌入式处理器与嵌入式处理器与LCD的连接的连接嵌入嵌入式处式处理器理器LCD模块模块数据数据总线总线寄存器选择寄存器选择使能信号使能信号50键盘模块键盘模块l键盘模块可以用来输入数字型数据或者键盘模块可以用来输入数字型数据或者选择控制设备的操作模式。选择控制设备的操作
32、模式。l键盘有两种方案:一是采用现有的一些键盘有两种方案:一是采用现有的一些芯片实现键盘扫描;再就是用软件实现键盘芯片实现键盘扫描;再就是用软件实现键盘扫描。嵌入式控制器的功能很强,能允分利扫描。嵌入式控制器的功能很强,能允分利用这一资源用这一资源。51处理器I/O口VC C 简单键盘电路简单键盘电路按键抖动按键抖动52一个瞬时接触开一个瞬时接触开关(按钮)放置在每关(按钮)放置在每一行与线一列的交叉一行与线一列的交叉点。矩阵所需的键的点。矩阵所需的键的数目显然根据应用程数目显然根据应用程序而不同。每一行由序而不同。每一行由一个输出端口的一位一个输出端口的一位驱动,而每一列由一驱动,而每一列由
33、一个电阻器上拉且供给个电阻器上拉且供给输入端口一位。输入端口一位。A1A2A353A1A2A354l键盘扫描过程就是让微处理器按有规律键盘扫描过程就是让微处理器按有规律的时间间隔查看键盘矩阵,以确定是否有键的时间间隔查看键盘矩阵,以确定是否有键被按下。每个键被分配一个称为扫描码的唯被按下。每个键被分配一个称为扫描码的唯一标识符。应用程序利用该扫描码,根据按一标识符。应用程序利用该扫描码,根据按下的键来判定应该采取什么行动。下的键来判定应该采取什么行动。 55触摸屏设计触摸屏设计56触摸屏分类触摸屏分类l电阻式触摸屏电阻式触摸屏 l表面声波触摸屏表面声波触摸屏 l红外式触摸屏红外式触摸屏 l电容
34、式触摸屏电容式触摸屏57电阻式触摸屏电阻式触摸屏l电阻技术触摸屏是一种对外界完全隔离的工作环境,故不怕灰尘电阻技术触摸屏是一种对外界完全隔离的工作环境,故不怕灰尘、水汽和油污,可以用任何物体来触摸,比较适合工业控制领域、水汽和油污,可以用任何物体来触摸,比较适合工业控制领域及办公室内使用。及办公室内使用。 l分为四线电阻和五线电阻触摸屏分为四线电阻和五线电阻触摸屏58四线电阻触摸屏原理四线电阻触摸屏原理59测量原理测量原理l在触摸点在触摸点X、Y坐标的测量过程中,测量电压与测量点的等效电路图所示,图坐标的测量过程中,测量电压与测量点的等效电路图所示,图中中P为测量点为测量点 XVYY60ARM
35、 JTAG调试调试61什么是什么是JTAG?lJTAG是是Joint Test Action Group的缩写;的缩写;是是IEEE1149.1标准标准lJTAG的建立使得集成电路固定在的建立使得集成电路固定在PCB上,只通过边界上,只通过边界扫描便可以被测试扫描便可以被测试l在在ARM7TDMI处理器中,可以通过处理器中,可以通过JTAG直接控制直接控制ARM的内部总线,的内部总线,IO口等信息,从而达到调试的目的口等信息,从而达到调试的目的6263几种常用的调试方法几种常用的调试方法l指令集模拟器指令集模拟器 一种利用一种利用PC机端的仿真开发软件模拟调试的方法。机端的仿真开发软件模拟调试
36、的方法。l驻留监控软件驻留监控软件 驻留监控程序运行在目标板上,驻留监控程序运行在目标板上,PC机端调试软件可通过并口、串机端调试软件可通过并口、串口、网口与之交互,以完成程序执行、存储器及寄存器读写、断口、网口与之交互,以完成程序执行、存储器及寄存器读写、断点设置等任务点设置等任务lJTAG仿真器仿真器 通过通过ARM芯片的芯片的JTAG边界扫描口与边界扫描口与ARM核进行通信,不占用目核进行通信,不占用目标板的资源,是目前使用最广泛的调试手段标板的资源,是目前使用最广泛的调试手段l在线仿真器在线仿真器(In-Circuit Emulator,ICE) 使用仿真头代替目标板上的使用仿真头代替
37、目标板上的CPU,可以完全仿真,可以完全仿真ARM芯片的行为芯片的行为。但结构较复杂,价格昂贵,通常用于。但结构较复杂,价格昂贵,通常用于ARM硬件开发中硬件开发中64ARM的的JTAG调试结构调试结构AngelJTAG65宿主机调试器宿主机调试器l宿主机调试器通过固定的协议控制下位机(协议转换器宿主机调试器通过固定的协议控制下位机(协议转换器)。比如,)。比如,SDT中通过中通过Angel协议或者第三方调试器所协议或者第三方调试器所提供的协议提供的协议l宿主机调试器只发送宏观的命令,比如:宿主机调试器只发送宏观的命令,比如:程序运行、终止。读内存、程序运行、终止。读内存、ARM寄存器等寄存器
38、等l通讯的介质可以是串口、并口、以太网、通讯的介质可以是串口、并口、以太网、USB等等66JTAG与与AngellJTAG调试:协议转换器解释上位机传送过来的命令,调试:协议转换器解释上位机传送过来的命令,通过通过JTAG控制控制ARM执行。执行。lAngel调试:协议转换器可以直接做为目标板的调试:协议转换器可以直接做为目标板的Firmware(固件固件)的一部分。直接执行从宿主机传送过的一部分。直接执行从宿主机传送过来的调试命令;并回送相应的数据。来的调试命令;并回送相应的数据。lAngel可以节省专门的可以节省专门的JTAG仿真器,但是,它需要软仿真器,但是,它需要软件,或者是嵌入式操作
39、系统的支持,做不到完全的实件,或者是嵌入式操作系统的支持,做不到完全的实时仿真。而时仿真。而JTAG仿真是通过硬件和控制仿真是通过硬件和控制ARM的的EmbeddedICE实现的,可以做到实时仿真。实现的,可以做到实时仿真。67 实验二讲解实验二讲解68键盘及键盘及LED驱动实验驱动实验6970一、实验目的一、实验目的1学习键盘及学习键盘及LED 驱动原理。驱动原理。2掌握掌握zlg7289 芯片的使用方法。芯片的使用方法。二、实验内容二、实验内容 通过通过zlg7289 芯片驱动芯片驱动12 键(键(3 x 4)的)的键盘和键盘和8 个共阴极个共阴极LED,将按键值在,将按键值在LED 上显
40、示出来。上显示出来。717273ZLG7289A的指令分为三种类型:纯指令的指令分为三种类型:纯指令、带有数据的指令和读键盘数据指令。、带有数据的指令和读键盘数据指令。l复位指令复位指令 WriteSDIO(0 xA4)l测试指令测试指令 WriteSDIO(0 xBF)l左移指令左移指令 WriteSDIO(0 xA1)l右移指令右移指令 WriteSDIO(0 xA0)ZLG7289纯指令(单字节指令)纯指令(单字节指令)74双字节指令双字节指令(长度为长度为16位位,分两次传送分两次传送)l写数据指令写数据指令(方式方式0译码)译码) WriteSDIO(0 x8?); ?指定位,即在第
41、几个数码管指定位,即在第几个数码管 上显示,开发板最左边管为上显示,开发板最左边管为 No.1, 依次类推依次类推,见下表见下表WriteSDIO(?); ? 是欲显示的数字是欲显示的数字(09)A2A1A0数码管编号000No.1001No.2010No.3011No.4100No.5101No.6110No.7111No.875l写数据指令写数据指令(方式方式1译码)译码) WriteSDIO(0 xC?); WriteSDIO(?); 含义同上条指令含义同上条指令l消隐指令消隐指令 WriteSDIO(0 x98); WriteSDIO(0 x?); ?中的每一个二进制位均对应着一个数码
42、管中的每一个二进制位均对应着一个数码管,0=消隐消隐,1=显示显示76l闪烁指令闪烁指令 WriteSDIO(0 x88); WriteSDIO(0 x?); ?中的每一个二进制位均对应着一个数码管中的每一个二进制位均对应着一个数码管,0=闪烁闪烁,1=不闪不闪77需要动手编写的内容需要动手编写的内容:在在zlg7289.c中中7289驱动函数驱动函数ZLG7289_ENABLE( ) 发复位命令发复位命令 WriteSDIO(0 xA4)ZLG7289_DISABLE( )延时延时Zlg 7289复位子函数流程图复位子函数流程图78从从7289读取键值流程图读取键值流程图ZLG7289_EN
43、ABLE()ZLG7289_DISABLE()读取键制值读取键制值ReadSDIO( )发送读取键值命令发送读取键值命令WriteSDIO(0 x15)79main.c中主函数流程图中主函数流程图开发板初始化开发板初始化7289复位复位键值读取键值读取延时延时开启开启7289发送个位数发送个位数延时延时键值键值9?发送十位数发送十位数显示十、个位数显示十、个位数只显示个位只显示个位关闭关闭7289是是否否80main.c中主函数流程图中主函数流程图开发板初始化7289复位键值读取延时开启7289发送个位数延时键值9?发送十位数显示十、个位数只显示个位关闭7289是否817289命令字定义命令字
44、定义#define ZLG7289_CMD_RST0 xA4/复位#define ZLG7289_CMD_TEST0 xBF/测试模式#define ZLG7289_CMD_LSHIFT0 xA1/左移#define ZLG7289_CMD_RSHIFT0 xA0/右移#define ZLG7289_CMD_CLSHIFT 0 xA3/循环左移#define ZLG7289_CMD_CRSHIFT 0 xA2/循环右移#define ZLG7289_CMD_DATA00 x80/下载数据且按方式0 译码#define ZLG7289_CMD_DATA10 xC8/下载数据且按方式1 译码#de
45、fine ZLG7289_CMD_DATA30 x90/下载数据但不译码#define ZLG7289_CMD_FLASH0 x88/闪烁控制#define ZLG7289_CMD_HIDE0 x98/消隐控制#define ZLG7289_CMD_LDOT0 xE0/段点亮指令#define ZLG7289_CMD_HDOT0 xC0/段关闭指令#define ZLG7289_CMD_RDKEY0 x15/读键盘数据指令82DEF.h中定义的数据类型中定义的数据类型:#define U32 unsigned int#define BOOL int#define U16 unsigned sh
46、ort#define S32 int#define S16 short int#define U8 unsigned char#define S8 char#define u32 unsigned int#define u16 unsigned short#define s32 int#define s16 short int#define u8 unsigned char#define s8 char83嵌入式以太网设计嵌入式以太网设计84以太网接口的基本知识以太网接口的基本知识 1、传输编码、传输编码l曼彻斯特编码曼彻斯特编码l差分曼彻斯特编码差分曼彻斯特编码85以太网协议以太网协议 l以
47、太网以太网MAC层物理传输帧层物理传输帧 (IEEE802.3 )PRSDDASATYPEDATAPADFCS56位8位48位48位16位不超过1500字节可选32位PR:同步位,收发双方的时钟同步,也指明传输的速率(10M、100M)SD:分隔位,表示下面跟着的是真正的数据,而不是同步时钟DA:目的地址,以太网的地址为48位地址。如果为都为F,则是广播地址SA:源地址,48位,表明该帧的数据是哪个网卡发的,即发送端的网卡地址TYPE:类型字段,表明该帧的数据是什么类型的数据。如:0800H 表示数据为IP包,0806H表示数据为ARP包,814CH是SNMP包,8137H 为IPX/SPX包
48、 DATA:数据段,该段数据不能超过1500字节。PAD: 填充位。以太网帧传输的数据包最小不能小于60字节, 当数据段不足46字节时,后面补000000.(当然也可以补其它值)FCS: 32位CRC数据校验位。该校验由网卡自动完成86以太网的数据传输特点以太网的数据传输特点lPR,SD,PAD,FCS这几个数据段是由网卡自动产生的;只需要理这几个数据段是由网卡自动产生的;只需要理解解DA、SA、TYPE、DATA四个段的内容四个段的内容l所有数据位的传输由低位开始所有数据位的传输由低位开始(传输的位流使用曼彻斯特编码传输的位流使用曼彻斯特编码) l以太网的冲突退避算法是由硬件自动执行的以太网
49、的冲突退避算法是由硬件自动执行的lDA+SA+TYPE+DATA+PAD最小为最小为60字节字节,最大为最大为1514字节字节l以太网卡可以接收三种地址的数据,一个是广播地位,一个是多以太网卡可以接收三种地址的数据,一个是广播地位,一个是多播地址播地址(在嵌入式的环境中一般不用在嵌入式的环境中一般不用),一个是它自已的地址,一个是它自已的地址l任何两个网卡的物理地址都是不一样的,是世界上唯一的,网卡任何两个网卡的物理地址都是不一样的,是世界上唯一的,网卡地址由专门机构分配。地址由专门机构分配。87嵌入式的以太网方案嵌入式的以太网方案l嵌入式处理器网卡芯片(嵌入式处理器网卡芯片(RTL8019)
50、l对嵌入式处理器没有特殊要求,通用性强对嵌入式处理器没有特殊要求,通用性强l处理器和网络数据交换通过外部总线,速度慢,不适合于处理器和网络数据交换通过外部总线,速度慢,不适合于100M网络网络l带有以太网络接口的嵌入式处理器带有以太网络接口的嵌入式处理器l处理器面向网络应用处理器面向网络应用l处理器和网络数据交换通过内部总线,速度快处理器和网络数据交换通过内部总线,速度快88RTL8019的原理框图的原理框图89嵌入式网络接口的特点嵌入式网络接口的特点l与常规的网卡设计思路不同的是,在嵌入式系统中,系统的精简与常规的网卡设计思路不同的是,在嵌入式系统中,系统的精简一直是个主要的原则。一直是个主
51、要的原则。RTL8019AS作为网卡,时需要一片作为网卡,时需要一片EEPROM作为配置存储器,来确定通讯的端口地址,中断地址,作为配置存储器,来确定通讯的端口地址,中断地址,网卡的物理地址,工作模式,制造厂商等信息;网卡的物理地址,工作模式,制造厂商等信息;l而在嵌入式系统中,可以使用而在嵌入式系统中,可以使用RTL8019AS的默认配置和一些管脚的默认配置和一些管脚作为网卡的初始化方法。这样可以节省配置存储器,减小嵌入式作为网卡的初始化方法。这样可以节省配置存储器,减小嵌入式硬件平台的体积。硬件平台的体积。90基于基于RTL8019在嵌入式以太网设计在嵌入式以太网设计1 RTL8019AS
52、的初始化 RTL8019支持即插即用模式和非即插即用模式。在嵌入式系统中支持即插即用模式和非即插即用模式。在嵌入式系统中,网卡的外设通常是不经常插拔的,所以,为了系统的精简,配,网卡的外设通常是不经常插拔的,所以,为了系统的精简,配置置RTL8019为非即插即用模式。有着固定的中断,有着固定的端为非即插即用模式。有着固定的中断,有着固定的端口地址,假设是端口是口地址,假设是端口是0 x300(这里的端口是相对于(这里的端口是相对于ISA总线来说总线来说的端口,对于的端口,对于ARM的总线,需要重新计算地址)。这些配置可以的总线,需要重新计算地址)。这些配置可以通过通过RTL8019的外部管脚,
53、在系统上电复位的时候,自动配置起的外部管脚,在系统上电复位的时候,自动配置起来。来。 91关于关于RTL8019的的RAMlRTL8019含有含有16K字节的字节的RAM,地址为,地址为0 x4000-0 x7fff(指的是指的是RTL8019内部的存储地址,而不是内部的存储地址,而不是ISA总线的地址,是总线的地址,是RTL8019工作用的存储器,可以通过远程工作用的存储器,可以通过远程DMA访问),每访问),每256个字节称为个字节称为一页,共有一页,共有64页。页的地址就是地址的高页。页的地址就是地址的高8位,页地址为位,页地址为0 x40-0 x7f。这。这16k的的ram的一部分用来
54、存放接收的数据包,一部分用来的一部分用来存放接收的数据包,一部分用来存储待发送的数据包存储待发送的数据包 922 通过通过RTL8019AS发送数据发送数据 作为一个集成的以太网芯片,数据的发送校验,总线数据包的碰作为一个集成的以太网芯片,数据的发送校验,总线数据包的碰撞检测与避免是由芯片自己完成的。我们只需要配置发送数据的撞检测与避免是由芯片自己完成的。我们只需要配置发送数据的物理层地址的源地址、目的地址、数据包类型以及发送的数据就物理层地址的源地址、目的地址、数据包类型以及发送的数据就可以了。可以了。933、通过、通过RTL8019AS接收数据接收数据l在在RTL8019的初始化程序中已经
55、设置好了接收缓冲区的位置,并的初始化程序中已经设置好了接收缓冲区的位置,并且配置好了中断的模式。当有一个正确的数据包到达的时候,且配置好了中断的模式。当有一个正确的数据包到达的时候,RTL8019会产生一个中断信号,在会产生一个中断信号,在ARM中断处理程序中,接收数中断处理程序中,接收数据。据。l数据的接收比较简单,即通过远端数据的接收比较简单,即通过远端DMA把数据从把数据从RTL8019的的RAM空间读回空间读回ARM中处理。中处理。94TCP/IP 协议的层次协议的层次应用层(Application) BSD套接字(BSD Sockets) 传输层 (Transport) TCP、UD
56、P网络层 (Network) IP、ARP、ICMP、IGMP数据链路层(Data Link) IEEE802.3 Ethernet MAC物理层 (Physical) 95嵌入式以太网中主要处理的协议嵌入式以太网中主要处理的协议lARP(Address Resolation Protocol)地址解析协议地址解析协议 lICMP (Internet Control Messages Protocol)网络网络控制报文协议控制报文协议lIP(Internet Protocol) 网际协议网际协议lTCP(Transfer Control Protocol) 传输控制协议传输控制协议lUDP(U
57、ser Datagram Protocol)用户数据包协议用户数据包协议96ARP地址解析协议地址解析协议l网络层用网络层用32 bit的的IP地址来标识不同的主机,而链路层使用地址来标识不同的主机,而链路层使用48 bit的物的物理(理(MAC)地址来标识不同的以太网接口。只知道目的主机的)地址来标识不同的以太网接口。只知道目的主机的IP地址地址并不能发送数据帧给它,必须知道目的主机网络接口的并不能发送数据帧给它,必须知道目的主机网络接口的MAC地址才地址才能发送数据帧。能发送数据帧。lARP的功能是实现从IP地址到对应物理地址的转换。 源主机发送一份包含目的主机源主机发送一份包含目的主机I
58、P地址的地址的ARP请求数据帧给网上的每个请求数据帧给网上的每个主机主机,称作称作ARP广播,目的主机的广播,目的主机的ARP收到这份广播报文后,识别出收到这份广播报文后,识别出这是发送端在寻问它的这是发送端在寻问它的IP地址,于是发送一个包含目的主机地址,于是发送一个包含目的主机IP地址及地址及对应的对应的MAC地址的地址的ARP回答给源主机。回答给源主机。l每台主机上都有一个每台主机上都有一个ARP高速缓存,存放最近的,存放最近的IP地址到硬件地址之地址到硬件地址之间的映射记录。通常每一项的生存时间为间的映射记录。通常每一项的生存时间为20分钟分钟97ICMP网络网络控制报文协议控制报文协
59、议 lIP层的附属协议,层的附属协议,IP层用它来与其他主机或路由器交换错误报文和其层用它来与其他主机或路由器交换错误报文和其他重要控制信息。他重要控制信息。lICMP报文是在报文是在IP数据包内部被传输的。数据包内部被传输的。l两个实用的网络诊断工具,两个实用的网络诊断工具,Ping和和Traceroute(Tracert),都是利用该,都是利用该协议工作的。协议工作的。98IP网际协议网际协议lIP工作在网络层,是工作在网络层,是TCP/IP协议族中最为核心的协议。所有的协议族中最为核心的协议。所有的TCP,UDP,ICMP以及以及IGMP数据都以数据都以IP数据包格式传输。数据包格式传输
60、。lIP数据包最长可达数据包最长可达65535字节字节,其中报头占其中报头占32 bit的数目。包含各的数目。包含各32 bit的源的源IP地址和目的地址和目的IP地址。在嵌入式应用中,简化设计,地址。在嵌入式应用中,简化设计,IP数据包长度等于数据链路层的数据长度。数据包长度等于数据链路层的数据长度。99TCP传输控制协议传输控制协议lTCP是一个面向连接的可靠的传输层协议。是一个面向连接的可靠的传输层协议。TCP为为两台主机提供主机提供高可靠性的端到端数据通信。主要包括高可靠性的端到端数据通信。主要包括:l发送方把应用程序交给它的数据分成合适的小块,并添加附发送方把应用程序交给它的数据分成合适的小
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 快递加盟代理合同范例
- 土地承包合同的签订与履行
- 工艺品加盟合同书格式示例
- 二零二四年度许可使用合同(美术作品)
- 2024年校园商品房团购合同
- 苏教版四年级下册数学第三单元 三位数乘两位数 测试卷含答案ab卷
- 国开学习网《护理管理学》形考任务1-4答案
- 气体技术合同(3篇)
- 聘用干部合同书(3篇)
- 工程计划书(3篇)
- DB11-T1832.17-2021 建筑工程施工工艺规程第17部分:电气动力安装工程高清最新版
- 高考英语必备作文素材 人物传记 (写人)
- 音乐课件《欢乐颂》(公开课)
- DB37-T 4253-2020 地热资源勘查技术规程
- 水驱油藏调剖堵水与调驱培训课件
- 家庭医生签约服务团队绩效考核指标样版完整资料
- 2023年报考攻读博士学位研究生登记表
- 超星尔雅学习通【创业基础】章节测试附答案
- 消防中控室值班记录表(标准通用版)
- 二级减速器设计自动计算参数
- 五年级英语上册素材-Module 1课文翻译 外研版(一起点)
评论
0/150
提交评论