随着科技的不断进步,键鼠设备作为我们日常工作和娱乐中不可或缺的工具,其性能和功能的不断升级显得尤为重要。泰凌微电子以其创新的三模键鼠方案,为用户带来了全新的升级体验。本文将详细介绍泰凌键鼠的USB升级方案,包括其原理、数据结构、固件校验以及OTA工具的使用方法,以帮助用户和开发者更好地理解和应用这一技术。
泰凌三模键鼠方案提供了完善的键鼠升级方案,支持蓝牙低功耗 OTA升级和支持USB 升级。
泰凌键鼠USB 升级方案原理
泰凌三模键鼠USB升级采用AB分区的方式进行升级。以TLSR827x芯片为例,芯片支持0,128k,256k,512k地址启动。键鼠方案默认采用0和128k做为两个分区的起始地址。
上位机与键鼠通信协议:
上位机加载新固件后,通过USB-HID协议与键鼠进行数据交互,上位机下发数据通过标准set report 指令。
键鼠回复数据给上位机通过 hid in接口发送。
上位机将固件数据分包按顺序发给键鼠。键鼠收到数据后会进行校验和存储。
USB通信数据结构介绍
typedef struct{
u8 report_id;
u8 opcode;
u16 length;
u8 dat[60];
} usb_data_t;
usb_data_t为USB通信数据结构,上位机与键鼠通信每包数据64字节,其中第一个字节是report ID,紧接着是opcode,opcode是私有命令数据固定为2。Length为本包有效数据长度。
typedef struct
{
u16 cmd;
u8 buf[16];
u16 crc;
}ota_data_t;
ota_data_t是ota数据结构体,包含在usb_data_t的dat成员内。每包64字节的USB数据只包含最多3包ota数据。每一包ota_data_t都包含了本包数据的crc校验值,键鼠收到数据后,会对数据做同样的crc校验,确保传输无误。
固件的校验
在传输完成后,键鼠会对接收到的新固件进行CRC32计算,计算结果会与固件本身的CRC值做比较,如果是一样的代表固件传输正确,程序擦掉旧固件头标志位,然后reboot跳转到新固件去执行。如果校验失败,程序继续执行旧固件。
USB OTA 工具使用方法
双击打开键鼠端USB OTA 生成器.exe 点击打开bin文件,选择要升级的新固件。修改VID PID与待升级键鼠的PID VID一致,上位机是根据PID VID找到目标设备进行升级的。
点击生成exe在同目录下会生成一个新的可执行程序 Mouse_USB_OTA.exe
Mouse_USB_OTA.exe是最终执行升级的上位机软件。他的操作比较简便,只需要点击start即可开始升级。便于分发给工厂产线工人对产品进行返修升级等,避免了直接分发固件和繁琐的配置操作带来的出错风险。
点击start 开始升级,等待升级完成。
Debug Mode介绍:
Mouse_USB_OTA.exe 支持debug mode快速调试 键鼠升级,而不用去修改上位机源码
点击Debug Mode按钮,输入密码泰凌,点击show Debug surface
对于键鼠修改了PID, VID ,报告描述符中的report ID和usage Page的情况,在Debug Mode中可以快速修改 和验证通信,测试升级功能。
通过对泰凌键鼠USB升级方案的细致解析,我们可以清晰地了解到其背后的技术逻辑和操作流程。这一方案以其简便性和高效性,为用户提供了一种更为便捷的键鼠升级途径。泰凌通过不断的技术创新,致力于提升用户体验,确保产品能够适应不断变化的市场需求。我们期待在未来能够继续以其专业和创新精神,为用户带来更多实用且高效的解决方案。
如需进一步了解或获取键鼠USB升级工具,欢迎随时联系泰凌销售(telinksales@telink-semi.com)。