生物医药科研协作平台排行,权限与安全架构解析
2026/7/27 18:42:04
在嵌入式和通信工程中,我们每天都会接触到如下参数:
这些数值经常被统称为“通信速度”,但它们描述的对象并不完全相同。
如果不区分:
而这些问题的根源,几乎都集中在两个概念上:
波特率(Baud Rate)与比特率(Bit Rate)
理解这两个概念,必须先建立一个分层视角:
| 层次 | 关注点 | 示例 |
|---|---|---|
| 物理层 | 信号如何变化 | 电平、相位、幅度 |
| 编码 / 调制 | 一个符号能表示什么 | NRZ、QPSK、QAM |
| 信息层 | 实际传输多少数据 | bit、字节、帧 |
👉波特率属于“物理层 / 信号层”
👉比特率属于“信息层 / 数据层”
波特率定义为:
单位时间内传输的码元(Symbol)数量
码元不是“比特”,而是:
通信系统中一次可区分的信号状态
例如:
“信号每秒变化多少次?”
而不是:
“每秒传多少数据?”
比特率定义为:
单位时间内传输的比特(Bit)数量
“系统每秒能传输多少信息?”
在所有通信系统中,二者的关系都可以归结为一个公式:
比特率 = 波特率 × 每码元所携带的比特数这条公式是通信工程中的核心定律之一。
示例:
结论:
比特率 = 波特率| 调制方式 | 每码元携带比特 |
|---|---|
| QPSK | 2 bit |
| 16QAM | 4 bit |
| 64QAM | 6 bit |
结论:
比特率 > 波特率📌 这正是 Wi-Fi、LTE、5G 高速的根本原因。
1 码元 = 1 bit ⇒ 9600 baud = 9600 bit/s(数值)⚠️ 但这只是特例结果,不是定义。
以8N1为例:
| 字段 | 位数 |
|---|---|
| 起始位 | 1 |
| 数据位 | 8 |
| 停止位 | 1 |
| 合计 | 10 |
T_bit = 1 / BaudRateT_frame = 10 × T_bit👉帧时间就是“每一个比特时间首尾相加”
有效比特率 = 波特率 × 数据位 / 总位数9600,8N1:
= 9600 × 8 / 10 = 7680 bit/s👉I²C 严格意义上没有“波特率”
由于:
1 个时钟周期 = 1 bit工程上常说:
I²C 速率 ≈ 比特率| 模式 | SCL |
|---|---|
| Standard | 100 kHz |
| Fast | 400 kHz |
| Fast Plus | 1 MHz |
| High-Speed | 3.4 MHz |
⚠️ ACK、地址、仲裁会降低有效吞吐。
SPI Clock = Bit RateSPI 的“快”,来自:
CAN 的特点:
因此:
CAN 标准中只有 Bit Rate,没有 Baud Rate
例如:
⚠️ 有效数据率 < 标称比特率。
以 LoRa / Wi-Fi 为例:
Bit Rate = Symbol Rate × Bits per Symbol📌 在无线系统中:
混用 baud 和 bps 是严重错误
| 项目 | 波特率(Baud) | 比特率(Bit/s) |
|---|---|---|
| 含义 | 每秒码元数 | 每秒比特数 |
| 单位 | baud | bit/s(bps) |
| 描述对象 | 信号变化速度 | 信息传输速度 |
| 所属层次 | 物理层 | 信息层 |
| 是否必然相等 | ❌ 否 | ❌ 否 |
比特率 = 波特率 × 每码元携带的比特数| 接口 | 速率参数名称 | 单位 | 是否有波特率 | 工程说明 |
|---|---|---|---|---|
| UART | Baud Rate | baud | ✅ | 1 码元 = 1 bit |
| RS485 | Baud Rate | baud | ✅ | 与 UART 等价 |
| I²C | SCL 时钟 | Hz | ❌ | 1 时钟 = 1 bit |
| SPI | SCK 时钟 | Hz | ❌ | 时钟即比特率 |
| CAN | Bit Rate | bit/s | ❌ | 官方只用 bps |
| CAN FD | Bit Rate | bit/s | ❌ | 数据段更高 |
| LoRa | Symbol Rate / Data Rate | baud / bit/s | ✅ | 二者不相等 |
| Wi-Fi / LTE | Symbol Rate / Bit Rate | baud / bit/s | ✅ | 必须区分 |
| 字段 | 位数 |
|---|---|
| 起始位 | 1 |
| 数据位 | 8 |
| 停止位 | 1 |
| 合计 | 10 |
T_bit = T_symbol = 1 / BaudRateT_frame = 总位数 × T_bitT_bit ≈ 104.17 μs T_frame ≈ 1.04 ms有效比特率 = 波特率 × 数据位 / 总位数9600 × 8 / 10 = 7680 bit/s| 模式 | SCL | 等效速率 |
|---|---|---|
| Standard | 100 kHz | 100 kbps |
| Fast | 400 kHz | 400 kbps |
| Fast Plus | 1 MHz | 1 Mbps |
| High-Speed | 3.4 MHz | 3.4 Mbps |
⚠️ ACK、地址、仲裁降低有效速率
| 项目 | 说明 |
|---|---|
| 速率参数 | SCK 时钟 |
| 单位 | Hz |
| 关系 | SCK = 比特率 |
| 特点 | 无协议开销 |
| 类型 | 比特率 |
|---|---|
| CAN 2.0 | 10 kbps ~ 1 Mbps |
| CAN FD | 数据段更高 |
⚠️ 位填充 + 仲裁 → 有效速率下降
| 场景 | 用哪个 |
|---|---|
| 串口配置 | baud |
| 寄存器配置 | baud |
| 协议超时 | baud |
| 吞吐量计算 | bit/s |
| 总线带宽 | bit/s |
| 无线通信 | 二者都要 |
| 说法 | 是否正确 |
|---|---|
| 9600 就是 9600 bps | ⚠️ 仅 UART |
| 波特率就是速度 | ❌ |
| SPI 有波特率 | ❌ |
| CAN 用 baud | ❌ |
| LoRa 波特率=比特率 | ❌ |
| 场景 | 应使用 |
|---|---|
| 串口配置 | 波特率 |
| 协议定时 | 波特率 |
| 帧时间计算 | 波特率 |
| 吞吐能力 | 比特率 |
| 通信选型 | 比特率 |
| 无线系统 | 二者都要 |
- 波特率:信号变化速度
- 比特率:信息传输能力
- 是否相等,取决于编码方式
- UART 是特例,不是规则
- 本节内容已经全部介绍完毕,希望通过这篇文章,大家对波特率与比特率有了更深入的理解和认识。
- 感谢各位的阅读和支持,如果觉得这篇文章对你有帮助,请不要吝惜你的点赞和评论,这对我们非常重要。再次感谢大家的关注和支持!点我关注❤️