嵌入式开发学习过程是一个系统的工程,需要掌握的知识点较多,当然,一旦掌握之后,在嵌入式开发领域也会游刃有余。本文和大家一起分享一下嵌入式开发中常见的知识点。

一、嵌入式系统基础

1、嵌入式系统的定义

1.1 定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

1.2 嵌入式系统发展的4个阶段:无操作系统阶段、简单操作系统阶段、实时操作系统阶段、面向Internet阶段。

1.3 知识产权核(IP核):具有知识产权的、功能具体、接口规范、可在多个集成电路设计中重复使用的功能模块,是实现系统芯片(SOC)的基本构件。

1.4 IP核模块有行为、结构和物理3级不同程度的设计,对应描述功能行为的不同可以分为三类:软核、固核、硬核。

2、嵌入式系统的组成

包含:硬件层、中间层、系统软件层和应用软件层

2.1 硬件层:嵌入式微处理器、存储器、通用设备接口和I/O接口

嵌入式核心模块=微处理器+电源电路+时钟电路+存储器

Cache:位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。它的主要目标是减小存储器给微处理器内核造成的存储器访问瓶颈,使处理速度更快。

2.2 中间层(也称为硬件抽象层HAL或者板级支持包BSP)

它将系统上层软件和底层硬件分离开来,使系统上层软件开发人员无需关系底层硬件的具体情况,根据BSP层提供的接口开发即可。

BSP有两个特点:硬件相关性和操作系统相关性。

设计一个完整的BSP需要完成两部分工作:

A、 嵌入式系统的硬件初始化和BSP功能。

片级初始化:纯硬件的初始化过程,把嵌入式微处理器从上电的默认状态逐步设置成系统所要求的工作状态。

板级初始化:包含软硬件两部分在内的初始化过程,为随后的系统初始化和应用程序建立硬件和软件的运行环境。

系统级初始化:以软件为主的初始化过程,进行操作系统的初始化。

B、 设计硬件相关的设备驱动。

2.3 系统软件层:由RTOS、文件系统、GUI、网络系统及通用组件模块组成。

RTOS是嵌入式应用软件的基础和开发平台。

2.4 应用软件:由基于实时系统开发的应用程序组成。

3、实时系统

3.1 定义:能在指定或确定的时间内完成系统功能和对外部或内部、同步或异步时间做出响应的系统。

3.2 区别:通用系统一般追求的是系统的平均响应时间和用户的使用方便;而实时系统主要考虑的是在最坏情况下的系统行为。

3.3 特点:时间约束性、可预测性、可靠性、与外部环境的交互性。

3.4 硬实时(强实时):指应用的时间需求应能够得到完全满足,否则就造成重大安全事故,甚至造成重大的生命财产损失和生态破坏,如:航天、军事。

3.5 软实时(弱实时):指某些应用虽然提出了时间的要求,但实时任务偶尔违反这种需求对系统运行及环境不会造成严重影响,如:监控系统、实时信息采集系统。

3.6 任务的约束包括:时间约束、资源约束、执行顺序约束和性能约束。

4、实时系统的调度

4.1 调度:给定一组实时任务和系统资源,确定每个任务何时何地执行的整个过程。

4.2 抢占式调度:通常是优先级驱动的调度,如uCOS。优点是实时性好、反应快,调度算法相对简单,可以保证高优先级任务的时间约束;缺点是上下文切换多。

4.3 非抢占式调度:通常是按时间片分配的调度,不允许任务在执行期间被中断,任务一旦占用处理器就必须执行完毕或自愿放弃,如WinCE。

优点是上下文切换少;缺点是处理器有效资源利用率低,可调度性不好。

4.4 静态表驱动策略:系统在运行前根据各任务的时间约束及关联关系,采用某种搜索策略生成一张运行时刻表,指明各任务的起始运行时刻及运行时间。

4.5 优先级驱动策略:按照任务优先级的高低确定任务的执行顺序。

4.6 实时任务分类:周期任务、偶发任务、非周期任务。

4.7 实时系统的通用结构模型:数据采集任务实现传感器数据的采集,数据处理任务处理采集的数据、并将加工后的数据送到执行机构管理任务控制机构执行。

5、嵌入式微处理器体系结构

