AICUPG通信协议原理详解
创作时间:
作者:
@小白创作中心
AICUPG通信协议原理详解
引用
1
来源
1.
https://artinchip.com/knowledge/oxy_ex-1/topics/%E9%80%9A%E4%BF%A1%E5%8D%8F%E8%AE%AE%E5%8E%9F%E7%90%86-luban.html
AICUPG通信协议是一种基于USB Bulk传输的自定义通信协议,主要用于镜像升级和烧录功能。该协议分为传输层和应用层,通过扩展USB Bulk传输协议的CBW命令块,实现了WRITE和READ两个基本操作命令。应用层协议则定义了用于镜像升级的多个命令,包括获取硬件信息、发送组件描述信息、获取传输数据块大小等。
AICUPG通信协议基于USB Bulk传输进行了自定义扩展。从协议层次架构上看,通信协议分为两层:
- 传输层
- 应用层
图1.通信协议:主机发送
图2.信协议:主机接收
USB Bulk传输协议仅定义了Bulk传输的基本行为和数据格式,其他具体应用协议可以在其基础之上进行扩展。AICUPG的传输层对USB Bulk的CBW(Command Block Wrapper)中自定义的命令数据块(Command Block)部分进行了扩展定义,实现了WRITE/READ两个基本操作命令。具体如表中bCommand所示。WRITE操作用于主机发送数据包,READ操作用于主机读取数据包。每个数据包的最大长度为4KB。
表1.CBW扩展定义域
字节 | 说明 |
---|---|
dCBWSignature | 0~3 魔数,标识CBW数据包,值为“USBC” |
dCBWTag | 4~7 CBW包的编号 |
dCBWDataTransferLength | 8~11 CBW之后紧跟的传输数据长度 |
bmCBWFlags | 12 0x00:数据传输方向为主机到设备 0x80:数据传输方向为设备到主机 |
bCBWLUN | 13 没有使用,可忽略 |
bCBWCBLength | 14 CBW命令块有效长度,这里固定为0x01 |
bCommand | 15 0x01: WRITE 表示写操作 0x02: READ 表示读操作 |
Reserved | 16~30 - |
AICUPG应用层协议中,对CMD HEADER和RESP HEADER定义如下表所示。
表2.CMD HEADER数据格式域
字节 | 说明 |
---|---|
dMagic | 0~3 魔数,值为“UPGC” |
bProtocol | 4 自定义协议类型 0x01: USB升级协议 |
bVersion | 5 自定义协议的版本 0x01: Version 1 |
bCommand | 6 命令控制字 |
Reserved | 7 - |
dDataLength | 8~11 CMD HEADER之后传输给设备的数据长度 |
dCheckSum | 12~15 CMD HEADER前12字节32-bit Checksum |
表3.RESP HEADER数据格式域
字节 | 说明 |
---|---|
dMagic | 0~3 魔数,值为“UPGR” |
bProtocol | 4 自定义协议类型 0x01: USB升级协议 |
bVersion | 5 自定义协议的版本 0x01: Version 1 |
bRespCommand | 6 所响应的命令 |
bStatus | 7 命令执行状态 0x00: OK 0x01: Failed |
dDataLength | 8~11 RESP HEADER之后传输的数据长度 |
dCheckSum | 12~15 RESP HEADER前12字节32-bit Checksum |
应用层协议定义了下列用于镜像升级的命令。
表4.镜像升级所用的命令
命令 | 值 | 说明 |
---|---|---|
GET_HWINFO | 0x00 | 获取硬件相关信息 |
SET_FWC_META | 0x10 | 发送组件(Firmware Component)的描述信息 |
GET_BLOCK_SIZE | 0x11 | 获取传输的数据块大小,发送的有效数据须以该块大小为单位 |
SEND_FWC_DATA | 0x12 | 发送组件数据 |
GET_FWC_CRC | 0x13 | 获取设备端对所接收数据计算的CRC值,以确认传输是否出错 |
GET_FWC_BURN_RESULT | 0x14 | 获取组件烧录后,设备端的校验结果 |
GET_FWC_RUN_RESULT | 0x15 | 获取组件在运行之后的返回结果 |
热门推荐
揭秘小区充电桩:能否替代家庭充电?
出了医疗事故之后需要收集哪方面的证据
车载灭火器终极指南:从选购到实战的全维安全手册
车载灭火器终极指南:从选购到实战的全维安全手册
绿色鼻涕的成因及处理方法
构建未成年人保护文化品牌“特色网”!这个“检爱木兰”团队为他们撑起法治蓝天
红细胞分布宽度变异系数偏高是什么原因
双鱼座,思维深邃,创意无限的智慧之海
802.11标准介绍
如何选购汽车?价格与性能的全面分析
乐高积木的另一种社会价值:盲人、视障学习者正在使用盲人积木进行游戏和学习
如何在饮食中加入低碳水化合物、高蛋白质食物
防火墙与入侵检测系统(IDS)的结合使用:构建多层次网络安全防护体系
头油、头痒、头屑多?皮肤科医生来支招
探秘美国大使馆领事公证:业务范围、操作流程、注意事项详解
走向“睡眠觉醒”,为了睡好国人到底有多拼?|2025睡眠报告
Type-C连接器冲压工艺及技术要求解析
清明节的饭菜有哪些经典选择?(清明节饭菜)
云端太极:河南温县的非遗传承新路径
英语学习目标:精准规划,稳步前行
11.0.5补丁首周职业数据分析:DK下滑明显,双系萨满登顶,猎人强势崛起
预计10月全面竣工!广州体育馆全新升级
懒人版八个月宝宝辅食-南瓜米粉蛋黄蒸糕(无糖无蛋清无奶粉)
科普解读:肉毒素美容的"神奇"与"风险"
高质量午休有诀窍 速来get这些技能
矮生四季青狗牙根植法(矮生四季青和狗牙根的种植方法)
新疆杏花最佳观赏时间大揭秘,错过等一年!
怎样在银行办理工资卡?
什么是教育综合改革?
空间组学 + 肿瘤微环境:解锁精准抗癌新路径