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

基于FPGA的UART的設計與實現

2020-05-11 12:24:30張曉胡穎毅黃子碩魏鵬
數字技術與應用 2020年2期

張曉 胡穎毅 黃子碩 魏鵬

摘要:UART接口在機載航空儀表中得到了廣泛應用,本文介紹了一種基于FPGA設計實現的UART的雙工通信協議,使用VHDL語言進行描述,其波特率可以根據設計需要進行調整,控制邏輯方便。通過相關仿真和試驗,驗證了UART收發功能均滿足要求。

關鍵詞:FPGA;UART;VHDL

中圖分類號:TN915.04 文獻標識碼:A 文章編號:1007-9416(2020)02-0099-02

0 引言

UART是通用異步收發器(Universal Asynchronous Receiver/Transmitter),是一種異步收發傳輸器,是設備間進行異步通信的關鍵模塊。UART包括RS232、RS449、RS423、RS422和RS485等接口標準規范和總線標準規范,即UART是異步串行通信口的總稱。UART負責處理數據總線和串行口之間的串/并、并/串轉換,并規定了幀格式;通信雙方只要采用相同的幀格式和波特率,不需同時發送時鐘,僅用兩根信號線就可以完成信號通信,因此也成為異步串行通信[1]。UART字符格式為1個起始位,5~8個數據位,1個地址位或奇偶位(可選),1個停止位。

某型航空儀表主要通過RS422總線接口與機上其他設備進行數據交互,顯示飛機的指示空速、馬赫數、氣壓高度和升降速度等飛行數據。同時為了便于該航空儀表內部的檢測和維護,設計了維護檢測接口,將系統內部各部件的自檢信息、傳感器信息以及解算后得到的各個參數按照RS422總線要求輸出。由于UART在某型儀表中的重要性,是其最主要的通信接口,本文主要講述了此航空儀表中基于FPGA編寫UART雙工通信協議,實現對RS422接口芯片的控制,進行串口通訊。

1 UART雙工通信的實現

1.1 UART協議的設計原理

UART模塊由波特率發生器、UART接收器模塊和UART發送器模塊三個部分構成,FPGA實現UART的模塊框圖如圖1所示。

波特率發生器模塊主要用于產生接收器和發送器的時鐘頻率信號。

接收器模塊的作用是接收從串行數據輸入異步數據,進行串/并轉換。接收模塊帶奇偶校驗錯、幀出錯信號,當接收完一幀數據或發送完一幀數據后提供指示信號[2]。接收器包含移位寄存器和接收緩沖寄存器,移位寄存器將數據按位采集到寄存器里,接收緩沖寄存器用來緩存接收數據,同時產生中斷信號給其他模塊等。

發送器模塊的作用是接收機上其他設備送來的并行數據,進行并/串轉換。同接收模塊相同,該模塊也包含移位寄存器和發送緩沖寄存器,發送緩沖寄存器用來緩存發送數據,移位寄存器將數據按位將串行數據輸出到串口。

1.2 波特率發生器

波特率發生器實際上是一個分頻器。波特率產生模塊根據電路的晶振頻率以及需要的接收時鐘、發送時鐘頻率可計算出分頻數[3]。精確的時鐘是整個模塊的基礎,時鐘有任何的偏移或者抖動,都將影響UART的功能。為了獲得準確的時鐘,調用了FPGA內部的PLL時鐘管理模塊,PLL能為FPGA內部各個模塊提供精準的全局時鐘或局部時鐘。

當UART在發送數據時.只需要按照一定的速率將數據串行地移出就可以了,因此發送時鐘和發送波特率一致。當UART在接收串行的數據時,在串行數據每一位的中間時刻,對串行數據進行采樣才更準確。所以對于接收器模塊的輸入時鐘來說,波特率發生器產生的時鐘頻率是波特率時鐘頻率的若干倍,通常工程應用中以16倍和25倍居多,目的是為在接收時進行精確地采樣,以提出異步的串行數據[4]。

