找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于FPGA的数字闭环光纤陀螺仪模拟表头

[复制链接]
admin 发表于 2013-3-21 13:10:46 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
光纤陀螺是激光陀螺的一种,是惯性技术和光电子技术紧密结合的产物。它利用Sagnac干涉效应,用光纤构成环形光路,并检测出随光纤环的转动而产生的两路超辐射光束之间的相位差,由此计算出光纤环旋转的角速度。光纤陀螺仪主要由表头和调制解调电路两个部分组成。伺服于表头的调制解调电路根据输入的电信号,经过相应的变换后形成反馈信号送至表头的相位调制器中。在实际的应用过程中,相应的调制解调电路应该根据温度、振动等情况做出相应的改变,才能最大限度地保证陀螺的精度要求。本文设计了一种基于FPGA的测试系统,模拟光纤陀螺仪的表头,并检测调制解调电路的性能。

    模拟表头的基本原理及结构
    表头的主要功能是将Sagnac效应产生的光程差所引起的相位变化通过回路耦合器转换为光功率的变化,再通过探测器探测后以电信号的形式输出至调制解调电路中。数字闭环光纤陀螺仪系统结构见图1。从调制解调电路中采样来的原始参数值,经过模拟表头内数字信号处理,可将输入调制解调电路的实际表头信号还原出来。得到初始还原值之后,通过在模拟表头中进行修改、加载不同类型的参数值,从而检测调制解调电路中相应的性能指标。
    本文所设计的模拟表头系统遵循了一般数字闭环光纤陀螺系统的基本原理,在系统结构上发生了变化。调制解调电路在本系统中处于被动地位,而表头作为系统的主体。同时,用一个自主设计的电路系统代替了光纤陀螺仪的表头部分。模拟表头及其测试系统的结构如图2所示。
    20121107053210075401876.jpg
    图中,PC上位机的工作十分重要,它不仅控制调制解调电路和模拟表头系统的协同工作,而且要将所采集来的数据进行分析整理,并完成关键的软件编写和植人工作。
    模拟表头系统的硬件设计
    根据理论分析,本文设计出基于FPGA的模拟表头硬件系统,如图3所示。
    在这个闭环系统中,需要采集的主要信号是调制解调电路中的相位反馈信号。根据反馈信号的特点,选用运算量不大但处理速度快的FPGA作为信号处理的主要器件。在本方案中,考虑到成本和实际运算量,选取XC3S100E FPGA芯片。
    本系统采用±5V稳压直流电源供电。经过计算,本系统的功耗在5W以下,故直流电源的输出电流需达到1A。根据FPGA及其外围电路的供电要求,需要设置三个DC/DC模块:分别是5V转3.3V,5V转2.5V和3.3V转1.2V。分别选择了MAX651、ADP3333和LTC3406用于电压转换。另外,3.3V电源还用作驱动ADC、数码管、运算放大器等器件。
    XC3S100E芯片具有较好的性价比,它具有2160个逻辑单元,100000个系统门资源,最大的I/O口数目是108。对本系统来说,完全能满足16位输入/输出、数码管指示灯等显示模块、与上位机通讯以及其他控制信号的接口需要。系统中另外配置了一块和FPGA相匹配的EPROM-XCF01S,用来提供逻辑芯片在开机后目标程序的加载。
    A/D和D/A转换分别采用AD7671和AD768两款芯片。AD7671具有最高可达1MSPS的采样速率,逐次逼近型高速高精度,并行传输的模数转换器,并能达到16位精度,而且无失码,最大积分非线性误差(INL)仅为±2.5LSB,能够很好地满足本系统要求。AD768是一款具有16位精度,最高可达40MSPS采样速率的高速DAC。它的响应时间非常短,转换速度快并与高速的ADC有很强的适配能力。
    在提取初始参数时,考虑到陀螺信号比较弱,在A/D转换之前的设计采用了弱信号检测方法,对信号进行滤波、整形并放大,在最大限度保证无失真的前提下将原始信号提取出来,并转换为ADC可以分辨的信号输出。
    模拟表头系统的软件设计
    根据闭环光纤陀螺仪表头的基本原理,实际表头输出的信号为周期恒定的梳状波。波形中奇偶周期的电压差值表示表头光纤环中两束光的光程差所对应的电信号量。调制解调电路产生的用于反馈的阶梯波作为实际表头的输入。因此,模拟表头软件要解决的问题有两个:
  一个是产生一个象征光程差(根据光程差就能计算出角速度ω)的随机数X,一个是利用调制解调电路送来的阶梯波进行计算,提取阶梯值S及其周期。
    核心算法的软件设计流程如图4所示。
    20121107053210122271877.jpg
    在流程图中,模块A用于判断阶梯值的正负。根据实际解调电路特性,反馈信号是通过对解调电路产生的阶梯值累加,再经方波调制得到的,累加过程中采用了高低复位操作。因此,在对阶梯波采样值作进一步处理前,有必要判断阶梯值正负。这里通过设置计数器,对同周期相邻采样值进行多次作差比较来判断其正负,避免了高低复位操作引起的前后采样值突变对判断结果的影响。
    模块B是高低复位判断和补偿模块。该模块通过比较同周期前后采样值的大小来实现复位点判断,然后对经过复位的采样值进行相应的补偿操作。
    在xilinx ISE8.2的平台上,对Verilog HDL编写的模拟表头作了功能仿真。采用常用的ModelSimSE 6.2对Testbench模块进行仿真,用以检测程序设计中计算和逻辑的正确性。仿真模块设置主时钟MCLK周期为10ns,高低电平持续时间相同。每隔50个时钟周期进行一次采样,累加16个采样值求一次阶梯。仿真时间设置为35000ns,RSTB为主复位信号,ADBUSY与ADCNVST为ADC控制信号,CLOCK为DAC控制信号。
    本方案对随机数X和输入INDATA在几种极限情况下的仿真结果进行了验证,用以检测表头程序设计的正确性。
    结语
    根据以上的软硬件设计,可设计出能够模拟光纤陀螺仪表头行为的模拟表头系统。测试时,将实际的光纤陀螺仪表头和调制解调电路与设计电路系统对接,就能得到所期望的波形和数据。将模拟表头的随机输入数(代表角速度ω)与被检测的调制解调电路输出作对比,可有效检验出被测调制解调电路的性能。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-23 09:52 , Processed in 0.071924 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表