计算机三级嵌入式笔记(三)——嵌入式系统硬件组成

目录

考点1 嵌入式最小硬件系统

考点2 基于 ARM 内核的典型嵌入式应用系统硬件组成

考点3 ARM 的 AMBA 总线体系结构及标准

考点4 基于 ARM 内核的嵌入式芯片的硬件组成

考点5 存储器层次结构

考点6 存储器分类

考点7 存储器主要性能指标

考点8 片内存储器

考点9 外部辅助存储设备

考点10 通用 I/0 接口 GPIO

考点11  集成电路互连总线接口

考点12 串行外设接口SPI

考点13 串行通信接口通用接口UART

考点14 通用串行总线 USB

考点15 高清多媒体接口HDMI

考点16 常用简单输入设备

考点17 常用简单输出设备

考点18 基于 UART 的 RS-232/RS-485 接口

考点19  CAN总线接口

考点20 以太网通信接口

考点21  常用无线通信模块


23考纲

考点1 嵌入式最小硬件系统

        嵌入式最小系统是嵌入式系统的最小硬件系统,它主要包括的硬件有嵌入式处理器、时钟电路、电源电路、复位电路、存储器以及调试测试接口。

①电源电路

常用的电源模块
        嵌入式系统常用的电源模块是交流变直流(AC-DC)模块、直流到直流(DC-DC)模块以及低压差稳压器(Low Dropout Regulator, LDO)。

选择和设计电源电路时主要考虑因素
第一,输出的电压、电流(按嵌入式硬件系统需要的最大功率来确定电源输出功率)。
第二,输入的电压、电流(是直流还是交流,输入电压和电流有多大)。
第三,安全因素(是否需要不会因火花或热效应而点燃爆炸性环境的本安型电源)。
第四,电磁兼容
第五,体积限制。
第六,功耗限制。
第七,成本限制。

②时钟电路
         几乎所有的嵌入式处理器本质上均为同步时序电路,需要时钟信号才能按照节拍正常工作大多数嵌入式处理器内置了时钟信号发生器,因此时钟电路只需要外接一个石英晶体振荡器和两只电容就可以工作了。但有些场合(如为了减少功耗、需要严格同步等)需要使用外部振荡源提供时钟信号。

晶振
        晶体振荡器,简称晶振。根据系统需求选择合适的晶振,既要考虑嵌入式处理器的最高工作频又要保证系统在一定的功耗范围内。晶振是无极性的,通常分为无源和有源两种。
③复位电路
        复位电路的作用嵌入式处理器都有一个系统复位引脚为nRESET或RESET,n表示低电平复位,不带n的表示高电平复位。一般情况下,nRESET必须至少保持若干个处理器时钟周期的低电平,系统才能可靠复位,并且考虑可以人工干预复位。目前嵌入式系统常使用外接典型复位芯片以保证系统能可靠复位。ARM复位后PC指针指向唯一的地址 0x00000000,而在此地址处通常放一条无条件转移指令BRESET,转向RESET开始的系统初始化程序,在这个系统初始化程序中就可以对系统进行初始化操作,以保证系统有序工作。

考点2 基于 ARM 内核的典型嵌入式应用系统硬件组成


        典型的嵌入式系统硬件由嵌入式最小硬件系统、前向通道、后向通道、人机交互通道以及相互互联通信通道等组成。

(1)前向通道
        即输入接口,由模拟量输入接口和数字量输入接口组成,模拟输入接口包括传感器、信号调理电路(滤波器、放大器等)、A/D 转换器等。
(2)后向通道
        即输出接口,由模拟输出接口和数字输出接口组成,模拟输出接口包括 D/A 转换器、功率放大器、执行器等
(3)人机交互通道
        人机交互通道包括键盘或触摸屏输入接口以及 LED 或LCD 显示输出接口。
(4)相互互连通道
        相互互连通道包括 RS-232/RS-485 串行通信接口、CAN 通信接口、以太网通信接口、 USB 通信接口等。

考点3 ARM 的 AMBA 总线体系结构及标准


①起源        

        先进微控制器总线体系结构(Advanced Microcontroller BusArchitecture,AMBA),是用于连接和管理片上系统(SoC)中功能模块的开放标准和片上互连规范。
②作用
        有助于开发带有大量控制器和外设的多处理器系统
③规定内容

        标准规定了 ARM 处理器内核与处理器内部高带宽RAM、DMA 以及高带宽外部存储器等快速组件的接口标准(通常称为系统总线),也规定了内核与ARM处理器内部外围端口及慢速设备接口组件的接口标准(通常称为外围总线)。

a.AMBA1总线标准
         AMBA1总线标准规定了两种类型总线,即系统总线和外围总线:先进系统总线(Advanced System Bus,ASB)用于连接高性能系统模块,是第一代AMBA系统总线;先进外围总线(AdvancedPeripheralBus,APB)支持低性能的外围接口,主要用于连接系统的周边组件,APB是第一代外围总线。
        APB与ASB之间通过桥接器(Bridge)相连,希望能减少系统总线的负担。APB属于AMBA的二级总线用于不需要高带宽接口的设备互连。所有通用外设组件连接到APB总线上。
b:AMBA2 标准
        AMBA2标准增强了AMBA的性能,定义了两种高性能的总线规范 AHB 和APB2以及测试方法。系统总线改为先进高性能总线(Advanced High-performance Bus,AHB),用于连接高性能系统组件或高带宽组件。
c:AMBA3总线
        AMBA3总线包括先进的可扩展接口(Advanced eXtensible Interface,AXI)、先进的跟踪总线(Advanced TraceBuS,ATB)、AHB-Lite及APB3 四个总线标准。
d.AMBA4总线
        AMBA4在 ATB 基础上增加了5个接口协议:AXI一致性扩展(AXICoherency Extensions,ACE)、ACE-Lite、AXI4、AXI4-Lite 及AXI4-Stream。

考点4 基于 ARM 内核的嵌入式芯片的硬件组成

        基于 ARM 内核的嵌入式芯片正是以ARM 内核为基础,通过 AMBA 总线技术将其他硬件组件连接在一起以片上系统(SoC)的形式构成的。

①系统总线
        系统总线主要用于连接高带宽快速组件,连接到系统总线上的高带宽组件主要包括:电源管理与时钟控制器测试接口如JTAG、外部存储器控制接口、DMA控制器、USB主机、片上SRAM及Flash、Ethemet、高速 GPIO中断控制器、LCD 控制器等。
②外围总线

        外围总线主要连接低带宽组件以及与外部相连的硬件组件。系统总线通过桥接器与外围总线互连,外围总线连接的硬件组件包括:GPIO、UART、SPI、C、USB设备、CAN、ADC、DAC、WDT、Timer、RTC、PWM等:
(2)存储器及控制器
①存储器及控制器介绍
        ARM 处理芯片内部硬件中除ARM内核外,最重要的组件就是存储器及其管理组件,用于管理和控制片内的 SRAM、ROM 和 Fash ROM,通过外部存储器控制器对外部扩展存储器如Flash 存储器及 DRAM 等进行管理与控制。
②片内程序存储器和片内数据存储器
        片内程序存储器通常用的是FIashROM,一般配有几KB到几MB不等。片内数据存储器通常使用的是SRAM,一般配置有几KB到几百KB不等。
③外部存储器控制接口
        高带宽外部存储器控制接口为外部存储器扩展提供了接口,可以扩展程序存储器和数据存储器。目前程序存储器大都采用Flash存储器,而数据存储器可采用SRAM和DDR或DDR2或普通的 DRAM。

(3)中断控制器
①中断控制器的作用

        中断控制器负责对其他硬件组件的中断请求进行管理和控制,一般采用向量中断(VIC)嵌套向量中断(NVIC)方式管理中断。
        当一个外设或组件需要服务时,会向处理器提出一个中断请求,中断控制器提供一套可编程的管理机制,软件通过设置,可以决定什么时刻允许哪一个外设或组件中断处理。

②处理中断的形式
        处理中断有两种形式:标准的中断控制器和向量中断控制器(VIC)。
a.标准中断控制器

        标准中断控制器在一个外设设备需要服务时,发送一个中断请求信号给处理器核。中断控制器可以通过编程设置来忽略或屏蔽某个或某些设备的中断请求。中断处理程序通过读取中断控制器中与各设备对应的表示中断请求的寄存器内容,从而判断哪个设备需要服务。
b.向量中断控制器
        VIC 比标准中断控制器的功能更为强大些,因为它区分中断的优先级,简化了判断中断源的过程。每个中断都应有相应的优先级和中断处理程序地址(称为中断向量),只有当一个新的中断其优先级高于当前正在执行的中断处理优先级时,VIC才向内核提出中断请求。根据中断类型的不同,VC可以调用标准的中断异常处理程序该程序能够从 VIC中读取设备的处理程序的地址,也可以使内核直接跳转到设备的处理程序处去执行。