因為本設計中的主時鐘頻率是50MHz,為了能夠方便合理的設置分頻系數,得到更加精確的時鐘頻率,這里選用了倍頻系數為25倍,也就是波特率發生器的輸出頻率blk=115200 *25=2880000Hz。具體實現過程是:用FPGA內部鎖相環PLL將系統時鐘50MHz倍頻24再25分頻得到48MHz,將48 MHz倍頻12再5分頻得到115.2MHz,最后將115.2MHz進行40分頻得到2880000Hz。發送器模塊的輸入時鐘按照波特率的要求設定成115200Hz,FPGA實現的過程是:在115.2MHz的基礎上3次10分頻得到115200Hz。

1.3 UART發送器模塊

在發送器模塊中,發送器的發送速率為115200 bps,每時鐘周期發送一個有效比特,本文設置為奇校驗。首先是起始位(發送端txd從邏輯1轉化為邏輯0),其次是8個有效數據比特,低位在前,高位在后,依次發送字節的1-7位,進行校驗位的計算,最后再發送字節的第8位,同樣需要進行校驗位的計算。當判斷校驗位是否為‘1,若為‘1,說明該字節發送正確有效,將校驗位發出。若為‘0,說明該字節發送錯誤無效,需重新發送。

1.4 UART接收器模塊

在接收系統中,由于串行數據和接收時鐘是異步的,因此,檢測起始狀態非常重要[5]。由于受機上各種電磁環境和噪聲的影響,為了避免接收端毛刺引起誤判,得到正確的起始信號和有效數據,用最大似然判決方法對輸入進行濾波處理,要求輸入的數據在接收數據波特率的50%以上為低電平才確定為“真”起始位。其方法如下:

由于bclk信號的頻率為波特率的25倍,則出現次數超過12次的電平邏輯值,認為是最終的采樣比特值。整個接收模塊的狀態機包含3個狀態:空閑s_idle、采樣s_sample和停止s_stop。其狀態機圖如圖2所示。

s_idle:起始位判斷。若cnt未計數到24時,若此時接收到串口信號由高電平‘1變為低電平‘0時,說明可能檢測到起始位,啟動num的計數,當cnt為24時,判斷num是否超過12,說明為 “真”起始位,則進入s _sample;

s_sample:數據采樣。若dcnt未計數到8,cnt未計數到24時,進行累加,若檢測到輸入變為高電平,啟動num的計數;若cnt計數到24時,將 dcnt加1,同時,cnt計數清零。若num計數超過12,說明接收到一位低電平信號,否則接收到一位高電平信號,直至8位數據位全部采樣完成;

s_stop:計數25周期,直至到采樣到1位停止位,進入s_idle模式。

2 系統測試驗證

FPGA選用Xilinx公司XC5VSX95T-1FFG1136I器件,首先在ISE中利用VHDL語言編寫邏輯代碼并用ISim對接收器/發送器模塊進行了詳細的功能仿真。

以接收器模塊為例,編寫testbench,輸入二進制數據為“1011111001”,通過仿真圖3發現,每計數25個blk時鐘,采樣接收一次數據,數據總線上的數據為0x3E,數據輸出正確,且保證了波特率和接收數據的正確性。

通過在FPGA內部發送固定數據,計算機的串口精靈軟件設置波特率115200的速率進行接收與發送的一致,驗證了發送器模塊的正確性。同時經計算機的串口精靈軟件按照波特率為115200的速率發送數據給FPGA在某型儀表進行顯示,數據一致,說明接收模塊功能正確,因此FPGA正確實現了UART收發通信。

3 結語

本文詳細介紹了UART通信接口的設計與實現方法,用FPGA設計實現了UART的全雙工仿真和產品試驗,結合串口調試助手和實際應用,驗證了UART收發功能,各項通信指標均滿足要求。UART是航空儀表中重要的數據傳輸方式,經過某型儀表產品反復的摸底測試,再次驗證了UART通信接口設計實現的正確性和可靠性,所以此設計方法可定制移植使用,為以后產品的應用打下了基礎。

