通信总线传输速率计算

通信总线传输速率计算

1. uart 、can 、SPI通信速率比较

baud1/baud(s/bit)传输1byte数据10bit 传输时间数量级吞吐量
1152000.00868ms10bit0.09ms0.1ms115k
96000.10417ms10bit1.04ms1ms9.6k
500k0.002ms0.02ms0.02ms500k
1M0.001ms0.008ms(8bit)0.01ms1M

数量级为方便计算会取整。

uart传输1byte数据需要: 数据8bit+停止位2bit=10bit

  • 1M的SPI 传输速度,大约是115200的uart的10倍
  • 500k的can 传输速度,大约是115200的uart的5倍
  • 500k的can 传输速度,大约是9600的uart的50倍
  • 115200的uart传输速度,是9600的uart的12倍

协议举例一

假如协议头占2个字节,协议尾(校验)占1个字节。传输一个字节的数据,实际要有4个字节传输。(uart)加上停止位,共4*10bits需要传输。此时(按10bit一个字节来算,为方便与uart对比):

  • 115200 uart 传输时间:0.4ms
  • 9600 uart 传输时间:4ms
  • 500k can 传输时间: 0.08ms
  • 1M SPI 传输时间: 0.04ms

协议举例二

假如协议头占2个字节,数据长度占2个字节,数据最小1个字节,最大1024字节,协议位(校验位)占一个字节。
传输一个字节的数据,实际要有6个字节传输。uart加上停止位,共610bits需要传输。spi方式共68bits传输。此时:

  • 115200 uart 传输时间:0.6ms
  • 9600 uart传输时间:6ms
  • 500k can传输时间:0.12ms
  • 1M SPI传输时间:0.06ms

在传输1个字节数据的基础上,数据每多一个字节,传输时间增加对应一个数量级。

该协议,传输时间用时1ms的数据包,包含的数据字节数大约为:

  • 115200 uart:5个
  • 9600 uart:6ms才传1个包含一个字节数据的数据包
  • 500k can:45个byte数据
  • 1M SPI:95个byte数据

衡量系统的实时性用响应时间、吞吐量、生存时间三个指标。

2. USB 带宽和速度

  • 理论值:USB2.0的带宽是480MB/S, 大约每秒中可以传输60MB的数据
  • USB2.0接口的实际极限写入速度在25M/S左右,读速度在35M/S左右。而一般的U盘写入在10M左右,读在20M左右。

不同USB规范的理论速度

USB1.1:

  • 低速模式(low speed):1.5Mbps
  • 全速模式(full speed): 12Mbps
    USB2.0:向下兼容。增加了高速模式,最大速率480Mbps。
  • 高速模式(high speed): 25~480Mbps
    USB3.2:向下兼容。
  • super speed :理论上最高达4.8Gbps,实际中,也就是high speed 的10倍左右。

3. I2C总线

半双工,只有2根线。数据线和时钟线。

  • 标准速度:100kbps
  • 快速模式:400kbps
  • 高速模式:3.4Mbps
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值