c.嵌套向量中断
        NVIC比VIC更进一步,可以进行中断的嵌套,即高优先级的中断可以进入低优先级中断的处理过程中,待高优先级中断处理完成才去继续执行低优先级中断,也称之为抢占式优先级中断Conex-M系列就支持嵌套的向量中断

(4)DMA 控制器
①DMA 控制器的作用
        ARM 处理芯片内部的DMA控制器(直接存储器访问控制器)是一种硬件组件,使用它可将数据块从外设传输至内存、从内存传输至外设或从内存传输至内存。
②DMA 控制器的特点

        数据传输过程中不需要 CPU参与,因而可显著降低处理器的负荷。通过将CPU设为低功率状态并使用 DMA控制器传输数据,也降低了系统的功耗。在ARM 处理芯片中有许多与外部打交道的通道,它们既可以由ARM内核控制其数据传输,也可以通过 DMA控制器控制数据传输,这样可以把ARM内核从繁杂的数据传输操作中解放出来,提高数据处理的整体效率。
(5)电源管理与时钟控制器
①电源管理的模式
        ARM 处理芯片内部的电源管理主要有正常工作模式、慢时钟模式、空闲模式、掉电模式、休眠模式、深度休眠模式等以控制不同组件的功耗。
②)时钟控制器
        时钟信号是 ARM 芯片定时的关键,时钟控制器负责对时钟的分配,产生不同频率的定时时钟供片内各组件作为同步时钟使用。
(6)GPIO端口

        GPIO(General Purpose Input Output)即通用输入/输出端口,作为通用的输入或输出端口使用。作为输入时具有缓冲功能,而作为输出时则具有锁存功能,GPIO也可以作为双向IO使用。在ARM 处理芯片中,GPIO弓脚通常是多功能使用的,目的是减少芯片引脚数,缩小PCB面积,以减少功耗。有的引脚是双功能的,也有三功能甚至四功能的引脚,不同厂家的ARM 处理芯片其具体引脚的定义不同。
(7)定时计数组件
①看门狗定时器
        在嵌入式应用中,处理器必须可靠工作。但系统由于种种原因,程序运行时会不按指定指令运行,导致死机,系统无法继续工作下去,这时必须使系统复位才能使程序重新投入运行。这个能使系统定时复位的硬件或软件称为看门狗定时器,简称看门狗。看门狗的主要功能是当处理器在进入错误状态后的一定时间内复位,保证系统的稳定运行。

②Timer
        Timer 是通用定时器,可用于一般的定时。
③RTC
        RTC 可直接提供年月日时分秒,使应用系统具有自己独立的日期和时间。

④PWM
        PWM 用于脉冲宽度的调制,比如电机控制、变频调整等多种场合。所有与定时有关的组件的一个共同特点就是,对特定输入的时钟通过分频后接入计数器进行加1或减1计数,计数达到预定的数值后将引发一个中断并置一定的标志位。对于WDT定时达到后将产生系统复位信号,对于PWM 定时达到后会产生特定波形。

(8)模拟通道组件
①ADC
        ADC 是模拟到数字的转换器,可完成从模拟信号到数字信号的变换。对于嵌入式系统而言,它是一个模拟输入的组件,ARM 芯片内置的 ADC大部分是多通道通过模拟开关形式切换通道的 ADC,内部只有一个 AD变换单元,分辨率一般为10位和12位居多。
②DAC

        DAC 是数字到模拟的变换器,可完成从数字信号到模拟信号的变换。对于嵌入式系统而言它是一个模拟输出组件。一般内置 DAC有10位、12位、14位等分辨率。DAC主要应用于需要模拟信号输出的场合,一般在后级还需要加功率放大才能接到实际应用系统中。
③比较器

        比较器可方便地对模拟电压信号等与基准信号相比较,可监测电源电压、芯片温度等,通过比较采样值与基准值,就可以判断是否欠压、温度是否超高等。比较器的主要功能是当比较器正端电压高于负端电压时,输出电压值接近正电源电压,反之输出电压接近负电源电压。
(9)互联通信组件
①通用异步收发器介绍

        通用异步收发器(Universal Asynchronous Receiver/Transmitter,UART)为标准的串行通信接口,字符格式按照低位在前、高位在后的次序进行传输,1位起始位,8位数据位,1位奇偶校验位,1~2位停止位。它是应用最为广泛的串行通信接口,可完成全双工的串行异步通信。外接电平和逻辑转换收发器后可做成RS-232、RS-422、RS-485 等标准的串行接口。
②ARM 处理芯片内部常用的可互联通信组件
a. I2C(Inter-Integrated Circuit)
        I2C是集成电路互连的一种总线标准,只有两根信号线,一根是时钟线 SCL,一根是数据线SDA(双向三态),即可完成数据的传输操作。具有特定的起始位和终止位,可完成同步半双工串行通信方式,常用于板级芯片之间的短距离低速通信。
b. I2S(Inter-Integrated Circuit Sound Bus)

       I2S是一种面向多媒体应用的音频串行总线,是 SONY、PHILIPS 等公司共同推出的接口标准,主要针对数字音频设备如便携 CD机、数字音频处理器等,专用于这些音频设备之间的数据传输。
c.SPI(Serial Peripheral Interface )

        SPI是串行外设接口,总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信。通常用四线制,包括MISO(主输入从输出)、MOSI(主输出从输入)、SSL(芯片选择)和SCK(时钟)。可完成全双工的同步串行通信,用于板级芯片之间的短距离通信。
d. CAN(Controller Area Network)

        CAN 是控制器局域网,仅有CANH和CANL两根信号线,采用差分传输的方式,可以进行远距离(1200m)多机通信。主要用于要求抗干扰能力强的工业控制领域,可组成多主多从系统。
e.USB(Universal Serial Bus)
        USB 是一种通用串行总线,主要应用于与外部设备的短距离通信,也采用差分方式传输数据,速度快,效率高,是目前应用最广的串行总线接口形式。
f. Ethernet
        Ethernet是以太网通信接口,在许多新型ARM 芯片(如Corex-M3 系列)中均集成了这一接口,把以太网MAC层做到芯片内部,有的连物理层也做进去了,使连接以太网变得非常容易,外部仅需要连接一个RJ-45连接器即可。

考点5 存储器层次结构

(1) 三层次结构的存储器结构
        对于CPU使用最频繁的少量的程序代码和数据用SRAM作为高速缓冲存储器(Cache)存放正在运行中的程序的大部分数据和代码存放在主存储器(内存)中,尚未启动运行的其余程序或数据则存放在容量大的外部存储器如磁盘(虚拟内存)中待命。图中,最上层是处理器内部的通用寄存器,是速度最快的一层,其次就是处理器内部的 Cache,其下就是主存储器,最后一层是容量最大、速度最慢的外部存储器。

(2)Cache 的作用
        使用Cache的优点是只需要增加少许成本,整个系统的性能将会得到显著提高,因此目前嵌入式系统采用SRAM 作为 Cache,Cache 又分为嵌入式处理器内部一级Cache(L1)和二极Cache(L2)

考点6 存储器分类


(1)存储器的分类
①按照其存取特性可分为随机存取存储器(RAM)和只读存储器(ROM);

②按照所处物理位置可分为片内存储器(芯片内置的存储器)和片外存储器(外部扩展的存储器)以及外部存储设备;
③按照存储信息的不同可分为程序存储器和数据存储器。
④在嵌入式系统中把片内存储器及片外扩展的存储器简称主存储器或主存,而把外部存储设备简称辅助存储其器。
⑤嵌入式系统的存储器以半导体存储器为主。也出现了新型存储器,主要包括铁电随机存取存储器(Ferroelectric Random Access Memory,FRAM)和磁性随机存取存储器(Magnetic Random Access Memory,MRAM),尤其是FRAM 被广泛应用于嵌入式应用系统中并越来越受到重视。

