嵌入式ARM 今天
本文主要介绍了嵌入式系统的基础知识,涉及嵌入式软件和硬件的方方面面,希望对各位有帮助。(1)定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。(2)嵌入式系统发展的四个阶段:无操作系统阶段、简单操作系统阶段、实时操作系统阶段、面向Internet阶段。(3)知识产权核(IP核):具有知识产权的、功能具体、接口规范、可在多个集成电路设计中重复使用的功能模块,是实现系统芯片(SOC)的基本构件。(4)IP核模块有行为、结构和物理3级不同程度的设计,对应描述功能行为的不同可以分为三类:软核、固核、硬核。嵌入式系统包含:硬件层、中间层、系统软件层、应用软件层。嵌入式核心模块=微处理器+电源电路+时钟电路+存储器Cache:位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。它的主要目标是减小存储器给微处理器内核造成的存储器访问瓶颈,使处理速度更快。(1)硬件层:嵌入式微处理器、存储器、通用设备接口和I/O接口。(2)中间层:也称为硬件抽象层HAL,或者板级支持包BSP。它将系统上层软件和底层硬件分离开来,使系统上层软件开发人员无需关系底层硬件的具体情况,根据BSP层提供的接口开发即可。BSP具有硬件相关性和操作系统相关性,设计一个完整的BSP,需要完成两部分工作:
◆ 片级初始化:纯硬件的初始化过程,把嵌入式微处理器从上电的默认状态逐步设置成系统所要求的工作状态。
◆ 板级初始化:包含软硬件两部分在内的初始化过程,为随后的系统初始化和应用程序建立硬件和软件的运行环境。
◆ 系统级初始化:以软件为主的初始化过程,进行操作系统的初始化。
(3)系统软件层:由RTOS、文件系统、GUI、网络系统及通用组件模块组成。RTOS是嵌入式应用软件的基础和开发平台。(4)应用软件:由基于实时系统开发的应用程序组成。(1)定义:能在指定或确定的时间内完成系统功能和对外部或内部、同步或异步时间做出响应的系统。(2)区别:通用系统一般追求的是系统的平均响应时间和用户的使用方便;而实时系统主要考虑的是在最坏情况下的系统行为。(3)特点:时间约束性、可预测性、可靠性、与外部环境的交互性。(4)硬实时(强实时):指应用的时间需求应能够得到完全满足,否则就造成重大安全事故,甚至造成重大的生命财产损失和生态破坏,如:航天、军事。(5)软实时(弱实时):指某些应用虽然提出了时间的要求,但实时任务偶尔违反这种需求对系统运行及环境不会造成严重影响,如:监控系统、实时信息采集系统。(6)任务的约束包括:时间约束、资源约束、执行顺序约束和性能约束。(1)调度:给定一组实时任务和系统资源,确定每个任务何时何地执行的整个过程。(2)抢占式调度:通常是优先级驱动的调度,如uCOS。优点是实时性好、反应快,调度算法相对简单,可以保证高优先级任务的时间约束;缺点是上下文切换多。(3)非抢占式调度:通常是按时间片分配的调度,不允许任务在执行期间被中断,任务一旦占用处理器就必须执行完毕或自愿放弃,如WinCE。优点是上下文切换少;缺点是处理器有效资源利用率低,可调度性不好。(4)静态表驱动策略:系统在运行前根据各任务的时间约束及关联关系,采用某种搜索策略生成一张运行时刻表,指明各任务的起始运行时刻及运行时间。(5)优先级驱动策略:按照任务优先级的高低确定任务的执行顺序。(6)实时任务分类:周期任务、偶发任务、非周期任务。(7)实时系统的通用结构模型:数据采集任务实现传感器数据的采集,数据处理任务处理采集的数据、并将加工后的数据送到执行机构管理任务控制机构执行。(1)冯诺依曼结构:程序和数据共用一个存储空间,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,采用单一的地址及数据总线,程序和数据的宽度相同。例如:8086、ARM7、MIPS等。(2)哈佛结构:程序和数据是两个相互独立的存储器,每个存储器独立编址、独立访问,是一种将程序存储和数据存储分开的存储器结构。例如:AVR、ARM9、ARM10等。(3)CISC与RISC的特点比较:计算机执行程序所需要的时间P,可以用下面公式计算P=I×CPI×T。其中,I为高级语言程序编译后在机器上运行的指令数;CPI为执行每条指令所需要的平均周期数;T为每个机器周期的时间。(4)流水线的思想:在CPU中把一条指令的串行执行过程变为若干指令的子过程在CPU中重叠执行。
◆ 吞吐率:单位时间里流水线处理机流出的结果数。如果流水线的子过程所用时间不一样长,则吞吐率应为最长子过程的倒数。
◆ 建立时间:流水线开始工作到达最大吞吐率的时间。若m个子过程所用时间一样,均为t,则建立时间T=mt。
◆ 存储器单位:字节(8位)。
◆ 字长决定了微处理器的寻址能力,即虚拟地址空间的大小。
◆ 32位微处理器的虚拟地址空间位232,即4GB。
◆ 小端字节顺序:低字节在内存低地址处,高字节在内存高地址处。
◆ 大端字节顺序:高字节在内存低地址处,低字节在内存高地址处。
◆ 网络设备的存储顺序问题取决于OSI模型底层中的数据链路层。
(1)根据电路是否具有存储功能,将逻辑电路划分为:组合逻辑电路和时序逻辑电路。(2)组合逻辑电路:电路在任一时刻的输出,仅取决于该时刻的输入信号,而与输入信号作用前电路的状态无关。常用的逻辑电路有译码器和多路选择器等。(3)时序逻辑电路:电路任一时刻的输出不仅与该时刻的输入有关,而且还与该时刻电路的状态有关。因此,时序电路中必须包含记忆元件。触发器是构成时序逻辑电路的基础。常用的时序逻辑电路有寄存器和计数器等。(5)NOR(或非)和NAND(与非)的门电路称为全能门电路,可以实现任何一种逻辑函数。(6)译码器:多输入多输出的组合逻辑网络。每输入一个n位的二进制代码,在m个输出端中最多有一个有效。当m=2n是,为全译码;当m<2n时,为部分译码。(7)由于集成电路的高电平输出电流小,而低电平输出电流相对比较大,采用集成门电路直接驱动LED时,较多采用低电平驱动方式。液晶七段字符显示器LCD利用液晶有外加电场和无外加电场时不同的光学特性来显示字符。(8)时钟信号是时序逻辑的基础,它用于决定逻辑单元中的状态合适更新。同步是时钟控制系统中的主要制约条件。(9)在选用触发器的时候,触发方式是必须考虑的因素。触发方式有两种:一种是电平触发方式,具有结构简单的有点,常用来组成暂存器;另一种是边沿触发方式,具有很强的抗数据端干扰能力,常用来组成寄存器、计数器等。(1)总线是各种信号线的集合,是嵌入式系统中各部件之间传送数据、地址和控制信息的公共通路。在同一时刻,每条通路线路上能够传输一位二进制信号。按照总线所传送的信息类型,可以分为数据总线(DB)、地址总线(AB)、控制总线(CB)。
◆ 总线带宽:一定时间内总线上可以传送的数据量,一般用MByte/s表示。
◆ 总线宽度:总线能同时传送的数据位数(bit),即人们常说的32位、64位等总线宽度的概念,也叫总线位宽。总线的位宽越宽,总线每秒数据传输率越大,也就是总线带宽越宽。
◆ 总线频率:工作时钟频率以MHz为单位,工作频率越高,则总线工作速度越快,也即总线带宽越宽。
总线带宽=总线位宽×总线频率/8,单位是MBps。
◆ 常用总线:ISA总线、PCI总线、IIC总线、SPI总线、PC104总线和CAN总线等。
(3)只有具有三态输出的设备才能够连接到数据总线上,常用的三态门为输出缓冲器。(4)当总线上所接的负载超过总线的负载能力时,必须在总线和负载之间加接缓冲器或驱动器,最常用的是三态缓冲器,其作用是驱动和隔离。(5)采用总线复用技术,可以实现数据总线和地址总线的共用,但会带来两个问题:一是需要增加外部电路对总线信号进行复用解耦,比如地址锁存器;二是总线速度相对非复用总线系统低。(7)对总线仲裁问题的解决是以优先级(优先权)的概念为基础。(1)数字集成电路可以分为两大类:双极型集成电路(TTL)、金属氧化物半导体(MOS)。(2)CMOS电路由于其静态功耗极低,工作速度较高,抗干扰能力较强,被广泛使用。(3)解决TTL与CMOS电路接口困难的办法是在TTL电路输出端与电源之间接一上拉电阻R,上拉电阻R的取值由TTL的高电平输出漏电流IOH来决定,不同系列的TTL应选用不同的R值。这方面的内容,从总体上有个概念性的认识应该就可以了。(1)进位计数制与转换:这样比较简单,也应该掌握怎么样进行换算,有出题的可能。正数的反码与源码相同,负数的反码为该数的源码除符号位外按位取反。正数的补码与源码相同,负数的补码为该数的反码加一。例如:-98的源码为11100010B,反码为10011101B,补码为10011110B。(3)定点表示法:数的小数点的位置人为约定固定不变。(4)浮点表示法:数的小数点位置是浮动的,它由尾数部分和阶数部分组成。任意一个二进制N总可以写成N=2P×S,其中S为尾数,P为阶数。(5)汉字表示法:搞清楚GB2318-80中国标码和机内码的变换。
◆ 采样频率:一秒内采样的次数,反映了采样点之间的间隔大小。人耳的听觉上限是20kHz,因此40kHz以上的采样频率足以使人满意(CD唱片采用的采样频率是44.1kHz)。
◆ 测量精度:样本的量化等级,目前标准采样量级有8位和16位两种。
◆ 声道数:单声道和立体声双道。立体声需要两倍的存储空间。
(1)根据码组的功能,可以分为检错码和纠错码两类。检错码是指能自动发现差错的码,例如奇偶检验码;纠错码是指不仅能发现差错,而且能自动纠正差错的码,比如循环冗余校验码。(2)奇偶检验码、海明码、循环冗余校验码(CRC)。(1)性能指标:分为部件性能指标和综合性能指标,主要包括:吞吐率、实时性和各种利用率。(2)可靠性与安全性:可靠性是嵌入式系统最重要、最突出的基本要求,是一个嵌入式系统能正常工作的保证,一般用平均故障间隔时间MTBF来度量。(4)其它:可用性、功耗、环境适应性、通用性、安全性、保密性、可扩展性。性价比中的价格,除了直接购买嵌入式系统的价格之外,还应包含安装费用、若干年的运行维修费用和软件租用费。(1)测量法是最直接最基本的方法,需要解决两个问题:一是根据研究的目的,确定要测量的系统参数;二是选择测量的工具和方式。(3)模型法分为分析模型法和模拟模型法。分析模型法是用一些数学方程去刻画系统的模型,而模拟模型法是用模拟程序的运行去动态表达嵌入式系统的状态,而进行系统统计分析,得出性能指标。(4)分析模型法中使用最多的是排队模型,它包括三个部分:输入流、排队规则和服务机构。(5)使用模型对系统进行评价需要解决3个问题:设计模型、解模型、校准和证实模型。(1)Flash存储器是一种非易失性存储器,根据结构的不同可以将其分为NOR Flash和NAND Flash两种。
◆ 区块结构:在物理上分成若干个区块,区块之间相互独立。
◆ 先擦后写:Flash的写操作只能将数据位从1写成0,不能从0写成1,所以在对存储器进行写入之前必须先执行擦除操作,将预写入的数据位初始化为1。擦除操作的最小单位是一个区块,而不是单个字节。
◆ 操作指令:执行写操作,它必须输入一串特殊指令(NOR Flash)或者完成一段时序(NAND Flash)才能将数据写入。
◆ 位反转:由于Flash的固有特性,在读写过程中偶尔会产生一位或几位的数据错误。位反转无法避免,只能通过其他手段对结果进行事后处理。
◆ 坏块:区块一旦损坏,将无法进行修复。对已损坏的区块操作其结果不可预测。
(3)NOR Flash的特点:应用程序可以直接在闪存内运行,不需要再把代码读到系统RAM中运行。NOR Flash的传输效率很高,在1MB~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。(4)NAND Flash的特点:能够提高极高的密度单元,可以达到高存储密度,并且写入和擦除的速度也很快,这也是为何所有的U盘都使用NAND Flash作为存储介质的原因。应用NAND Flash的困难,其实在于闪存需要特殊的系统接口。(5)NOR Flash与NAND Flash的区别
◆ NOR Flash的读速度比NAND Flash稍快一些。
◆ NAND Flash的擦除和写入速度比NOR Flash快很多
◆ NAND Flash的随机读取能力差,适合大量数据的连续读取。
◆ NOR Flash带有SRAM接口,有足够的地址引进来寻址,可以很容易地存取其内部的每一个字节。NAND Flash的地址、数据和命令共用8位总线(有写公司的产品使用16位),每次读写都要使用复杂的I/O接口串行地存取数据。
◆ NOR Flash的容量一般较小,通常在1MB~8MB之间;NAND Flash只用在8MB以上的产品中。因此,NOR Flash只要应用在代码存储介质中,NAND Flash适用于资料存储。
◆ NAND Flash中每个块的最大擦写次数是一百万次,而NOR Flash是十万次。
◆ NOR Flash可以像其他内存那样连接,非常直接地使用,并可以在上面直接运行代码;NAND Flash需要特殊的I/O接口,在使用的时候,必须先写入驱动程序,才能继续执行其他操作。因为设计师绝不能向坏块写入,这就意味着在NAND Flash上自始至终必须进行虚拟映像。
◆ NOR Flash用于对数据可靠性要求较高的代码存储、通信产品、网络处理等领域,被成为代码闪存;NAND Flash则用于对存储容量要求较高的MP3、存储卡、U盘等领域,被成为数据闪存。
(1)SRAM的特点:SRAM表示静态随机存取存储器,只要供电它就会保持一个值,它没有刷新周期,由触发器构成基本单元,集成度低,每个SRAM存储单元由6个晶体管组成,因此其成本较高。它具有较高速率,常用于高速缓冲存储器。通常SRAM有4种引脚:
◆ CE:片选信号,低电平有效。
◆ R/W:读写控制信号。
◆ ADDRESS:一组地址线。
◆ DATA:用于数据传输的一组双向信号线。
(2)DRAM的特点:DRAM表示动态随机存取存储器,这是一种以电荷形式进行存储的半导体存储器。它的每个存储单元由一个晶体管和一个电容器组成,数据存储在电容器中。电容器会由于漏电而导致电荷丢失,因而DRAM器件是不稳定的。它必须有规律地进行刷新,从而将数据保存在存储器中。DRAM的接口比较复杂,通常有一下引脚:
◆ CE:片选信号,低电平有效。
◆ R/W:读写控制信号。
◆ RAS:行地址选通信号,通常接地址的高位部分。
◆ CAS:列地址选通信号,通常接地址的低位部分。
◆ ADDRESS:一组地址线。
◆ DATA:用于数据传输的一组双向信号线。
(3)SDRAM的特点:SDRAM表示同步动态随机存取存储器。同步是指内存工作需要同步时钟,内部的命令发送与数据的传输都以它为基准;动态是指存储器阵列需要不断的刷新来保证数据不丢失。它通常只能工作在133MHz的主频。(4)DDRAM的特点:DDRAM表示双倍速率同步动态随机存取存储器,也称DDR。DDRAM是基于SDRAM技术的,SDRAM在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;而DDR内存则是一个时钟周期内传输两次次数据,它能够在时钟的上升期和下降期各传输一次数据。在133MHz的主频下,DDR内存带宽可以达到133×64b/8×2=2.1GB/s。GPIO是I/O的最基本形式,它是一组输入引脚或输出引脚。有些GPIO引脚能够加以编程改变工作方向,通常有两个控制寄存器:数据寄存器、数据方向寄存器。数据方向寄存器设置端口的方向。如果将引脚设置为输出,那么数据寄存器将控制着该引脚状态。若将引脚设置为输入,则此输入引脚的状态由引脚上的逻辑电路层来实现对它的控制。(1)A/D转换器是把电模拟量转换为数字量的电路,实现A/D转换的方法有很多,常用的方法有计数法、双积分法和逐次逼进法。(2)计数式A/D转换法:这种电路主要部件包括比较器、计数器、D/A转换器和标准电压源。至于其工作原理,简单来说就是有一个计数器,从0开始进行加1计数,每进行一次加1,该数值作为D/A转换器的输入,其产生一个比较电压VO与输入模拟电压VIN进行比较。如果VO小于VIN则继续进行加1计数,直到VO大于VIN,这时计数器的累加数值就是A/D转换器的输出值。这种转换方式的特点是简单,但是速度比较慢,特别是模拟电压较高时,转换速度更慢。例如对于一个8位A/D转换器,若输入模拟量为最大值,计数器要从0开始计数到255,做255次D/A转换和电压比较的工作,才能完成转换。(3)双积分式A/D转换法:这种电路主要部件包括积分器、比较器、计数器和标准电压源。工作原理是电路对输入待测电压进行固定时间的积分,然后换为标准电压进行固定斜率的反向积分,反向积分进行到一定时间,便返回起始值。由于使用固定斜率,对标准电压进行反向积分的时间正比于输入模拟电压值,输入模拟电压越大,反向积分回到起始值的时间越长。只要用标准的高频时钟脉冲测定反向积分花费的时间,就可以得到相应于输入模拟电压的数字量,也就完成了A/D转换。主要特点是具有很强的抗工频干扰能力,转换精度高,但转换速度慢,通常转换频率小于10Hz,主要用于数字式测试仪表、温度测量等方面。(4)逐次逼近式A/D转换法:这种电路主要部件包括比较器、D/A转换器、逐次逼近寄存器和基准电压源。工作原理实质上就是对分搜索法,和平时天平的使用原理一样。在进行A/D转换时,由D/A转换器从高位到低位逐位增加转换位数,产生不同的输出电压,把输入电压与输出电压进行比较而实现。首先使最高位为1,这相当于取出基准电压的1/2与输入电压比较,如果在输入电压小于1/2的基准电压,则最高位置0,反之置1。之后,次高位置1,相当于在1/2的范围中再作对分搜索,以此类推,逐次逼近。主要特点是速度快,转换精度高,对N位A/D转换器只需要M个时钟脉冲即可完成,一般可用于测量几十到几百微秒的过渡过程的变化,是目前应用最普遍的转换方法。
◆ 分辨率:反映A/D转换器对输入微小变化响应的能力,通常用数字输出最低位(LSB)所对应的模拟电压的电平值表示。n位A/D转换器能反映1/2n满量程的模拟输入电平。
◆ 量程:所能转换的模拟输入电压范围,分为单极性和双极性两种类型。
◆ 转换时间:完成一次A/D转换所需要的时间,其倒数为转换速率。
◆ 精度:精度与分辨率是两个不同的概念,即使分辨率很高,也可能由于温漂、线性度等原因使其精度不够高。精度有绝对精度和相对精度两种表示方法。通常用数字量的最低有效位LSB的分数值来表示绝对精度,用其模拟电压满量程的百分比来表示相对精度。例如,满量程10V,10位A/D芯片,若其绝对精度为±1/2LSB,则其最小有效位LSB的量化单位为:10/1024=9.77mv,其绝对精度为9.77mv/2=4.88mv,相对精度为0.048%。
(2)在集成电路中,通常采用T型网络实现将数字量转换为模拟电流,再由运算放大器将模拟电路转换为模拟电压。进行D/A转换,实际上需要上面的两个环节。
◆ 电压输出型:常作为高速D/A转换器。
◆ 电流输出型:一般外接运算放大器使用。
◆ 乘算型:可用作调制器和使输入信号数字化地衰减。
(4)D/A转换器的主要指标:分辨率、建立时间、线性度、转换精度、温度系数。(2)识别键盘上的闭合键通常有两种方法:行扫描法和行反转法。(3)行扫描法是矩阵键盘按键常用的识别方法,此方法分为两步进行:
◆ 识别键盘哪一列的键被按下:让所有行线均为低电平,查询各列线电平是否为低,如果有列线为低,则说明该列有按键被按下,否则说明无按键按下。
◆ 如果某列有按键按下,识别键盘是哪一行按下:逐行置低电平,并置其余各行为高电平,查询各列的变化,如果列电平变为低电平,则可确定此行此列交叉点处按键被按下。
(1)LCD的基本原理是,通过给不同的液晶单元供电,控制其光线的通过与否,从而达到显示的目的。(2)LCD的光源提供方式有两种:投射式和反射式。笔记本电脑的LCD显示器为投射式,屏的背后有一个光源,因此外界环境可以不需要光源。一般微控制器上使用的LCD为反射式,需要外界提供电源,靠反射光来工作。电致发光(EL)是液晶屏提供光源的一种方式。(3)按照液晶驱动方式分类,常见的LCD可以分为三类:扭转向列类(TN)、超扭曲向列型(STN)和薄膜晶体管型(TFT)。(4)市面上出售的LCD有两种类型:带有驱动电路的LCD显示模块,只要总线方式驱动;没有驱动电路的LCD显示器,使用控制器扫描方式。(5)通常情况下,LCD控制器工作的时候,通过DMA请求总线,直接通过SDRAM控制器读取SDRAM中指定地址(显示缓冲区)的数据,此数据经过LCD控制器转换成液晶屏扫描数据格式,直接驱动液晶显示器。(6)VGA接口本质上是一个模拟接口,一般都采用统一的15引脚接口,包括2个NC信号、3根显示器数据总线、5个GND信号、3个RGB色彩分量、1个行同步信号和1个场同步信号。其色彩分量采用的电平标准为EIA定义的RS343标准。(1)按工作原理分,触摸屏可以分为表面声波屏、电容屏、电阻屏和红外屏几种。(2)触摸屏的控制采用专业芯片,例如ADS7843。(1)基本原理:麦克风输入的数据经音频编解码器解码完成A/D转换,解码后的音频数据通过音频控制器送入DSP或CPU进行相应的处理,然后数据经音频控制器发送给音频编码器,经编码D/A转换后由扬声器输出。
◆ 采用数字音频(PCM):是CD或DVD采用的数据格式。其采样频率为44.1kHz。精度为16位时,PCM音频数据速率为1.41Mb/s;精度为32位时为2.42 Mb/s。一张700MB的CD可以保存大约60分钟的16位PCM数据格式的音乐。
◆ MPEG层3音频(MP3):MP3播放器采用的音频格式。立体声MP3数据速率为112kb/s至128kb/s。
◆ ATSC数字音频压缩标准(AC3):数字TV、HDTV和电影数字音频编码标准,立体声AC3编码后的数据速率为192kb/s。
(3)IIS是音频数据的编码,或解码常用的串行音频数字接口。IIS总线只处理声音数据,其他控制信号等则需要单独传输。IIS使用了3根串行总线,即数据线SD、字段选择线WS、时钟信号线SCK。(4)当接收方和发送方的数据字段宽度不一样时,发送方不考虑接收方的数据字段宽度。如果发送方发送的数据字段小于系统字段宽度,就在低位补0;如果发送方的数据宽度大于接收方的宽度,则超过LSB的部分被截断。字段选择WS用来选择左右声道,WS=0表示选择左声道;WS=1表示选择右声道。此外,WS能让接收设备存储前一个字节,并准备接收下一个字节。(1)串行通信是指,使数据_%位一位地进行传输而实现的通信。与并行通信相比,串行通信具有传输线少、成本低等优点,特别适合远距离传送;缺点则是速度慢。(2)串行数据传送有3种基本的通信模式:单工、半双工、全双工。(3)串行通信在信息格式上可以分为2种方式:同步通信和异步通信。
◆ 异步传输:把每个字符当作独立的信息来传输,并按照一固定且预定的时序传送,但在字符之间却取决于字符与字符的任意时序。异步通信时,字符是一帧一帧传送的,每帧字符的传送靠起始位来同步。一帧数据的各个代码间间隔是固定的,而相邻两帧数据其时间间隔是不固定的。
◆ 同步传输:同步方式不仅在字符之间是同步的,而且在字符与字符之间的时序仍然是同步的,即同步方式是将许多字符******成一字符块后,在每块信息之前要加上1~2个同步字符,字符块之后再加入适当的错误检测数据才传送出去。
◆ 字符格式:起始位+数据+校验位+停止位(检验位可无),低位先传送。
◆ 波特率:每秒传送的位数。
◆ 校验位:奇偶检验。
◆ 奇校验:要使字符加上校验位有奇数个“1”。
◆ 偶检验:要使字符加上校验位有偶数个“1”。
◆ 在TxD和RxD上:逻辑1为-3V~-15V,逻辑0为3V~15V。
◆ 在TES、CTS、DTR、DCD等控制线上:信号有效(ON状态)为3V~15V;信号无效(OFF状态)为-3V~-15V。
(6)TTL标准与RS-232C标准之间的电平转换,利用集成芯片RS232实现。
◆ RS-422是一种单机发送、多机接收的单向、平衡传输规范,传输速率可达10Mb/s。
◆ RS-422采用差分传输方式,也称做平衡传输,使用一对双绞线。
◆ RS-422需要一终端电阻,要求其阻值约等于传输电缆的特性阻抗。
◆ RS-485是在RS-422的基础上建立的标准,增加了多点、双向通信能力,通信距离可为几十米到上千米。
◆ RS-485收发器采用平衡发送和差分接收,具有抑制共模干扰的能力。
◆ RS-485需要两个终端电阻,在近距离(300m以下)传输可不需要终端电阻。
(1)并行接口的数据传输率比串行接口快8倍,标准并行接口的数据传输率为1Mb/s,一般用来连接打印机、扫描仪等,所以又称打印口。(2)并行接口可以分为SPP(标准并口)、EPP(增强型并口)和ECP(扩展型并口)。(3)并行总线分为标准和非标准两类,常用的并行标准总线有IEEE 488总线和ANSI SCSI总线,而MXI总线是一种高性能非标准的通用多用户并行总线。(1)PCI总线是地址、数据多路复用的高性能32位和64位总线,是微处理器与外围控制部件、外围附加板之间的互连机构。(2)从数据宽度上看,PCI定义了32位数据总线,且可扩展为64位。从总线速度上分,有33MHz和66MHz两种。(3)与ISA总线相比,PCI总线的地址总线与数据总线分时复用,支持即插即用、中断共享等功能。
◆ 使用简单,即插即用。
◆ 每个USB系统中都有主机,这个USB网络中最多可以连接127个设备。
◆ 应用范围广,支持多个设备同时操作。
◆ 低成本的电缆和连接器,使用统一的4引脚插头。
◆ 较强的纠错能力。
◆ 较低的协议开销带来了高的总线性能,且适合于低成本外设的开发。
◆ 支持主机与设备之间的多数据流和多消息流传输,且支持同步和异步传输类型。
◆ 总线供电,能为设备提供5V/100mA的供电。
(2)USB系统由三部分来描述:USB主机、USB设备和USB互连。(3)USB总线支持的数据传输率有三种:高速信令位传输率为480Mb/s、全速信令位传输率为12Mb/s、全速信令位传输率为1.5Mb/s。(4)USB总线电缆有四根线:一对双绞信号线和一对电源线。(5)USB是一种查询总线,由主控制器启动所有的数据传输。USB上所挂接的外设通过由主机调度的、基于令牌的协议来共享USB带宽。
◆ 令牌包:指示总线上要执行什么事务,欲寻址的USB设备及数据传送方向。
◆ 数据包:传输数据或指示它没有数据要传输。
◆ 握手包:指示传输是否成功。
(7)主机与设备端点之间的USB数据传输模型,被称作管道。管道有两种类型,即流和消息。消息数据具有USB定义的结构,而数据流没有。(8)事务调度表允许对某些流管道进行流量控制,在硬件级,通过使用NAK(否认)握手信号来调节数据传输率,以防止缓冲区上溢或下溢产生。(10)工作原理:USB设备插入USB端点时,主机都通过默认地址0与设备的端点0进行通信。在这个过程中,主机发出一系列试图得到描述符的标准请求,通过这些请求,主机得到所有感兴趣的设备信息,从而知道了设备的情况以及该如何与设备通信。随后主机通过发出Set Address请求为设备设置一个唯一的地址。以后主机就通过为设备设置好的地址与设备通信,而不再使用默认地址0。(1)SPI是一个同步协议接口,所有的传输都参照一个共同的时钟,这个同步时钟有主机产生,接收数据的外设使用时钟来对串行比特流的接收进行同步化。(2)在多个设备连接到主机的同一个SPI接口时,主机通过从设备的片选引脚来选择。(3)SPI主要使用四个信号:主机输出/从机输入(MOSI),主机输入/从机输出(MISO)、串行时钟SCLK和外设片选CS。(4)主机和外设都包含一个串行移位寄存器,主机通过向它的SPI串行寄存器写入一个字节来发起一次数据传输。寄存器通过MOSI信号线将字节传送给外设,外设也将自己移位寄存器中的内容通过MISO信号线返回给主机,这样,两个移位寄存器中的内容就被交换了。(5)外设的写操作和读操作时同步完成的,因此SPI成为一个很有效的协议。(6)如果只是进行写操作,主机只需忽略收到的字节;反之,如果主机要读取外设的一个字节,就必须发送一个空字节来引发从机的传输。(1)IIC总线是具备总线仲裁和高低速设备同步等功能的高性能多主机总线。(2)IIC总线上需要两条线:串行数据线SDA和串行时钟线SCL。(3)总线上的每个器件都有唯一的地址以供识别,而且各器件都可以作为一个发送器或者接收器(由器件的功能决定)。(4)IIC总线有四种操作模式:主发送、主接收、从发送、从接收。(5)IIC在传送数据过程******有三种类型信号
◆ 开始信号:SCL为低电平时,SDA由高向低跳变。
◆ 结束信号:SCL为低电平时,SDA由低向高跳变。
◆ 应答信号:接收方在收到8位数据后,在第9个脉冲向发送方发出特点的低电平。
(6)主器件发送一个开始信号后,它还会立即送出一个从地址,来通知将与它进行数据通信的从器件。1个字节的地址包括7位地址信息和1位传输方向指示位,如果第7位为0,表示要进行一个写操作;如果为1,表示要进行一个读操作。(7)SDA线上传输的每个字节长度都是8位,每次传输种字节的数量没有限制的。在开始信号后面的第一个字节是地址域,之后每个传输字节后面都有一个应答位(ACK),传输中串行数据的MSB(字节高位)首先发送。(8)如果数据接收方无法再接收更多的数据,它可以通过将SCL保持低电平来中断传输,这样可以迫使数据发送方等待,直到SCL被重新释放,这样可以达到高低速设备同步。(9)IIC总线的工作过程:SDA和SCL都是双向的。空闲的时候,SDA和SCL都是高电平,只有SDA变为低电平,接着SCL再变为低电平,IIC总线的数据传输才开始。SDA线上被传输的每一位在SCL的上升沿被采样,该位必须一直保持有效到SCL再次变为低电平,然后SDA就在SCL再次变为高电平之前传输下一个位。最后,SCL变回高电平,接着SDA也变为高电平,表示数据传输结束。(1)最常用的以太网协议:IEEE802.3标准。
◆ 曼彻斯特编码:每位中间有一个电平跳变,从高到底的跳变表示“0”,从低到高的跳变表示为“1”。
◆ 差分曼彻斯特编码:每位中间有一个电平跳变,利用每个码元开始时有无跳变来表示“0”或“1”,有跳变为“0”,无跳变为“1”。
(3)相比之下,曼彻斯特编码编码简单,差分曼彻斯特编码提供更好的噪声抑制性能。
◆ 所有数据位的传输由低位开始,传输的位流时用曼彻斯特编码。
◆ 以太网是基于冲突检测的总线复用方法,由硬件自动执行。
◆ 传输的数据长度,目的地址DA+源地址SA+类型字段TYPE+数据段DATA+填充位PAD,最小为60B,最大为1514B。
◆ 通常以太网卡可以接收三种地址的数据:广播地址、多播地址、自己的地址。
◆ 任何两个网卡的物理地址都不一样,是世界上唯一的,网卡地址由专门机构分配。
(5)嵌入式以太网接口有两种实现方法:一是,嵌入式处理器+网卡芯片(如RTL8019AS、CS8900等);二是,带有以太网接口的处理器。(6)TCP/IP是一个分层协议,分为物理层、数据链路层、网络层、传输层和应用层。每层实现一个明确的功能,对应一个或几个传输协议,每层相对于它的下层都作为一个独立的数据包来实现。每层上的协议如下:
◆ 应用层:BSD套接字。
◆ 传输层:TCP、UDP。
◆ 网络层:IP、ARP、ICMP、IGMP
◆ 数据链路层:IEEE802.3 Ethernet MAC
◆ 物理层:二进制比特流。
(7)ARP(地址解析协议):网络层用32位的地址来标识不同的主机(即IP地址),而链路层使用48位的物理地址(MAC)来标识不同的以太网或令牌网接口。至于ARP的功能,则是为了实现从IP地址到对应物理地址的转换。
◆ IP层用它来与其他主机或路由器交换错误报文和其他重要控制信息。
◆ ICMP报文是在IP数据包内被传输的。
◆ 网络诊断工具ping和traceroute其实就是ICMP协议。
◆ IP工作在网络层,是TCP/IP协议族中最为核心的协议。
◆ 所有的TCP、UDP、ICMP及IGMP数据都以IP数据包格式传输。
◆ TTL(生存时间字段):指定了IP数据包的生存时间(数据包可以经过的路由器数)。
◆ IP提供不可靠、无连接的数据包传送服务,高效、灵活。
(10)TCP(传输控制协议):TCP协议是一个面向连接的可靠的传输层协议,它为两台主机提供高可靠性的端到端数据通信。(11)UDP(用户数据包协议):UDP协议是一种无连接不可靠的传输层协议,它不保证数据包能到达目的地,可靠性有应用层来提供。UDP协议开销少,和TCP相比更适合于应用在低端的嵌入式领域中。(12)端口:TCP和UDP采用16位端口号来识别上层的用户,即应用层协议,例如FTP服务的TCP端口号都是21,Telnet服务的TCP端口号都是23,TFTP服务的UDP端口号都是69。(1)CAN(Control Area Network,控制器局域网)总线是一种多主方式的串行通信总线,是国际上应用最广泛的现场总线之一,最初被用于汽车环境中的电子控制网络。一个CAN总线构成的单一网络中,理想情况下可以挂接任意多个节点,实际应用中节点数据受网络硬件的电气特性所限制。(2)总线信号使用差分电压传送,两条信号线被称为CAN_H和CAN_L,静态是均为2.5V左右,此时状态表示逻辑1,也可以叫做“隐性”。用CAN_H比CAN_L高表示逻辑0,称为“显性”,此时通常电压值为CAN_H=3.5V和CAN_L=1.5V。(3)当“显性”和“隐性”位同时发送的时候,最后总线数值将为“显性”这种特性为CAN总线的仲裁奠定了基础。(4)CAN总线的一个位时间可以分成四个部分:同步段、传播时间段、相位缓冲段1和相位缓冲段2。(5)CAN总线的数据帧有两种格式,即标准格式和扩展格式,主要包括帧起始、仲裁场、控制场、数据场、CRC场、ACK场和帧结束。(6)CAN总线硬件接口包括:CAN总线控制器和CAN收发器。其中,CAN控制器主要完成时序逻辑转换等工作,例如菲利普的SJA1000。CAN收发器是CAN总线的物理层芯片,实现TTL电平到CAN总线电平特性的转换,例如TJA1050。(1)xDSL(数字用户线路)技术,是在现有用户电话线两侧同时接入专用的DSL调制解调设备,在用户线上利用数字数字信号高频带宽较宽的特性直接采用数字信号传输,省去中间的A/D转换,突破了模拟信号传输极限速率为56KB/s的闲置。(3)对成xDSL更适合于企业点对点连接应用,比如文件传输、视频会议等收发数据量大致相同的工作。(4)ASDL是近年发展的另一种宽带接入技术,是利用双绞铜线向用户提供两个方向上速率不对称的宽带信息业务。(5)ADSL在一对电话线上同时传送一路高速下行数据、一路较低速率上行数据、一路模拟电话。各信号之间采用频分复用方式占用不同频带,低频段传送话音;中间窄频带传送上行信道数据及控制信息;其余高频段传送下行信道数据、图像或高速数据。(1)WLAN:英文全称为Wireless Local Area Network。WLAN是利用无线通信技术在一定的局部范围内建立的,是计算机网络与无线通信技术相结合的产物。它以无线多址通道作为传输媒介,提供有线局域网的功能。(2)WLAN的标准:主要是针对物理层和媒质访问控制层(MAC层),涉及到所有使用的无线频率范围、控制接口通信协议等技术规范与技术标准。
◆ IEEE 802.11:定义了物理层和MAC层规范,工作在2.4~2.4835GHz频段,最高速率为2Mb/s,是IEEE最初制定的一个无线局域网标准。
◆ IEEE 802.11b:工作在2.4~2.4835GHz频段,最高速率为11Mb/s,传输距离50~150inch。采用点对点模式和基本模式两种运行模式。在数据传输速率方面可以根据实际情况在11Mb/s、5.5Mb/s、2 Mb/s、1 Mb/s的不同速率间自动切换。
◆ IEEE 802.11a:工作在5.15~8.825GHz频段,最高速率为54Mb/s/72Mb/s,传输距离10~100m。
◆ IEEE 802.11g:混合标准,拥有EEE 802.11a的传输速率,安全性较EEE 802.11b好,采用两种调制方式,做到与EEE 802.11a和EEE 802.11b兼容。
(3)WLAN有两种网络类型:对等网络和基础机构网络。(1)蓝牙技术的目的:使特定的移动电话、便鞋式电脑以及各种便携通信设备的主机之间近距离内实现无缝的资源共享。(2)蓝牙技术的实质内容,是要建立通用的无线空中接口及其控制软件的公开标准。其工作频段为全球通用的2.4GHz ISM(即工业、科学、医学)频段,其数据传输速率为1Mb/s,采用时分双工方案来实现全双工传输,其理想的连接范围为10cm~10m。
◆ 传输距离短,工作距离在10m以内。
◆ 采用跳频扩频技术。
◆ 采用时分复用多路访问技术,有效地避免了“碰撞”和“隐藏终端”等问题。
◆ 网络技术。
◆ 语言支持。
◆ 纠错技术,其采用的是FEC(前向纠错)方案。
(5)蓝牙接口由三大单元组成:无线单元、基带单元、链路管理与控制单元。(1)1394作为一种标准总线,可以在不同的工业设备之间架起一座沟通的桥梁,在一条总线上可以接入63个设备。
◆ 支持多种总线速度,适应不同应用要求。
◆ 即插即用,支持热插拔。
◆ 支持同步和异步两种传输方式。
◆ 支持点到点通信模式,IEEE 1394是多主总线。
◆ 遵循ANSI IEEE 1212控制及状态寄存器(CSR)标准,定义了64位的地址空间,可寻址1024条总线的63个节点,每个节点可包含256TB的内存空间。
◆ 支持较远距离的传输。
◆ 支持公平仲裁原则,为每一种传输方式保证足够的传输带宽。
◆ 六线电缆具有电源线,可传输8~40V的直流电压。
(3)IEEE 1394的协议栈由三层组成:物理层、链路层和事务层,此外还有一个管理层。物理层和链路层由硬件构成,而事务层主要由软件实现。
◆ 物理层提供IEEE 1394的电气和机械接口,功能是重组字节流并将它们发送到目的节点上去。
◆ 链路层提供了给事务层确认的数据服务,包括:寻址、数据组帧和数据校验。
◆ 事务层为应用提供服务。
◆ 管理层定义了一个管理节点所使用的所有协议、服务以及进程。
◆ 线性稳压器:产生较输入电压低的电压。
◆ 开关稳压器:能升高电压、降低电压或翻转输入电压。
◆ 充电泵:可以升高、降低或翻转输入电压,但电流驱动能力有限。
(2)任何变压器的转换过程都不具有100%的效率,稳压器本省也使用电流(静态电流),这个电流来自输入电流。静态电流越大,稳压器功耗越大。(3)线性稳压器输入输出使用退耦电容来过滤,电容除了有助于平稳电压以外,还有利于去除电源中的瞬间短时脉冲波形干扰。(4)电压与功耗之间的平方关系意味着理想高效的方法是在要求较低电压的较低时钟速率上执行代码,而不是先以最高的时钟速率执行代码然后再转为空闲休眠。(5)电源通常被认为是整个系统的“心脏”,绝大多数电子设备50%~80%的节能潜力在于电源系统,研制开发新型开关电源是节能的主要举措之一。(6)降低功耗的设计技术:采用低功耗器件,例如选用CMOS电路芯片;采用高集成度专用器件,外部设备的选择也要尽量支持低功耗设计;动态调整处理器的时钟频率和电压,在允许的情况下尽量使用低频率器件;利用“节电”工作方式;实现电源管理,设计外部器件电源控制电路,控制“耗电大户”的供电情况;合理处理器件空余引脚:
◆ 大多数数字电路的输出端在输出低电平时,其功耗远远大于输出高电平时的功耗,设计时应该注意控制低电平的输出时间,闲置时使其处于高电平输出状态。
◆ 多余的非门、与非门的输入端应接低电平,多余的与门、或门的输入端应接高电平。
◆ ROM或RAM及其他有片选信号的器件,不要将“片选”引脚直接接地,避免器件长期被接通,而应该与“读/写”信号结合,只对其进行读写操作时才选通。