基于FPGA的實時數(shù)字化光纖傳輸系統(tǒng)
3 軟件設計
設計采用自頂向下的模塊化設計方法,用Verilog硬件語言編程,實現(xiàn)FPGA對光纖接口處芯片、A/D和 D/A轉換器等外圍電路的控制。
3.1 發(fā)送端FPGA程序設計
發(fā)送端FPGA邏輯設計主要包括采樣存儲邏輯、校驗、成幀及編碼邏輯和光發(fā)送器接口邏輯。
3.1.1 采樣存儲邏輯
采樣存儲邏輯完成數(shù)據(jù)的采集以及實時存儲。其邏輯形式及原理框圖如圖5所示。本文引用地址:http://m.ptau.cn/article/190349.htm
AT84AS001是ADC芯片。輸入的差分數(shù)據(jù)直接接到FPGA的專用差分引腳。采集存儲控制邏輯包括LVDS接收以及數(shù)據(jù)重組等模塊,通過LVDS接收器將雙沿時鐘變?yōu)閱窝?,?shù)據(jù)重組模塊進行數(shù)據(jù)重新排序,還原原始數(shù)據(jù)流。最后在FIFO中進行緩存。
3.1.2 校驗、成幀及編碼邏輯
校驗、成幀及編碼邏輯完成數(shù)據(jù)格式轉換,將處理后的數(shù)據(jù)進行CRC編碼、成幀、8B/10B編碼和并串轉換。算法流程如圖6所示。
3.1.3 光發(fā)送器接口邏輯
光發(fā)送器接口邏輯完成幀數(shù)據(jù)到高速串行數(shù)據(jù)流的轉換。直接利用FPGA內(nèi)部的專用收發(fā)器,其結構如圖7所示。
幀數(shù)據(jù)首先南發(fā)射相位補償FIFO模塊進行相位補償,抵消時鐘相位差,然后通過字節(jié)串行器將數(shù)據(jù)轉換為8位,接著進行8B/10B編碼,并由串行器轉換為高速數(shù)據(jù)流,由專用差分輸出口輸出。
3.2 接收端FPGA程序設計
發(fā)送端FPGA邏輯設計主要包括光接收器接口邏輯和解碼、解幀及校驗邏輯。
3.2.1 光接收器接口邏輯
TLK1501有一個狀態(tài)機,負責監(jiān)測不同的工作狀態(tài),即同步捕獲模式、同步模式和誤碼檢測模式。上電或復位后,狀態(tài)機進入同步捕獲模式,當接收到3個連續(xù)的IDLE碼或載波擴展碼或1個有效數(shù)據(jù)或錯誤延時,即進入同步模式。在同步模式下進行數(shù)據(jù)的正常接收與發(fā)送。在這個模式下,TLK1501接收到一個無效代碼,狀態(tài)機立即進入誤碼檢測模式。檢測模式收到4個連續(xù)無效代碼時,TLK1501立即重新進入捕獲模式。TLK1501同步狀態(tài)機如圖8所示。
評論