基于FPGA的異步串行總線設計
摘要:高速異步串行總線在現代通信設備中應用越來越廣,文中介紹了一種基于FPGA的高速異步串行總線設計,詳細描述了硬件設計和總線協議的實現方法。在現代通信系統的應用中有較高的實用價值。
關鍵詞:異步串口;FPGA器件;Verilog HDL
隨著近代通信技術的迅猛發展,對總線傳輸速率的要求也越來越高。傳統的并行總線在發展到一定速率后很難再有所突破,并且在實際應用中還存在著大量的弊端,比如:成本相對較高、抗電磁干擾能力低下、模塊間的總線互聯繁瑣等等。這些都給串行總線的發展和應用提供了客觀動力。串行總線按傳輸模式可分為同步串行總線和異步串行總線兩類;同步串行總線存傳輸過程中需要攜帶同步時鐘信號,因此在傳輸距離較長或傳輸速率較高時會出現由于時鐘衰落而引起的誤碼現象,制約了串行總線的傳輸速率和作用距離。而異步串行總線恰恰規避了這些缺點。因此異步串行總線被大量的應用于高速串行通信系統中。異步串行總線的按實現方式大致可分為兩種,一種是采用專用串行總線接口芯片實現,實現方便簡單,但二次開發性差,不利于系統升級維護;另一種是基于FPGA等可編程邏輯芯片實現。后者設計靈活,二次開發型良好,參數配置便捷,利于系統升級維護。本文將詳細描述一種基于FPGA芯片硬件設計,采用Verilog HDL硬件描述語言實現傳輸協議的高速異步串行總線設計。
1 硬件設計方案
本設計通過高速異步串行總線和上位機進行通信,通過解析消息內容完成對下位機的實時控制與監測,并且將監測數據及時準確的回傳至上位機本系統要求具備較高的實時控制性能,下位機響應上位機指令要求時間在3us以內,模塊間通信穩定可靠、級聯簡潔,系統性能升級方便等。通過對系統要求研究分析,采用高速異步串行總線實現模塊間通信比較符合要求。系統框圖如圖1所示。
高速異步串行總線碗件設計采用了以FPGA芯片為主,配以接口、時鐘、電源變換等外圍電路的設計思路。選用ALTERA公司的Cvclone系列FPGA作為核心器件。此芯片內部有豐富的邏輯資源和存儲資源,有豐富的時鐘網絡和鎖相環單元和I/O引腳,能夠滿足異步串行協議實現的硬件需求多種電壓單獨使用,有效降低芯片功耗。為了提高FPGA工作穩定性和可靠性在硬件設計時專門在其外圍配置了電源監測電路和復位電路,對FPGA的各種工作電壓和電流進行監測,當任意一路電壓值發生突變時,電源監測電路都會給出命令,立刻關掉其它電源,或者將FPGA的供電端短路至地端,使FPGA進入斷電狀態,確保芯片不會被損壞。當電壓值恢復正常時,電源監測電路將打開供電電路使FPGA再次進入工作狀態,通過復位信號啟動FPGA的程序從起始狀態開始工作,確保FPGA芯片的物理安全和運行安全,從而有效提高系統的可靠性。設計中還采用了LVDS(Low Voltage Differential Signaling)收發芯片來提高串行總線的驅動能力。單端串行總線從FPGA輸出后經LVDS收發器轉化為差分信號線對輸出至模塊端口,與其它模塊進行物理連接。串行總線采用差分線的連接方式能夠更有效的抵抗傳輸中的共模噪聲,降低傳輸誤碼率,大幅提高通信質量。詳細的設計框圖如圖2所示。
評論