5.1 冯诺依曼结构

程序和数据共用一个存储空间,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,采用单一的地址及数据总线,程序和数据的宽度相同。例如:8086、ARM7、MIPS…

5.2 哈佛结构

程序和数据是两个相互独立的存储器,每个存储器独立编址、独立访问,是一种将程序存储和数据存储分开的存储器结构。例如:AVR、ARM9、ARM10…

5.3 CISC与RISC的特点比较

计算机执行程序所需要的时间P可以用下面公式计算:

P=I×CPI×T

I:高级语言程序编译后在机器上运行的指令数。

CPI:为执行每条指令所需要的平均周期数。

T:每个机器周期的时间。

5.4 流水线的思想

在CPU中把一条指令的串行执行过程变为若干指令的子过程在CPU中重叠执行。

5.5 流水线的指标

吞吐率:单位时间里流水线处理机流出的结果数。如果流水线的子过程所用时间不一样长,则吞吐率应为最长子过程的倒数。

建立时间:流水线开始工作到达最大吞吐率的时间。若m个子过程所用时间一样,均为t,则建立时间T=mt。

5.6 信息存储的字节顺序

A、存储器单位:字节(8位)

B、字长决定了微处理器的寻址能力,即虚拟地址空间的大小。

C、32位微处理器的虚拟地址空间位232,即4GB。

D、小端字节顺序:低字节在内存低地址处,高字节在内存高地址处。

E、大端字节顺序:高字节在内存低地址处,低字节在内存高地址处。

F、网络设备的存储顺序问题取决于OSI模型底层中的数据链路层。

6、逻辑电路基础

6.1 根据电路是否具有存储功能,将逻辑电路划分为:组合逻辑电路和时序逻辑电路。

6.2 组合逻辑电路

电路在任一时刻的输出,仅取决于该时刻的输入信号,而与输入信号作用前电路的状态无关。常用的逻辑电路有译码器和多路选择器等。

6.3 时序逻辑电路

电路任一时刻的输出不仅与该时刻的输入有关,而且还与该时刻电路的状态有关。因此,时序电路中必须包含记忆元件。触发器是构成时序逻辑电路的基础。常用的时序逻辑电路有寄存器和计数器等。

6.4 真值表、布尔代数、摩根定律、门电路的概念。

6.5 NOR(或非)和NAND(与非)的门电路称为全能门电路,可以实现任何一种逻辑函数。

6.6 译码器:多输入多输出的组合逻辑网络。

每输入一个n位的二进制代码,在m个输出端中最多有一个有效。

当m=2n时,为全译码;当m<2n时,为部分译码。

6.7 由于集成电路的高电平输出电流小,而低电平输出电流相对比较大,采用集成门电路直接驱动LED时,较多采用低电平驱动方式。液晶七段字符显示器LCD利用液晶有外加电场和无外加电场时不同的光学特性来显示字符。

6.8 时钟信号是时序逻辑的基础,它用于决定逻辑单元中的状态合适更新。同步是时钟控制系统中的主要制约条件。

6.9 在选用触发器的时候,触发方式是必须考虑的因素。触发方式有两种:

电平触发方式:具有结构简单的有点,常用来组成暂存器。

边沿触发方式:具有很强的抗数据端干扰能力,常用来组成寄存器、计数器等。

7、总线电路及信号驱动

7.1 总线是各种信号线的集合,是嵌入式系统中各部件之间传送数据、地址和控制信息的公共通路。

在同一时刻,每条通路线路上能够传输一位二进制信号。

按照总线所传送的信息类型,可以分为:数据总线(DB)、地址总线(AB)和控制总线(CB)。

7.2 总线的主要参数:

总线带宽:一定时间内总线上可以传送的数据量,一般用MByte/s表示。

总线宽度:总线能同时传送的数据位数(bit),即人们常说的32位、64位等总线宽度的概念,也叫总线位宽。总线的位宽越宽,总线每秒数据传输率越大,也就是总线带宽越宽。

总线频率:工作时钟频率以MHz为单位,工作频率越高,则总线工作速度越快,也即总线带宽越宽。

总线带宽 = 总线位宽×总线频率/8, 单位是MBps。

常用总线:ISA总线、PCI总线、IIC总线、SPI总线、PC104总线和CAN总线等。

