欢迎来到天天文库
浏览记录
ID:36954081
大小:122.00 KB
页数:3页
时间:2019-05-03
《usb通信协议及上位机软件框架规划书》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、USB通信协议:1.数据包由两种构成:描述包和实时包,区别在命令字上。2.通信方式:上位机只接收数据,不与下位机交互,即上位机只收不发。描述包即非实时包,只在初始化阶段上传,描述包格式:包头1Byte包长1Byte描述段命令字1Byte偏移量1Byte校验码1Byte0x550~255CRC其中:包头固定为:0x55包长为本次数据包的长度,计算公式:包长=描述段+命令字+偏移量CRC校验范围是:除包头外的所有其他内容描述段根据命令字决定:命令字为1Bytebit7bit6bit5bit4bit3
2、bit2bit1bit01规定:数据类型:0——char1——unsignedint2——int3——unsignedlong4——long5——float6——double7——bool(LED显示)bit7——1:这是一个描述包bit7——0:这是一个实时包bit6:bit5——00:信号的组数bit6:bit5——01:信号名称bit6:bit5——10:信号数据长度及类型bit6:bit5——11:信号数据上下限bit4:bit0——数据序号(0~32)如果数据类型是bool,则数据序号
3、bit4:bit0表明该信号的在数据段中的位置,例如系统有8种bool型的信号,则由一个字节表示,每一位分别表示每种信号的值:bit7bit6bit5bit4bit3bit2bit1bit0ABCDEFGH偏移量为信号在实时包中的位置,当命令字为10000000时,该数据包没有偏移量举例如下:名称电压(V)A相电流(A)计数M故障A、B、C类型int(16bit)float(32bit)long(32bit)bool(1bit)上限500100.216384721-下限0-100.20-偏移量1
4、234名称故障A故障B故障C类型bool(1bit)bool(1bit)bool(1bit)偏移量111项目包头1Byte包长(1Byte)描述段命令字1Byte偏移量1Byte校验码1Byte信号名称0x55描述段长度“故障A”10100004CRC数据长度类型0x5537(bool)11000004CRC信号名称0x55描述段长度“故障B”10100004CRC数据长度类型0x5537(bool)11000014CRC信号名称0x55描述段长度“故障C”10100004CRC数据长度类型0x
5、5537(bool)11000104CRC下位机应先发送信号的种类数,接着发送各种信号的描述符。包头1Byte包长1Byte信号种类数1Byte命令字1ByteCRC1Byte0x5526(0~255)1000000CRC对于一个信号应该由4个描述包完成描述电压信号的描述包:项目包头1Byte包长(1Byte)描述段命令字1Byte偏移量1Byte校验码1Byte信号名称0x55描述段长度+2“电压(V)”10100001CRC数据长度类型0x55416(bit)+2(int)11000001C
6、RC信号上下限0x556上限+下限11100001CRC建议:下位机在发送完描述包后应该在发送一个描述包来说明此时描述包已经结束。实时包格式:包头1Byte包长1Byte数据段校验码1Byte0x550~255CRC计算公式:包长=数据段+命令字项目包头1Byte包长(1Byte)描述段命令字1Byte偏移量1Byte校验码1Byte信号名称0x55描述段长度+2“电压(V)”10100001CRC数据长度类型0x5532(int)11000001CRC信号上下限0x556上限+下限111000
7、01CRC项目包头1Byte包长(1Byte)描述段命令字1Byte偏移量1Byte校验码1Byte信号名称0x55描述段长度“A相电流(A)”10100002CRC数据长度类型0x5545(float)11000002CRC信号上下限0x5510上限+下限11100002CRC项目包头1Byte包长(1Byte)描述段命令字1Byte偏移量1Byte校验码1Byte信号名称0x55描述段长度“计数值M”10100001CRC数据长度类型0x5523(unsignedlong)11000001C
8、RC信号上下限0x5510上限+下限11100001CRC项目包头1Byte包长(1Byte)描述段命令字1Byte偏移量1Byte校验码1Byte信号名称0x55描述段长度“故障A”10100004CRC数据长度类型0x5527(bool)11000004CRC信号名称0x55描述段长度“故障B”10100004CRC数据长度类型0x5527(bool)11000014CRC信号名称0x55描述段长度“故障C”10100004CRC数据长度类型0x5527(bool)11000104CRC包头
此文档下载收益归作者所有