新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA處理器的數(shù)字光端機(jī)系統(tǒng)

基于FPGA處理器的數(shù)字光端機(jī)系統(tǒng)

作者: 時間:2010-11-12 來源:網(wǎng)絡(luò) 收藏


接收端A/D轉(zhuǎn)換電路主要完成對化后的視頻信號的模擬變換,還原出標(biāo)準(zhǔn)的視頻信號。此處選用的DAC為ADI公司的高速AD9708。

AD9708采用+3V或+5V單電源供電,兩路電流輸出,轉(zhuǎn)換速率高達(dá)125MHz,建立時間不大于35ns,轉(zhuǎn)換精度為1/4 LSB。在+5V電源供電的情況下,其功耗為175mW;在+3V電源供電的情況下,其功耗為45mW。

為了特殊的需要,AD9708還兼容8位、10位和12位并行數(shù)據(jù)輸入。當(dāng)AD9708被設(shè)置成8位數(shù)據(jù)輸入時,只要把管腳1設(shè)為最高輸入有效數(shù)據(jù)位(MSB),管腳8設(shè)為最低輸入有效數(shù)據(jù)位(LSB)即可。引腳1(DB13):最高輸入有效數(shù)據(jù)位;引腳2~13(DB12~DB1):數(shù)據(jù)輸入端;引腳14(DB0):最低輸入有效。

4 并串/串并模塊

低壓差分信號是由ANSI/TIA/EIA-644-1995定義的用于高速數(shù)據(jù)傳輸?shù)奈锢韺咏涌跇?biāo)準(zhǔn)(LVDS)。它具有超高速(速率可達(dá)1.4Gb/s)、超低功耗和低電磁輻射等特性,因而是在銅介質(zhì)上實(shí)現(xiàn)千兆位速率通信的優(yōu)選方案。而總線形低壓差分信號LVDS是LVDS技術(shù)在多點(diǎn)通信領(lǐng)域的擴(kuò)展,它要求有更大的驅(qū)動電流(10mA)和更好的阻抗匹配設(shè)計(jì)。

SN65LV1023和SN65LV1224是TI公司推出的10位總線型低壓差分信號的應(yīng)用芯片組。其中SN65LV1023是可將10位并行CMOS或TTL數(shù)據(jù)轉(zhuǎn)換為具有內(nèi)嵌時鐘的高速串行差分?jǐn)?shù)據(jù)流的串化器;而SN65LV1224則是接收該差分?jǐn)?shù)據(jù)流并將它們轉(zhuǎn)換為并行數(shù)據(jù)的解串器,它同時又可以重建并行時鐘。采用該器件組進(jìn)行數(shù)據(jù)串化時采用的是內(nèi)嵌時鐘,這樣可有效地解決由于時鐘與數(shù)據(jù)的不嚴(yán)格同步而制約高速傳輸?shù)钠款i問題。此處的硬件電路設(shè)計(jì)如圖4所示。




圖4 并串轉(zhuǎn)化硬件示意圖

軟件設(shè)計(jì)

軟件主要是對控制核心的的編程。整個程序模塊化、結(jié)構(gòu)化的軟件開發(fā)思想編寫。所用的開發(fā)工具是Altera公司出品的集成開發(fā)環(huán)境QuartusII,開發(fā)語言采用當(dāng)今比較流行的大規(guī)模集成電路Verilog開發(fā)語言。

系統(tǒng)軟件功能實(shí)現(xiàn)了A/D控制模塊、語音編碼控制模塊、并串轉(zhuǎn)換控制模塊、串并轉(zhuǎn)換控制模塊、D/A控制模塊、語音解碼控制模塊和反向數(shù)據(jù)的收發(fā)控制模塊。

1 A/D控制模塊

A/D控制模塊以為主控核心,為AD9280提供采樣時鐘;同時采集AD9280A/D轉(zhuǎn)換后的量。

FPGA系統(tǒng)時鐘頻率為32MHz,對于AD9280的采樣時鐘為16MHz,對系統(tǒng)時鐘進(jìn)行二分頻后提供給AD9280。同時,在分頻后的輸出時鐘的上升沿對A/D轉(zhuǎn)換的結(jié)果進(jìn)行讀取,讀取的結(jié)果存入FPGA中進(jìn)行下一步應(yīng)用。程序如下所示。

module AdControl(clk_in,reset,ad_data,clk_out,data_reg);

input clk_in,reset;

input [0:7]ad_data;

output clk_out;

output [0:7]data_reg;

reg [0:7]data_reg;

reg clk_out;

always@(posedgeclk_in)

begin

if(reset)

clk_out<=0;

else

clk_out<=clk_out;

end

always@(posedgeclk_out)

begin

data_reg<=ad_data;

end

endmodule

其中,clk_in為FPGA系統(tǒng)輸入時鐘;clk_out為分頻后提供給ADC的采樣時鐘;reset為復(fù)位端,高電平復(fù)位;ad_data是A/D轉(zhuǎn)換后得到的量;data_reg

用來存儲A/D轉(zhuǎn)換后的數(shù)字量。


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