首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于FPGA的IRIG-B编码器实现
来源:本站整理  作者:佚名  2010-03-18 10:32:51




    (5)在PPM12的上升沿根据第3.1节所得码元计数器MMH重新加载CMP
    算法VHDL描述如下:

    在上述VHDL编码的实现中,MSCLK为1 ms计数脉冲.同步于PPM12信号的上升沿。CMP的输出值由函数IRIG_B根据输入参数决定,若为0,则输出“0000000011”,对应2 ms;若为1则输出“0000011111”,对应5ms。在索引脉冲和参考点Pr处,CMP取值“0011111111”,对应8 ms。而最终的编码输出IRIG_B_0UT在每个1 ms脉冲的上升沿,根据CMP(MML)的值决定为高或为低。
4.2 IRIG-B AC编码模块
4.2.1 数字调制原理
    按照奈奎斯特抽样定理,只要抽样频率高于2倍信号的最高频率,则整个连续信号就能完全用它的抽样值来代表。使用抽样值构成的序列经DAC和低通滤波后即可恢复原来的连续信号。
    若对频率为f的正弦波抽样N次(N>2f),并在T=1/f内通过DAC等间隔输出N次抽样值,则低通滤波后可恢复原始正弦信号。各个采样点值为:
4.2.2 正弦查找表
    这里给出利用查找表实现交流数字调制的方法。在获得IRIG-B的直流编码后,将该信号导入到数字调制模块,即可获得交流编码。对正弦信号进行100次等间隔抽样,对式(2)使用实际的增益和直流偏移,可得式(3)。据此获得查找表。

式中:N=100为采样率;k=O,1,2,…,N-1;Ck对应第k次抽样获得的值;A0为保证输出信号为单极性而设置的初始直流偏移;Ac为考虑调制比和DAC满幅度码值的系数。
    由于交流信号频率为1 kHz,周期为T=1 ms,若在1 ms内将上述抽样值等间隔输出到DAC,即可获得1 kHz的调制信号。
    本文使用MAX5712和单电源rail-rail运放AD8601构成滤波器。在MAX5712满幅输出时,C=4 095(12 bit DAC),选择调制比为1∶5。综合考虑,在最大输出时,不能使DAC输出到达运放的上轨,最低输出时,DAC输出应高于运放的下轨,所以选取A0=C/2+200=2 248。对应逻辑0,Ac=461;对应逻辑1,Ac=1 844。根据上述原则计算出的正弦查找表如表1所示。


    实际使用时,应根据使用DAC的解析度、运放的动态范围以及采样率及调制比确定上式中的参数。
4.2.3 DAC接口
    实际使用时应根据DAC的不同,在FPGA中构建不同的数字接口。MAX5712需要在FPGA实现一个SPI接口,结构如图4所示。接口控制部分提供一个16 b写端口,可以接收数据。在写使能wren为高时,接口上的数据写入内部并行保持寄存器。在LDAC脉冲的上升沿,并行寄存器THR的内容写入移位寄存器,同时启动时钟逻辑。在输出时钟作用下,数据从Dout输出到DAC,在SPI_CS的后沿,DAC启动转换输出与当前编码相匹配的模拟量。

上一页  [1] [2] [3] [4] [5]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:214,644.50000 毫秒