(2)随机存取存储器
        随机存取存储器包括静态和动态两种形式,即SRAM和DRAM,它们都是易失性存储器,即掉电后信息丢失。在计算机组成原理中已知,SRAM是靠双稳态电路的两个稳定状态来记录信息0和1的,而DRAM 是靠存储单元的晶体管极间电容的充放电状态来存放信息0和1的。由于电容容易漏电,因此必须定时进行刷新以保持原来的信息不变,使用时外部需要提供刷新电路。因此目前嵌入式处理器内嵌的数据存储器基本都采用 SRAM,而外部扩展的存储器大都采用 DRAM 及其改进型。
        DRAM 比 CPU速度慢很多,除了改进其电路和工艺外,人们还不断地对 DRAM 的存储控制技术进行改进开发出了 DRAM 的许多新品种。近几年大多数嵌入式系统使用的是DDR(DualDataRate)SDRAM(双倍数据速率同步 DRAM)和性能更加优越的 DDR2SDRAM、DDR3 SDRAM和 DDR4 SDRAM。DDR SDRAM 是新的内存标准之一,它在系统时钟触发沿的上、下沿都能进行数据传输,从而把数据传输速率提高了一倍。
        DDR2(或DDR3)SDRAM与DDR相比,除了保持原有的双边沿触发传送数据特性外,还提高了存储器内部时钟工作频率,扩展了数据预读取能力,使原来DDR可预读取2位变成可预读取4位(或8位)数据,把DDR的数据传输速率又提高了两倍(或四倍),因此称为DDR2(DDR3)。

        DDR4是DDR3的改进,其数据传输速率是DDR3的2倍。DDR4内存拥有两种规格,一种使用Single-endedSignaling 信号,其传输速率为 1.6~3.2GB,而基于差分信号技术的 DDR4 内存其传输速率则将可以达到 6.4GB/s。
        DDR及 DDR2以上的DRAM 主要应用在高端应用场合,如应用在Cortex-A8/A9/A15等ARM 处理器的应用系统的外部存储器中。

(3)只读存储器
①MROM(MaskROM)
        MROM 是基于掩膜工艺技术的只读存储器,出厂时已决定信息0和1,因此一旦生产出来,信息是不可改变的。这种ROM主要用于不可升级的成熟产品存储程序或不变的参数等信息。②PROM(Programmable ROM)
        PROM一次可编程的只读存储器,只能一次编程,通过外接一定的电压和电流来控制内部存储单元上节点熔丝的通断以决定信息0和1,一旦编程完毕则无法修改。
③EPROM(Erasable Programmable ROM)

        EPROM紫外线可擦除可编程的只读存储器,通过内部浮置栅场效应管是否充满足够的电荷决定信息0和1,这种电荷的稳定性非常好,可长久不变,除非用紫外线照射一段时间,电荷才会重新分布,从而进行信息的擦除。擦除编程次数十万次以内。编程速度慢,擦除时间长
④EEPROM(Electrically Erasable Programmable ROM)

        EEPROM 是一种可以电擦除可编程的只读存储器,可以在线改写和擦除信息,无需紫外线照射。而且可以多次擦除和编程,可擦除和编程1百万次以内。EEPROM通常写成E2PROM。

⑤Fash ROM
        Flash ROM 是近些年应用最广、速度最快的只读存储器,原理是从 E2PROM 基础上改进发展来的,特点是擦除和编程速度快,因此得名为闪速(或闪烁)存储器,简称闪存
        NOR Fash和NAND Fash是两种主要的闪存技术。
a. NAND Flash ROM
        NAND Fash ROM 以页(行)为单位随机存取,在容量、使用寿命和成本方面有较大优势。但是它的读出速度稍慢,编程较为复杂,因此大多作为数据存储器使用。嵌入式产品中包括数码相机、MP3 随身听记忆卡、体积小巧的U盘等均采用 NAND Flash ROM。
b. NOR Flash ROM

        NOR Flash ROM 的特点是以字节为单位随机存取。这样,应用程序可以直接在 Fash ROM 中执行,不必再把程序代码预先读入到RAM 中。NORFash ROM 的接口简单,与通常的扩展存储器一样,可以直接连接到处理器的外围总线上(而 NAND Fash ROM 必须配置专用的 NAND Fash ROM 控制器或采用通常的 I/O 接口才能使用)。但是,NOR FashROM 写入和擦除速度较慢,影响了它的性能。

(4)铁电存储器
①FRAM 的原理
        FRAM 利用铁电晶体的稳定性,通过对施加电场到铁电品体时让铁电品体迅速移动,从而引发铁电电容的击电场移走后,中心原子保持不动,从而存储信息不变。
②FRAM 的特点
        铁电晶体的稳定性极高,且可读/写100亿次,有的可以读/写无数次。这样一来,它就既具有只读存储器非易失性的特点,、又具有随机存储器可快速随机读/写的特点,而且速度快、功耗低,已被应用到嵌入式微处理器内部以取代SRAM 和Flash存储器,在其他嵌入式应用领域也越来越被重视,应用越来越广泛。
(5)磁性存储器
        MRAM 是一种非挥发性(或非易失性)的磁性随机存储器,具有静态随机存储器(SRAM)的高速存取能力以及动态随机存储器(DRAM)的高集成度,而且基本上可以无限次地重复写入。它存储的数据具有永久性,直到受外界磁场作用才会发生改变。因为运用磁性存储数据,所以MRAM 在成本上有了很大的降低
 

考点7 存储器主要性能指标

(1)容量
①概念
        存储器容量是指每一个存储芯片或模块能够存储的二进制位数。

②单位
        存储器容量以存储1位二进制位为最小单位(b),容量单位有字节(Byte,B)、千字节(Kilo-Byte,KB)、兆字节(Mega-Byte,MB)、吉字节(Giga-Byte,GB)、太字节(Tera-Byte,TB)、拍字节(Peta-Byte,PB)、艾字节(Exa-Byte,EB)、泽字节(Zetta-Byte,ZB)以及尧字节(Yotta-Byte,YB)等。

③单位换算
        对于内存容量而言,这些容量单位之间的相互关系均以 2^{10}=1024倍表示;对于外存容量而言,这些容量单位之间的相互关系却以10^{3}=1000倍表示。

④计算
        内存储器有多大容量取决于存储单元的个数和存储器各单元的位数。

内存容量=单元总数x数据位数/单元

        单元个数与存储器的地址线有密切关系,因此存储芯片的容量完全取决于存储器芯片的地址线条数和数据线的位数。假设单元个数为L,数据线位(条)数用n表示,地址线条数用m表示,则单元个数与地址关系为m=log_{2}L,因此存储容量V与m、n之间的关系为

V=2^{m}*n

(2)存取时间
        存取时间是指从CPU给出有效的存储器地址开始到存储器读出数据(或者是把数据写入存储器)所需要的时间。存储器芯片的工作速度通常用存取时间来衡量。
        由于现在的存储器都较快,内存的存取时间通常以ns为单位。s、ms、us和 ns之间的关系为:
1s=10^{3}ms=1000ms,1ms=10^{3}\mu s=1000\mu s,1\mu s=10^{3}ns=1000 ns
(3)带宽
①存储器概念
        存储器的带宽指每秒可传输(读出/写入)的最大数据总量,通常以Bs、KB、MBs和 GBs 表示。存储器带宽与存储器总线频率有关,也与数据位数(宽度)和每个总线周期的传输次数有关。

②存储器带宽的计算
a.并行总线的存储器带宽

带宽=总线频率x数据宽度/8x传输次数/总线周期(B/s)

b:串行总线的存储器带宽
        由于目前串行总线非常流行且为今后发展的主流趋势,而串行总线按位顺序传输,因此其带宽的计算公式如下:

带宽=总线频率x\frac{1}{10}(B/s)

通常串行总线以10位为一个数据帧(含一字节数据)。
 

考点8 片内存储器

(1)片内 Cache
①片内 Cache 的集成
        嵌入式微处理器内部集成了几KB到几百KB,有的达到几MB的Cache,有的嵌入式微处理器内部有片内一级Cache,还有二级Cache。
②片内 Cache 的作用

        借助于内部 Cache,系统就可以不必每次都访问外部存储器,一次可以把批量的指令或数据复制到 Cache中,这样 CPU 直接读取 Cache 中的指令,读/写 Cache 中的数据,减少了访问外部存储器的次数,提高了系统运行效率。在性能高的嵌入式处理器中都会集成内部Cache
(2)片内Fash ROM
        大部分嵌入式微控制器内部集成有一定容量的 Fash ROM 作为程序存储器,从几 KB 到几 MB 不等。有了内置Flash,嵌入式系统就可以以最小系统形式(无需外接程序存储器)应用到各个领域。
(3)片内SRAM
        嵌入式微控制器内部除了有一定容量的 Flash ROM 作为程序存储器外,还集成了从几 KB 到几 MB 不等的SRAM 作为数据存储器,用来临时存放系统运行过程中的数据、变量、中间结果等。由于 SRAM 是易失性存储器,因此,系统复位后要对 SRAM进行初始化操作
(4)片内E2PROM

        相当一部分嵌入式微控制器内部除了 Fash ROM 和 SRAM 外,还配备了从几 KB 到几 MB 不等的 E2PROM作为长期保存重要数据的存储器。因为是非易失性存储器,掉电后信息保持不变,因此常用于存放系统的设置和配置信息以及希望长期保存且很少改写的一些数据