參考文獻

[1] 郭曉明,張德.基于FPGA的UART設計與實現[J].電聲技術,2010,34(6):31-34.

[2] 蔣艷紅.基于FPGA的UART設計與應用[J].計算機工程,2008,034(21):225-226+229.

[3] 史故臣,石旭剛,左緒勇.基于FPGA的UART設計與實現[J].中國新通信,2009(7):62-64.

[4] 楊夏,王平,張軍.基于FPGA的簡化UART電路設計[J].微計算機信息,2008,246(23):233-234+236.

[5] 聶濤,許世宏.基于FPGA的UART設計[J].現代電子技術,2006(2):127-129.

Designed and Realization of? UART Based on FPGA

ZHANG Xiao,HU Ying-yi,HUANG Zi-shuo,WEI Peng

(Beijing Keeven Aviation Instrument Co., Ltd., Beijing? 101300)

Abstract:UART interface is an important application in a certain type of aviation instrument. This paper introduces a duplex communication protocol of UART based on FPGA,described by VHDL language,baud rate can be adjusted according to the design needs,and the control logical is convenient.According to the related simulations and experiments shows that the UART transceiver functions meets the requirements.

Key words:FPGA;UART;VHDL

主站蜘蛛池模板: aⅴ免费在线观看| 无码福利视频| 在线播放真实国产乱子伦| 精品日韩亚洲欧美高清a| 国产白浆一区二区三区视频在线| 国产资源免费观看| 久久国产免费观看| 国产成人永久免费视频| 久久夜色精品国产嚕嚕亚洲av| 114级毛片免费观看| 日韩毛片免费观看| 成人免费视频一区| 9丨情侣偷在线精品国产| 久久久久人妻一区精品色奶水| 国产精品区网红主播在线观看| 噜噜噜综合亚洲| 久久黄色免费电影| 99热这里只有精品在线观看| 一本视频精品中文字幕| 免费久久一级欧美特大黄| 波多野吉衣一区二区三区av| 日韩小视频在线观看| 色妺妺在线视频喷水| 久久这里只有精品免费| 69av免费视频| 一级毛片免费高清视频| 欧美日韩中文国产| 亚洲国产清纯| 久久香蕉国产线| 这里只有精品在线播放| 欧美日韩在线国产| 啊嗯不日本网站| 韩国v欧美v亚洲v日本v| 第一区免费在线观看| 国产91熟女高潮一区二区| 成人一级黄色毛片| 国产第一页亚洲| 欧美成人精品在线| 538精品在线观看| 日本少妇又色又爽又高潮| 综合色区亚洲熟妇在线| 国产精品嫩草影院av| www.99精品视频在线播放| www.av男人.com| 亚洲大尺度在线| 网友自拍视频精品区| 欧美一区国产| 午夜性爽视频男人的天堂| 国产成a人片在线播放| 综1合AV在线播放| aⅴ免费在线观看| 亚洲最大看欧美片网站地址| 99热最新网址| 欧美日韩国产成人在线观看| 高h视频在线| 国产精品第一区在线观看| 国产精品不卡片视频免费观看| 国产麻豆精品在线观看| 自拍中文字幕| 国产青榴视频| 国产欧美在线观看一区 | 国产在线啪| 88av在线看| 亚洲区视频在线观看| 成人va亚洲va欧美天堂| 亚洲色图欧美激情| 无遮挡国产高潮视频免费观看| 亚洲免费毛片| 亚洲成人播放| 爆乳熟妇一区二区三区| 国产精品无码久久久久久| 国产极品美女在线观看| 亚洲 欧美 中文 AⅤ在线视频| 国产不卡在线看| 日韩第一页在线| 国产福利拍拍拍| 在线看片国产| 麻豆国产原创视频在线播放 | 国内精品伊人久久久久7777人| 欧美区一区| 一本久道久综合久久鬼色| 中文字幕 91|