通信总线传输速率计算
- uart 、can 、SPI通信速率比较
baud 1/baud(s/bit) 传输1byte数据 10bit 传输时间 数量级 吞吐量 115200 0.00868ms 10bit 0.09ms 0.1ms 115k 9600 0.10417ms 10bit 1.04ms 1ms 9.6k 500k 0.002ms 0.02ms 0.02ms 500k 1M 0.001ms 0.008ms(8bit) 0.01ms 1M 数量级为方便计算会取整。
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数据 衡量系统的实时性用响应时间、吞吐量、生存时间三个指标。
- 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
|