(5)片内FRAM
        目前已有部分嵌入式微控制器内部集成了FRAM,由于它具有RAM和ROM的全部特点,因此既可当作RAM用,又可当作 ROM用,是当前嵌入式微控制器内部的主要存储器之一。

考点9 外部辅助存储设备


        基于 Flash 的闪存卡(Flash Card),是利用闪存技术达到存储电子信息的存储设备。它如同一张卡片,所以称之为闪存卡或存储卡。
(1)SM 卡
        SM卡一度在数码机和 MP3播放器上非常流行,现在已经被 SD卡和 MMC卡所取代。
(2)CF卡
        CE卡为兼容 Fash 卡,最初是使用 Fash 存储技术的一种用于便携式电子设备的数据存储设备。CF 卡实际上是使用了 NOR Flash 和 NAND Flash,只是封装成一个标准的形式而已。目前新 CF 卡均采用NAND Flash ROM 作为存储器。
(3)MMC        

      MMC的发展目标主要是针对数码影像、音乐、手机、PDA、电子书、玩具等产品。MMC 也是把存储单元和控制器一同做到了卡上,智能的控制器使得MMC 保证了兼容性和灵活性。
(4)SD卡
①SD 卡
        SD卡为安全数字存储卡,也是基于 Fash,它被广泛地应用于便携式装置。大小如一张邮票的 SD记忆卡,重量只有2克,但却拥有高记忆容量快速数据传输率、极大的移动灵活性以及很好的安全性。

②miniSD卡
        SD卡对于手机等小型数码产品略显臃肿,为此又开发了一种,其封装尺寸是原来 SD卡的 44%,通过转接卡也可以当作 SD卡使用。在手机上有广泛的使用。

③microSD
        还有一种 TF 卡又称 microSD,是一种更加小巧的 SD卡,主要用于手机。随着容量的不断提升,它慢慢开始用于 GPS 设备、便携式音乐播放器和一些闪存盘中。它是目前为止最小的存储卡。它亦能够以转接器来接驳于 SD 卡插槽中使用。

(5)记忆棒
        记忆棒是由日本索尼(SONY)公司最先研发出来的移动存储媒体。记忆棒用在SONY的PMP、PSX系列游戏机、数码相机、数码摄像机、索爱的手机以及笔记本电脑上,用于存储数据。
(6)XD卡
        XD卡是由富士和奥林巴斯联合推出的专为数码相机使用的小型存储卡,采用单面18针接口,在奥林巴斯、柯达、富士胶卷的数码相机上使用。目前市场上见到的XD卡有16MB、32MB、64MB、128MB、256MB 等不同的容量规格。
(7)U盘
        U盘,全称 USB 闪存盘,英文名为USB fash disk。它是一种使用 USB 接口的无需物理驱动器的移动存储产品,通过 USB接口与系统连接,实现即插即用。
(8)微硬盘
        微硬盘最早是由IBM 公司开发的一款超级迷你硬盘机产品。其最初的容量为340MB和512MB,现在的产品容量有1GB、2GB、4GB、8GB、16GB、30GB、40GB和60GB,甚至 240GB等。与以前相比,目前的微硬盘降低了转速(由4200rpm降为3600rpm),从而降低了功耗,增强了稳定性。

微硬盘的主要特点:
①超大容量
        微硬盘的盘片面积只有1英寸,整体也不过电话卡 1/3 面积,主流容量却达到了 1~4GB 级水平,还有 15GB(1英寸)和60GB(1.8英寸)的产品,无论是用作相机拍摄,还是数据存储,都是绰绰有余。目前1.8英寸的微硬盘最大容量已经达到240GB。
②使用寿命长
        采用比硬盘更高技术来制作,保证了它的使用寿命,可反复抹写30万次以上,通常能稳定工作5年。

③带有缓存
        缓存是提高数据传输率的重要保证,一般产品都配有128KB容量数据缓存。

④无须外置电源
        微硬盘的功耗极小,连接 USB 就可以用了。
⑤高速传输
        现在微硬盘转速都有 3600~4200r/min,最快的已经达到4500r/min。当然,由于盘片体积小,相同转速时数据传输率比普通硬盘要低。由于拥有自动省电模式,能主动降低发热量,让高速传输可以更加持久。

⑥接口多样,兼容性好
        微硬盘与普通硬盘一样,都有兼容工业标准的多种硬盘接口,这主要由控制芯片来决定,使其适用于多种手持装置。有基于 CF卡、PCMCIA、USB 2.0、ATA并口的微硬盘,还有SATA串口的微硬盘。特别是 USB2.0接口可实现60MB/s的高速数据传输。
⑦高防振性

        由于微硬盘的特殊设计,它的防振能力比一般笔记本硬盘强许多,其特殊的磁头载入载出技术使抗冲击能力高达1500g(非工作状态)和175g(工作状态)。即使配合低端读取设备使用,读取器和硬盘的双重保护也能避免硬盘内部受到撞击。

考点10 通用 I/0 接口 GPIO

(1)通用输入输出(GeneralPurpose Input Output,GPIO)
①应用范围

        所有嵌入式处理器内部均集成了GPIO,GPIO 接口提供的输入具备缓冲功能,而输出均具有锁存功能。有的嵌入式处理器芯片通过设置端口的方向来确定是输入功能还是输出功能,也有的嵌入式处理器直接根据读/写命令自动控制输入或输出的方向。
②三态
        GPIO 一般具有三态,即0态、1态和高阻状态
③引脚功能
        为了节省引脚条数,通常有些GPIO引脚有多种功能以供选择,如有两功能的,有三功能的,也有四功能的,等等,可以通过设置相关控制寄存器的位来确定引脚功能。
(2)典型的1位 GPIO的输入/输出接口示例输入
        输入时通过 IO 引脚将数据0或1经 S1施密特触发器进入输入数据寄存器,在输入操作指令的作用下即可将外部 IO引脚的数据读入处理器内部。
②输出
a.输出状态结果
        输出时,处理器将数据送到输出数据寄存器,如果输出为逻辑 0,则输出控制使 N-MOS 管导通,而此时 P-MOS管截止,使输出电平被下拉到接近 VSS 而输出逻辑为 0:如果输出为逻辑1,则输出控制使 P-MOS 导通而 N-MOS截止,使输出电平被上拉到接近 VDD 而输出逻辑为1。且只要输出控制不变,输出状态结果也保持不变(锁存功能)。
b.二极管的输入保护功能
        输出引脚的两个上下拉二极管具有输入保护功能,一旦输入信号高于VDD或低于 VSS,则通过二极管使引脚信号被钳位在 VDD与 VSS之间,保护了引脚内部相关部件(输入引脚的电平不能超过电源电压的范围,这是基本要求)。通常可通过配置为上拉(即引脚对电源接一 100kΩ左右的电阻)或下拉(即引脚对地接一个100kΩ左右的电阻)。

考点11  集成电路互连总线接口I^{2}C

(1)集成电路互连(Inter IC,I2C)总线的介绍
①概念
        PC总线用于连接嵌入式处理器及其外围器件,它是广泛采用的一种串行半双工传输的总线标准,可以方便地用来将微控制器和外围器件连接起来构成一个系统。许多处理器芯片和外围器件均支持了I2C总线,这些器件各有一个地址,该器件可以是单接收的器件(如LCD驱动器),也可以是既能接收也能发送数据的器件(如 Pash存储器)。主动发起数据传输操作的I2C器件是主控器件(主器件),否则它就是从器件。
②)优点
a.PC 总线接口线少;
b.控制方式简单;
c.器件封装紧凑:
d.通信速率较高(100kb/s,400kb/s,高速模式可达3.4 Mb/s)。

(2)I2C总线的操作时序
        I2C总线只有两条信号线,一条是数据线SDA,另一条是时钟线SCL,所有操作都通过这两条信号线完成。数据线SDA 上的数据必须在时钟的高电平周期保持稳定,它的高/低电平状态只有在SCL,时钟信号线是低电平时才能改变。
①启动和停止条件

        总线上的所有器件都不使用总线时(总线空闲),SCL线和 SDA 线各自的上拉电阻把电平拉高,使它们均处于高电平。主控器件启动总线操作的条件是当 SCL,保持高电平时 SDA 线由高电平转为低电平,此时主控器件在SCL,产生时钟信号,SDA 线开始数据传送。若SCL为高电平时 SDA 电平由低转为高,则总线工作停止,恢复为空闲状态。

②数据传送格式
        数据传送时高位在前,低位在后,每次传送的字节数目没有限制。传输操作启动后主控器件传输的第一字节是地址,其中前面7位指出与哪一个从器件进行通信,第8位指出数据传输的方向(发送还是接收)。

