IO模块数据包传输速率

原标题:IO模块数据包传输速率

IO模块数据包传输速率
文章图片
通讯设置
波特率:9600bps(默认值 , 可设)
IO模块数据包传输速率】数据域:8bits
停止位:1bit
校验位:None
流控制:None
没有校验位时 , 数据位8bit+停止位1bit=9bit
波特率9600(bps)=9600(位/秒)/9bit=1066.66Byte/秒=1066/1024=1.04(KB/秒)

IO模块数据包传输速率
文章图片
(1)CPU发送指令到MCU:
指令头
长度字
身份码
命令码
命令参数
数据域
校验码
结束符
指令头:1字节=0x24即字符‘$’
长度字:1字节 , 指明从身份码到校验码的字节数
身份码:1字节 , 代表了目标终端的身份ID 。 默认为0X0A , 可设置 。
命令码:1字节
命令参数:根据不同命令而变化
数据域:字节数根据不同命令而变化
校验码:除了指令头和结束符 , 其余位参与异或运算得出校验位
结束符:2字节 , 0x0d0x0a
(2)MCU返回:
指令头
长度字
身份码
命令码
命令参数
数据域
校验码
结束符
指令头:1字节=0x24即字符‘$’
长度字:1字节 , 指明从身份码到数据域的字节数
身份码:1字节 , 代表了本终端的身份ID 。 默认为0X0A , 可设置 。
命令码:1字节
命令参数:根据响应的命令而变化
数据域:字节数根据不同命令而变化
校验码:除了指令头和结束符 , 其余位参与异或运算得出校验位
结束符:2字节 , 0x0d0x0a

IO模块数据包传输速率
文章图片
(3)速度响应
n使用9600bps通讯速率来说明速度响应:
假如一个数据包
查询:6个字节
MCU返回:8个字节
没有校验位时 , 数据位8bit+停止位1bit=9bit
波特率9600(bps)=9600(位/秒)/9bit=1066.66Byte/秒=1066/1024=1.04(KB/秒)
查询+MCU返回:6+8=14字节=14字节
速度响应:14Byte/(1066Byte/s)=0.013s=0.013*1000ms=13ms
n使用115200bps通讯速率来说明速度响应:
假如一个数据包
查询:6个字节
MCU返回:8个字节
没有校验位时 , 数据位8bit+停止位1bit=9bit
波特率115200(bps)=115200(位/秒)/9bit=12800Byte/秒=12800/1024=12.5(KB/秒)
查询+MCU返回:6+8=14字节=14字节
速度响应:14Byte/(12800Byte/s)=0.0011s=0.0011*1000ms=1.1ms
串口通道传输速率可参考%80利用率计算 , 根据实际需求*0.8