基于FPGA實現(xiàn)異步串行通信
摘要:為了適應(yīng)全數(shù)字化自動控制更加廣泛的應(yīng)用,采用現(xiàn)場可編程門陣列(FPGA)對異步串行通信控制器(UART)進行多模塊的系統(tǒng)設(shè)計的方法,使串口通信的集成度更高。對UART系統(tǒng)結(jié)構(gòu)進行了模塊化分解,可分為三個模塊:FPGA波特率發(fā)生器控制模塊、FPGA數(shù)據(jù)發(fā)送模塊及數(shù)據(jù)接收模塊。采用Venlog語言描述硬件功能,利用Xilinx公司的FPGA芯片,在Xilinx ISE Design Suite 13. 4環(huán)境下進行設(shè)計、編譯、綜合、下載。采用第三方仿真工具ModelSim進行模擬仿真。
關(guān)鍵字:FPGA;UART;多模塊;Verilog;Xilinx ISE
異步串行通信(UART)是一種廣泛應(yīng)用的串行數(shù)據(jù)傳輸協(xié)議,UART的要求是傳輸線少,可靠性高而且傳輸距離遠。UART功能負責(zé)從總線采集數(shù)據(jù),轉(zhuǎn)換成傳輸格式,然后發(fā)送到串口。也負責(zé)從串口接收數(shù)據(jù),檢查和刪除附加的位,并傳送結(jié)果數(shù)據(jù)給總線。異步串行通信廣泛的應(yīng)用于軍事、工業(yè)、自動控制、儀器、通信、醫(yī)藥、話音圖像處理等眾多領(lǐng)域。現(xiàn)實應(yīng)用中多采用專用集成芯片實現(xiàn)UART功能,如8250、825 0A、16450、16C451、16C551等。但在實際應(yīng)用中,一般只需要UART的幾個主要功能,專用芯片成本比較大且造成資源的浪費。近年來隨著電子設(shè)計技術(shù)的日趨成熟,特別是FPGA在集成度和速度上的大幅提高,可以用一個芯片構(gòu)成一個復(fù)雜的系統(tǒng)。一個芯片就能完成處理計算、通信、控制等多功能,而且成本大幅度降低。根據(jù)以上考慮,本文采用FPGA實現(xiàn)UART功能。
1 UART通信原理
串行通信分為兩種類型:同步通信方式和異步通信方式。UART即通用異步串行通信收發(fā)器。UART的一幀數(shù)據(jù)由起始位、數(shù)據(jù)位、奇偶校驗位和停止位組成。數(shù)據(jù)在傳輸過程中是通過一個字符接一個字符進行傳輸來實現(xiàn)通信的。每一幀的信息在傳送前傳輸線處于高電平狀態(tài)。在傳送一個字符信息的時候,每一個字符的接收是靠起始位來同步的,字符的前面是一位起始位,首先發(fā)送起始位為低電平,一般用下降沿通知收方傳輸開始,然后發(fā)送起始位之后的數(shù)據(jù)位,數(shù)據(jù)位的傳送先低位后高位,字符本身由5~8位數(shù)據(jù)位組成。
數(shù)據(jù)位后面是奇偶校驗位,奇偶校驗位后的是停止位,標志著一幀字符結(jié)束。停止位后為高電平,為空閑位,并為下一個字符的開始傳送做準備。在發(fā)送、接收數(shù)據(jù)時,數(shù)據(jù)的幀與幀之間如果有間隙,就要在停止位之后附加空閑位,停止位后面是不定長度的空閑位。停止位和空閑位都規(guī)定高電平,這樣可以保證起始位開始處有一個下降沿。如圖1所示。
1. 1 系統(tǒng)設(shè)計與硬件實現(xiàn)
異步通信允許在串行鏈路上進行全雙工的通信。本文把異步通信電路作為一個整體來實現(xiàn),數(shù)據(jù)接收經(jīng)過MAX232進行電平轉(zhuǎn)換后經(jīng)FPGA串口模塊的RXD端輸入,由FPGA進行串/并轉(zhuǎn)換后,8位有效數(shù)據(jù)進入總線,再進入處理芯片。數(shù)據(jù)發(fā)送經(jīng)數(shù)據(jù)處理后經(jīng)由總線進入FPGA串口模塊,8位有效數(shù)據(jù)在FPGA中進行并行轉(zhuǎn)換為串行數(shù)據(jù)后由TXD端輸出到MAX232的12管腳,在MAX232種經(jīng)過電平轉(zhuǎn)換后由TXD端輸出,系統(tǒng)基本結(jié)構(gòu)框圖如圖2所示。
幀格式采用1位開始位,8位數(shù)據(jù)位,1位停止位,波特率為115 200,根據(jù)采用的幀格式,需要發(fā)送的數(shù)據(jù)為10位(1位開始位、8位數(shù)據(jù)位、1位停止位),在發(fā)送完這10位后,就應(yīng)該停止發(fā)送,并使發(fā)送端電平處于邏輯1,然后等候下次的發(fā)送。
fpga相關(guān)文章:fpga是什么
通信相關(guān)文章:通信原理
數(shù)字濾波器相關(guān)文章:數(shù)字濾波器原理
評論