【嵌入式系统设计师(软考中级)】第二章:嵌入式系统硬件基础知识——④定时器计数器和系统总线及通信接口
文章目录
- 5. 定时器与计数器
- 5.1 定时器(Timer)
- 5.2 计数器(Counter)
- 5.3 定时器与计数器的关系
- 6. 嵌入式系统总线及通信接口技术
- 6.1 板级与板间总线技术
- 6.1.1 PCI (Peripheral Component Interconnect)
- 6.1.2 PCI Express (PCIe)
- 6.1.3 EISA (Extended Industry Standard Architecture)
- 6.1.4 VME (VersaModule Eurocard)
- 6.1.5 CompactPCI (CPCI)
- 6.1.6 PCMCIA (PC Card)
- 6.2 设备互连接口技术
- 6.2.1 USB (Universal Serial Bus)
- 6.2.2 串口 (UART/RS-232/RS-485)
- 6.2.3 红外通信 (IrDA)
- 6.2.4 并口 (IEEE 1284)
- 6.2.5 SPI (Serial Peripheral Interface)
- 6.2.6 I²C (Inter-Integrated Circuit)
- 6.2.7 IEEE 1394 (FireWire)
- 6.2.8 CAN (Controller Area Network)
- 6.3 网络通信技术
- 6.3.1 以太网 (Ethernet)
- 6.3.2 WLAN (IEEE 802.11)
- 6.3.3 蓝牙 (Bluetooth)
- 6.3.4 Zigbee (IEEE 802.15.4)
- 6.3.5 AFDX (Avionics Full-Duplex Switched Ethernet)
- 6.3.6 FC (Fibre Channel)
- 6.4 高速串行通信接口
- 6.4.1 Serial RapidIO (sRIO)
- 6.4.2 Select IO
- 6.5 移动通信接口
- 6.5.1 3G (UMTS/WCDMA)
- 6.5.2 4G (LTE/LTE-Advanced)
- 6.5.3 5G (NR)
- 总结与选型建议
快速读懂本文😄
🚀 本文说明了嵌入式系统中的定时器/计数器工作原理及各类通信接口技术:包括定时器的自动重载模式和计数器的事件统计功能;从传统板级总线(如PCI、EISA)到现代高速接口(如PCIe、RapidIO)的演进;各类设备互连技术(USB、I2C、SPI、CAN)的特性差异;网络通信协议(以太网、WLAN、5G)的技术要点;最后针对不同应用场景提出了选型建议。
🔥对于软考而言,需要重点掌握定时器参数计算、各类总线的拓扑结构与带宽特性(特别是PCIe版本演进)、通信协议的仲裁机制(如CAN的非破坏性仲裁)以及典型应用场景的匹配选择。
5. 定时器与计数器
5.1 定时器(Timer)
定时器用于时间管理,如延时、周期性任务调度、PWM信号生成等。
工作原理:
- 时钟源:由CPU时钟或外部晶振提供基准频率(如1MHz)。
- 计数寄存器:递增或递减计数,达到设定值后触发中断或输出信号。
- 工作模式:
- 单次模式(One-shot):计数到设定值后停止,需手动重启。
- 自动重载模式(Auto-reload):计数到设定值后自动重置,实现周期性触发。
示例:
- 在STM32中,配置定时器实现1ms延时:
- 时钟源=72MHz,分频后1MHz → 计数值=1000(1ms)。
5.2 计数器(Counter)
计数器用于统计外部事件(如脉冲信号、传感器触发)。
工作原理:
- 外部输入信号:通过GPIO或专用引脚接入(如编码器输出)。
- 计数方式:
- 上升沿/下降沿计数:每检测到一个边沿,计数值+1。
- 方向计数:支持加减计数(如正交编码器)。
示例:
- 工业流水线上用计数器统计产品数量(光电传感器触发)。
5.3 定时器与计数器的关系
-
定时器本质是计数器:但时钟源固定(内部时钟)。
-
计数器可作定时器:若外部信号频率已知(如1Hz方波)。
-
定时器计数值计算:
- 已知时钟频率 f c l k f_{clk} fclk和分频系数 P S C PSC PSC,定时时间 T T T为:
T = ( A R R + 1 ) × ( P S C + 1 ) f c l k T = \frac{(ARR + 1) \times (PSC + 1)}{f_{clk}} T=fclk(ARR+1)×(PSC+1)- A R R ARR ARR:自动重载值(设定计数值)。
- P S C PSC PSC:预分频系数(降低计数频率)。
- 已知时钟频率 f c l k f_{clk} fclk和分频系数 P S C PSC PSC,定时时间 T T T为:
上面公式要“+1”是因为ARR和PSC都是从0开始算的。
6. 嵌入式系统总线及通信接口技术
6.1 板级与板间总线技术
6.1.1 PCI (Peripheral Component Interconnect)
基本原理:PCI总线是一种同步的32位或64位并行总线,采用主从架构,工作频率为33MHz或66MHz。它使用地址/数据复用技术,通过集中式仲裁机制管理总线访问。
特点:
- 带宽:32位/33MHz配置下理论带宽为133MB/s
- 拓扑结构:支持总线型拓扑,最多可连接10个电气负载
- 即插即用:支持自动配置(通过PCI配置空间)
- 中断共享:允许多个设备共享中断线
- 优势:低延迟、高可靠性,广泛用于PC和嵌入式系统
- 局限:并行总线受时钟偏斜影响,频率提升受限
典型应用:早期的显卡、网卡、声卡等扩展卡
实际上严格来说32位/33MHz配置下理论带宽为132MB/s,但是行业通用133MB/s表示。
6.1.2 PCI Express (PCIe)
基本原理:PCIe采用点对点串行连接,使用差分信号传输,基于数据包进行通信。采用分层架构(事务层、数据链路层和物理层),支持多通道绑定。
特点:
- 带宽:单通道(x1)v1.0为250MB/s,v4.0 x16可达32GB/s
- 拓扑结构:星型拓扑,通过Switch扩展连接
- 差分信号:使用LVDS技术,抗干扰能力强
- 高级特性:支持热插拔、QoS、虚拟化等
- 能效比:相比PCI功耗更低,带宽更高
版本演进:
版本 | 发布时间 | 单通道速率 | 编码效率 | x16带宽 |
---|---|---|---|---|
1.0 | 2003 | 2.5GT/s | 8b/10b | 4GB/s |
2.0 | 2007 | 5GT/s | 8b/10b | 8GB/s |
3.0 | 2010 | 8GT/s | 128b/130b | 16GB/s |
4.0 | 2017 | 16GT/s | 128b/130b | 32GB/s |
5.0 | 2019 | 32GT/s | 128b/130b | 64GB/s |
典型应用:现代显卡、NVMe SSD、高速网卡等
PCIe的详细介绍可以参考此前文章:【自动驾驶汽车通讯协议】深入理解PCI Express(PCIe)技术
6.1.3 EISA (Extended Industry Standard Architecture)
基本原理:EISA是ISA总线的32位扩展,保持向后兼容,使用更深的插槽设计。采用同步总线协议,时钟频率8MHz。
特点:
- 带宽:32位带宽,理论传输率33MB/s
- 总线仲裁:支持多主控总线仲裁
- 配置机制:通过特定端口和配置文件进行手动配置
- 局限:已被PCI取代,复杂性高但性能提升有限
典型应用:早期的服务器和高性能工作站
6.1.4 VME (VersaModule Eurocard)
基本原理:VME总线采用Eurocard机械标准,定义多级并行总线架构(数据传输总线、仲裁总线、中断总线等)。支持多主控架构,采用异步协议。
特点:
- 带宽:32位版本理论带宽40MB/s,VME64x可达160MB/s
- 机械结构:坚固的Eurocard结构,适合工业环境
- 实时性:确定性的总线仲裁机制
- 扩展性:支持多达21个插槽的背板系统
- 标准体系:IEEE 1014标准,长期稳定支持
典型应用:军事、航空航天、工业控制系统
6.1.5 CompactPCI (CPCI)
基本原理:CPCI将PCI电气标准与Eurocard机械结构相结合,使用2mm高密度连接器,支持热插拔。
特点:
- 带宽:与PCI相同,32位/33MHz为133MB/s
- 连接器:J1/J2用于PCI总线,J3-J5用于用户定义I/O
- 可靠性:符合IEC-1101抗震标准
- 热插拔:支持带电插拔(需特殊设计)
- 衍生产品:CompactPCI Serial(改用PCIe协议)
典型应用:电信设备、工业控制系统、军用电子
6.1.6 PCMCIA (PC Card)
基本原理:PCMCIA标准定义了68针的紧凑型扩展接口,最初用于内存扩展,后发展为通用I/O接口。
类型:
- Type I:3.3mm厚,主要用于内存
- Type II:5mm厚,通用I/O设备
- Type III:10.5mm厚,大容量存储
后续发展:ExpressCard标准取代了PCMCIA,采用PCIe和USB接口
典型应用:早期的笔记本网卡、调制解调器、存储卡
6.2 设备互连接口技术
6.2.1 USB (Universal Serial Bus)
这个不用上图了吧……
版本演进:
版本 | 发布时间 | 速率 | 电流 | 特性 |
---|---|---|---|---|
USB1.0 | 1996 | 1.5Mbps | 100mA | 低速设备支持 |
USB1.1 | 1998 | 12Mbps | 500mA | 全速规范 |
USB2.0 | 2000 | 480Mbps | 500mA | 高速模式,广泛普及 |
USB3.0 | 2008 | 5Gbps | 900mA | SuperSpeed,全双工 |
USB3.1 | 2013 | 10Gbps | 2A | SuperSpeed+,Type-C接口 |
USB3.2 | 2017 | 20Gbps | 多通道操作 | |
USB4 | 2019 | 40Gbps | 基于Thunderbolt 3,PCIe隧道 |
拓扑结构:树形拓扑,最多支持127个设备,通过Hub扩展
关键特性:
- 热插拔:支持即插即用和热插拔
- 供电能力:USB PD规范可提供高达100W功率
- 协议栈:包含物理层、链路层、协议层和应用层
- Type-C:可逆插接,支持Alternate Mode(DP、Thunderbolt等)
典型应用:外设连接、移动设备充电、数据存储
6.2.2 串口 (UART/RS-232/RS-485)
UART基础:
- 帧格式:起始位(1)+数据位(5-8)+校验位(可选)+停止位(1-2)
- 波特率:常见300-115200bps,最高可达数Mbps(取决于硬件)
- 全双工:独立收发通道
RS-232:
- 电平标准:±3V至±15V(负逻辑)
- 距离:理论最大15米(115200bps时实际<5米)
- 连接器:DB9或DB25
RS-485:
- 差分传输:抗干扰能力强
- 多点通信:支持32个驱动器/接收器
- 距离:可达1200米(低速时)
- 半双工:需要方向控制
典型应用:工业设备控制、传感器接口、调试终端
UART的详细介绍请见此前文章:【自动驾驶汽车通讯协议】UART通信详解:理解串行数据传输的基石
6.2.3 红外通信 (IrDA)
基本原理:使用红外LED进行近距离无线通信,基于异步串行协议
版本:
- SIR:最高115.2kbps(兼容UART)
- MIR:1.152Mbps
- FIR:4Mbps
- VFIR:16Mbps
特点:
- 距离:通常<1米,定向通信
- 安全:不易被窃听(需视线范围内)
- 功耗:低于RF技术
- 局限:易受环境光干扰,需对准
典型应用:旧式手机数据传输、遥控器、医疗设备
6.2.4 并口 (IEEE 1284)
模式:
- SPP:标准模式,单向输出
- EPP:增强型,双向500KB/s
- ECP:扩展能力端口,使用DMA,2MB/s
连接器:DB25或36针Centronics
现状:已被USB取代,但在某些工业设备中仍有使用
6.2.5 SPI (Serial Peripheral Interface)
四线制:
- SCLK:时钟(主设备产生)
- MOSI:主出从入
- MISO:主入从出
- SS:片选(低有效)
特点:
- 全双工:同时收发
- 速度:可达50MHz(短距离)
- 无寻址:依赖硬件片选
- 模式:通过CPOL/CPHA配置时钟极性相位
变种:
- Dual SPI:使用MOSI/MISO进行双工传输
- Quad SPI:新增DATA2/DATA3线提升带宽
典型应用:Flash存储器、传感器、显示屏
SPI详细介绍请见此前文章:【自动驾驶汽车通讯协议】SPI通讯:深入理解与应用
6.2.6 I²C (Inter-Integrated Circuit)
两线制:
- SCL:串行时钟
- SDA:串行数据(开漏输出)
特性:
- 多主控:支持总线仲裁
- 寻址:7位或10位地址模式
- 速度:
- 标准模式:100kbps
- 快速模式:400kbps
- 高速模式:3.4Mbps
- 超快模式:5Mbps
- 上拉电阻:典型值1kΩ-10kΩ(取决于总线电容)
协议帧:
起始位 | 地址字节(R/W) | ACK | 数据字节 | ACK/NACK | ... | 停止位
典型应用:EEPROM、温度传感器、RTC芯片
I²C的详细介绍请见此前文章:【自动驾驶汽车通讯协议】I2C(IIC)总线通讯技术详解
6.2.7 IEEE 1394 (FireWire)
版本:
- 1394a:400Mbps,电缆长度4.5米
- 1394b:800Mbps,电缆长度100米(光纤)
特点:
- 对等网络:支持设备间直接通信
- 等时传输:保障带宽,适合音视频
- 供电:通过电缆提供45W功率
- 拓扑:最多63节点,支持树形和菊花链
与USB对比:
- 更低CPU占用
- 更确定的延迟
- 更复杂的协议栈
典型应用:专业视频设备、音频接口
6.2.8 CAN (Controller Area Network)
帧类型:
- 数据帧:携带实际数据
- 远程帧:请求数据
- 错误帧:指示错误状态
- 过载帧:请求延迟
仲裁机制:基于标识符的非破坏性逐位仲裁(低ID优先级高)
版本:
- CAN2.0A:11位标识符
- CAN2.0B:29位标识符
- CAN FD:灵活数据速率,最高5Mbps
物理层:
- 差分电压:CAN_H 2.5-3.5V,CAN_L 1.5-2.5V
- 终端电阻:120Ω(两端各一个)
典型应用:汽车电子、工业控制、医疗设备
6.3 网络通信技术
6.3.1 以太网 (Ethernet)
标准演进:
标准 | 速率 | 介质 | 编码 | 最大距离 |
---|---|---|---|---|
10BASE-T | 10Mbps | 双绞线Cat3 | Manchester | 100m |
100BASE-TX | 100Mbps | 双绞线Cat5 | 4B5B | 100m |
1000BASE-T | 1Gbps | 双绞线Cat5e | PAM-5 | 100m |
10GBASE-T | 10Gbps | 双绞线Cat6a | 128-DSQ | 100m |
40GBASE-SR4 | 40Gbps | 多模光纤 | NRZ | 100m |
100GBASE-LR4 | 100Gbps | 单模光纤 | PAM4 | 10km |
MAC协议:CSMA/CD(传统以太网),全双工模式下无需冲突检测
帧结构:
前导码(7B) | SFD(1B) | 目的MAC(6B) | 源MAC(6B) | 类型/长度(2B) | 数据(46-1500B) | FCS(4B)
工业变种:
- EtherCAT:实时以太网,从站处理帧"on the fly"
- PROFINET:支持IRT(等时实时)通信
- Power over Ethernet:IEEE 802.3af/at/bt,最高90W供电
6.3.2 WLAN (IEEE 802.11)
标准对比:
标准 | 频段 | 最大速率 | 调制方式 | MIMO | 特点 |
---|---|---|---|---|---|
802.11a | 5GHz | 54Mbps | OFDM | - | 早期标准,干扰少 |
802.11b | 2.4GHz | 11Mbps | DSSS | - | 普及广,干扰多 |
802.11g | 2.4GHz | 54Mbps | OFDM/DSSS | - | 兼容b,性能提升 |
802.11n | 2.4/5GHz | 600Mbps | OFDM | 4×4 | 引入MIMO,帧聚合 |
802.11ac | 5GHz | 6.93Gbps | OFDM | 8×8 | 更宽信道(160MHz),256QAM |
802.11ax | 2.4/5/6GHz | 9.6Gbps | OFDMA | 8×8 | WiFi6,高效频谱利用 |
安全协议:
- WEP:已被破解,不安全
- WPA:TKIP加密
- WPA2:强制AES-CCMP
- WPA3:SAE握手,192位加密
嵌入式考虑:
- 低功耗模式(PS-Poll)
- 简化协议栈(LWIP)
- 天线设计(PCB天线 vs 外接天线)
6.3.3 蓝牙 (Bluetooth)
版本演进:
版本 | 关键特性 | 最大速率 | 距离 |
---|---|---|---|
1.x | 基础速率,易受干扰 | 1Mbps | 10m |
2.x+EDR | 增强数据速率 | 3Mbps | 30m |
3.0+HS | 802.11作为传输层 | 24Mbps | 与WiFi同 |
4.x LE | 低功耗,蓝牙智能 | 1Mbps | 100m(理论) |
5.0 | 2Mbps PHY,长距离,广播扩展 | 2Mbps | 300m |
协议栈:
- 控制器:PHY+LL(硬件实现)
- 主机:L2CAP、ATT、GATT、GAP等
- 配置文件:基于GATT的服务定义(如HID、A2DP)
Mesh网络:基于广播的泛洪网络,支持多跳通信
6.3.4 Zigbee (IEEE 802.15.4)
ZigBee是一种基于IEEE 802.15.4标准的低功耗、低速率的无线通信技术,主要面向物联网和嵌入式设备组网,典型传输距离10-100米。
ZigBee支持星型、树型和网状网络拓扑,单个网络可容纳超过6.5万个节点,具有自组网和自修复能力。其协议栈包含物理层、MAC层、网络层和应用层,采用AES-128加密保障安全。
由于极低的功耗特性(终端设备电池可工作数年),ZigBee广泛应用于智能家居(如灯光控制、安防传感器)、工业自动化(无线传感器网络)、智能电表和医疗监护等领域。相比Wi-Fi和蓝牙,ZigBee以更低的成本和功耗实现设备间可靠的中低速数据传输。
网络拓扑:
- 星型:协调器为中心
- 树型:带路由功能
- 网状:多跳自组织
协议栈:
- PHY:2.4GHz(全球)、915MHz(美洲)、868MHz(欧洲)
- MAC:CSMA-CA,保障时隙(GTS)
- NWK:路由管理
- APS:端点管理
- ZDO:设备管理
特点:
- 低功耗:终端设备可电池供电数年
- 低速率:250kbps(2.4GHz)
- 高节点数:支持65000+节点
- 安全:AES-128加密
6.3.5 AFDX (Avionics Full-Duplex Switched Ethernet)
航空电子特性:
- 确定性延迟:通过虚拟链路(VL)保障
- 冗余管理:双冗余网络
- 流量管制:带宽分配间隙(BAG)控制
- 帧格式:基于标准以太网,但增加序列号等字段
参数配置:
- BAG:典型值1ms-128ms
- Smax:最大帧大小(通常1024字节)
- Jitter:严格控制在几十微秒内
6.3.6 FC (Fibre Channel)
拓扑结构:
- 点对点:简单连接
- 仲裁环:FC-AL,最多126节点
- 交换结构:Fabric,数千节点
协议层:
- FC-0:物理层(光纤/铜缆)
- FC-1:编码/解码(8b/10b)
- FC-2:帧协议
- FC-3:公共服务
- FC-4:上层协议映射(如SCSI)
速率:1GFC至128GFC(当前主流16G/32G)
应用:存储区域网络(SAN)、航空电子
6.4 高速串行通信接口
6.4.1 Serial RapidIO (sRIO)
协议分层:
- 物理层:1x/4x链路,2.5/3.125/5/6.25Gbaud
- 传输层:包路由(8/16位设备ID)
- 逻辑层:直接IO/DMA/消息传递
包结构:
- 控制符号:链路维护
- 数据包:最大256字节有效载荷
特点:
- 低延迟:亚微秒级
- 高可靠:CRC校验,链路级重传
- 拓扑:支持星型、网状、树型
- 应用:无线基站、雷达、高性能计算
6.4.2 Select IO
Xilinx FPGA技术:
- 电压标准:支持LVCMOS、LVDS、HSTL等
- 阻抗匹配:可编程驱动强度与终端
- Bank划分:不同Bank可配置不同电压
- 高速接口:
- HP Bank:最高1.8Gbps
- HR Bank:最高950Mbps
设计考虑:
- 信号完整性分析
- IBIS模型仿真
- 时序约束管理
6.5 移动通信接口
6.5.1 3G (UMTS/WCDMA)
关键技术:
- 宽带扩频:5MHz信道
- 功率控制:1500Hz快速功控
- 核心网:分组交换与电路交换并存
演进路线:
- HSDPA:下行14.4Mbps
- HSUPA:上行5.76Mbps
- HSPA+:64QAM,MIMO,84Mbps
6.5.2 4G (LTE/LTE-Advanced)
核心技术:
- OFDMA:下行,抗多径干扰
- SC-FDMA:上行,低峰均比
- MIMO:最多8×8配置
- 全IP:无电路交换回退
载波聚合:
- Intra-band:同频段连续/非连续
- Inter-band:跨频段聚合
- 最大带宽:100MHz(5CA)
性能指标:
- 延迟:用户面<5ms
- 速率:理论下行3Gbps(4×4 MIMO+256QAM+5CA)
6.5.3 5G (NR)
创新技术:
- 毫米波:24GHz以上频段
- Massive MIMO:64/128天线阵列
- 波束赋形:动态波束跟踪
- 灵活 numerology:可配置子载波间隔
- 网络切片:逻辑专网
三大场景:
- eMBB:增强移动宽带(20Gbps峰值)
- URLLC:超可靠低延迟(1ms延迟)
- mMTC:大规模机器通信(百万/km²连接)
嵌入式应用:
- C-V2X车联网
- 工业物联网
- AR/VR实时传输
总结与选型建议
总线/接口选择矩阵:
需求 | 推荐技术 |
---|---|
板内高速互连 | PCIe、RapidIO |
低功耗传感器网络 | I2C、SPI、Zigbee |
工业控制 | CAN、PROFINET、EtherCAT |
移动设备连接 | USB-C、Bluetooth 5 |
高可靠航空电子 | AFDX、FC |
无线宽带 | 5G NR、802.11ax |
长距离有线通信 | RS-485、工业以太网 |