基于USB接口的激光陀螺惯导系统数据通讯

   2023-09-13 互联网2160

  USB接口的软件设计要复杂一些,主要是编写CY7C68013A自身的固件程序。

  1.2 CY7C68013A的固件程序设计

  CY7C68013A的固件程序主要用于USB芯片的端点配置、频率设置、数据宽度、可编程标志定义、中断定义及特定功能的8051程序编写等。固件程序主要完成如图2所示的任务流程。

  在上述固件程序当中,CY7C68013A的初始化子程序TD_Init()的开发按照以下步骤进行:按图3中的规则配置端点;使CY7C68013A工作在SLAVE FIFO模式,选择BULK传输,使用3个端点EP2、EP4和EP6,全部采用双缓冲方式;3个端点FIFO标志分别定义为:FLGA为EP2的4字节接收可编程标志,FIGB为EP6的满标志,FLGC为EP2的空标志;数据宽度设为16位。

  1.3 丢帧问题及解决措施

  在导航计算机与PC机间通过USB接口进行了双向高速通讯测试。测试方法如下:PC机向导航计算机传输一个数据包,导航计算机接收后回传,PC机接收后进行正确性校验、传输、回传和校验过程循环进行。测试中发现偶尔有丢帧现象出现。尝试改变上位机中数据采集与后台实时写内存线程的优先级和改变CY7C68013A的端点大小及缓冲级别(如三缓冲、四缓冲)来解决这个问题,但是丢帧现象依然存在。

 
举报收藏 0打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  隐私政策  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  RSS订阅