999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的UART通信接口電路設(shè)計(jì)

2011-01-17 08:51:32
山西焦煤科技 2011年8期
關(guān)鍵詞:信號(hào)系統(tǒng)設(shè)計(jì)

張 蕾

(山西煤炭進(jìn)出口集團(tuán)有限公司,山西 太原 030006)

目前,我國的煤礦設(shè)備自動(dòng)化程度不斷提高,井下作業(yè)對(duì)信號(hào)傳輸?shù)囊笠灿厙?yán)格。本文研究的通用串行收發(fā)器(universal asynchronous receiver and transmitter,UART)可通過串行線傳輸并行數(shù)據(jù),其本質(zhì)功能是作為控制器和串行設(shè)備間的編碼轉(zhuǎn)換裝置,在基于RS232、RS485等標(biāo)準(zhǔn)協(xié)議的通信系統(tǒng)中廣泛應(yīng)用[1-3],非常適合礦井通信系統(tǒng)。常用的單片機(jī)、DSP控制器等一般都集成有專用的UART外設(shè),極大地方便了基于RS232等協(xié)議的通信系統(tǒng)設(shè)計(jì)。但這類預(yù)先固化好的系統(tǒng)也存在一定的不足,如工作模式不夠靈活,數(shù)據(jù)位數(shù)固定、通信的波特率一般限制在幾個(gè)固定的數(shù)值,可擴(kuò)展性較小。

FPGA是在傳統(tǒng)PAL、GAL等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物,其使用非常靈活,同一片F(xiàn)PGA通過不同的編程數(shù)據(jù)可以產(chǎn)生不同的電路功能[4-6]。隨著 FPGA技術(shù)的突飛猛進(jìn),其在通信系統(tǒng)、數(shù)據(jù)處理、網(wǎng)絡(luò)通信、儀器儀表、工業(yè)控制、軍事和航空航天等眾多領(lǐng)域得到越來越廣泛的應(yīng)用。

現(xiàn)有RS232標(biāo)準(zhǔn)對(duì)接口的電氣特性做了規(guī)定,但對(duì)連接的具體協(xié)議并不做詳細(xì)規(guī)定,故用戶可根據(jù)需求建立自己的高層通信協(xié)議。本文使用FPGA來設(shè)計(jì)滿足礦井通信的RS232接口電路。使用FPGA設(shè)計(jì)UART接口電路,既能自定義波特率、高層的通信協(xié)議,且具有電路功能重配置功能,完全適合煤礦環(huán)境惡劣、系統(tǒng)復(fù)雜的通信要求。本文所設(shè)計(jì)的接口電路主要包括5個(gè)子模塊:UART接收子模塊、波特率發(fā)生器、FIFO接口、UART發(fā)送子模塊、通信校驗(yàn)?zāi)K,現(xiàn)場(chǎng)試驗(yàn)表明了該接口電路具有良好的實(shí)用性及可靠性。

1 功能設(shè)計(jì)

1.1 過采樣流程

一個(gè)UART一般包括發(fā)送器和接收器兩部分。UART發(fā)送器的主要功能是讀入并行的待發(fā)送數(shù)據(jù),然后通過移位寄存器,以一定的波特率,將數(shù)據(jù)一位位地串行移出;接收器的主要功能則是串行讀入接收到的數(shù)據(jù),然后將其組合為并行數(shù)據(jù),最終變換為實(shí)際數(shù)據(jù)。以數(shù)據(jù)發(fā)送為例,在RS232標(biāo)準(zhǔn)中,其常用的數(shù)據(jù)格式為:1位起始位(一般為0),6~8位數(shù)據(jù)位,1位可選的校驗(yàn)位,及停止位(一般為1)。

在接收到的數(shù)據(jù)中不包含波特率信息,為減小在通信中信號(hào)位的偏移,UART接收子模塊只能從預(yù)定義參數(shù)中讀出數(shù)據(jù)位[7]。本文使用過采樣的方法來估計(jì)所接收數(shù)據(jù)的中點(diǎn),相應(yīng)讀出數(shù)據(jù)位。例如,若過采樣率為X,則串行數(shù)據(jù)將被采樣X次。設(shè)通信中數(shù)據(jù)位位數(shù)為N,停止位位數(shù)為M,過采樣率為16,則過采樣的工作方式為:

1)等待收到的數(shù)據(jù)變?yōu)?,即接受到起始位時(shí),啟動(dòng)采樣計(jì)數(shù)器。

2)當(dāng)采樣計(jì)數(shù)器的值為7時(shí),清空計(jì)數(shù)器并重新開始計(jì)數(shù)。

3)當(dāng)計(jì)數(shù)器的值為15時(shí),將接受到的位移入寄存器,并重新開始計(jì)數(shù)。

4)重復(fù)步驟3)(N-1)次,從而接收剩下的所有數(shù)據(jù)位。

5)如果通信中使用了校驗(yàn)位,則再重復(fù)步驟3)1次。

6)重復(fù)步驟3)M次,從而獲得停止位。

本文對(duì)UART信號(hào)進(jìn)行16倍過采樣。在FPGA接收數(shù)據(jù)后,取過采樣所得到的每個(gè)16位二進(jìn)制數(shù)據(jù)字的中間四位,若中間四位中1的個(gè)數(shù)不小于3,則表示收到當(dāng)前的UART數(shù)據(jù)位值為1;若中間四位中0的個(gè)數(shù)不小于3,則表示收到當(dāng)前的UART數(shù)據(jù)位的值為0,否則認(rèn)為數(shù)據(jù)傳輸出錯(cuò)。過采樣功能在本質(zhì)上代替了時(shí)鐘信號(hào)的功能,相比使用上升沿檢測(cè)法檢測(cè)輸入信號(hào)有效值的方法,使用過采樣法可提高數(shù)據(jù)采樣的準(zhǔn)確性。

1.2 波特率產(chǎn)生器設(shè)計(jì)

設(shè)計(jì)過采樣率為X的數(shù)據(jù)接收子系統(tǒng)之后,需使用1個(gè)時(shí)鐘速率為X倍波特率的波特率產(chǎn)生器。在基于FPGA的設(shè)計(jì)中,通過簡單的分頻操作或者更高精度的時(shí)鐘信號(hào)發(fā)生器即可產(chǎn)生一個(gè)滿足需求的時(shí)鐘信號(hào),其實(shí)現(xiàn)較為靈活。以波特率為19 200 bps、過采樣率為16倍為例,采樣率為307 200次/s。設(shè)FPGA主時(shí)鐘頻率為常用的50 MHz,則波特率產(chǎn)生器需要一個(gè)模-163的計(jì)數(shù)器,即50×106/307 200=163。在本設(shè)計(jì)中,將過采樣率X作為波特率產(chǎn)生器的一個(gè)可調(diào)參數(shù),從而可以根據(jù)需求方便地重配置波特率產(chǎn)生器。

1.3 UART系統(tǒng)FIFO設(shè)計(jì)

在通信電路中,常使用FIFO來提供數(shù)據(jù)緩存,并減小數(shù)據(jù)溢出的概率。本文所研究的FIFO,從FPGA架構(gòu)的特點(diǎn)來看,是一塊基于塊RAM的緩存。接收FIFO是一個(gè)128×8 bit的先進(jìn)先出型緩存器,處理器通過檢測(cè)rx_full或者rx_empty來決定是否讀取FIFO內(nèi)的數(shù)據(jù)。接收FIFO始終檢測(cè)wr信號(hào),若此信號(hào)有效,則表示接收部分接收到新的數(shù)據(jù);若FIFO非滿,則產(chǎn)生一個(gè)讀信號(hào)rd_uart,把數(shù)據(jù)存儲(chǔ)到FIFO中;若FIFO已滿,則只產(chǎn)生讀信號(hào),并丟棄該數(shù)據(jù)。發(fā)送FIFO的設(shè)計(jì)與接收FIFO的實(shí)現(xiàn)方法基本類似,僅需對(duì)數(shù)據(jù)方向和讀寫信號(hào)進(jìn)行少量的修改。

1.4 UART發(fā)送子模塊設(shè)計(jì)