7.3 只有具有三态输出的设备才能够连接到数据总线上,常用的三态门为输出缓冲器。

7.4 当总线上所接的负载超过总线的负载能力时,必须在总线和负载之间加接缓冲器或驱动器,最常用的是三态缓冲器,其作用是驱动和隔离。

7.5 采用总线复用技术可以实现数据总线和地址总线的共用。但会带来两个问题:

A、需要增加外部电路对总线信号进行复用解耦,例如:地址锁存器。

B、总线速度相对非复用总线系统低。

7.6 两类总线通信协议:同步方式、异步方式。

7.7 对总线仲裁问题的解决是以优先级(优先权)的概念为基础。

8、电平转换电路

8.1 数字集成电路可以分为两大类:双极型集成电路(TTL)、金属氧化物半导体(MOS)。

8.2 CMOS电路由于其静态功耗极低,工作速度较高,抗干扰能力较强,被广泛使用。

8.3 解决TTL与CMOS电路接口困难的办法是在TTL电路输出端与电源之间接一上拉电阻R,上拉电阻R的取值由TTL的高电平输出漏电流IOH来决定,不同系列的TTL应选用不同的R值。

9、嵌入式系统中信息表示于运算基础

9.1 进位计数制与转换:这样比较简单,也应该掌握怎么样进行换算,有出题的可能。

9.2 计算机中数的表示:源码、反码与补码。

正数的反码与源码相同,负数的反码为该数的源码除符号位外按位取反。

正数的补码与源码相同,负数的补码为该数的反码加一。

例如-98的源码:11100010B

反码:10011101B

补码:10011110B

9.3 定点表示法:数的小数点的位置人为约定固定不变。

浮点表示法:数的小数点位置是浮动的,它由尾数部分和阶数部分组成。

任意一个二进制N总可以写成:N=2P×S。S为尾数,P为阶数。

9.4 汉字表示法:搞清楚GB2318-80中国标码和机内码的变换。

9.5 语音编码中波形量化参数(可能会出简单的计算题目)

采样频率:一秒内采样的次数,反映了采样点之间的间隔大小。

人耳的听觉上限是20kHz,因此40kHz以上的采样频率足以使人满意。

CD唱片采用的采样频率是44.1kHz。

测量精度:样本的量化等级,目前标准采样量级有8位和16位两种。

声道数:单声道和立体声双道。立体声需要两倍的存储空间。

10、差错控制编码

10.1 根据码组的功能,可以分为检错码和纠错码两类。检错码是指能自动发现差错的码,例如奇偶检验码;

纠错码是指不仅能发现差错而且能自动纠正差错的码,例如循环冗余校验码。

10.2 奇偶检验码、海明码、循环冗余校验码(CRC)。

11、嵌入式系统的度量项目

11.1 性能指标:分为部件性能指标和综合性能指标,主要包括:吞吐率、实时性和各种利用率。

11.2 可靠性与安全性:可靠性是嵌入式系统最重要、最突出的基本要求,是一个嵌入式系统能正常工作的保证,一般用平均故障间隔时间MTBF来度量。

11.3 可维护性:一般用平均修复时间MTTR表示。

可用性、功耗、环境适应性、通用性、安全性、保密性、可扩展性

性价比中的价格,除了直接购买嵌入式系统的价格外,还应包含安装费用、若干年的运行维修费用和软件租用费。

12、嵌入式系统的评价方法:测量法和模型法

12.1 测量法是最直接最基本的方法,需要解决两个问题:

A、根据研究的目的,确定要测量的系统参数。

B、选择测量的工具和方式。

12.2 测量的方式有两种:采样方式和事件跟踪方式。

12.3 模型法分为分析模型法和模拟模型法。分析模型法是用一些数学方程去刻画系统的模型,而模拟模型法是用模拟程序的运行去动态表达嵌入式系统的状态,而进行系统统计分析,得出性能指标。

12.4 分析模型法中使用最多的是排队模型,它包括三个部分:输入流、排队规则和服务机构。

12.5 使用模型对系统进行评价需要解决3个问题:设计模型、解模型、校准和证实模型。

二、接口技术

1、Flash存储器

