基于FPGA和光纖傳輸的高速數字信號傳輸
在電子設計領(lǐng)域中,通常要對多路寬帶信號進(jìn)行實(shí)時(shí)采集、處理和傳輸。傳統的信號采集傳輸系統,采用專(zhuān)用集成電路控制A/D轉換器等外圍電路。由于專(zhuān)用集成電路時(shí)鐘頻率低、靈活性差、實(shí)時(shí)性低、傳輸速度慢、通用性差等缺點(diǎn),難以滿(mǎn)足對高速寬帶信號采集和處理的要求。FPGA具有時(shí)鐘頻率高、速度快、采集實(shí)時(shí)性高、控制靈活等特點(diǎn),與A/D轉換器等外圍電路結合,更適于高速數字信號處理。光纖傳輸與電氣傳輸相比,具有傳輸頻帶寬、通信容量大、傳輸損耗低、抗電磁干擾性能強、抗輻射能力強、保密性好、重量輕等特點(diǎn),在通信領(lǐng)域被廣泛應用。
文中提出基于FPGA和光纖傳輸的高速數字信號傳輸方案。以帶有收發(fā)器的高性能FPGA為控制核心,控制外圍A/D轉換器和數據處理,通過(guò)光纖媒介進(jìn)行數據傳輸,滿(mǎn)足高速數字信號實(shí)時(shí)處理和傳輸的要求。
1 系統總體設計方案
光纖傳輸系統是以光波為信息載體、光纖為傳輸媒介,用光來(lái)傳輸信息的傳輸系統。光纖傳輸系統總體框圖如圖1所示,發(fā)送端主要由A/D采集、FPGA數據預處理、光纖發(fā)送模塊組成;接收端主要由光纖接收模塊、FPGA數據后處理、D/A轉換模塊組成。兩者通過(guò)光纖進(jìn)行通訊。
在發(fā)送端,先將外部輸入的模擬信號進(jìn)行預處理,再通過(guò)A/D轉換器轉化為數字信號送入FPGA進(jìn)行處理。根據數據傳輸以及通信協(xié)議的要求,FPGA將預處理后的A/D數據進(jìn)行編碼、成幀。然后由FPGA內部的IP核進(jìn)行并串轉換,最后由光收發(fā)模塊完成電光轉換后,通過(guò)光纖發(fā)送出去。
在接收端,光收發(fā)器模塊將接收到的光信號轉化為電信號,完成高速串行數據到并行數據的轉換;然后,將轉換后的并行數據送入FPG A,FPGA完成信號的解幀、解碼,并進(jìn)行后處理,該過(guò)程是發(fā)送端的逆過(guò)程。最后,經(jīng)D/A轉換器將接收到的數據恢復成模擬信號。
2 硬件電路設計
2.1 發(fā)送端硬件電路設計
可編程邏輯器件FPGA是主控芯片,是系統的核心,設計選用Altera公司帶有收發(fā)器的Arria GX系列芯片EP1AGX50CF48416。芯片內部集成了4個(gè)收發(fā)器通道,傳輸數據率從600 Mbit·s-1到3.152Gbit·s-1,收發(fā)器每通道在2.5 Gbit·s-1時(shí)消耗功率僅為125 mW;收發(fā)器可利用固定均衡設置來(lái)均衡串行通道,實(shí)現發(fā)送預加重和接收均衡;收發(fā)器支持串行環(huán)回、反向串行環(huán)回以及偽隨機二進(jìn)制序列(PRBS)產(chǎn)生器和校驗器。專(zhuān)用收發(fā)器接口電路如圖2所示。RREFB14接一個(gè)2kΩ/1%的參考電阻,其他未使用的收發(fā)管腳通過(guò)10kΩ電阻到電源或地。
光收發(fā)模塊選用MXP-243S-X型光收發(fā)器,其可處理的數據率為1.25 Gbit·s-1,單電源3.3 V供電,差分LVPECL電平輸入和輸出,發(fā)射和接收部分相互獨立。發(fā)射部分差分輸入阻抗100 Ω,傳輸光信號波長(cháng)1310nm。光發(fā)射器電路圖如圖3所示。發(fā)射的差分數據接到FPGA的專(zhuān)用收發(fā)器的發(fā)射管腳G4和G5上,控制引腳直接接到普通L/O管腳,并通過(guò)上拉電阻接到電源。
2.2 接收端電路設計
接收端FPGA也選用Altera公司的Arria GX系列芯片EP1AGX20CF48416。光收發(fā)模塊仍選用MXP-243S-X型光收發(fā)器。電路連接只需將圖3中的RD+、RD-端口直接接到光收發(fā)器TLK1501。
為了與下級系統匹配,設計串行收發(fā)器選用TI公司的TLK1501,支持最高1.2 Gbit·s-1的數據帶寬。其內部集成有8 B/10 B編碼器、并串轉換器、差分輸入輸出接口、8 B/10 B解碼器、串并轉換器、時(shí)鐘管理模塊等。內部有自檢環(huán)路,可方便地進(jìn)行自檢,并集成信號丟失檢測,支持熱拔插,其電路如圖4所示。
R201,R202,R204,R205為50Ω匹配電阻,R203為參考電阻200Ω,R206和R207提供終端匹配所需要的偏置電壓。
3 軟件設計
設計采用自頂向下的模塊化設計方法,用Verilog硬件語(yǔ)言編程,實(shí)現FPGA對光纖接口處芯片、A/D和 D/A轉換器等外圍電路的控制。
3.1 發(fā)送端FPGA程序設計
發(fā)送端FPGA邏輯設計主要包括采樣存儲邏輯、校驗、成幀及編碼邏輯和光發(fā)送器接口邏輯。
3.1.1 采樣存儲邏輯
采樣存儲邏輯完成數據的采集以及實(shí)時(shí)存儲。其邏輯形式及原理框圖如圖5所示。
AT84AS001是ADC芯片。輸入的差分數據直接接到FPGA的專(zhuān)用差分引腳。采集存儲控制邏輯包括LVDS接收以及數據重組等模塊,通過(guò)LVDS接收器將雙沿時(shí)鐘變?yōu)閱窝?,數據重組模塊進(jìn)行數據重新排序,還原原始數據流。最后在FIFO中進(jìn)行緩存。
3.1.2 校驗、成幀及編碼邏輯
校驗、成幀及編碼邏輯完成數據格式轉換,將處理后的數據進(jìn)行CRC編碼、成幀、8B/10B編碼和并串轉換。算法流程如圖6所示。
3.1.3 光發(fā)送器接口邏輯
光發(fā)送器接口邏輯完成幀數據到高速串行數據流的轉換。直接利用FPGA內部的專(zhuān)用收發(fā)器,其結構如圖7所示。
幀數據首先南發(fā)射相位補償FIFO模塊進(jìn)行相位補償,抵消時(shí)鐘相位差,然后通過(guò)字節串行器將數據轉換為8位,接著(zhù)進(jìn)行8B/10B編碼,并由串行器轉換為高速數據流,由專(zhuān)用差分輸出口輸出。
3.2 接收端FPGA程序設計
發(fā)送端FPGA邏輯設計主要包括光接收器接口邏輯和解碼、解幀及校驗邏輯。
3.2.1 光接收器接口邏輯
TLK1501有一個(gè)狀態(tài)機,負責監測不同的工作狀態(tài),即同步捕獲模式、同步模式和誤碼檢測模式。上電或復位后,狀態(tài)機進(jìn)入同步捕獲模式,當接收到3個(gè)連續的IDLE碼或載波擴展碼或1個(gè)有效數據或錯誤延時(shí),即進(jìn)入同步模式。在同步模式下進(jìn)行數據的正常接收與發(fā)送。在這個(gè)模式下,TLK1501接收到一個(gè)無(wú)效代碼,狀態(tài)機立即進(jìn)入誤碼檢測模式。檢測模式收到4個(gè)連續無(wú)效代碼時(shí),TLK1501立即重新進(jìn)入捕獲模式。TLK1501同步狀態(tài)機如圖8所示。
光接收器接口邏輯完成高速串行數據流到低速并行數據的轉換。使用串行收發(fā)器TLK1501,其結構框圖如圖9所示。
由專(zhuān)用差分端口輸入的高速數據經(jīng)時(shí)鐘恢復單元進(jìn)行時(shí)鐘恢復,串并轉換后進(jìn)行10B/8B解碼,最后傳給FPGA進(jìn)行解幀操作。
3.2.2 解碼、解幀及校驗邏輯
解碼、解幀及校驗邏輯完成數據格式轉換,將接收到的數據進(jìn)行10B/8B解碼、解幀和CRC校驗,獲得有效數據。算法流程如圖10所示。
4 實(shí)驗仿真及波形
圖11是TLK1501穩定傳輸數據效果。由圖可以看出,TLK1501實(shí)現了實(shí)時(shí)穩定傳輸數據。
圖12是數據收發(fā)誤碼測試的仿真波形圖。data_all是到當前時(shí)鐘為止已測試的數據總量,data_err是到當前時(shí)鐘為止傳輸錯誤的數據總量,可以看出,在傳輸了百億個(gè)數據后,誤碼仍為零。
5 結束語(yǔ)
研究設計了一種基于FPGA和光纖通訊的高速數字信號傳輸方案。實(shí)驗結果表明,該方案實(shí)現了高速數字信號的實(shí)時(shí)傳輸,具有信號傳輸誤碼率低、系統工作性能穩定、抗干擾性強的優(yōu)點(diǎn),由于實(shí)際需要,系統在接收端采用TLK1501,這就限制了光纖傳輸的速率,若采用FPGA內部的光纖收發(fā)模塊,則可進(jìn)一步提高傳輸速率。
評論