串口通信之波特率计算
·
串口通信之波特率计算
在信息传输通道中,携带数据信息的信号单元叫作码元(因为串口是1bit进行传输的,所以其码元就代表一个二进制数),每秒通过信号传输的码元数称为码元的传输速率,简称“波特率”,常用符号“Baud”表示,其单位为“波特每秒”(Bps)。串口常见的波特率有4800、9600、115 200等,此处我们选用9600的波特率进行讲解。
通信信道每秒传输的信息量称为位传输速率,简称“比特率”,其单位为“每秒比特数”(bps)。比特率可由波特率计算得出,公式为
比特率=波特率×单个调制状态对应的二进制位数
如果使用的是9600的波特率,其串口的比特率为
9600Bps×1bit = 9600bps
由计算得串口发送或者接收1bit数据的时间为一个波特,即1/9600s,如果用50MHz(周期为20ns)的系统时钟来计数,需要计数的个数为cnt = (1s×10**9)ns/9600bit)ns/20ns ≈ 5208个系统时钟周期,即每位数据之间的间隔要在50MHz的时钟频率下计数5208次。
上位机通过串口发送8bit数据时,会自动在发8bit有效数据前发一个波特时间的起始位,也会自动在发完8bit有效数据后发一个停止位。同理,串口助手接收上位机发送的数据前,必须检测到一个波特时间的起始位才能开始接收数据,接收完8bit的数据后,再接收一个波特时间的停止位。
推荐内容
更多推荐
相关推荐
查看更多
ai-hedge-fund

An AI Hedge Fund Team
fastapi_mcp

一种零配置工具,用于自动将 FastAPI 端点公开为模型上下文协议 (MCP) 工具。
fumadocs

用于在 Next.js 中构建文档网站的框架。
热门开源项目
活动日历
查看更多
直播时间 2025-04-09 14:34:18

樱花限定季|G-Star校园行&华中师范大学专场
直播时间 2025-04-07 14:51:20

樱花限定季|G-Star校园行&华中农业大学专场
直播时间 2025-03-26 14:30:09

开源工业物联实战!
直播时间 2025-03-25 14:30:17

Heygem.ai数字人超4000颗星火燎原!
直播时间 2025-03-13 18:32:35

全栈自研企业级AI平台:Java核心技术×私有化部署实战
目录
所有评论(0)