1.1.Flash存储器是一种非易失性存储器,根据结构的不同可以将其分为NOR Flash和NAND Flash两种。

1.2.Flash存储器的特点

A、区块结构:在物理上分成若干个区块,区块之间相互独立。

B、先擦后写:Flash的写操作只能将数据位从1写成0,不能从0写成1,所以在对存储器进行写入之前必须先执行擦除操作,将预写入的数据位初始化为1。擦除操作的最小单位是一个区块,而不是单个字节。

C、操作指令:执行写操作,它必须输入一串特殊指令(NOR Flash)或者完成一段时序(NAND Flash)才能将数据写入。

D、位反转:由于Flash的固有特性,在读写过程中偶尔会产生一位或几位的数据错误。位反转无法避免,只能通过其他手段对结果进行事后处理。

E、坏块:区块一旦损坏,将无法进行修复。对已损坏的区块操作其结果不可预测。

1.3.NOR Flash的特点

应用程序可以直接在闪存内运行,不需要再把代码读到系统RAM中运行。NOR Flash的传输效率很高,在1MB~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。

1.4.NAND Flash的特点

能够提高极高的密度单元,可以达到高存储密度,并且写入和擦除的速度也很快,这也是为何所有的U盘都使用NAND Flash作为存储介质的原因。应用NAND Flash的困难在于闪存需要特殊的系统接口。

1.5.NOR Flash与NAND Flash的区别

A、NOR Flash的读取速度比NAND Flash稍快一些。

B、NAND Flash的擦除和写入速度比NOR Flash快很多

C、NAND Flash的随机读取能力差,适合大量数据的连续读取。

D、NOR Flash带有SRAM接口,有足够的地址引进来寻址,可以很容易地存取其内部的每一个字节。NAND Flash的地址、数据和命令共用8位总线(有读写公司的产品使用16位),每次读写都要使用复杂的I/O接口串行地存取数据。

E、NOR Flash的容量一般较小,通常在1MB~8MB之间;NAND Flash只用在8MB以上的产品中。因此,NOR Flash只要应用在代码存储介质中,NAND Flash适用于资料存储。

F、NAND Flash中每个块的最大擦写次数是一百万次,而NOR Flash是十万次。

G、NOR Flash可以像其他内存那样连接,非常直接地使用,并可以在上面直接运行代码;NAND Flash需要特殊的I/O接口,在使用的时候,必须先写入驱动程序,才能继续执行其他操作。因为设计师绝不能向坏块写入,这就意味着在NAND Flash上自始至终必须进行虚拟映像。

H、NOR Flash用于对数据可靠性要求较高的代码存储、通信产品、网络处理等领域,被成为代码闪存;NAND Flash则用于对存储容量要求较高的MP3、存储卡、U盘等领域,被成为数据闪存。

2、RAM储存器

2.1.SRAM的特点

SRAM表示静态随机存取存储器,只要供电它就会保持一个值,它没有刷新周期,由触发器构成基本单元,集成度低,每个SRAM存储单元由6个晶体管组成,因此其成本较高。它具有较高速率,常用于高速缓冲存储器。

通常SRAM有4种引脚:

CE:片选信号,低电平有效。

R/W:读写控制信号。

ADDRESS:一组地址线。

DATA:用于数据传输的一组双向信号线。

2.2.DRAM的特点

DRAM表示动态随机存取存储器。这是一种以电荷形式进行存储的半导体存储器。它的每个存储单元由一个晶体管和一个电容器组成,数据存储在电容器中。电容器会由于漏电而导致电荷丢失,因而DRAM器件是不稳定的。它必须有规律地进行刷新,从而将数据保存在存储器中。

DRAM的接口比较复杂,通常有以下引脚:

CE:片选信号,低电平有效。

R/W:读写控制信号。

RAS:行地址选通信号,通常接地址的高位部分。

CAS:列地址选通信号,通常接地址的低位部分。

ADDRESS:一组地址线。

DATA:用于数据传输的一组双向信号线。

2.3.SDRAM的特点

SDRAM表示同步动态随机存取存储器。同步是指内存工作需要同步时钟,内部的命令发送与数据的传输都以它为基准;动态是指存储器阵列需要不断的刷新来保证数据不丢失。它通常只能工作在133MHz的主频。