③应答(ACK)信号传送
        为了完成一字节的传送,接收方应该发送一个确认信号ACK给发送方。ACK信号出现在SCL线的第9个时钟脉冲上,有效应答 ACK在SDA 上呈现低电平。
        主控器件在接收了来自从器件的字节后,如果不准备终止数据传输,它将会发1个ACK信号给从器件。从器件在其接收到来自主控器件的字节时,总是发送个 ACK 信号给主控器件,如果从器件还没有准备好再次接收,它可以保持 SCL为低电平(总线处于等待状态),直到它准备好为止。
④读/写操作
        在发送模式下,数据被发送出去后,I2C接口将处于等待状态(SCL线将保持低电平),直到有新的数据写入I2C数据发送寄存器之后,SCL线才被释放,继续发送数据。
        在接收模式下,I2C接口接收到数据后,将处于等待状态,直到数据接收寄存器内容被读取后,SCL线才被释放,继续传输数据。
⑤总线仲裁
        I2C总线属于多主总线,即允许总线上有一个或多个主控器件和若干从器件同时进行操作。
a.总线仲裁的原理
        总线被启动后多个主机在每发送一个数据位时都要对自己的输出电平进行检测,只要检测到电平与自己发出的电平相同,就会继续占用总线。假设主机 A 要发送的数据为“1”,主机 B要发送的数据为“0”,如图所示,由于“线与”的结果使 SDA 上的电平为“0”,主控器A检测到与自身不相符的“0”电平,只好放弃对总线的控制权。这样主机B 就成为总线的唯一主宰者。仲裁发生在SCL为高电平时刻。

b.总线仲裁的特点

        由仲裁机制可以看出:总线控制遵循“低电平优先”的原则,即谁先发送低电平谁就会掌握对总线的控制权;主控器通过检测 SDA 上自身发送的电平来判断是否发生总线仲裁。因此,I2C总线的“总线仲裁”是靠器件自身接口的特殊结构得以实现的。
⑥异常中断条件

        如果没有一个从器件对主控器件发出的地址进行确认,那么SDA 线将保持为高电平。这种情况下,主控器件将发出停止信号并终止传送。
        如果主控器件涉入异常中断,在从器件接收到最后一个数据字节后,主器件将通过取消一个 ACK 信号的产生来通知从器件传送操作结束。然后,从器件释放SDA,允许主器件发出停止信号,释放总线。
(3)I2C总线接口的连接
        ARM 芯片内部集成了I2C总线接口,因此可直接将基于了I2C总线的主控器件或被控器件挂接到了C总线上。每个器件的 IC总线信号 SCL和 SDA 与其他具有 I2C总线的处理器或设备同名端相连,在 SCL 和 SDA 线上要接上拉电阻。基于I2C总线的系统构成如图所示。

        在 ARM 芯片中内置了I2C总线控制器,I2C总线在主器件和从器件之间进行数据传输之前,必须根据要求设置相应的I2C的有关功能寄存器,包括I2C总线控制寄存器、I2C总线状态寄存器、I2C总线地址寄存器以及I2C总线接收/发送数据移位寄存器等。

考点12 串行外设接口SPI

(1)串行外设接口SPI介绍
①定义
        串行外设(SPI)接口是一种同步串行外设接口,允许嵌入式处理器与各种外围设备以串行方式进行通信、数据交换。
②外围设备
        基于 SPI接口的外围设备主要包括 Fash ROM、RAM、A/D 转换器、网络控制器、MCU 等。

③连接线
        SPI系统可直接与各个厂家生产的多种标准外围器件直接相连,一般使用4条线:串行时钟线 SCK、主机输入/从机输出数据线 MISO、主机输出/从机输入数据线 MOSI和低电平有效的从机选择线 SSEL,有的 SPI接口芯片带有中断信号线INT,有的SPI接口芯片没有主机输出/从机输入数据线MOSI。
(2)SPI的操作过程
        将数据写到SPI发送缓冲区后,在时钟信号SCK作用下,一位一位按位传输;在主机中数据从移位寄存器中自左向右发出送到从机(MOSI),同时从机中的数据自右向左发到主机(MISO),经过8个时钟周期完成1字节的发送。输入字节保留在移位寄存器中,然后从接收缓冲区中读出1字节的数据。操作过程如图所示。

(3)SPI接口的连接
        SPI 总线可在软件的控制下构成各种简单的或复杂的系统,如图所示。大多数应用场合中,使用1个MCU 作为主机,它控制数据向一个或几个从机(外围器件)传送。从机只能在主机发命令时才能接收或向主机传送数据。其数据的传输格式通常是高位(MSB)在前,低位(LSB)在后

①一主一从式的系统
        一主一从式的系统,指SPI总线上只有一个主机和一个从设备,接收和发送数据是单向的,主机 MOSI发送,从机 MOSI接收,主机MISO接收,从机 MISO 发送。主机 SCK作为同步时钟输出到从机,主机选择信号SSEL接高电平,由于只有一个从机,从机的SSEL接低电平,始终被选中。

②互为主从的系统
        对于互为主从的系统,MISO和 MOSI以及 SCK都是双向的,视发送或接收而定,SSEL电平不能固定。如果作为主机,则设置SSEL为低电平,迫使对方作为从机。

③一主多从式系统
        大部分应用场合使用比较多的是一主多从式SPI结构,SPI的所有信号都是单向的,主机的 MOSI和 SCK 都为输出,MISO为输入,主机的SSEL接高电平,作为主机使用。由于系统中有多个从机。因此使用主机的IO引脚去选择要访问的从机,即GPIO的某些引脚连接从机的SSEL端。


④多主多从系统
        对于多主多从的SPI系统,MOSI、MISO及SCK视何时作为主机使用而定,主要考虑的是SSEL选择信号的接法,即每个主/从机的 SSEL被其他主/从机选择,其他主/从机的 GPIO 引脚都参与主/从机的选择。这是最复杂的情况,实际应用系统中,尤其是嵌入式系统用得不多。


        对 SPI的操作,首先要选择让基于 SPI接口的从设备的SSEL,处于被选中状态,表示将要对该从设备进行操作,然后才能按照 SPI时序要求进行数据操作,视通信协议的不同有差异。一般的外部器件 SPI时序多使用高位在先,低位在后的传输方式,一位一位进行移位操作。操作完毕再将SSEL释放。

考点13 串行通信接口通用接口UART

(1)串行异步通信接口通用异步收发器的介绍
        串行异步通信接口通用异步收发器(Universal Asynchronous Receiver/Transmitter,UART)常用于全双工串行异步通信。所有嵌入式处理芯片内部均集成了兼容标准UART功能的组件,有的集成了多个UART,以下n表示 UART 编号,如4个UART 分别表示为UART0/UART1/UART2/UART3,用 UARTn 表示。

(2)UART的组成
        UART 由发送器、接收器、控制单元、波特率发生器等构成。

①发送器
a.发送模式
        发送器负责字符的发送,可采用先进先出(FIFO)模式,也可采用普通模式发送。发送的字符先送到发送缓冲寄存器,然后通过移位寄存器,在控制单元的作用下,通过 TXDn 引脚一位一位顺序发送出去。在 FIFO 模式下,当I个字节全部到位后才进行发送。不同嵌入式处理芯片内部设置的Ⅳ值不同。
b.发送方式
        查询发送方式时必须要等待发送缓冲器为空才能发送下一个数据。中断发送方式时当发送缓冲器已经空了才引发发送中断,因此可以直接在发送中断服务程序中继续发送下一个或下一组数据(FIFO模式)。
②接收器
        接收器负责外部送来字符的接收,可以是FIFO模式接收,也可以是普通模式接收。外部送来的字符通过RXDn 引脚进入接收移位寄存器,在控制单元的控制下,一位一位移位到接收缓冲寄存器中。在 FIFO 模式下,只有缓冲器满才引发接收中断并置位接收标志,在普通模式下,接收到一个字符就引发接收中断并置标志位。
③控制单元
        接收和发送缓冲器的状态被记录在 UART的状态寄存器如 UTRSTATn 中,通过读取其状态位即可了解当前接收或发送缓冲器的状态是否满足接收和发送条件。
        一般接收和发送缓冲器的 FIFO 字节数N是一样大小的,均可编程选择长度,如4B、8B,12B、16B、32B、64B 等。不同 ARM 芯片,FIFO 缓冲器最大字节数N不同,如ARM9的S3C2410和Cortex-M3的LPC1766为168,而ARM9的S3C2440为64B。接收和发送 FIFO 的长度由 UART FIFO 控制寄存器如 UFCONn 决定。

