新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA實(shí)現(xiàn)異步串行通信

基于FPGA實(shí)現(xiàn)異步串行通信

作者: 時(shí)間:2013-10-23 來(lái)源:網(wǎng)絡(luò) 收藏

摘要:為了適應(yīng)全數(shù)字化自動(dòng)控制更加廣泛的應(yīng)用,采用現(xiàn)場(chǎng)可編程門陣列()對(duì)控制器(UART)進(jìn)行多模塊的系統(tǒng)設(shè)計(jì)的方法,使串口的集成度更高。對(duì)UART系統(tǒng)結(jié)構(gòu)進(jìn)行了模塊化分解,可分為三個(gè)模塊:波特率發(fā)生器控制模塊、數(shù)據(jù)發(fā)送模塊及數(shù)據(jù)接收模塊。采用Venlog語(yǔ)言描述硬件功能,利用Xilinx公司的FPGA芯片,在Xilinx ISE Design Suite 13. 4環(huán)境下進(jìn)行設(shè)計(jì)、編譯、綜合、下載。采用第三方仿真工具M(jìn)odelSim進(jìn)行模擬仿真。
關(guān)鍵字:FPGA;UART;多模塊;Verilog;Xilinx ISE

(UART)是一種廣泛應(yīng)用的數(shù)據(jù)傳輸協(xié)議,UART的要求是傳輸線少,可靠性高而且傳輸距離遠(yuǎn)。UART功能負(fù)責(zé)從總線采集數(shù)據(jù),轉(zhuǎn)換成傳輸格式,然后發(fā)送到串口。也負(fù)責(zé)從串口接收數(shù)據(jù),檢查和刪除附加的位,并傳送結(jié)果數(shù)據(jù)給總線。串行通信廣泛的應(yīng)用于軍事、工業(yè)、自動(dòng)控制、儀器、通信、醫(yī)藥、話音圖像處理等眾多領(lǐng)域。現(xiàn)實(shí)應(yīng)用中多采用專用集成芯片UART功能,如8250、825 0A、16450、16C451、16C551等。但在實(shí)際應(yīng)用中,一般只需要UART的幾個(gè)主要功能,專用芯片成本比較大且造成資源的浪費(fèi)。近年來(lái)隨著電子設(shè)計(jì)技術(shù)的日趨成熟,特別是FPGA在集成度和速度上的大幅提高,可以用一個(gè)芯片構(gòu)成一個(gè)復(fù)雜的系統(tǒng)。一個(gè)芯片就能完成處理計(jì)算、通信、控制等多功能,而且成本大幅度降低。根據(jù)以上考慮,本文采用FPGAUART功能。

1 UART通信原理
串行通信分為兩種類型:同步通信方式和異步通信方式。UART即通用異步串行通信收發(fā)器。UART的一幀數(shù)據(jù)由起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位組成。數(shù)據(jù)在傳輸過程中是通過一個(gè)字符接一個(gè)字符進(jìn)行傳輸來(lái)通信的。每一幀的信息在傳送前傳輸線處于高電平狀態(tài)。在傳送一個(gè)字符信息的時(shí)候,每一個(gè)字符的接收是靠起始位來(lái)同步的,字符的前面是一位起始位,首先發(fā)送起始位為低電平,一般用下降沿通知收方傳輸開始,然后發(fā)送起始位之后的數(shù)據(jù)位,數(shù)據(jù)位的傳送先低位后高位,字符本身由5~8位數(shù)據(jù)位組成。

本文引用地址:http://www.butianyuan.cn/article/189494.htm

a.JPG


數(shù)據(jù)位后面是奇偶校驗(yàn)位,奇偶校驗(yàn)位后的是停止位,標(biāo)志著一幀字符結(jié)束。停止位后為高電平,為空閑位,并為下一個(gè)字符的開始傳送做準(zhǔn)備。在發(fā)送、接收數(shù)據(jù)時(shí),數(shù)據(jù)的幀與幀之間如果有間隙,就要在停止位之后附加空閑位,停止位后面是不定長(zhǎng)度的空閑位。停止位和空閑位都規(guī)定高電平,這樣可以保證起始位開始處有一個(gè)下降沿。如圖1所示。
1. 1 系統(tǒng)設(shè)計(jì)與硬件實(shí)現(xiàn)
異步通信允許在串行鏈路上進(jìn)行全雙工的通信。本文把異步通信電路作為一個(gè)整體來(lái)實(shí)現(xiàn),數(shù)據(jù)接收經(jīng)過MAX232進(jìn)行電平轉(zhuǎn)換后經(jīng)FPGA串口模塊的RXD端輸入,由FPGA進(jìn)行串/并轉(zhuǎn)換后,8位有效數(shù)據(jù)進(jìn)入總線,再進(jìn)入處理芯片。數(shù)據(jù)發(fā)送經(jīng)數(shù)據(jù)處理后經(jīng)由總線進(jìn)入FPGA串口模塊,8位有效數(shù)據(jù)在FPGA中進(jìn)行并行轉(zhuǎn)換為串行數(shù)據(jù)后由TXD端輸出到MAX232的12管腳,在MAX232種經(jīng)過電平轉(zhuǎn)換后由TXD端輸出,系統(tǒng)基本結(jié)構(gòu)框圖如圖2所示。

b.JPG


幀格式采用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ù)字濾波器原理

上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