2.4.DDRAM的特点

DDRAM表示双倍速率同步动态随机存取存储器,也称DDR。DDRAM是基于SDRAM技术的,SDRAM在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;而DDR内存则是一个时钟周期内传输两次次数据,它能够在时钟的上升期和下降期各传输一次数据。在133MHz的主频下,DDR内存带宽可以达到133×64b/8×2=2.1GB/s。

3、硬盘、光盘、CF卡、SD卡

4、GPIO原理与结构

GPIO是I/O的最基本形式,它是一组输入引脚或输出引脚。有些GPIO引脚能够加以编程改变工作方向,通常有两个控制寄存器:数据寄存器和数据方向寄存器。

数据方向寄存器设置端口的方向。如果将引脚设置为输出,那么数据寄存器将控制着该引脚状态。若将引脚设置为输入,则此输入引脚的状态由引脚上的逻辑电路层来实现对它的控制。

5、A/D接口

5.1.A/D转换器是把电模拟量转换为数字量的电路。实现A/D转换的方法有很多,常用的方法有计数法、双积分法和逐次逼进法。

5.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转换和电压比较的工作,才能完成转换。

5.3.双积分式A/D转换法

其电路主要部件包括:积分器、比较器、计数器和标准电压源。

其工作原理是,首先电路对输入待测电压进行固定时间的积分,然后换为标准电压进行固定斜率的反向积分,反向积分进行到一定时间,便返回起始值。由于使用固定斜率,对标准电压进行反向积分的时间正比于输入模拟电压值,输入模拟电压越大,反向积分回到起始值的时间越长。只要用标准的高频时钟脉冲测定反向积分花费的时间,就可以得到相应于输入模拟电压的数字量,也就完成了A/D转换。

其特点是,具有很强的抗工频干扰能力,转换精度高,但转换速度慢,通常转换频率小于10Hz,主要用于数字式测试仪表、温度测量等方面。

5.4.逐次逼近式A/D转换法

其电路主要部件包括:比较器、D/A转换器、逐次逼近寄存器和基准电压源。

其工作原理是,实质上就是对分搜索法,和平时天平的使用原理一样。在进行A/D转换时,由D/A转换器从高位到低位逐位增加转换位数,产生不同的输出电压,把输入电压与输出电压进行比较而实现。首先使最高位为1,这相当于取出基准电压的1/2与输入电压比较,如果在输入电压小于1/2的基准电压,则最高位置0,反之置1。之后,次高位置1,相当于在1/2的范围中再作对分搜索,以此类推,逐次逼近。

其特点是,速度快,转换精度高,对N位A/D转换器只需要M个时钟脉冲即可完成,一般可用于测量几十到几百微秒的过渡过程的变化,是目前应用最普遍的转换方法。

5.5.A/D转换的重要指标(有可能考一些简单的计算)

A、分辨率:反映A/D转换器对输入微小变化响应的能力,通常用数字输出最低位(LSB)所对应的模拟电压的电平值表示。n位A/D转换器能反映1/2n满量程的模拟输入电平。

B、量程:所能转换的模拟输入电压范围,分为单极性和双极性两种类型。

C、转换时间:完成一次A/D转换所需要的时间,其倒数为转换速率。

D、精度:精度与分辨率是两个不同的概念,即使分辨率很高,也可能由于温漂、线性度等原因使其精度不够高。精度有绝对精度和相对精度两种表示方法。通常用数字量的最低有效位LSB的分数值来表示绝对精度,用其模拟电压满量程的百分比来表示相对精度。

例如,满量程10V,10位A/D芯片,若其绝对精度为±1/2LSB,则其最小有效位LSB的量化单位为:10/1024=9.77mv,其绝对精度为9.77mv/2=4.88mv,相对精度为:0.048%。

6、D/A接口基本

6.1.D/A转换器是将数字量转换为模拟量。

6.2.在集成电路中,通常采用T型网络实现将数字量转换为模拟电流,再由运算放大器将模拟电路转换为模拟电压。进行D/A转换实际上需要上面的两个环节。

6.3.D/A转换器的分类

A、电压输出型:常作为高速D/A转换器。

B、电流输出型:一般外接运算放大器使用。