④波特率发生器
        波特率发生器在外部时钟的作用下,通过编程可产生所需要的波特率,最高波特率为115200b/。波特率的大小由波特率系数寄存器如 UBRDIVn 决定。
(3)UART的信息传输
①UART 字符格式
        UART 的信息传送按位进行,因此有一定的字符格式的约定。

        字符总是以起始位为开始,以停止位为结束,并且数据以低位在前、高位在后按次序传输。数据位可为5位、6位、7位和8位,由编程决定。数据位之后是校验位,可为奇校验或偶校验,也可以没有校验。起始位以逻辑0为标志,停止位以逻辑1为标志,停止位可为1位、1.5位和2位。字符格式由线路控制寄存器如 ULCONn决定。
②UART 信息接收和发送的方式
        通常情况下接收采用中断方式,发送采用查询方式。这是因为发送由程序直接控制,而接收时对方的信息是随机的。
a.在中断接收情况下,当外部有数据到接收缓冲器时,会自动置位接收就绪标志并引发UART接收中断,这时只需要在中断服务程序中读取接收的数据即可。
b.如果是查询方式接收,需要先读取并判断接收就绪标志(如接收缓冲器满标志),当已经就绪时方可读取接收数据寄存器中的值,接收完毕必须清除原来的就绪标志。
(4)UART的连接方法
        直接用 UART 进行通信仅限于板间或芯片间通信,连接方式仅需三根线TXD、RXD及 GND

考点14 通用串行总线 USB


(1)通用串行总线(UniversalSerialBUS,USB)的介绍
        USB 是一种外部总线接口标准,用于规范系统与外部设备的连接和通信,是嵌入式应用领域最常用的总线接口之一。USB总线接口支持设备的即插即用和热插拔功能。
(2)USB总线的通信方式

        USB 总线通信采用主从方式,它有一个主机,负责管理所有USB 设备的连接与删除、发起与 USB 设备的通信等。目前许多高性能的嵌入式处理芯片内部都集成了 USB 控制器,包括 USB 主机、USB 设备以及 USB OTG(On The Go)。一般情况下嵌入式系统或 PC为USB 主机,U盘、照相机等为 USB 设备,它们在主机的控制之下完成基于 USB 总线的数据传输操作。而USB OTG的作用是可以摆脱主机,直接在具有 OTG的 USB 总线上完成点对点通信,实现在没有主机的情况下从设备之间直接进行数据传送。
(3)USB的主要特点
①使用方便
        一个端口可以连接多个不同的设备,支持热插拔。
②速度快
        目前USB2.0的速度为480Mb/s,USB3.0达到5 Gb/s即 640 MB/s

③连接灵活
        连接方式既可以使用串行连接,也可以使用USB集线器(Hub)把多个USB设备连接在一起;理论上可以连接127个USB设备。每个外设线缆长度可达5m。USB能智能识别USB链上外围设备的接入或拆卸。
④独立供电

        USB 接口提供了内置电源。USB 电源能向低压设备提供5V的电源,提供500mA(USB3.0提供900mA)电流。

(4)USB 硬软件构成
①USB 硬件

        USB 硬件中的 USB 主控制器包括一个根集线器(Root Hub),它提供一个或多个 USB 下行端口,每个端口可以连接一个USB 集线器(USB Hub)或一个USB 设备,使一个 USB 端口扩展为多个端口,最多可以支持127个外部设备。目前支持 USB 的设备越来越多,键盘、鼠标、打印机、扫描仪、移动存储设备(U 盘、硬盘、光驱)等大部分外部设备均可以采用 USB总线接口。
②)USB 软件

        USB 软件主要是相关的驱动程序,包括USB 设备驱动程序、USB 驱动程序以及 USB 主控制器驱动程序。

a.USB设备驱动程序
        通过 IO请求包(IRPS)将请求发送给USB 设备。这些IRPs 初始化一个给定的传输,这个传输或者来自于个USB设备,或者是发送到USB设备。
b.USB驱动程序
        USB 驱动程序在设备设置时读取描述器以获取USB 设备的特征,并根据这些特征,在请求发生时组织数据传输。根据操作系统环境的不同,USB驱动程序可以捆绑在操作系统中,也可以以可安装的设备驱动程序形式加入到操作系统中。
c.USB主控制器驱动程序
        USB 主控制器驱动程序完成对 USB 交换的调度,并通过根 Hub 或其他 Hub 完成对交换的初始化。
(5)USB的信号编码方式
        USB 采用翻转不归零制(Non-ReturtoZero,Inverted,NRZI)编码方式对数据进行编码。NRZI的编码中,电平保持时传送逻辑1,电平翻转时传送逻辑0。
(6)USB总线的接口信号

        USB总线(1.1和2.0)有4根信号线,采用半双工差分方式,用来传送信号并提供电源。其中,D+和D-为差分信号线,传送信号,它们是一对双绞线:另两根是电源线和地线,提供电源。

考点15 高清多媒体接口HDMI

(1)高清晰度多媒体接口的介绍
①概念

        高清晰度多媒体接口(High Definition Multimedia Interface,HDMI)是一种数字化音频/视频接口,适合影像传输,可同时传送音频和视频信号而无需在信号传送前进行数/模或者模/数转换,最高数据传输速度为 10.2Gb/s。可以用一个电缆分别连接 DVD 播放器和接收器。
②应用

        HDMI在嵌入式视频监控系统中应用广泛。目前已有多个ARM芯片内置了HDM控制器接口,如基于Codex-M3的STM32F100系列等,HDMI在STM32F100中也被称为CEC(Consumer Electronics Control)接口,即消费电子控制接口。
(2)HDMI的接口形式

        HDMI有两种连接器接口形式,一种是19针(TpeA),另一种是29针(TypeB)。29针支持双通道连接,目前还没有厂商使用。HDMI有 1.0、1.1、1.2、1.3、1.4几个版本,1.0~1.2最高传输率为5Gb/s,1.3 版本以后达 10.2Gp/s。目前支持1.2版本的设备和接口比较普遍。1.4a 加入了用于广播系统中的强制 3D 画面传输格式标准。
(3)HDMI的特点
        HDMI不仅可以满足 1080P视频显示格式的分辨率,还能支持DVDAudio 等数字音频格式,支持八声道 96kHz或立体声192kHz数码音频传送。
        HDMI的设备具有“即插即用”的特点,信号源和显示设备之间会自动进行“协商”,自动选择最合适的视频/音频格式。
(4)HDMI与DVI的比较

        与 DVI相比 HDMI 接口的体积更小,DVI的线缆长度不能超过 8m,否则将影响画面质量,而 HDMI 最远可达 15m。只要一条 HDMI缆线就可以取代最多13条模拟传输线,能有效解决家庭娱乐系统背后连线杂乱的问题。

考点16 常用简单输入设备

(1)键盘
①非编码键盘(线性键盘)
        线性键盘是指一个按键占用一个引脚,利用读该引脚的状态确定按键的状态。图所示为典型按键接口,利用 GPIO引脚连接按键。图中KEY1与R1和R7构成完整的一个按键。

a.引脚电平
        当没有键按下时,由于R7接到电源端,因此引脚GPF1为高电平(逻辑1),当KEY1按下时,由于 KEY1一端接R1,另一端接地,经过R1、R7分压,GPF1引脚的电压为0.33V,为低电平(逻辑 0)。因此程序只要读取 GPF1引脚的状态就可以知道KEY1是否被按下。KEY2~KEY6的工作原理相同,都是通过普通 IO 口确定按键动作与否。
b.引脚中断功能
        如果引脚还具备中断功能,比如S3C2410和S3C2440的GPF1~GPF6正好是EINT1~EINT6 这六个外部中断引脚,因此除了可以通过查询方式读按键之外,还可通过中断读取按键结果。将中断打开,设定边沿触发之后。只要有按键按下,立即进入相应中断,在中断服务程序中做相应的处理,无需等待按键,提高了效率。
矩阵键盘
        矩阵键盘则采用行列矩阵形式构成键盘,利用行扫描法或反转法读取按键的特征值来决定按键的结果。该键盘接口的设计方法是采用行列矩阵式键盘设计方法,即行扫描法。
a:行扫描法的键盘电路设计

        行扫描方法的键盘电路设计如图所示,采用四根I/O引脚 GPG4~GPG7作为行扫描输出,四根 IO引脚 GPFO~GPF3 作为输入检测,同时这四个输入引脚接一四输入与门(如 74HC21/74AS21 等),与门输出接外部中断2即 EXINT2引脚。这样可以采用中断方式,读取键盘值(0~F),在中断服务程序中判断GPFO~GPF3哪个引脚为低电平,然后结合输出扫描的行号即可合成对应的键值。

