基于FPGA處理器的數字光端機系統簡(jiǎn)介
接收端A/D轉換電路主要完成對數字化后的視頻信號的模擬變換,還原出標準的視頻信號。此處選用的DAC為ADI公司的高速AD9708。
AD9708采用+3V或+5V單電源供電,兩路電流輸出,轉換速率高達125MHz,建立時(shí)間不大于35ns,轉換精度為1/4 LSB。在+5V電源供電的情況下,其功耗為175mW;在+3V電源供電的情況下,其功耗為45mW。
為了特殊的需要,AD9708還兼容8位、10位和12位并行數據輸入。當AD9708被設置成8位數據輸入時(shí),只要把管腳1設為最高輸入有效數據位(MSB),管腳8設為最低輸入有效數據位(LSB)即可。引腳1(DB13):最高輸入有效數據位;引腳2~13(DB12~DB1):數據輸入端;引腳14(DB0):最低輸入有效。
4 并串/串并模塊
低壓差分信號是由ANSI/TIA/EIA-644-1995定義的用于高速數據傳輸的物理層接口標準(LVDS)。它具有超高速(速率可達1.4Gb/s)、超低功耗和低電磁輻射等特性,因而是在銅介質(zhì)上實(shí)現千兆位速率通信的優(yōu)選方案。而總線(xiàn)形低壓差分信號LVDS是LVDS技術(shù)在多點(diǎn)通信領(lǐng)域的擴展,它要求有更大的驅動(dòng)電流(10mA)和更好的阻抗匹配設計。
SN65LV1023和SN65LV1224是TI公司推出的10位總線(xiàn)型低壓差分信號的應用芯片組。其中SN65LV1023是可將10位并行CMOS或TTL數據轉換為具有內嵌時(shí)鐘的高速串行差分數據流的串化器;而SN65LV1224則是接收該差分數據流并將它們轉換為并行數據的解串器,它同時(shí)又可以重建并行時(shí)鐘。采用該器件組進(jìn)行數據串化時(shí)采用的是內嵌時(shí)鐘,這樣可有效地解決由于時(shí)鐘與數據的不嚴格同步而制約高速傳輸的瓶頸問(wèn)題。此處的硬件電路設計如圖4所示。

圖4 并串轉化硬件示意圖
系統軟件設計
系統軟件主要是對系統控制核心的FPGA的編程。整個(gè)程序基于模塊化、結構化的軟件開(kāi)發(fā)思想編寫(xiě)。所用的開(kāi)發(fā)工具是Altera公司出品的FPGA集成開(kāi)發(fā)環(huán)境QuartusII,開(kāi)發(fā)語(yǔ)言采用當今比較流行的大規模集成電路Verilog開(kāi)發(fā)語(yǔ)言。
系統軟件功能實(shí)現了A/D控制模塊、語(yǔ)音編碼控制模塊、并串轉換控制模塊、串并轉換控制模塊、D/A控制模塊、語(yǔ)音解碼控制模塊和反向數據的收發(fā)控制模塊。
1 A/D控制模塊
A/D控制模塊以FPGA為主控核心,為AD9280提供采樣時(shí)鐘;同時(shí)采集AD9280A/D轉換后的數字量。
FPGA系統時(shí)鐘頻率為32MHz,對于A(yíng)D9280的采樣時(shí)鐘為16MHz,對系統時(shí)鐘進(jìn)行二分頻后提供給AD9280。同時(shí),在分頻后的輸出時(shí)鐘的上升沿對A/D轉換的結果進(jìn)行讀取,讀取的結果存入FPGA中進(jìn)行下一步應用。程序如下所示。
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系統輸入時(shí)鐘;clk_out為分頻后提供給ADC的采樣時(shí)鐘;reset為復位端,高電平復位;ad_data是A/D轉換后得到的數字量;data_reg
用來(lái)存儲A/D轉換后的數字量。
評論