新聞中心

EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的IRIG-B編碼器的設計

基于FPGA的IRIG-B編碼器的設計

作者: 時間:2012-08-27 來源:網絡 收藏

4.2 AC編碼模塊

4.2.1 數字調制原理

按照奈奎斯特抽樣定理,只要抽樣頻率高于2倍信號的最高頻率,則整個連續(xù)信號就能完全用它的抽樣值來代表。使用抽樣值構成的序列經DAC和低通濾波后即可恢復原來的連續(xù)信號。

若對頻率為f的正弦波抽樣N次(N>2f),并在T=1/f內通過DAC等間隔輸出N次抽樣值,則低通濾波后可恢復原始正弦信號。各個采樣點值為:

Ck=Asin(ωkt)=Asin[ωk(T/N)] (1)

式中:ω=2πf;f為信號頻率。則式(1)變?yōu)椋?p>Ck=Asin[2πfk(T/N)]=Asin(2kπ/N) (2)

4.2.2 正弦查找表

這里給出利用查找表實現交流數字調制的方法。在獲得的直流編碼后,將該信號導入到數字調制模塊,即可獲得交流編碼。對正弦信號進行100次等間隔抽樣,對式(2)使用實際的增益和直流偏移,可得式(3)。據此獲得查找表。

Ck=Acsin(2πk/N)+A0 (3)

式中:N=100為采樣率;k=0,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的解析度、運放的動態(tài)范圍以及采樣率及調制比確定上式中的參數。

4.2.3 DAC接口

實際使用時應根據DAC的不同,在中構建不同的數字接口。MAX5712需要在實現一個SPI接口,結構如圖4所示。接口控制部分提供一個16 b寫端口,可以接收數據。在寫使能wren為高時,接口上的數據寫入內部并行保持寄存器。在LDAC脈沖的上升沿,并行寄存器THR的內容寫入移位寄存器,同時啟動時鐘邏輯。在輸出時鐘作用下,數據從Dout輸出到DAC,在SPI_CS的后沿,DAC啟動轉換輸出與當前編碼相匹配的模擬量。

4.2.4 交流調制方法

把按照第4.2.1節(jié)方法生成的正弦查找表生成Altera mif文件,再例化一個M4K ROM,使用上述文件作為ROM的初始化文件。建立一個周期為10μs的定時器和一個地址計數器。地址計數器和定時器在B碼直流信號的變化沿復位,定時器溢出后啟動地址計數器?;蛘甙堰壿?對應的查找表放在ROM的上半部,如果把邏輯1對應的查找表放在ROM的下半部,且輸入的直流B碼信號作為地址的高位,則此時刻對應的ROM輸出即為DAC的調制輸出,ROM查找表VHDL的代碼實現如下:

其中:B為來自的直流編碼;AQC為地址計數器;ddata為輸出到DAC的數字調制輸出。由于查找表是按照對正弦信號做100次等間隔采樣形成的,交流載波為1 kHz。所以AQC每隔10μs自加1,順序輸出100個編碼值,在B碼的每個變化邊沿復位。

按上述方法設計的數字調制模塊,用示波器測得輸出波形如圖5所示。



關鍵詞: IRIG-B FPGA 編碼器

評論


相關推薦

技術專區(qū)

關閉