異步FIFO和PLL在高速雷達數據采集系統(tǒng)中的應用
考慮到前端A/D轉換速度快,精度為8位,后端DSP的處理位數一般可做到32位,為提高系統(tǒng)實時性,采用輸入數據寬度為8位,輸出寬度為32位的雙時鐘FIFO,如圖2所示。
圖3為對FIFO仿真的結果。雙時鐘FIFO輸入為8位、輸出為32位,且FIFO兩端的讀寫時鐘頻率不同。
分析系統(tǒng)的吞吐率:由于A/D數據輸入端口的速度固定,數據按采樣頻率輸入FIFO,因此輸入數據的時間是不變的,而DSP一次訪問可取走4個有效數據,大大增加DSP讀取數據的吞吐率,提高系統(tǒng)實時處理能力。
4 基于FPGA的PLL設計
Cyclone FPGA具有鎖相環(huán)(PLL)和全局時鐘網絡,提供完整的時鐘管理方案。Cyclone PLL具有時鐘倍頻和分頻、相位偏移、可編程占空比和外部時鐘輸出,進行系統(tǒng)級的時鐘管理和偏移控制。Altera Quattus II軟件無需任何外部器件,就可啟用Cyclone PLL和相關功能。PLL常用于同步內部器件時鐘和外部時鐘,使內部工作的時鐘頻率比外部時鐘更高,時鐘延遲和時鐘偏移最小,減小或調整時鐘到輸出(TCO)和建立(TSU)時間。PLL主要部分的框架如圖4所示。
PLL模塊接收來自全局時鐘輸入引腳的時鐘信號,經鎖相環(huán)分/倍頻后作為異步FIFO的讀寫時鐘,也可以作為外部A/D轉換器采樣時鐘。Cyclone PLL中包含一個前置分頻器N和一個倍頻器M,設定范圍為1~32。輸入時鐘fin經預分頻N后得到參考時鐘fref:
通過設置后置分頻器的G0、G1和E值實現分頻和倍頻。輸出的頻率為:
式中,fc0和fc1是全局時鐘,為邏輯陣列塊(LAB)提供時鐘;fE則通過I/O單元輸出。
圖5為對PLL模塊仿真結果。外部晶振輸入高穩(wěn)定時鐘到inclk0引腳,經PLL產生2倍頻時鐘c0、3倍頻時鐘cl及經分頻的時鐘e0。
可見使用FPGA內部鎖相環(huán)能為高速雷達數據采集系統(tǒng)各部分產生時鐘源,也使作為高速緩存的雙時鐘FIF0可應用于各種時鐘域場合。
5 結論
本文在CycloneⅢFPGA中實現異步FIFO和鎖相環(huán)(PLL)結構的設計,避免復雜的時鐘管理,簡化電路設計,方便采集系統(tǒng)進行升級維護。高速緩存的設計使采集數據能的安全地實現數據跨時鐘域的傳遞,提高了數據采集系統(tǒng)的可靠性。
評論