C、乘算型:可用作调制器和使输入信号数字化地衰减。

6.4.D/A转换器的主要指标:分辨率、建立时间、线性度、转换精度、温度系数。

7、键盘接口

7.1.键盘的两种形式:线性键盘和矩阵键盘。

7.2.识别键盘上的闭合键通常有两种方法:行扫描法和行反转法。

7.3.行扫描法是矩阵键盘按键常用的识别方法,此方法分为两步进行:

A、识别键盘哪一列的键被按下:让所有行线均为低电平,查询各列线电平是否为低,如果有列线为低,则说明该列有按键被按下,否则说明无按键按下。

B、如果某列有按键按下,识别键盘是哪一行按下:逐行置低电平,并置其余各行为高电平,查询各列的变化,如果列电平变为低电平,则可确定此行此列交叉点处按键被按下。

8、显示接口

8.1.LCD的基本原理是,通过给不同的液晶单元供电,控制其光线的通过与否,从而达到显示的目的。

8.2.LCD的光源提供方式有两种:投射式和反射式。笔记本电脑的LCD显示器为投射式,屏的背后有一个光源,因此外界环境可以不需要光源。一般微控制器上使用的LCD为反射式,需要外界提供电源,靠反射光来工作。电致发光(EL)是液晶屏提供光源的一种方式。

8.3.按照液晶驱动方式分类,常见的LCD可以分为三类:扭转向列类(TN)、超扭曲向列型(STN)和薄膜晶体管型(TFT)。

8.4.市面上出售的LCD有两种类型:带有驱动电路的LCD显示模块,只要总线方式驱动;没有驱动电路的LCD显示器,使用控制器扫描方式。

8.5.通常,LCD控制器工作的时候,通过DMA请求总线,直接通过SDRAM控制器读取SDRAM中指定地址(显示缓冲区)的数据,此数据经过LCD控制器转换成液晶屏扫描数据格式,直接驱动液晶显示器。

8.6.VGA接口本质上是一个模拟接口,一般都采用统一的15引脚接口,包括2个NC信号、3根显示器数据总线、5个GND信号、3个RGB色彩分量、1个行同步信号和1个场同步信号。其色彩分量采用的电平标准为EIA定义的RS343标准。

9、触摸屏接口

9.1.按工作原理分,触摸屏可以分为:表面声波屏、电容屏、电阻屏和红外屏几种。

9.2.触摸屏的控制采用专业芯片,例如ADS7843。

10、音频接口

10.1.基本原理:麦克风输入的数据经音频编解码器解码完成A/D转换,解码后的音频数据通过音频控制器送入DSP或CPU进行相应的处理,然后数据经音频控制器发送给音频编码器,经编码D/A转换后由扬声器输出。

10.2.数字音频的格式有多种,最常用的是下面三种:

A、采用数字音频(PCM):是CD或DVD采用的数据格式。其采样频率为44.1kHz。精度为16位时,PCM音频数据速率为1.41Mb/s;精度为32位时为2.42 Mb/s。一张700MB的CD可以保存大约60分钟的16位PCM数据格式的音乐。

B、MPEG-3音频层(MP3):MP3播放器采用的音频格式。立体声MP3数据速率为112kb/s至128kb/s。

C、ATSC数字音频压缩标准(AC3):数字TV、HDTV和电影数字音频编码标准,立体声AC3编码后的数据速率为192kb/s。

10.3.IIS是音频数据的编码或解码常用的串行音频数字接口。IIS总线只处理声音数据,其他控制信号等则需要单独传输。IIS使用了3根串行总线:数据线SD、字段选择线WS、时钟信号线SCK。

10.4.当接收方和发送方的数据字段宽度不一样时,发送方不考虑接收方的数据字段宽度。如果发送方发送的数据字段小于系统字段宽度,就在低位补0;如果发送方的数据宽度大于接收方的宽度,则超过LSB的部分被截断。

字段选择WS用来选择左右声道,WS=0表示选择左声道;WS=1表示选择右声道。此外,WS能让接收设备存储前一个字节,并准备接收下一个字节。

11、串行接口

11.1.串行通信是指,使数据一位一位地进行传输而实现的通信。与并行通信相比,串行通信具有传输线少、成本低等优点,特别适合远距离传送;缺点是速度慢。