b.键盘去抖动

        不论是何种方式,只要不采用专用键盘接口,都必须考虑键盘去抖动问题。读取键盘的程序应采用延时消抖的方法来消除键盘抖动,这也是最为常用的一种方式,即确定有按键按下后,延时几十ms以上(一般抖动时间为5~30 ms),再去读键,看是否仍有键按下,如果是,则确认是真正有键被按下,否则视为干扰信号所致,不予理睬。

(2)触摸屏
①电阻式触摸屏
a.电阻式触摸屏的特点

        电阻式触摸屏是一种电阻传感器,它将矩形区域中触摸点(X,Y)的物理位置转换为代表 X 坐标和 Y 坐标的电压。这种屏幕可以用四线、五线、七线或八线来产生屏幕偏置电压,同时读回触摸点的电压。电阻式触摸屏结构简单,价格低。用专用硬笔写字的触摸屏属于电阻式。
b:电阻式触摸屏的原理

        电阻技术触摸屏的最基本的原理是利用压力感应进行控制。电阻触摸屏的主要部分是一块与显示器表面非常配合的电阻薄膜屏,这是一种多层的复合薄膜,它以一层玻璃或硬塑料平板作为基层,表面涂有一层透明氧化金属(透明的导电电阻)导电层,上面再盖有一层外表面硬化处理、光滑防擦的塑料层,它的内表面也涂有一层涂层,它们之间有许多细小的(小于11000英寸)的透明隔离点把两层导电层隔开以绝缘。当手指触摸屏幕时,两层导电层在触摸点位置就有了接触,电阻发生变化,在X和Y两个方向上产生信号,然后送触摸屏控制器。控制器侦测到这一接触并计算出X、Y,的位置,再根据位置确定动作。
c.电阻式触摸屏的接口
        电阻式触摸屏接口通常利用专用的电阻触摸屏转换芯片如T的 ADS7843,它是一种四线同步串行 SPI接口的 12位 ADC,目的是将X、Y,对应的模拟电压变换成数字量,变换的结果通过同步串行接口传输给处理器。基于 ADS7843的四线触摸屏接口如图所示,四线包括 X+、Y+、X-、Y-,同步串行通信接口 SPI信号有 DCLK、DIN、DOUT、CS、PENIRO等,其中PENIRO为触摸屏中断引脚。

        图中ARM9S3C2410利用SPI总线与ADS7843相连,片选用GPG12,触摸中断用EINT5(GPF5)。当有触摸动作时,引发外部中断 EINT5,在中断服务程序中通过 SPIO 总线直接读取 X、Y的坐标。要注意的是,当触摸屏的分辨率与 LCD 分辨率不一致时,要进行一定的变换。
②电容式触摸屏
a.电容式触摸屏的原理

        电容式触摸屏在触摸屏四边均镀上狭长的电极,在导电体内形成一个低电压交流电场。当触摸屏幕时,由于人体电场,手指与导体层间会形成一个耦合电容,四边电极发出的电流会流向触点。对于高频电流来说,电容是直接导体,于是手指从接触点吸走一个很小的电流。这个电流分别从触摸屏的四角上的电极中流出,并且四个电极流出的电流大小与手指到四角的距离成正比,控制器通过对这四个电流比值的精确计算,得出触摸点的坐标位置。
b.电容式触摸屏的特点
        第一,电容式触摸屏结构复杂,价格高。
        第二,,一般电容式触摸屏与ARM处理芯片采用USB或IC总线方式连接

考点17 常用简单输出设备

(1)LED发光二极管及数码管
①发光二极管
a.LED发光二极管的作用
        LED 发光二极管采用常亮、常灭、闪亮(包括快闪和慢闪)等以指示系统不同的运行状态,直观且节约成本。
b.LED发光二极管与ARM芯片的连接
        LED 发光二极管与 ARM 芯片的连接仅需要一根 GPIO引脚,如 GPF3,但绝对不能直接把引脚连接到发光二极管上,因为通常 ARM 芯片 GPIO引脚提供的电流是有限的,不能直接驱动发光设备,因此要加驱动电路。
c:LED发光二极管连接 GPIO 的发光原理

        图中为利用GPIO 引脚 GPF3 来连接发光管的原理图,U1可以是专用驱动电路也可以用三极管搭建而成,驱动可以是正向驱动也可以反向驱动,图中U1为反向驱动。GPIO 引脚为高电平时,通过 U1反向后输出 0,使LED的阴极电位为 0,发光管LED通过12的电阻R上拉到电源端,这样LED 两端有电位差,并有电流流过而发光;GPIO输出0,反向后输出1,结果LED的阴极为接近电源电压,从而没有电流流过而不发光。图中R为限流电阻,可根据实际LED 发光二极管的发光电流要求选择一定的电阻值,普通发光二极管电流为5~20mA 时可正常发光,电压1.2V左右,电流大则亮度高,但寿命短。

②LED 数码管
a.LED 数码管的作用
        需要显示数字信息时还经常使用几只8段或7段LED数码管作为输出设备。八段数码管可以显示0~9十个数字,也可以带小数点显示这十个数字,也可显示 A~F等简单字母

b.LED数码管与ARM 芯片的连接
        LED 数码管如图所示,有八个段,a、b、c、d、e、f、g、dp。数码管有共阳和共阴两种接法,共阳即把 LED 发光管的所有阳极连接在一起,共阴就是把所有 LED 发光管的阴极连接在一起。数码管与ARM 处理芯片的接口与LED发光管完全类似,只是一个数码管需要八个段的驱动,因此如果直接连接处理器的话,需要八个GPIO引脚,每个引脚也同样需要加驱动电路。

(2)LCD 显示设备
①LCD 显示设备的分类
        LCD 显示设备按其完整程度可分为LCD显示屏、LCD显示模块(LCM)以及LCD显示器三种类型
a.LCD 显示屏
        LCD显示屏自身不带控制器,没有驱动电路,仅仅是显示器件(屏),价格最低。

b.LCD 显示模块
        LCD 显示模块内置了LCD 显示屏、控制器和驱动模块。这类显示模块有字符型,有图形点阵型,还有带汉字库的图形点阵型等。
c:LCD 显示器
        LCD显示器,除了具备显示屏外还包括驱动器、控制器以及外壳,是最完备的LCD显示设备,其价格也是最高的。
②LCD 显示设备的适用场景
a.嵌入式系统中使用比较多的是LCD 显示屏和 LCD 显示模块;如果嵌入式处理芯片内部已集成了LCD 控制器,则可以直接选择 LCD 显示屏,如果内部没有集成 LCD 控制器,则可选择 LCD 显示模块,通过 GPIO 以并行方式连接LCD 显示模块或通过串行方式如 SPI或PC连接 LCD显示模块(不同模块通信方式不同)。

b.通用计算机中使用的LCD显示器,包括显示屏、驱动电路、接口、电源和外壳,是完整的显示设备。它的接口有相应的标准,主要包括 VGA、DVI两种主要形式,现在又开始流行HDMI接口。
③DVI接口
a.规格
        DVI是一个 24针的接插件,有多种规格,分为DVI-A(仅用于传输模拟信号,其功能和 D-SUB 完全一样)、DVI-D(仅传送数字信号)和DVI-(模拟和数字信号均可传送),是专为LCD显示器和投影仪这样的数字显示设备设计的。
b.作用

        使用 DVI接口,计算机可直接以数字信号的形式将显示信息传送到显示设备中,避免了D/A、A/D 两次转换过程,显示的图像质量更好。DVI接口实现了真正的即插即用和热插拔,免除了在连接过程中需关闭计算机和显示设备的麻烦。所以,现在很多液晶显示器都采用该接口。

考点18 基于 UART 的 RS-232/RS-485 接口

(1)RS-232接口

        嵌入式处理器至少有一个 UART 接口,如上所述,仅仅通过这个接口不能进行稍远距离的通信。为此,可采用标准的 RS-232电平转换接口电路,使UART的电平转换成 RS-232电平,通信距离就可以达到 15m 左右。如图 所示为 RS-232 逻辑电平转换接口电路,构成了标准的RS-232连接器 DB9。DB9-2为发送引脚,D89-3为接收引脚,D89-5 为公共地。

        RS-232采用负逻辑传输。逻辑0:+3V~+15V,逻辑1:-15V~-3V。基于RS-232的嵌入式系统互联,或嵌入式系统与标准RS~232设备或PC机的互联,需采用DB9与DB3的交叉连接方式,即RXD连接到TXD,公共地互连即可。
