计算机三级-嵌入式系统开发技术笔记_第1页
计算机三级-嵌入式系统开发技术笔记_第2页
计算机三级-嵌入式系统开发技术笔记_第3页
计算机三级-嵌入式系统开发技术笔记_第4页
计算机三级-嵌入式系统开发技术笔记_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

TOC\o"1-3"\h\u专业术语(中英文对照表) 2矩阵键盘扫描原理 5汉字编码标准: 5数字图像 5热点 5数字文本(也称电子文本或文本) 5数字音频数字视频 5路由器 6互联网的接入方式 6哈佛结构 6ARM体系结构 6ARM工作模式 6ARM寄存器组: 6伪指令 7指令 7数据模式 7ARM指令条件域 7UART 8SSP 8DMA(DirectMemoryAccess,直接内存存取) 8JTAG 8GPIO 8EEPROM 8SRAM 9DRAM 9FRAM 9SoC 9AHB 9实时时钟 10DCE数据通信设备 10循环冗余校验(CRC) 11STN(SuperTwistedNematic) 11TFT(ThinFilmTransistor)是薄膜晶体管 11AMBA先进微处理器体系结构 11存储器及其控制器 117.互联通信组件UARTI2CSPICANUSB 12ARM处理芯片内部有多个可互联通信的组件,主要包括UART.12C、SPI、CAN.USB、 123.3嵌入式系统的存储器 123.4.2集成电路互连总线接口I2C 133.4.3串行外设接口SPI 143.4.4串行异步通信接口UART 143.4.6高清多媒体接口HDMI 143.6嵌入式系统外部通信接口 144.1.2嵌入式系统的软件结构 154.1.3硬件抽象层与板级支持包BSP 154.2嵌入式操作系统 164.2.1实时系统与实时操作系统 164.2.3linux内核 17uc/os嵌入式操作系统 185.1.3嵌入式系统的调试 185.2.1ADS1.2工具软件 195.2.2RVDS 195.2.3GNU 19S3C2410 20I/O接口技术 20软件 202.嵌入式处理芯片 21通信 21多路复用技术 22OTG, 22专业术语(中英文对照表)ARMadvancedRISCmachines先进精简指令集机器ARM简介:/item/arm/7518299?sefr=crSTM32简介:/item/stm32?sefr=crAHBAdvancedHighPerformanceBus先进高性能总线APBadvancedperipheralbus先进外设总线AHB访问端口AHBaccessportAHB-APASPadvancedsystembus先进系统总线AXIadvancedextensibleinterface先进的可扩展接口ATBadvancedtracebus先进的跟踪总线ACEAXI一致性扩展AXIcoherencyextensionsAPSR应用程序状态寄存器ADSARMdevelopersuiteARM开发套件BCT任务控制块(taskcontrolblockBCT)boardsupportpackageBSP板级支持包BS边界扫描测试技术boundaryscan(BS)BankedstackpointerSP分块堆栈指针byte-invariantbig-endian字节保序大端模式Busmatrix总线阵列bootROM引导只读存储器一般指用来存储bootloader程序的非易失性存储器,当前大多用NORflashROMcoresightROM表内核可视ROM表CISC(ComplexInstructionSetComputer,复杂指令集计算机RISC(ReducedInstructionSetComputer,精简指令集计算机)CEC(consumerelectronicscontrol)接口,即消费电子控制接口。矩阵键盘扫描原理方法一:逐行扫描:我们可以通过高四位轮流输出低电平来对矩阵键盘进行逐行扫描,当低四位接收到的数据不全为1的时候,说明有按键按下,然后通过接收到的数据是哪一位为0来判断是哪一个按键被按下。方法二:行列扫描:我们可以通过高四位全部输出低电平,低四位输出高电平。当接收到的数据,低四位不全为高电平时,说明有按键按下,然后通过接收的数据值,判断是哪一列有按键按下,然后再反过来,高四位输出高电平,低四位输出低电平,然后根据接收到的高四位的值判断是那一行有按键按下,这样就能够确定是哪一个按键按下了。I/O汉字编码标准:GB18030字符集与国际标准UCS/unicode字符集基本兼容,均包含中日韩统一汉字(CJK)约70000多个。GB18030采用双字节编码表示汉字,而UCS/unicode表示汉字时有两种方案,UTF-8使用3字节表示,UTF-16使用双字节编码.GB2312(双字节传输和存储汉字,包含3755个一级常用汉字和3008二级常用汉字,还有682个图形符号,包括拉丁字母、俄文、日文平假名、片假名、希腊文字、汉语拼音等,都是2字节)中所有字符在GB18030中也存在,且编码相同。Ascii字符(共128个字符,包括96个可打印字符、32个控制字符7个二进制位进行编码)、标点符号、希腊字符、阿拉伯文、和CJK汉字均采用双字节编码,其他不常用字符采用四字节编码。数字图像数字图像的文件包括BMP、TIF(TIEF)、GIF,JPEG,PNG.GIF图像文件格式颜色数目仅有256种,文件特别小,适合还联网传输。JPEG图像文件格式是静止图像数据压缩编码的国际标准,在数码相机中广泛应用。热点又称为无线接入点,是一种无线交换机或无线路由器,室内覆盖距离一般仅为30M左右,室外100-300M。数字文本(也称电子文本或文本)是以文字以及其他符号为主的一种数字媒体。根据排版格式区分为纯文本(简单文本)和丰富格式文本。纯文本是由一连串字符编码组成,只包含单纯的文字信息。在windows环境下,TXT是一种纯文本。相对于线性文本,超文本按着网络结构组织信息。WWW网页是最常见的超文本。数字文本阅读器可以是软件,也可以是一种称为“电子书阅览器”的嵌入式应用产品。PDF(便携式文本格式)用于文本交换所发展出的文本格式。优点在于跨平台、能保留文本原有格式(layout)、开放标准,能免版税自由开发PDF相容软件,是一个开放标准。2007年成为ISO32000国际标准。数字音频数字视频WAV是数字音频文件格式。AVI、MOV、RMVB、是数字视频文件格式。数字图像的分辨率用水平分辨率*垂直分辨率表示,如800*600,1024*768等,我国高清电视的图像分辨率大多为1920*1080,其宽高比为16:9.路由器路由器是用于链接异构网络的设备,工作在网络层,屏蔽不同物理网络的差异,确保易购网络的数据交换流场进行。路由器拥有多个输入端口和输出端口,可以连接多个网络,或者多个路由器,一个路由器为每个端口分配一个IP,同一个路由器拥有多个不同的IP地址。转发数据时,路由器按照端口接入的网络号判断。蓝牙技术,是一种短距离,低速度,低成本的无线通信技术,最高传输速率为1Mbps左右,传输距离大概在10M之内。无线局域网采用的协议为IEEE802.11a/b/g/n,其速率为11-108Mb/s(俗称WIFI,近些年推出的IEEE802.11n协议传输速率进一步提高到108Mb/s甚至更高)互联网的接入方式采用无线方式接入互联网的技术主要有三类:无线局域网(WLAN)接入、GPRS移动电话网接入(GPRS是通用分组无线服务的简称,它是GSM移动电话用户可用的一种移动电话用户可用的一种移动数据业务。通常支持AT命令集进行呼叫、短信、传真、数据传输等任务。)、3G移动电话网络接入。其中无线局域网必须在安装有接入点(AP)的热点区域中才能接入。ADSL是利用普通电话线将家庭用户计算机接入互联网的技术之一。此时,用户端需要配置一个ADSLMODEM和一个语音分离器,计算机则必须有以太网接口(ethernet网络RJ45.)哈佛结构是一种将程序指令存储和数据存储分开的存储器结构,是一种并行体系结构。ARM体系结构中,有3种工作状态,1.ARM状态2.thumb/thumb-2状态3.调试状态。ARM状态是ARM处理器工作在32位指令的状态,所有指令均为32位。thumb状态是ARM执行16位指令的平台,即16位状态,指令代码只有16位。thumb-2状态是ARMv7版本的ARM处理器所具有的新状态,兼容16位和32位指令长度;通过BX指令,ARM状态和thumb状态可以相互切换。Ifthumb状态下进入异常处理(异常处理要在ARM下进行),则当异常返回时,将自动切换到thumb状态Thumb-2指令集有专门提供开关中断的专用指令,其中开可屏蔽中断的指令为CPSIEI,关闭可屏蔽中断的指令为CPSIDI.ArmCortex-M系列处理器内部没有MMU.RISCreducedinstructionSETcomputer精简指令集计算机ARM工作模式采用加载/存储指令访问内存,单周期操作和指令流水线技术都是ARM处理器的技术特征。ARM寄存器组:31个通用寄存器(含PC)和6个状态寄存器,仅为32位结构通用寄存器R0-R7存放数据,存放地址R0-R15宽度32位R13堆栈指针SP,当不使用堆栈时,R13也作通用数据寄存器。R14(LINKregister)存储子程序的返回地址R15程序计数器PCCPSR程序状态寄存器存放各种标志和状态CPRS中的控制位中,I是外部中断IRQ中断禁止控制位,I=1时禁止外部IRQ中断,I=0时允许外部IRQ中断;F为禁止快速中断FIQ的控制位,F=1时禁止FIQ中断,F=0时允许FIQ中断。SPSR备份程序状态寄存器伪指令伪指令在原程序中的作用是为完成汇编程序做各种准备工作,这些伪指令只在汇编时起作用,一旦汇编结束,为指令的使命就完成。DCB为数据定义伪指令,用于分配一片连续的字节存储单元,并用伪指令后的表达式初始化。DCD为数据定义伪指令,用于分配一片连续的字存储单元,并用伪指令后的表达式初始化。DCD为数据定义伪指令,用于分配一片连续的半字存储单元,并用伪指令后的表达式初始化。CODE16伪指令通知编译器,其后的指令代码为16位的thumb指令CODE32伪指令通知编译器,其后的指令代码为16位的ARM指令MYtestEQU15000;定义一个32位常量MYtest,值为15000.EXPORT伪指令用于程序中声明一个全局标号,该标号可以在其他的文件中引用。指令跳转指令:BL带返回的跳转指令,BLX带返回且带状态切换的伪指令,BX带状态切换的伪指令。B转移指令MVN按位取反数据处理类指令可分为数据传送指令,算术逻辑运算指令,和比较指令。指定位清零位清零指令BIC按位与操作。数据模式0X1234在CPU内存中的存放方式是大端模式内存地址存放内容0X100000000X120X100000020X342.小端模式内存地址存放内容0X100000000X340X100000020X12ARM指令条件域HI无符号数大于LS无符号数小于或等于CS无符号数大于等于CC无符号数小于GT带符号数大于LE带符号数小于或等于LT带符号数小于GE带符号数大于或等于VS溢出VC未溢出PL正数或零UART通用异步收发传输器(UniversalAsynchronousReceiver/Transmitter),通常称作UART,是一种异步收发传输器,是电脑硬件的一部分。将资料由串行通信与并行通信间作传输转换,作为并行输入成为串行输出的芯片,通常集成于其他通讯接口的连结上。定义UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用于主机与辅助设备通信,如汽车音响与外接AP之间的通信,与PC机通信包括与监控调试器和其它器件,如EEPROM通信SSP(SynchronousSerialPort):同步串行接口控制器SSP:微处理芯片中的一种串行传输模式的缩写SSP(SupervisorStackPointer):微处理器芯片中用于初始化的一个指针DMA(DirectMemoryAccess,直接内存存取)是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于CPU的大量中断负载。否则,CPU需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU对于其他的工作来说就无法使用JTAG(JointTestActionGroup;联合测试工作组)是一种国际标准测试协议(IEEE1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。GPIOGeneralPurposeInputOutput(通用输入/输出)简称为GPIO,或总线扩展器,人们利用工业标准I2C、SMBus或SPI接口简化了I/O口的扩展。当微控制器或芯片组没有足够的I/O端口,或当系统需要采用远端串行通信或控制时,GPIO产品能够提供额外的控制和监视功能。EEPROM(ElectricallyErasableProgrammableRead-OnlyMemory),电可擦可编程只读存储器--一种掉电后数据不丢失的存储芯片。EEPROM可以在电脑上或专用设备上擦除已有信息,重新编程。一般用在即插即用。EPROM由以色列工程师DovFrohman发明,是一种断电后仍能保留数据的计算机储存芯片——即非易失性的(非挥发性)。它是一组浮栅晶体管,被一个提供比电子电路中常用电压更高电压的电子器件分别编程。一旦编程完成后,EPROM只能用强紫外线照射来擦除。通过封装顶部能看见硅片的透明窗口,很容易识别EPROM,这个窗口同时用来进行紫外线擦除。可以将EPROM的玻璃窗对准阳光直射一段时间就可以擦除。SRAM(StaticRandomAccessMemory),即静态随机存取存储器。它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据.SRAM不需要刷新电路即能保存它内部存储的数据。而DRAM(DynamicRandomAccessMemory)每隔一段时间,要刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能,功耗较小,但是SRAM也有它的缺点,即它的集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积。同样面积的硅片可以做出更大容量的DRAM,因此SRAM显得更贵DRAM(DynamicRandomAccessMemory),即动态随机存取存储器,最为常见的系统内存。DRAM只能将数据保持很短的时间。为了保持数据,DRAM使用电容存储,所以必须隔一段时间刷新(refresh)一次,如果存储单元没有被刷新,存储的信息就会丢失。(关机就会丢失数据)FRAM(ferromagneticrandomaccessmemory)即铁电存储器。FRAM利用铁电晶体的铁电效应实现数据存储。铁电效应是指在铁电晶体上施加一定的电场时,晶体中心原子在电场的作用下运动,并达到一种稳定状态;当电场从晶体移走后,中心原子会保持在原来的位置。这是由于晶体的中间层是一个高能阶,中心原子在没有获得外部能量时不能越过高能阶到达另一稳定位置,因此FRAM保持数据不需要电压,也不需要像DRAM一样周期性刷新。由于铁电效应是铁电晶体所固有的一种偏振极化特性,与电磁作用无关,所以FRAM存储器的内容不会受到外界条件(诸如磁场因素)的影响,能够同普通ROM存储器一样使用,具有非易失性的存储特性SoC(SystemonChip的缩写,称为系统级芯片,也有称片上系统)由ARM公司推出的AMBA片上总线受到了广大IP开发商和SoC系统集成者的青睐,已成为一种流行的工业标准片上结构。AMBA规范主要包括了AHB(AdvancedHighperformanceBus)系统总线和APB(AdvancedPeripheralBus)外围总线。AHB=AdvancedHighPerformanceBus,译作高级高性能总线。如同USB(UniversalSerialBus)一样,也是一种总线接口AHB主要用于高性能模块(如CPU、DMA和DSP等)之间的连接,作为SoC的片上系统总线,它包括以下一些特性:单个时钟边沿操作;非三态的实现方式;支持突发传输;支持分段传输;支持多个主控制器;可配置32位~128位总线宽度;支持字节、半字和字的传输。AHB系统由主模块、从模块和基础结构AHB(Infrastructure)3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。基础结构则由仲裁器(arbiter)、主模块到从模块的多路器、从模块到主模块的多路器、译码器(decoder)、虚拟从模块(dummySlave)、虚拟主模块(dummyMaster)所组成实时时钟(Real-TimeClock)、响应时间补偿(ResponseTimeCompensation)、实时通讯(Real-timecommunications)、雷达跟踪中心(RadarTrackingCentre)。实时时钟定义实时时钟(Real-TimeClock)是PC主板上的晶振及相关电路组成的时钟电路的生成脉冲,RTC经过8254电路的变频产生一个频率较低一点的OS(系统)时钟TSC,系统时钟每一个cpu周期加一,每次系统时钟在系统初起时通过RTC初始化。8254本身工作也需要有自己的驱动时钟(PIT)。主要作用提供稳定的时钟信号给后续电路用。主要功能有:时钟,日历,闹钟,周期性中断输出,32KHz时钟输出。主要性能指标控制方式:二线制,三线,四线制。晶振:分内置晶振和外置晶振。耗流,时间微调范围,时间精度以及是否有TTF功能。MPU有两种意思,微处理器和内存保护单元。MPU是单一的一颗芯片,而芯片组则由一组芯片所构成,早期甚至多达7、8颗,但目前大多合并成2颗,一般称作北桥(NorthBridge)芯片和南桥(SouthBridge)芯片。MPU是计算机的计算、判断或控制中心,有人称它为”计算机的心脏”。存储器保护单元允许ARM处理器的4GB地址空间定义8对域,分别控制8个指令和8个数据内存区域。DCE数据通信设备DataCommunicationsEquipment(数据通信设备)它在DTE和传输线路之间提供信号变换和编码功能,并负责建立、保持和释放链路的连接,由开放软件基金开发。(DataCircuit-TerminaingEquipment)数据电路终接设备,简称DCE,是能够通过网络发送和接收模拟或数字信号形式数据的设备。常用的DCE是调制解调器(modem)。DTE一般不直接连接到网络,它通过一台DCE进行通信。把DTE和DCE的连接称为DTE-DCE接口。在任何一个网络中,DTE产生数字数据并把它传送给DCE,DCE将这些数据转化成可以在传输介质上传输的格式,并将转化后的信号发送给网络上另一个DCE。第二个DCE从线路上接收信号,将信号转化成与它连接的DTE可用的格式,然后将信息转发给与它相连的DTE。循环冗余校验(CRC)若A与B通信,双方协议中采用CRC校验,约定生成多项式是G(X)=X^6+X^2+1,若A发送的信息为100110010011,问B收到的正确信息是什么?100110010011左移六位,去除以G(x)=1000101,余数是110001,冗余后,B正确收到的应该是100110010011110001这一串。STN(SuperTwistedNematic)是用电场改变原为180度以上扭曲的液晶分子的排列从而改变旋光状态,外加电场通过逐行扫描的方式改变电场,在电场反复改变电压的过程中,每一点的恢复过程较慢,因而产生余辉。它的好处是功耗小,具有省电的最大优势.彩色STN的显示原理是在传统单色STN液晶显示器上加一彩色滤光片,并将单色显示矩阵中的每一像素分成三个子像素,分别通过彩色滤光片显示红、绿、蓝三基色,就可显示出彩色画面。和TFT不同STN属于无源Passive型LCD,一般最高能显示65536种色彩。TFT(ThinFilmTransistor)是薄膜晶体管的缩写。TFT式显示屏是各类笔记本电脑和台式机上的主流显示设备,该类显示屏上的每个液晶像素点都是由集成在像素点后面的薄膜晶体管来驱动,因此TFT式显示屏也是一类有源矩阵液晶显示设备。是最好的LCD彩色显示器之一,TFT式显示器具有高响应度、高亮度、高对比度等优点,其显示效果接近CRT式显示器。同时,TFT式屏幕也普遍应用于中高端彩屏手机中,分65536色、16万色,1600万色三种,其显示效果非常出色。TFT是指液晶显示器上的每一液晶像素点都是由集成在其后的薄膜晶体管来驱动。从而可以做到高速度高亮度高对比度显示屏幕信息,TFT-LCD(薄膜晶体管液晶显示器)是多数液晶显示器的一种AMBA先进微处理器体系结构由ARM公司研发推出的AMBA(AdvancedMicrocontrollerBusArchitecture)片上总线.可将RISC处理器集成在其它IP芯核和外设中,2.0版AMBA标准定义了三组总线:AHB(AMBA高性能总线)、ASB(AMBA系统总线)、和APB(AMBA外设总线)。系统总线经过桥接器(bridge)变换成外围总线APB的信号AMBA有多个版本,至2011年,AMBA已从AMBA1.0发展到了AMBA4.0,性能随版本的发展也逐渐提高。ARM7采用AMBA1,而ARM9采用AMBA基于ARM内核的嵌入式芯片的硬件组成存储器及其控制器用于管理和控制片内的SRAM,ROM,FLASHROM。中断控制器对其他硬件的中断请求进行管理和控制,一般采用向量中断(VIC0和嵌套向量中断(NVIC)方式管理中断。DMA控制器直接存储器访问控制器电源管理与时钟控制器ARM处理芯片内部的电源管理有正常工作模式,慢时钟模式,空闲模式,掉电模式,休眠模式,深度休眠模式,GPIO端口定时计数组件主要包括看门狗定时器(WDT),timer通用定时器,RTC,脉冲宽度调节器(pulsewidthmodulation,PWM)模拟通道组件ADCDAC比较器互联通信组件UARTI2CSPICANUSBARM处理芯片内部有多个可互联通信的组件,主要包括UART.12C、SPI、CAN.USB、通用异步收发器(UniversalAsynchronousReceiver/TransmitterUART)为标准的串行通信接口,字符格式按照低位在前、高位在后的次序进行传输,l位起始位,5-8位数据位,1位奇偶校验位,1-2位停止位。它是应用最为广泛的串行通信接口,可完成全双工的串行异步通信。外接电平和逻辑转换收发器后可做成RS-232.RS-422.RS-485筹标准的串行接口。RS是英文“推荐标准”的缩写I2c(Inter-lntegratedCircuit)集成电路互联串行半双工是集成电路互连的一种总线标准,只有两根信号线'一根是时钟线SCL,一根是数据线SDA(双向三态),即可完成数据的传输操作。具有特定的起始位和终止位,可完成同步半双工串行通信方式,常用于板级芯片之间的短距离低速通信。I2S(lnter_lntegratedCircuitSoundBus)是一种面向多媒体应用的音频串行总线,是SONY.PHILIPS等公司共同推出的接口标准,主要针对数字音频设备如便携CD机、数字音频处理器等,专用于这些音频设备之间的数据传输。SPI(SerialPeripheralInterface)是串行外设接口,总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信。通常用四线制,包括MISO(主输入从输出)、MOSI(主输出从输入)、SSL(低电平有效的从机芯片选择)和SCK(串行时钟线)。可完成全双工的同步串行通信,用于板级芯片之间的短距离通信。CAN(ControllerAreaNetwork)是控制器局域网,仅有CANH和CANL两根信号线,采用差分传输的方式,可以进行远跑离(1200m)多机通信。主要用于要求抗干扰能力强的工业控制领域,可组成多主多从系统。CRC校验USB(UniversalSerialBus)是一种通用串行总线,主要应用于与外部设备的短距离通信,也采用差分方式传输数据,速度快,效率高,是目前应用最广的串行总线接口形式。Ethernet是以太网通信接口,在许多新型ARM芯片(如Cortex-M3系列)中均集成了这一接口,把以太网MAC层做到芯片内部,有的连物理层也做进去了,使连接以太网变得非常容易,外部仅需要连接一个RJ-45连接器即可。3.2.4嵌入式处理芯片选型3.3嵌入式系统的存储器新型存储器FRAM铁电随机存取存储器ferroelectricrandomaccessmemoryMRAM磁性随机存取存储器Magneticrandomaccessmemory随机存储器RAM(Random

Access

Memory)易失性存储器,掉电信息失去RAM又分为静态RAM(SRAM以触发器原理寄存信息)和动态RAM(DRAM以电容充放电原理寄存信息)。

只读存储器ROM(Read

only

Memory)非易失性存储器只读存储器分为掩膜型只读存储器MROM(Masked

ROM)、可编程只读存储器PROM(Programmable

ROM)、可擦除可编程只读存储器EPROM(Erasable

Programmable

ROM)、用电可擦除可编程的只读存储器EEPROM(Electrically

Erasable

Programmable

ROM)。以及近年来出现了的快擦型存储器Flash

Memory,它具有EEPROM的特点,而速度比EEPROM快得多。NORflash(以字节为单位进行存取)和NANDflash(以页,行为单位进行存取)是市场上两种主要的闪存技术。存储器的带宽指是指每秒可传输(读出/写入)的最大数据总量。其与存储器总线的工作频率、也与数据线的位数(位宽、宽度)和每个总线周期的传输次数有关。NORflash和NANDflash是市场上主要的两种闪存技术;NORflashROM是以字节为单位进行随机存取,但写入和擦除速度较慢,影响他的性能。NANDflashROM以页(行0为单位进行随机存取,在容量,使用寿命,成本方面有优势。但读出速度较慢,编程较为复杂,大多用于数据存储。数码相机存储卡和U盘中的flash均为NANDFLASH。典型片外存储器的带宽及容量计算。带宽=总线频率×数据宽度/8*传输次数/总线周期=1332MB/s;存储器容量V,地址总线M,数据总线N,V=。如地址总线20条,数据总线16条,V==16Mb=2M.3.4I/O接口及常用的I/O设备3.4.1通用I/O接口GPIO输入缓冲输出锁存三态:0态,1态高阻态3.4.2集成电路互连总线接口I2C连接嵌入式处理器及其外围器件串行半双传输的总线标准主动发起数据传输操作的I2C器件是主控器件,否则是从器件。有两条信号线。一数据线SDA,二时钟线SCL,SDA上的数据必须在时钟的高电平周期保持稳定,他的高低电平只能在时钟信号线是低电平时才能实现。涉及操作时序:启动和停止条件数据传输格式应答(ACK)信号传送读/写操作总线仲裁异常中断条件3.4.3串行外设接口SPI同步串行外设接口基于SPI接口的外围设备主包:flashROM,RAM,A/D转换器网络控制器MCU。一般4条线:串行时钟线SCK,主机输入/从机输出数据线MISO,主机输出/从机输入数据线MOSI,和低电平有效的从机选择线SSEL3.4.4串行异步通信接口UART全双工异步串行通信由发送器,接收器,控制单元,波特率发生器构成发送模式:先进先出(FIFO)模式普通发送模式查询发送方式接收模式:先进先出(FIFO)模式普通发送模式3.4.5通用串行总线USBUniversalserialBUS采用反转不归零制编码(NON-returntozero,NRZI),即电平保持时传输逻辑1,反转时传输0.半双工差分方式传输3.4.6高清多媒体接口HDMIHighdefinitionmultimediainterface,一种数字化/音频接口,同时传输音频/视频信号而无须再传输前进行数模,模数转换。HDMI在STM32F100中也成为CEC(consumerelectronicscontrol)接口,即消费电子控制接口。19针和29针即插即用3.4.7常用输入设备键盘触摸屏其他感应传感器键盘:线性键盘(一个键盘占一个引脚)矩阵键盘(行列矩阵扫描法,反转法读取键值)触摸屏:电阻式(软屏)结构简单,价格低,电容式(硬屏)复杂,贵3.4.8输出设备LED灯数码管LCD显示设备(接口标准,VGA,videographicsarray视频图形阵列,DVI,digitalvisualinterface两种主要形式,现在开始流行HDMI)VGA,videographicsarray视频图形阵列/item/VGA/258838?fr=aladdinDVI,digitalvisualinterface数字视频接口/item/DVIHDMIHighDefinitionMultimediaInterface(高分辨率多媒体接口3.6嵌入式系统外部通信接口基于UART的RS-232/RS-485接口CAN总线接口基于SPI(串行外设接口)的CAN总线扩展接口基于并行总线的CAN总线扩展接口CAN总线的数据帧由7个不同的域组成,按照顺序排列为帧起始,仲裁域,控制域,数据域,校验域(CRC欲),应答域,帧结尾。以太网通信接口3.1基于内置以太网控制器的以太网接口3.2不带内置以太网控制器的以太网接口以太网控制器DM9000以太网水晶接头RJ-45网络变压器H1102主要用于信号电平耦合,增强信号,使其传输距离更远。常用无线通信接口GPS模块(globalpositioningsystem)北斗模块GPRS模块通用分组无线服务WIFI模块使用IEEE802.11系列协议的无线局域网又称wifi(wirelessfidelity即无线保真)蓝牙模块射频通信模块如SI4432,SI1000,嵌入式软件系统4.1.2嵌入式系统的软件结构简单的轮询结构round-robin应用程序重复循环检查每一个外部输入条件,一旦有需要处理的任务,则进行相应的处理。带中断的轮循结构也称中断驱动结构或前后台结构后台是一个循环执行的轮询程序,前台则由若干个中断服务程序组成。监控式操作系统+应用软件结构嵌入式操作系统embeddedoperatingsystemEOS通用嵌入式操作系统+应用软件结构嵌入式系统软件控制和管理系统中的资源,为嵌入式应用提供支持,通常可分为硬件抽象层(驱动层),操作系统层,中间件层。中间件(middleware)软件是指出来操作系统内核,设备驱动程序和应用软件之外的系统软件。中间件是具有标准程序接口和协议的通用服务。通用的中间件有JAVA虚拟机中间件,数据库访问中间件、图形和图像处理中间件,面向特定应用的有数字电视中间件,嵌入式RFID中间件。嵌入式系统通常是在开发主机上进行交叉开发的,所以在开发主机和嵌入式目标机上运行着大量的支撑软件:指辅助嵌入式系统设计、开发及测试的工具软件,包括系统分析设计工具、在线仿真工具、交叉编译器、源程序模拟器和配置管理器。大部分自称软件运行在开发平台上,在调试阶段,嵌入式系统目标平台上也会运行一些开发工具的代理程序(agent)。4.1.3硬件抽象层与板级支持包BSP概念hardwareabstractlayerHALboardsupportpackageBSP都是嵌入式系统的底层软件。将嵌入式系统软件中位于操作系统层与硬件之间的、与硬件相关的软件层统称为硬件抽象层,而板级支持包则被看作是硬件抽象层与在特定操作系统环境系下的具体实现。BSP实际上是一些汇编程序和C语言代码相结合的操作系统底层软件。包括初始化程序,设备驱动程序,配置文件,和引导加载程序。HAL和BSP实例NIOS是altera公司推出的32位哈佛结构用户可配置的通用RISC软核处理器。SOPCbuilder开发工具Wpact7(WEC7)BSP微软公司推出由引导加载程序(bootloader)、OEM适配器(OAL)、设备驱动程序、配置文件和内核无关的传输层(KITL)组成。BootROM引导只读存储器1.5设备驱动程序指直接与硬件相互作用并控制硬件的软件。通常以一组函数的形式出现,该函数封装了对硬件(包或虚拟硬件)的操作。一般功能包括:设备初始化、设备打开或关闭、设备读取和写入(数据收发)、设备状态查询和设备控制操作。Vxworks操作系统有高性能事实内核wind、文件系统、I/O系统、网络协议栈和板级支持包组成。BSP、网络驱动程序和USB驱动程序等构成硬件抽象层。引导加载程序嵌入式下加电后执行的第一批最初操作是引导或者自举(boot),对应的程序成为引导程序或者加载程序,英文术语bootloader主要完成内存加电自检、外设存在自检,内存地址映射,初始化外围设备,内存地址寻址,加载和启动操作系统。对于嵌入式linux系统,bootloader主要完成的工作步骤如下:1.初始化处理器及外设的硬件资源配置2.建立内存空间的映射,使能MMU,是系统地内存和外存地址变换激活,为最终调用操作系统内核做准备3,装在操作系统影响到内存;4,对FLASH存储器编程;5,运行操作系统;6,传递系统启动参数;7,命令行解析和输入/输出控制;2嵌入式操作系统特点:具有可移植性、强调实时性能、内核精简、抢占式多任务处理、使用可重入函数、可配置、可剪裁、高可靠性。实时操作系统(real-timeoperatingsystemRTOS)对外来中断事件能迅速反应并及时处理2.1实时系统与实时操作系统1.实时系统real-timesystem是必须在有限和确定的时间内对外部事件做出相应的信息系统。功能正确性时间正确性。时间的可预见性和确定性。指标:时限deadline相对时限和绝对时限相对时限:事件提出请求后,系统所允许的最大时间长度绝对时限:不管请求何时提出,相应任务必须完成的截止时间。在系统中运行的任务按时限对系统行为的影响分为:硬实时任务(hardreal-timetask有时也称强实时任务)必须在给定的时间内完成。软实时任务(softreal-timetask有时也称弱实时任务)相应越快越好,偶尔超过时限并不造成任务失败。准实时任务(firmreal-timetask)允许偶尔错过最后期限,但超时,所进行的操作和计算没有意义。实时系统的关键特性:时间约束性,可预测性,可靠性,交互性实时系统的任务时限有两种类型:截止时间和任务执行预设时间2.实时操作系统是不以在给定的时间内完成更多的任务为目标,而是以响应外部事件尽可能快且响应时间具有确定性为目标的操作系统。WindowS不是实时操作系统。实时操作系统完成每次任务所需时间的偏差称为抖动。操作系统的时间确定性首先取决于它相应终端的速度,其次取决于系统是否具有足够的处理能力在规定的时限内完成所有的时间请求。实时操作系统一般采用以下机制来保证对实时任务的相应和处理的时间确定性。1.事件驱动型2.多集中断嵌套处理3.细粒度的任务优先级控制4.实时抢占式调度。3实时操作系统的实时性指标1.响应时间2.中断延迟时间interruptlatency3.任务切换时间taskswitchingtime4.任务抢占时间taskpreemptiontime实时操作系统的性能指标主要根据三个指标来衡量;响应时间、吞吐量、和生存时间。吞吐量(throughput)是指在给定时间内,实时系统可以处理的事件总数。响应时间的具体相应指标是:中断延迟时间,任务切换时间。从接收到可屏蔽中断请求信号到操作系统做出响应并转入中断服务程序所需要的最长时间,成为中断延迟时间。改时间包括两部分:一是最长关中断时间,是指系统因执行临界区代码等原因不允许响应中断请求的时间;二是从硬件开始响应中断到开始执行中断服务程序第一条指令之间的时间。2.2操作系统分类按是实行分类:硬实时操作系统。VxorksRTEMS、QNX、uc/os-2、Nucleus软实时操作系统或非实时操作系统winCE和各种嵌入式linux内核结构:单内核和微内核单内核(宏内核):整体结构和分层结构典型unix、BSDunix、linux、MS-DOS、windowS9x(windows98/95/Me/CE)\android微内核:所谓微内核,是将任务管理、调度器、中断管理和进程间通信模块编译成一个功能精简、空间紧凑的模块。AIX、mach、minix、vxworks、QNX、ios、symbian。us/os-II混合内核:常用嵌入式操作系统:风河系统公司的vxworks,QNX软件系统公司的QNX(符合FOSIX基本标准和实时标准,可移植,微内核操作系统,内核提供4种服务:进程调度,进程间通信,底层网络通信,中断处理。),mentorgraphics/ATI公司的nucleusPLUS微软公司的windows操作系统家族RTEMS操作系统tinyOS无线传感器网络操作系统(开放源代码操作系统,属于深度轻量级的操作系统;专为嵌入式无线传感网络设计,功耗低,特别适用传感器这种受内存、功耗限制的设备。技术特点是轻线程、主动消息、事件驱动和组件化编程。)ecosfreeRTOS4.2.3linux内核主要作用:进程管理与调度、内存管理、文件管理、网络接口和进程间通信。嵌入式linux操作系统主要由用户进程、OS服务组件和LINUX内核三大子系统组成。Linux内核主要有5个子系统组成:进程调度(sched),内存管理(MM)、虚拟文件系统(VFS)、网络接口(NET)、进程间通信(IPC)。2.4linux嵌入式操作系统开源软件opensourcesoftware指软件开发时附上源代码的计算机软件。2.5android操作系统是一种以linux为基础的半开源操作系统,主要用于移动便携设备;如果使用不同的软件开发包,使用的编程语言也不同。谷歌不对基于android操作系统的第三方软件进行严格控制,从而使第三方应用软件发展迅速。Android系统采用堆层式软件架构,它的组成,分为4层,从低层到高层分别是内核,系统运行库,应用程序框架和应用。2.6ios操作系统3uc/os嵌入式操作系统microcontrolleroperationsystem微控制器操作系统抢占式实时操作系统它支持多任务并发运行,其中操作系统自己可以使用8个任务,用户自己编写的程序最多可以有56个任务其内核大致可分为任务调度,任务管理,时间管理,任务间同步与通信以及内存管理,系统管理等模块。(uc/os-2-3不包含设备驱动程序和文件系统,-3是商用操作系统,支持的任务数最多为64个)系统管理又分为系统初始化,系统启动,中断管理,时钟中断及事件处理等。任务及其管理任务是操作系统基本调度单位,有操作系统内核管理,任务之间使用系统服务进行同步与通信。任务有三部分组成:程序代码、任务堆栈、任务控制块(taskcontrolblockBCT)。程序代码实际上是一个没有返回值的C函数,允许传递任何类型的参数给任务,但返回值必须是viod类型。uc/os-2操作系统每个任务都是一个无限的循环,任务总处在5个状态:等待态、休眠态、就绪态、运行态、被中断态。当处于运行态的任务执行节拍延时函数OSTimeDly()后,该任务将转入挂起态。一旦预定的延时时间达到,该任务立即转入就绪态。基于us/os操作系统的嵌入式系统,一般具有四成软件结构:应用软件层、应用程序接口层、uc/os-内核层、设备驱动层。us/os-II中可以定义的最大任务数是64个,最高优先级定为0;最低优先级的任务的名称为空闲任务,其优先级为63。us/os-II允许中断嵌套,嵌套层数最多255层。us/os-II总是运行在处于就绪态任务中优先级最高的那个任务。实现任务切换的函数是OSCtxSw(),任务级的调度由函数OSSched(),中断级的调度由函数OSIntExit(),us/os-II事件控制块有4中类型,需要4种不同的函数来创建,他们是:OSSemCreate(),OSMutexCreate(),OSMboxCreate(),OSQCreate().嵌入式实时操作系统开发平台包括:面向嵌入式应用的实时操作系统及其函数库、一套程序开发工具(如项目管理器、编辑器、编译器、连接器、定位器等,开发者根据所选用的OS和编程语言JAVACC++来确定要使用的工具,如ADS、RVDS、GNU)合适的调试工具如仿真器、逻辑分析仪、开发板、评估版。其他包含各种中间件和软件组件的面向不同应用领域的各种应用平台。集成开发环境integrateddevelopmentenvironmentIDE仿真平台(仿真开发平台)一般指嵌入式系统开发过程中使用的虚拟机管理软件,仿真软件、指令集模拟器。5.1.3嵌入式系统的调试在线仿真器in-circuitemulatorICE片上调试技术-JTAG片上调试技术ON-chipdebuggingOCD边界扫描测试技术boundaryscan(BS)是对芯片和印刷电路板进行片上调试的最常用的技术。基本思想是靠近芯片的输入输出引脚处增加一个移位寄存器,成为边界扫描寄存器(BSR),芯片正常时,BSR相对透明,芯片不受影响;当芯片处于调试状态时,BSR可以将芯片与外围的输入输出信号隔离开来,对输入脚,把BSR中与之相对;应的信号(数据)加载到该引脚。输出引脚,把芯片的输出信号(数据)“捕获”到与之相对应的BSR中。JTAG(/item/JTAG%E6%8E%A5%E5%8F%A3/8854374)标准是片上调试技术的一种国际标准,常用于芯片和电路板的调试。该标准中规定的TAP接口具有5根信号线。分别为TCK时钟信号线,TMS模式选择信号线,TDI数据输入信号线,TDO数据输出信号线,TRST复位线JTAG的基本原理是在器件内部定义一个TAP(TestAccessPort;测试访问口)通过专用的JTAG测试工具对内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。如今,JTAG接口还常用于实现ISP(In-SystemProgrammer,在系统编程),对FLASH等器件进行编程。驻留监控软件调试residentmonitors指令集模拟器instructionSetsimulatorISS是在宿主机上模拟应用程序在目标机上运行行为的一个软件工具。5.2系统开发工具软件5.2.1ADS1.2工具软件ADS是ARMdevelopersuite的首字母组合,是ARM公司推出的针对开发以ARM系列CPU为核心的嵌入式系统时常用的工具套件。CodewarriorforARM集成开发环境是ADS1.2套件中重要组成部分。BNF/item/BNF?fr=aladdin巴科斯范式(BNF:Backus-NaurForm的缩写)是由JohnBackus和PeterNaur首次引入一种形式化符号来描述给定语言的语法(最早用于描述ALGOL60编程语言)。5.2.2RVDSrealviewdevelopmentsuiteARM公司推出的基于ARM系列CPU进行开发的工具套件,被认为最好的开发工具。功能模块主要包括:工程管理器(IDE)、编译连接器(RVCT)、调试器(RVD)、和指令集仿真器(RVISS)。5.2.3GNUGNU开发工具套件中包含编译器、连接器、调试器等工具,其中GCC是编译器、连接器工具、GDB是调试器工具。若要对某应用程序进行调试,则在编译该应用程序时,要在编译命令中加入-g。GCC是GNU开发工具套件中的核心工具套件,是GNUC语言编译器的简称,GCC所编译的目标机的处理器包括X86、ARM、powerPC等体系结构的处理器,如ARM-linux-GCC即是针对ARM体系结构目标机的编译工具。GNU开发工具的使用,调试命令。其装入需要调试的可执行文件命令是file命令,终止当前被调试程序运行的命令是kill命令。基于uc/os-2操作系统的应用程序的main()函数中,需要用函数OSTaskCreate()来创建任务,创建任务前用OSInit()来初始化uc/os-2.5.3系统开发实例5.3.1数字式电子钟5.3.2便携式心电记录仪5.3.3基于嵌入式WEB服务器的应用设计S3C2410S3C2410的电源管理模块具有正常模式(NORMALMODE)、慢速模式(SlowMODE)、空闲模式(IDLEMODE)和掉电模式(POWER_OFFMODE)共四种模式。任何情况下复位操作均自动进入正常工作模式;在掉电模式和休眠模式下,只要有任何一个外部中断EINT[0:23]或RTC时钟中断发生,也均将返回到正常模式;正常模式下电源管理模式为内核及ARM芯片内部所有硬件组件提供时钟源,即所有设备处于开启状态,因此功耗比较大。用户可以通过软件控制内置硬件组件的开启和关闭,暂时不用的硬件可以关闭以降低功耗。S3C2410中断控制器支持所有内置硬件各组件的硬件中断,包括24个外屏蔽中断EINTO-EINT23以及ADC、RTC、SPI、I2C、UART0/UART1、SDI、USB、DMAO/I/2/3,LCD、WDT、TIMER0/1/2/3,电池错误中断等。S3C2410有三个UART接口UARTO、UART1和UART2,其对应的线路控制器为ULCONO、ULCON1和ULCON2,用于确定传输帧的格式;UART的波特率由除数寄存器决定,也取决于外部时钟,还可以是UEXTCLK,由相应控制寄存器决定;通过对UART的控制寄存器进行编程可确定每个UART的相关中断是否允许;。I/O接口技术嵌入式系统的输入/输出设备种类繁多,按其服务对象可分为两大类:(l)用于人机交互的设备:如按键、键盘、触摸板、触摸屏、鼠标器、操纵杆、手写笔、话筒(麦克风)、发光二极管(Light-EmittingDiodes,LED)、液晶显示器(LiquidCrystalDispaly,LCD)、打印机等,它们是用户界面的硬件部分。(2)用于机机交互的设备:包括各种类型的传感器(压力传感器、温度与湿度传感器、重量传感器、运动传感器、距离传感器、光传感器、红外传感器、电流电压传感器和生物传感器)和各种伺服执行机构(继电器、微电机、步进电机、线性电机等)。I/O接口用于连接(包括电器连接与物理连接)和控制I/O设备的工作。它有多种类型:从数据传输速率来看,有低速和高速之分;从数据传输方式来看,有串行和并行之分;从是否需要物理连接来看,有有线与无线之分;从是否能连接多个设备来看,有总线式(可串接多个设备)和独占式(只能连接一个设备)之分。嵌入式系统常用的一些1/0接口有:·通用串行总线式接口:USB2.O/USB3.0、IEEE1394、以太网接口等;·异步串行接口:RS-232-C、RS-485等;·视频信号接口:视频图形阵列(VideoCraphicsArray,VGA)接口、数字视频接口(DigitalVideoInterface,DVI)、高清晰度多媒体接口(HighDefinitionMultimediaInterface,HDMI)等;·工业总线接口:控制器局域网(CoiitrolAreaNctwork,CAN)接口、1553B接口、局域互联网(LocalInterconII(JctNetwork,LIN)接口等;·无线接口:红外线(IrDA)接口、蓝牙(Bluetooth)接口、Zigbee接口、WiFi接口等。4)数据总线数据总线(DataBus)简称总线,它是嵌入式系统各组件之间进行数据传输的一个传输通路。它由传输线和控制电路组成,为连接在总线上的系统内或系统外的各个组件提供数据传输和相应的控制服务。总线连接着嵌入式系统内部和外部的许多组件。将系统内部的组件连接在一起的总线称为内部总线,与外部组件(包括与其他嵌入式系统)进行连接所使用的总线称为外部总绒。外部总线也称为系统的扩充总线,它们与通信网络接口和某些I/0接口有时并不严格区分。软件嵌入式系统的软件配置有多种情况。一些低端嵌入式系统的软件很简单,它们

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论