UART發(fā)送子模塊的功能設(shè)計(jì)與接收子系統(tǒng)的構(gòu)成基本相同,它的主要功能是將并行的數(shù)據(jù)通過移位寄存器串行發(fā)送出去,同時(shí)在數(shù)據(jù)頭部加起始位,在數(shù)據(jù)位尾部加奇偶校驗(yàn)位和停止位。發(fā)送的速率通過波特率發(fā)生器產(chǎn)生的單時(shí)鐘循環(huán)使能標(biāo)記來控制。因?yàn)榘l(fā)送子模塊不再需要設(shè)置接收子模塊那樣的過采樣計(jì)數(shù)器,其頻率計(jì)數(shù)器的時(shí)鐘頻率僅需要為接收子模塊的1/16。為了節(jié)約資源,這里不再額外設(shè)置新的計(jì)數(shù)器,而是使用與接收子模塊相同的同一個(gè)波特率發(fā)生器。綜上所述,可以得出一個(gè)UART系統(tǒng)的整體框圖,見圖1。

圖1 UART系統(tǒng)的整體框圖

1.5 UART驗(yàn)證子模塊

為了對(duì)UART的通信進(jìn)行自校驗(yàn),在通信鏈路中隔離故障,本文使用了一種執(zhí)行回環(huán)測(cè)試的診斷機(jī)制,其原理框圖見圖2?;丨h(huán)模式僅用于測(cè)試目的,在正常操作模式下,該模塊不被激活。在回環(huán)模式下,發(fā)送的數(shù)據(jù)的輸出置為高電平。測(cè)試的基本過程是:從PC向FPGA發(fā)生一個(gè)字符串,收到的數(shù)據(jù)被儲(chǔ)存在UART的接收FIFO中。按鍵開關(guān)在被按下之后,給出的信號(hào)被去抖動(dòng)處理,然后產(chǎn)生rd_uart和wr_uard兩個(gè)信號(hào);FPGA讀到這兩個(gè)信號(hào)之后,將UART接收FIFO中的的數(shù)據(jù)每次遞增加1,再通過發(fā)送子模塊發(fā)送回FPGA進(jìn)行循環(huán)測(cè)試。

圖2 UART回環(huán)測(cè)試的原理框圖

2 實(shí)驗(yàn)驗(yàn)證

本文基于 Xilinx公司 Spartan3E系列的XC3S500E FPGA,實(shí)現(xiàn)了所設(shè)計(jì)的UART系統(tǒng)。首先,使用Verilog HDL語言編寫了整個(gè)系統(tǒng)的代碼;其次進(jìn)行功能仿真、時(shí)序約束、軟件綜合、生產(chǎn)bit流文件及燒寫FPGA的配置文件等FPGA開發(fā)的基本操作。測(cè)試的方法為:首先進(jìn)行回環(huán)測(cè)試,如無誤則點(diǎn)亮FPGA開發(fā)板上的LED表明系統(tǒng)正常。其次,在PC上發(fā)送“FPGA based UART design!”這樣一個(gè)字符串至FPGA;在FPGA收到并判斷為“!”之后,通過所設(shè)計(jì)的UART系統(tǒng)循環(huán)向PC發(fā)送所收到的字符串,并通過串口調(diào)試助手顯示收到的數(shù)據(jù)。實(shí)驗(yàn)結(jié)果見圖3。

圖3 實(shí)驗(yàn)結(jié)果圖

3 總結(jié)

本文結(jié)合煤礦自動(dòng)化生產(chǎn)中對(duì)信號(hào)傳輸?shù)膶?shí)際要求,設(shè)計(jì)了一個(gè)基于FPGA的RS232接口電路,包含有過采樣機(jī)制、波特率發(fā)生器、FIFO及回環(huán)測(cè)試功能的UART系統(tǒng)。經(jīng)邏輯綜合并下載到芯片中,通過實(shí)際的接收與發(fā)送實(shí)驗(yàn),驗(yàn)證了本設(shè)計(jì)的正確性和可行性。在將來的研究中,還可對(duì)全雙工通信中的讀寫控制等進(jìn)行改進(jìn),并將整個(gè)系統(tǒng)封裝為IP核,便于在后續(xù)的大系統(tǒng)中進(jìn)行靈活的調(diào)用。

[1] 作 者,基于Actel FPGA的UART應(yīng)用[J].電子產(chǎn)品世界,2009(6):76-77.

