FPGA與GPS_OEM板的UART設計
引言
本文引用地址:http://www.104case.com/article/123978.htmUART(標準異步接收器/發射器)得到了相當廣泛的應用,它允許串行鏈路上進行全雙工通信。一般使用通用的UART接口芯片,但這種芯片存在電路復雜、成本高,降低了系統的可靠性和穩定度,由于結構和功能的相對固定,因而我們不能根據自己的設計需要去進行剪裁和移植。而日益成熟的SOPC(Silicon on Programmable Chip,系統可編程芯片)技術要求將整個設計功能集成到一塊或幾塊芯片中,本文通過對UART功能的分析,提出了在FPGA上集成UART功能模塊,增強了設計的靈活性,簡化了電路,并通過有限狀態機來描述核心功能控制邏輯,從而提高了整個系統的穩定性和可靠度?;谶@種思想,本文提出了一種使用VHDL[1]語言開發UART核心功能的方法,將UART模塊嵌入到FPGA芯片,實現了FPGA與GPS_OEM板之間的數據通信,為FPGA采集并處理GPS_OEM板數據提供基礎。UART所有功能的實現全部采用VHDL硬件描述語言來進行描述。設計、綜合、仿真在QUARTUS II9.0軟件開發環境下實現。
系統設計
由于FPGA接口采用TTL電平,而OEM[2]板的串行通信采用RS-232標準電平,故需電平轉換,電平轉換接口可以通過MAX202[3]片來實現。GPS25LP[4]兩個串行口,其端口1可用來輸入差分修正信息和輸出衛星的原始測量信息,而端口2則用來輸入設定語句和輸出定位語句,因此,只需將FPGA接口與GPS25LP串行口2對應連接即可。其接口電路如圖1所示。FPGA的全局時鐘Global_clk由24 MHz的晶振產生。

UART電路由波特率發生器、發送模塊和接收模塊3部分組成。UART的RTL(寄存器傳輸級)模塊組合電路如圖2。波特率發生器為發送模塊和接收模塊提供時鐘信號,以實現數據的異步可靠傳輸。

假定本方案設計的UART數據格式為:數據位為8位、波特率可選、不設奇偶校驗位、1位停止位,異步通信的過程如下:GPS_OEM板產生發送串行數據,由MAX202的TXD端輸入,經過MAX202進行電平轉換由FPGA串口接收模塊的RXD端進入,進行串并轉換得到8位位寬數據總線,該數據由FPGA的其他模塊進行處理;FPGA產生發送的8位并行數據,數據由8位數據線進入FPGA串口發送模塊,進行并串轉換后由TXD輸出到MAX202的,經過MAX202電平轉換發送至GPS_OEM板。
fpga相關文章:fpga是什么
晶振相關文章:晶振原理
評論