11.2.串行数据传送有3种基本的通信模式:单工、半双工、全双工。

11.3.串行通信在信息格式上可以分为2种方式:同步通信和异步通信。

A、异步传输:把每个字符当作独立的信息来传输,并按照一固定且预定的时序传送,但在字符之间却取决于字符与字符的任意时序。异步通信时,字符是一帧一帧传送的,每帧字符的传送靠起始位来同步。一帧数据的各个代码间间隔是固定的,而相邻两帧数据其时间间隔是不固定的。

B、同步传输:同步方式不仅在字符之间是同步的,而且在字符与字符之间的时序仍然是同步的,即同步方式是将许多字符******成一字符块后,在每块信息之前要加上1~2个同步字符,字符块之后再加入适当的错误检测数据才传送出去。

11.4.异步通信必须遵循3项规定

A、字符格式:起始位+数据+校验位+停止位(检验位可无),低位先传送。

B、波特率:每秒传送的位数。

C、校验位:奇偶检验。

a、奇校验:要使字符加上校验位有奇数个“1”。

b、偶检验:要使字符加上校验位有偶数个“1”。

11.5.RS-232C的电气特性:负逻辑

A、在TxD和RxD上:逻辑1为-3V~-15V,逻辑0为3V~15V。

B、在TES、CTS、DTR、DCD等控制线上:

信号有效(ON状态)为3V~15V

信号无效(OFF状态)为-3V~-15V

11.6.TTL标准与RS-232C标准之间的电平转换利用集成芯片RS232实现

11.7.RS-422串行通信接口

A、RS-422是一种单机发送、多机接收的单向、平衡传输规范,传输速率可达10Mb/s。

B、RS-422采用差分传输方式,也称做平衡传输,使用一对双绞线。

C、RS-422需要一终端电阻,要求其阻值约等于传输电缆的特性阻抗。

11.8.RS-485串行总线接口

A、RS-485是在RS-422的基础上建立的标准,增加了多点、双向通信能力,通信距离可为几十米到上千米。

B、RS-485收发器采用平衡发送和差分接收,具有抑制共模干扰的能力。

C、RS-485需要两个终端电阻。在近距离(300m以下)传输可不需要终端电阻。

12、并行接口

12.1.并行接口的数据传输率比串行接口快8倍,标准并行接口的数据传输率为1Mb/s,一般用来连接打印机、扫描仪等,所以又称打印口。

12.2.并行接口可以分为SPP(标准并口)、EPP(增强型并口)和ECP(扩展型并口)。

12.3.并行总线分为标准和非标准两类。常用的并行标准总线有IEEE 488总线和ANSI SCSI总线。MXI总线是一种高性能非标准的通用多用户并行总线。

13、PCI接口

13.1.PCI总线是地址、数据多路复用的高性能32位和64位总线,是微处理器与外围控制部件、外围附加板之间的互连机构。

13.2.从数据宽度上看,PCI定义了32位数据总线,且可扩展为64位。从总线速度上分,有33MHz和66MHz两种。

13.3.与ISA总线相比,PCI总线的地址总线与数据总线分时复用,支持即插即用、中断共享等功能。

14、USB接口

14.1.USB总线的主要特点

A、使用简单,即插即用。

B、每个USB系统中都有主机,这个USB网络中最多可以连接127个设备。

C、应用范围广,支持多个设备同时操作。

D、低成本的电缆和连接器,使用统一的4引脚插头。

E、较强的纠错能力。

F、较低的协议开销带来了高的总线性能,且适合于低成本外设的开发。

G、支持主机与设备之间的多数据流和多消息流传输,且支持同步和异步传输类型。

H、总线供电,能为设备提供5V/100mA的供电。

14.2.USB系统由3部分来描述:USB主机、USB设备和USB互连。

14.3.USB总线支持的数据传输率有3种:高速信令位传输率为480Mb/s;全速信令位传输率为12Mb/s;全速信令位传输率为1.5Mb/s。

14.4.USB总线电缆有4根线:一对双绞信号线和一对电源线。

14.5.USB是一种查询总线,由主控制器启动所有的数据传输。USB上所挂接的外设通过由主机调度的、基于令牌的协议来共享USB带宽。