[2] 成 蘭,崔亞量,田 原.一種基于TMS320C55x DSP的UART通信設(shè)計(jì)[J].微計(jì)算機(jī)信息,2008(5):153-154.

[3] 段素蓉,莊圣賢.一種內(nèi)置FIFO全雙工UART的設(shè)計(jì)與實(shí)現(xiàn)[J].通信技術(shù),2010(2):46-47+50.

[4] 李萌萌,彭建朝,許向眾.基于FPGA的多通道控制器的設(shè)計(jì)與模擬實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2009(14):168-170.

[5] 田 耘,徐文波,胡 彬,等.Xilinx ISE design Suite10.x FPGA開發(fā)指南—邏輯設(shè)計(jì)篇[M].北京:人民郵電出版社,2008:409.

[6] Harding,B.F.,R.C.Cofer,Rapid system prototyping with FPGAs- Embedded technology series[M].Amsterdam:Elsevier/Newnes,2006:301.

[7] Chu,P.P.FPGA prototyping by Verilog examples[M].Xilinx Spartan -3 version.Hoboken,N.J.:J.Wiley & Sons:488.

猜你喜歡
信號(hào)系統(tǒng)設(shè)計(jì)
Smartflower POP 一體式光伏系統(tǒng)
信號(hào)
鴨綠江(2021年35期)2021-04-19 12:24:18
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
完形填空二則
瞞天過?!律O(shè)計(jì)萌到家
基于FPGA的多功能信號(hào)發(fā)生器的設(shè)計(jì)
電子制作(2018年11期)2018-08-04 03:25:42
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
主站蜘蛛池模板: 999国内精品久久免费视频| 国产性生交xxxxx免费| 欧美怡红院视频一区二区三区| 色综合天天娱乐综合网| Aⅴ无码专区在线观看| 麻豆精品在线视频| 无码日韩视频| 国产swag在线观看| 91视频99| 丁香六月激情综合| 日韩AV无码免费一二三区| 欧美午夜理伦三级在线观看| 欧美精品v| 日韩午夜片| 国产迷奸在线看| 日韩欧美中文亚洲高清在线| 亚洲人人视频| 免费国产在线精品一区| 99精品国产自在现线观看| 国产亚洲精| 91小视频在线观看免费版高清| 夜夜爽免费视频| 国产精品综合久久久| 欧美h在线观看| 国产靠逼视频| 曰AV在线无码| 在线视频亚洲欧美| 精品国产黑色丝袜高跟鞋| 国产人免费人成免费视频| 欧美性猛交一区二区三区| 国产人免费人成免费视频| 99热这里只有精品2| 嫩草在线视频| 国产精品粉嫩| 黄色网页在线观看| 亚洲成人在线网| 四虎永久免费在线| 狼友av永久网站免费观看| 精品无码一区二区在线观看| 亚洲婷婷六月| 中字无码av在线电影| 亚洲免费人成影院| 欧美α片免费观看| 91视频国产高清| 一级毛片免费的| 国产超碰一区二区三区| 国产视频一区二区在线观看| 国产白浆视频| 国产主播一区二区三区| 无码久看视频| www成人国产在线观看网站| 欧美日韩另类在线| 丝袜高跟美脚国产1区| 亚洲欧美国产高清va在线播放| 国产男女XX00免费观看| 国产最新无码专区在线| 日韩精品成人网页视频在线| 婷婷五月在线| 日韩国产亚洲一区二区在线观看 | 欧美亚洲欧美| 国产原创自拍不卡第一页| 青青草国产精品久久久久| 亚洲AV电影不卡在线观看| 久久a级片| 亚洲AV无码乱码在线观看代蜜桃| 久久久亚洲色| 国产成人精品视频一区二区电影| 一区二区三区四区精品视频 | 亚洲一区毛片| 亚洲综合香蕉| AV色爱天堂网| 精品无码日韩国产不卡av| 伊人中文网| 免费观看无遮挡www的小视频| 91小视频在线观看| 国产乱子伦精品视频| 成人字幕网视频在线观看| 中文无码精品A∨在线观看不卡 | 国语少妇高潮| 成人免费网站久久久| 欧美成人看片一区二区三区 | 亚洲午夜福利在线|