当前位置:首页 > 工业控制 > 工业控制
[导读]摘要:为了提高激光陀螺捷联惯性导航系统在强振动条件下的精度,需要将惯性仪表在振动环境下的输出数据高速采集并保存下来进行离线仿真。通过CY7C68013A芯片在导航计算机外围扩展高速的USB接口,实时采集惯导系统输出

摘要:为了提高激光陀螺捷联惯性导航系统在强振动条件下的精度,需要将惯性仪表在振动环境下的输出数据高速采集并保存下来进行离线仿真。通过CY7C68013A芯片在导航计算机外围扩展高速的USB接口,实时采集惯导系统输出的各项性能指标数据,并将此类数据保存至外围PC机,实现了导航计算机和PC机之间的高速通讯。通过设立圆形缓冲区,解决了通讯过程中的丢帧问题。经过近千小时测试,所建采集数据装置可准确采集导航计算机数据并实时存储,结果表明该装置的可靠性与稳定性,为分析惯导系统测量精度奠定了基础。
关键词:惯性导航;激光陀螺;通讯;USB接口

    激光陀螺作为捷联惯性导航系统的核心器件,其性能远优越于传统的机电陀螺,已广泛应用于海、陆、空、天等军用和民用导航领域。
    在激光陀螺捷联惯导系统中,惯性仪表(激光陀螺和加速度计)直接“捆绑”在载体上,所承受的力学环境要比平台恶劣。在某些军用环境所要求承受的强烈振动条件下,由于惯性组合体在力和运动的激励下产生多项误差,系统姿态和位置误差增长较快。研究表明,这些误差项有一部分具有较好的补偿性,可以通过误差补偿减小或消除部分误差,从而提高系统在强振动下的精度。这就需要将惯性仪表在振动环境下的输出数据高速采集并保存下来,然后在PC机上进行离线仿真以确定和分离各项误差系数。由于数据量庞大,无法直接存储在导航计算机中:例如以8 kHz对惯性仪表输出进行采样,每秒的数据量约为200 K字节。而原有捷联惯导系统采用RS422接口与外部通讯,其最大波特率为1 M。不足以将高速数据传送给PC机保存下来。因此,有必要在导航计算机外围扩展更高速的USB接口,以实现导航计算机和PC机之间的高速通讯。USB接口(Universal Serial Bus)是一种通用的高速串行通讯接口。USB2.0理论传输速度可达到480 Mb/s,可以很好地解决数据在惯导系统与PC机之间的高速互传问题。

1 激光陀螺捷联惯导系统的USB接口设计
1.1 USB接口芯片CY7C68013A
    CY7C68013A是CYPRESS公司最新推出的USB2.O控制器,它既负责USB事务处理也兼具微处理器的控制功能,还可作为USB外部芯片的主控芯片,其小巧的体积及较高的性价比使得该芯片在各种USB设备上得到了广泛的应用。该芯片包括带16KB片上RAM的高速8051单片机、4KBFIFO存储器以及通用可编程接口(GPIF)、串行接口引擎(SIE)和USB2.0收发器,6条可编程控制输出线,9条地址输出线和6条通用的准备输入线。数据线宽度可设为8位也可设为16位,方便与不同的CPU接口。图1是CY7C68013A的内部结构功能框图。


    由于CY7C68013A硬件逻辑并不复杂,加上可以充分利用FPGA的灵活性,在导航计算机外围扩展CY7C68013A的线路板设计工作相对简单,将CY7C68013A的总线和控制信号与DSP导航计算机的FPGA相应引脚正确相连即可。
    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的端点大小及缓冲级别(如三缓冲、四缓冲)来解决这个问题,但是丢帧现象依然存在。
    经过较长时间的分析与验证,找到了问题所在:PC机中运行的Windows操作系统是一个多任务的操作系统,同时运行着多个进程,系统在给每个进程分配时间片时也是有一定的优先级的,优先级高的进程占用时间片较多,如果PC机在执行某些其他进程时占用时间超过了一定的限度,就可能导致该读出的数据没有及时读出,而下一帧数据又已送到缓冲区,覆盖前一帧数据,从而造成丢帧。
    解决丢帧的办法是在DSP的内存中设置一个圆形缓冲区,如果发现IN型端点的FIFO已满(说明PC机未及时读走FIFO中数据),则将本帧数据存入圆形缓冲区里,直到FIFO完全为空。
    圆形缓冲区的结构如图4所示。


    在图4中,sptr为写入数据指针,dptr为发送数据指针。整个圆形缓冲区的大小设置为256 K字(32位)。若按8 K的数据存入速率,可以保存8 s数据。在PC机不能及时读取IN端点FIFO数据的情况下,这个圆形缓冲区可以起到很好的缓冲作用。
    在程序执行的初始时刻,设置指针sptr等于dptr。当IN端点FIFO满时,DSP将数据按指针sptr存入圆形缓冲区,sptr随之递增,而dptr保持不变。当IN端点FIFO空时,DSP仍将数据按指针sptr存入圆形缓冲区,sptr随之加1。但此时将从dptr指针处发送两帧数据到FIFO中,这种dptr追赶sptr的机制,将保证圆形缓冲区不出现溢出现象:即不会出现sptr超过dptr一圈以上的情况。
1.4 通讯系统软件整体设计
    遵循软件设计中尽量较少使用中断的原则,这里只使用1个4 K中断,其他三路信号都采用查询方式,中断分配如图5所示。


    图6为主程序流程。USB从管道0接收PC机发来的命令,命令写入EP2端点中,此时在INT7管脚上产生USB中断。DSP通过查询INT7中断,将EP2中的命令及数据读出,对命令进行解析,并执行相应的指令工作。非周期指令执行完后,将接收数据写入EP4端点,PC机从管道1中将数据取走;周期指令执行完后,将接收数据写入EP6端点,PC机从管道2中将数据取走。


    图7中的4 K中断流程主要完成陀螺和加速度计脉冲及温度数据的采集工作,并向EP6端点写入。



2 通讯效果测试
    将激光陀螺惯性导航系统固定于振动模拟台,按照军用环境的要求进行了近千小时的振动实验。实验过程中导航计算机高速采集惯性仪表在振动环境下的输出数据,并通过USB接口传输给PC机并保存下来。
    当圆形缓冲区的两个指针各自达到最大位置后将从0地址重新开始,长时间双向通讯的测试结果表明:将采用上述方法后的输出数据与串口输出数据进行比对,发现无丢帧现象产生。在导航计算机上进行离线仿真以确定和分离各项误差系数,通过实时误差补偿减小了部分误差,从而提高了系统在强振动下的精度。当然,PC机在与导航计算机的数据传输过程中,建议尽量减少运行的任务数量,特别是占用CPU时间较多的任务,如杀毒、音频视频解码等。

3 结论
    本文将基于CY7C68013A的USB接口技术应用于惯导系统数据通信,创新性的设立圆形缓冲区解决了USB接口数据传输过程中的丢帧问题。近千小时测试结果表明:上述USB接口通讯装置可实现导航计算机和PC机间高速实时数据传输且期间无丢帧现象发生,表明该装置具有良好的稳定性与可靠性。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