14.6.大部分总线事务涉及3个包的传输

A、令牌包:指示总线上要执行什么事务,欲寻址的USB设备及数据传送方向。

B、数据包:传输数据或指示它没有数据要传输。

C、握手包:指示传输是否成功。

14.7.主机与设备端点之间的USB数据传输模型被称作管道。管道有两种类型:流和消息。消息数据具有USB定义的结构,而数据流没有。

14.8.事务调度表允许对某些流管道进行流量控制,在硬件级,通过使用NAK(否认)握手信号来调节数据传输率,以防止缓冲区上溢或下溢产生。

14.9.USB设备最大的特点是即插即用。

14.10.工作原理:USB设备插入USB端点时,主机都通过默认地址0与设备的端点0进行通信。在这个过程中,主机发出一系列试图得到描述符的标准请求,通过这些请求,主机得到所有感兴趣的设备信息,从而知道了设备的情况以及该如何与设备通信。随后主机通过发出Set Address请求为设备设置一个唯一的地址。以后主机就通过为设备设置好的地址与设备通信,而不再使用默认地址0。

15、SPI接口

15.1.SPI是一个同步协议接口,所有的传输都参照一个共同的时钟,这个同步时钟有主机产生,接收数据的外设使用时钟来对串行比特流的接收进行同步化。

15.2.在多个设备连接到主机的同一个SPI接口时,主机通过从设备的片选引脚来选择。

15.3.SPI主要使用4个信号:主机输出/从机输入(MOSI),主机输入/从机输出(MISO)、串行时钟SCLK和外设片选CS。

15.4.主机和外设都包含一个串行移位寄存器,主机通过向它的SPI串行寄存器写入一个字节来发起一次数据传输。寄存器通过MOSI信号线将字节传送给外设,外设也将自己移位寄存器中的内容通过MISO信号线返回给主机,这样,两个移位寄存器中的内容就被交换了。

15.5.外设的写操作和读操作是同步完成的,因此SPI成为一个很有效的协议。

15.6.如果只是进行写操作,主机只需忽略收到的字节;反过来,如果主机要读取外设的一个字节,就必须发送一个空字节来引发从机的传输。

16、IIC接口

16.1.IIC总线是具备总线仲裁和高低速设备同步等功能的高性能多主机总线。

16.2.IIC总线上需要两条线:串行数据线SDA和串行时钟线SCL。

16.3.总线上的每个器件都有唯一的地址以供识别,而且各器件都可以作为一个发送器或者接收器(由器件的功能决定)。

16.4.IIC总线有4种操作模式:主发送、主接收、从发送、从接收。

16.5.IIC在传送数据过程******有3种类型信号

A、开始信号:SCL为低电平时,SDA由高向低跳变。

B、结束信号:SCL为低电平时,SDA由低向高跳变。

C、应答信号:接收方在收到8位数据后,在第9个脉冲向发送方发出特点的低电平。

16.6.主器件发送一个开始信号后,它还会立即送出一个从地址,来通知将与它进行数据通信的从器件。1个字节的地址包括7位地址信息和1位传输方向指示位,如果第7位为0,表示要进行一个写操作,如果为1,表示要进行一个读操作。

16.7.SDA线上传输的每个字节长度都是8位,每次传输中字节的数量没有限制的。在开始信号后面的第一个字节是地址域,之后每个传输字节后面都有一个应答位(ACK),传输中串行数据的MSB(字节高位)首先发送。

16.8.如果数据接收方无法再接收更多的数据,它可以通过将SCL保持低电平来中断传输,这样可以迫使数据发送方等待,直到SCL被重新释放。这样可以达到高低速设备同步。

16.9.IIC总线的工作过程:SDA和SCL都是双向的。空闲的时候,SDA和SCL都是高电平,只有SDA变为低电平,接着SCL再变为低电平,IIC总线的数据传输才开始。SDA线上被传输的每一位在SCL的上升沿被采样,该位必须一直保持有效到SCL再次变为低电平,然后SDA就在SCL再次变为高电平之前传输下一个位。最后,SCL变回高电平,接着SDA也变为高电平,表示数据传输结束。

以上为嵌入式开发过程中常见的一些概念和知识点,希望能够帮助大家。