(2)RS-485接口
①RS-485 接口的基本介绍
        RS-485 标准采用差分信号传输方式,因此具有很强的抗共模干扰能力其逻辑电平为:当A的电位比8高200mV 以上时为逻辑1,当B的电位比A高200mV以上时为逻辑0,传输距离可达1200m。ARM与RS-485接口芯片的连接如图 所示。RS-485的互连是同名端相连的方式,即A与A相连,B与B相连,由于是差分传输,因此无需公共地、在 RS-485 总线上仅需要连接两根线A和B。

②RS-485 的通信方式
        RS-485通常用于主从式多机通信系统,采用轮询方式,由主机逐一向从机寻址,当从机地址与主机发送的地址一致时,才建立通信链接,进行有效数据通信。总线上某一时刻仅允许有一个发送,其他全部处于接收状态。图中 Rt为匹配电阻,用于消除由于传输时线路阻抗不匹配造成的反射干扰。有许多 ARM 处理器芯片内部已经集成了RS-485控制器(MAC层接口)、如ARM Cortex-M 系列处理器均嵌入485 控制器,因此外部仅需要连接收发器(物理层接口)即可,使得连接和使用RS-485 更加方便。

考点19  CAN总线接口

(1)RS-485 接口的缺点
        很好地解决了 RS-232抗干扰及传输距离短的问题,但RS-485 的最大缺点是不能构成多主系统,也就是说同一时刻不能有两个或两个以上系统(设备)处于发送状态,这对于实时性要求很强的工业控制系统领域就不适合了。
(2)CAN 总线接口的特点

        CAN 总线接口是一种现场总线,抗干扰能力强、传输距离远、适应多主系统,广泛应用到工控领域以及要求抗于扰和实时性强的场合。CAN总线也采用差分传输,只是控制器内置CRC校验,传输可靠性强,可构成多主多从系统,即同一时刻允许多个主从机同时进行数据传输。
(3)CAN总线的数据帧
        CAN 总线的数据帧如图所示,数据帧是由7个不同的域组成:帧起始、仲裁域、控制域、数据域、CRC域、应答域、帧结尾。其中数据域的长度可选为0~8B。

        帧起始标志为数据帧的起始,只在总线空闲时才允许开始发送信号。控制域由6个位组成,扩展格式里的控制域包括数据长度代码和两个保留位。数据域由数据帧的发送数据组成,它可以是0~8B,每字节包含8位,按照高位在前,低位在后的原则发送。CRC域包括CRC序列,其后是CRC界定符。
(4)CAN总线的连接方法

        CAN 总线的连接如图所示,图中120Q的电阻是匹配电阻。CAN传输线最好用双绞线,这样使每根线上的干扰均等,通过差分,即可完全消除共模干扰。互连时采用同名端相连,仅需两根线(双绞线),CANH 与CANH相连,CANL与CANL相连。一般面向控制应用领域的 ARM 芯片内部已经嵌入了CAN 总线控制器,外部仅需要连接 CAN的收发器即可构建完整的CAN网络

        对于没有 CAN 控制器的嵌入式处理芯片,如S3C2440或 S3C2410等,则要外加 CAN 控制器和 CAN 收发可选用串行 SPI接口的 CAN 控制器,也可选用并行接口的 CAN 控制器作为 CAN 总线控制器接口。器。

考点20 以太网通信接口

(1)基于内置以太网控制器的以太网接口
        有些ARM芯片已经嵌入了以太网控制器(MAC层),也有些芯片同时集成了物理层(PHY层)的收发器电路,因此外部仅需要连接网络变压器及 RJ45 插座即可构成以太网实用接口。具有内置以太网控制器的嵌入式处理器构建以太网接口如图所示。如果内置了 PHY 层,则图中可省去 PHY 层的电路。

(2)不带内置以太网控制器的以太网接口
①DM9000 的功能
        没有以太网内置接口的处理器可以通过外加典型的以太网控制器DM9000来构建。DM9000 实现了以太网物理层(PHY)和介质访问层(MAC)的功能,包括MAC地址识别、数据帧的组装/拆分与收发、CRC编码校验、输出脉冲成型、接受噪声抑制、超时重传、信号极性检测与纠正、链路完整性测试等。

考点21  常用无线通信模块

(1)GPS 模块
①GPS 模块的介绍
        全球定位系统(GlobalPositioningSystem,GPS)是利用 GPS 定位卫星在全球范围内实时进行定位、导航的系统,简称 GPS。GPS可以提供车辆定位、防盗、反劫、行驶路线监控及呼叫指挥等功能。要实现以上所有功能必须具备GPS终端、传输网络和监控平台三个要素
②GPS导航系统的基本原理
        GPS 导航系统的基本原理是测量出已知位置的卫星到用户接收机之间的距离,然后综合多颗卫星的数据就可知道接收机(GPS 终端)的具体位置。
③GPS导航系统的精度
a.民用GPS的定位精度
        由于卫星运行轨道、卫星时钟存在误差,大气对流层、电离层对信号的影响,使得民用GPS的定位精度只有100m.
b.差分GPS技术
        为提高定位精度,普遍采用差分GPS(DGPS)技术,建立基准站(差分台)进行GPS观测,利用己知的基准站精确坐标,与观测值进行比较,从而得出一修正数,并对外发布。接收机收到该修正数据后,与自身的观测值进行比较,消去大部分误差,得到一个比较准确的位置。实验表明,利用差分GPS,定位精度可提高到5m。4GPS导航系统与ARM芯片的连接方式
        目前嵌入式系统经常使用专用的 GPS 模块。GPS与嵌入式系统的连接有多种,有基于UART的GPS 模块,有基于 SPI接口的 GPS 模块,也有基于 USB 和C的模块,还有多种接口并存的 GPS 模块。一个典型的 GPS模块如图所示,这是一个多通信接口的 GPS 模式,可以通过 UART、SPI、IC或 USB 连接 ARM 芯片。

(2)北斗模块
①北斗星定位系统的介绍

        北斗星定位系统分为北斗星一代和北斗星二代。北斗星一代又称为北斗导航试验系统(BNTS),北斗星二代又称为北斗卫星导航系统,是继美国GPS和俄国 GLONASS之后第三个成熟的卫星导航系统。它的定位精度为10m,授时精度为50ns,测速精度为0.2m/s。
②)北斗模块与 MCU 的连接
        典型的北斗模块与 MCU 的连接如图所示,北斗星接收模块与嵌入式微控制器的信息交互主要通过串口,而北斗星接收模块除了和系统共用一个电源系统之外,还配备了一节纽扣电池,确保其在断电的情况下,依旧正常计时。

(3)GPRS 模块
①简介
        GPRS是通用分组无线服务的简称,它是GSM移动电话用户可用的一种移动数据业务。GPRS可说是GSM的延续。GPRS与以往采用的连续传输方式不同,它以封包(Packet,也称为分组)方式进行数据传输,因此使用者所负担的费用是以其传输数据的数量计算,并非使用其整个频道,理论上较为便宜。

②模块结构
        GPRS模块可以很方便地实现网络数据传输。GPRS也是以模块形式接入嵌入式系统的,主要模块接口有基于 UART 的,也有基于 RS-232/RS-485接口的 GPRS模块。通常支持用 AT 命令集进行呼叫、短信、传真、数据传输等业务。

(4)WiFi模块
        凡使用IEEE802.11系列协议的无线局域网又称为 WiFi(Wireless Fidelity,即无线保真)。因此,WiFi 几乎成为了无线局域网WLAN 的同义词。
        WiFi 模块是 UART 串口或 TTL,电平转 WiFi通信的一种传输转换产品,UART-WiF 模块基于 UART接口,符合 WiFi 无线网络标准。
        WiF 模块内置无线网络协议IEEE 802.11协议栈以及TCP/P协议栈,能够实现用户串口、TTL电平、USB接口或SPI接口数据到无线网络之间的转换。
利用 WFi模块很容易实现嵌入式系统的有线数据到无线数据的传输。
(5)蓝牙模块
        蓝牙是一种支持设备短距离通信(一般在10m内)的无线低速(一般为1Mb)通信技术。利用蓝牙技术,能够有效地简化移动通信终端设备之间的通信,也能够成功地简化设备与因特网之间的通信,从而使数据传输变得更加迅速高效,为无线通信拓宽道路。蓝牙采用分散式网络结构以及快跳频和短包技术,支持点对点和点对多点通信。蓝牙信号的收发采用蓝牙模块实现,与其他无线模块类似,一方是无线信号,另一方是通信连接接口信号,如串口 UART,也有基于 USB的。
(6)其他无线模块
        除上述标准无线模块外,还有不同厂家的射频无线收发模块,典型代表就是Si4432。近来也出现了基于无线通信的微控制器,内置了无线接收和发送模块,如Si1000,内部有51内核,外围有 Si4432 无线收发器。

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值