世纪电源网社区logo
社区
Datasheet
标题
返回顶部
讨论

分享:基于MCU与DSP的双机压电捷联惯导系统

[复制链接]
查看: 3264 |回复: 0
1
世纪电源网-SUN
  • 积分:1620
  • |
  • 主题:69
  • |
  • 帖子:206
积分:1620
LV6
高级工程师
  • 2019-9-23 13:33:11
引言
       近年来,广大科研工作者研究了各种减小压电捷联惯导系统的误差方法,使压电惯性器件的精度得到了极大的提高[1].本文介绍了一种实用的基于DSP实现的压电捷联惯导系统方案。
1 系统的硬件设计
       整个压电捷联惯导系统分为三个部分:压电惯性组合部分;由ADS1251与ADuC834组成的信号接口与模数转换单元;由TMS320C54lO等构成的数据处理单元。系统框图如图1所示。

QQ截图20190923132013.png
       压电惯性组合采用专用压电陀螺及压电加速度计。由TI公司24位,20 kHz的A/D转换器ADSl251完成六路压电陀螺及压电加速度计的信号精确采样,实际采样速率为500 Hz。采用美国模拟器件公司的8位51 MCU微处理器ADuC834作六路采样的主控制器。ADuC834集成了温度传感器、62 KB的可编程程序EEPROM、定时器,以及I2C兼容的SPI和标准的串行I/O等。通过SPI方式读人六路采样转换后的信号,同时完成温度的采样,所有采样后得到的数字信号通过HPI接口写入到TMS320C5410的数据单元。采用ADuC834的口0与口2实现与TMS320C54lO的HPI接口相连,接口电路如图2所示。
QQ截图20190923132132.png
       数据处理单元由TMS320C5410、SST39VF200B及MAX3111E组成。TMS320C5410是TI公司54系列DSP处理器,外接 10 MHz晶振,通过设置PLL,工作频率在100 MHz,处理能力可达到l00MIPS。它采用微计算机工作方式(MP/MC引脚接地),外接SST39VF200B作为外接存储器。系统启动时,由固化在TMS320C5410片内RoM的自举引导程序加载SST39VF200B中的应用程序。TMS320C5410与ST39VF200B接口如图3所示。
QQ截图20190923132258.png
       TMS320C5410的McBSP0与MAX3111E相连,完成串口数据的输出。设置McBSP0工作在SPI主动模式,与MAX311lE进行通信。电路接口如图4所示。
QQ截图20190923132349.png
2 系统软件设计
2.1 HPl接口
       系统软件包括ADuC834的软件设计与DSP的软件设计。ADuC834软件部分采用汇编语言编写,完成HPI的初始化、温度信号的采集、通过相应引脚的控制完成六路信号采集及接收、HPI数据的发送等。采用了HINT引脚信号来完成双方数据的同步。DSP通过向HPIc的HINT位写I,使HINT引脚变为低电平,指示ADuC834发送新的数据帧。ADuC834从引脚P2.7读到此低电平信号,写完一帧数据到设定的DSP数据区域,再写HPIC的 HINT位,恢复HINT引脚为高电平。然后向HPIC中的DSPINT位写入1,通知DSP进人HPI中断接收数据。DSP接收完数据后,再向HPIC 的HINT位写l,指示新的数据传输过程。
2.2 主程序
       DSP部分的软件采用C语言设计,包括丰程序、HPI中断服务子程序及定时中断服务子程序。主程序完成系统的初始化,包括DSP工作模式的设置、堆栈的设置、初始化McBSPO、初始化MAX3111E、设置定时中断等。框图如图5所示。

QQ截图20190923132523.png
2.3捷联姿态计算
       HPI中断部分完成数据接收的同时,完成数据的计算处理,ADuC834的数据已存放在设定的几个数据单元,对读出数据采用四元数算法进行捷联姿态计算。算法部分功能模块如图6所示。

QQ截图20190923132644.png
2.4串行数据发送
       通过配置McBSPO及MAX311lE,实现在定时中断部分完成计算出的角度、位置,速度等数据的发送。设定了每10ms发送一次数据,采用查询方式完成数据的发送。
       在系统引导时完成McBSPO及MAX3111E的初始化,McBSP0始初化程序如下:

QQ截图20190923132821.png
QQ截图20190923132927.png
QQ截图20190923132944.png
       通过查询SPCR2的XRDY位与XEMPTY位可知是否可向McBSP写数据,查询程序如下:

通过发送数据写配置寄存器完成MAX3111E的初始化,程序如下:
   void init_max3111e(){
     unsigned int flagl="0xO";;
     mcbsp ready();
     *DXRl0=0xc801;
     //写配置寄存器,允许发送缓冲区空中断,fosc=3.6864 MHz
     //波特率为115 200 b/s,8位数据位,1位停止位
     mcbsp_ready();
};

   &n bsp; 在发送数据时,为保证MAX311E不丢失数据,需用中断方式或查询方式,在MAX3111E的缓冲区空时再发送数据,查询方式发送数据程序如下:
void sendl(unsigned char data){
     unsigned char flag="0x0",datahi,datalow;
     while(flag!=0x4801){//第14位为1,表示发送缓冲区为空
   & amp;nbsp; mcbsp_ready()

QQ截图20190923133135.png
3 程序的编译与自举
       通过JTAG接口,由仿真器可方便的对平台进行调试,同时完成应用程序的写入。可在CCS集成开发环境中建立相应的工程,导入.cmd文件、 vector.asm文件、库文件、源程序等。在编译选项中加入一v548,编译后生成相应的.out文件。整个程序小于32 KB,使用C54xx通用Flash烧写工具C54xx Flash Tool 2.01[2],生成相应的16位hex文件及Flash烧写的flashburn.Out文件。在CCS中导入flashburn.out,设置CPU 寄存器DROM位为0,然后运行,即完成了对SST39VF200B中程序的烧写。
4 结语
       基于TMS320C5410实现的压电捷联惯导系统平台,电路体积小,系统稳定性高。经测试,整体性能满足误差校正、姿态角及速度、加速度的计算要求,并提供了捷联惯导系统实现各种算法的基础平台。

热门技术、经典电源设计资源推荐

世纪电源网总部

地 址:天津市南开区黄河道大通大厦5层

电 话:400-022-5587

传 真:(022)27690960

邮 编:300110

E-mail:21dy#21dianyuan.com(#换成@)

世纪电源网分部

广 东:(0755)28285637 /(13823562357)

北 京:(010)69525295 /(15901552591)

上 海:(021)24200688 /(13585599008)

香 港:HK(852)92121212

China(86)15220029145

网站简介 | 网站帮助 | 意见反馈 | 联系我们 | 广告服务 | 法律声明 | 友情链接 | 清除Cookie | 小黑屋 | 不良信息举报

Copyright 2008-2019 21dianyuan.com All Rights Reserved    备案许可证号为:津ICP备10002348