基于FPGA的數(shù)字式光端機(jī)的研究與設(shè)計(jì)
4 并串/串并模塊
本文引用地址:http://www.ex-cimer.com/article/83485.htm低壓差分信號(hào)是由ANSI/TIA/EIA-644-1995定義的用于高速數(shù)據(jù)傳輸?shù)奈锢韺咏涌跇?biāo)準(zhǔn)(LVDS)。它具有超高速(速率可達(dá)1.4Gb/s)、超低功耗和低電磁輻射等特性,因而是在銅介質(zhì)上實(shí)現(xiàn)千兆位速率通信的優(yōu)選方案。而總線形低壓差分信號(hào)LVDS是LVDS技術(shù)在多點(diǎn)通信領(lǐng)域的擴(kuò)展,它要求有更大的驅(qū)動(dòng)電流(10mA)和更好的阻抗匹配設(shè)計(jì)。
SN65LV1023和SN65LV1224是TI公司推出的10位總線型低壓差分信號(hào)的應(yīng)用芯片組。其中SN65LV1023是可將10位并行CMOS或TTL數(shù)據(jù)轉(zhuǎn)換為具有內(nèi)嵌時(shí)鐘的高速串行差分?jǐn)?shù)據(jù)流的串化器;而SN65LV1224則是接收該差分?jǐn)?shù)據(jù)流并將它們轉(zhuǎn)換為并行數(shù)據(jù)的解串器,它同時(shí)又可以重建并行時(shí)鐘。采用該器件組進(jìn)行數(shù)據(jù)串化時(shí)采用的是內(nèi)嵌時(shí)鐘,這樣可有效地解決由于時(shí)鐘與數(shù)據(jù)的不嚴(yán)格同步而制約高速傳輸?shù)钠款i問題。此處的硬件電路設(shè)計(jì)如圖4所示。
圖4 并串轉(zhuǎn)化硬件示意圖
系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件主要是對(duì)系統(tǒng)控制核心的FPGA的編程。整個(gè)程序基于模塊化、結(jié)構(gòu)化的軟件開發(fā)思想編寫。所用的開發(fā)工具是Altera公司出品的FPGA集成開發(fā)環(huán)境QuartusII,開發(fā)語(yǔ)言采用當(dāng)今比較流行的大規(guī)模集成電路Verilog開發(fā)語(yǔ)言。
系統(tǒng)軟件功能實(shí)現(xiàn)了A/D控制模塊、語(yǔ)音編碼控制模塊、并串轉(zhuǎn)換控制模塊、串并轉(zhuǎn)換控制模塊、D/A控制模塊、語(yǔ)音解碼控制模塊和反向數(shù)據(jù)的收發(fā)控制模塊。
1 A/D控制模塊
A/D控制模塊以FPGA為主控核心,為AD9280提供采樣時(shí)鐘;同時(shí)采集AD9280A/D轉(zhuǎn)換后的數(shù)字量。
FPGA系統(tǒng)時(shí)鐘頻率為32MHz,對(duì)于AD9280的采樣時(shí)鐘為16MHz,對(duì)系統(tǒng)時(shí)鐘進(jìn)行二分頻后提供給AD9280。同時(shí),在分頻后的輸出時(shí)鐘的上升沿對(duì)A/D轉(zhuǎn)換的結(jié)果進(jìn)行讀取,讀取的結(jié)果存入FPGA中進(jìn)行下一步應(yīng)用。程序如下所示。
module PcmControl(clk_in,reset,tdd,tdc,tde,pcm_data);
……
always@(posedge clk_in)
begin
if(reset)
begintdc<=0; end
elsebegin
if(cnt0==7)
begin
tdc<=~tdc;
cnt0<=0;
end
else
cnt0<=cnt0+1;
end
end
always@(posedge tdc)
begin
if(cnt1==140)
begin
tde<=~tde;
cnt1<=0;
end
else
cnt1<=cnt1+1;
end
always@(posedge tdc)
begin
pcm_data<=tdd;
end
endmodule
其中,clk_in是FPGA系統(tǒng)時(shí)鐘,reset為系統(tǒng)復(fù)位信號(hào)。信號(hào)tdd是PCM編碼芯片的輸出;信號(hào)pcm_data用來存放PCM編碼數(shù)據(jù);信號(hào)tdc是PCM編碼時(shí)鐘信號(hào);信號(hào)tde是PCM編碼使能時(shí)鐘。
fpga相關(guān)文章:fpga是什么
評(píng)論