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

UART自適應波特率發生器的設計與仿真

2024-04-14 14:11:04肖文桂
現代信息科技 2024年1期

DOI:10.19850/j.cnki.2096-4706.2024.01.012

收稿日期:2023-05-31

摘? 要:為提升各種微處理器與嵌入式系統的通信波特率,文章對傳統波特率自適應檢測技術加以改進,基于FPGA和Verilog HDL硬件描述語言設計一種可靈活高效配置波特率參數的UART模塊。首先改進傳統的通過發送固定數據檢測波特率的技術,利用特征值匹配法結合查表比對法設計自適應波特率發生器,實現自動高效檢測波特率,完成相應參數配置。然后采用Modelsim對各模塊功能進行系統級仿真。仿真結果表明,該波特率發生器能夠自動建立串口通信鏈路,數據傳輸穩定可靠,提高了檢測效率,減少了系統資源開銷。

關鍵詞:UART;自適應波特率發生器;Modelsim;特征值匹配

中圖分類號:TN83? 文獻標識碼:A? 文章編號:2096-4706(2024)01-0059-04

Design and Simulation of UART Adaptive Baud Rate Generator

XIAO Wengui

(Beijing University of Technology, Beijing? 100124, China)

Abstract: To improve the communication baud rate between various microprocessors and embedded systems, this paper improves the traditional baud rate adaptive detection technology and designs a UART module based on FPGA and Verilog HDL hardware description language that can flexibly and efficiently configure baud rate parameters. Firstly, the traditional technique of detecting baud rate by sending fixed data is improved, and an adaptive baud rate generator is designed using feature value matching method combined with table lookup comparison method to achieve automatic and efficient detection of baud rate and complete corresponding parameter configuration. Then use Modelsim to perform system level simulations on the functions of each module. The simulation results show that the baud rate generator can automatically establish a serial communication link, ensure stable and reliable data transmission, improve detection efficiency, and reduce system resource overhead.

Keywords: UART; adaptive Baud rate generator; Modelsim; eigenvalue matching

0? 引? 言

通用異步收發器(Universal Asynchronous Receiver/

Transmitter, UART)因其通信協議簡單、線路布局方便等特點,被廣泛應用于各種微處理器中。但由于受到通信雙方距離遠近、周圍環境干擾的大小以及系統中不同設備所需的通信速率不同等因素的影響,為保證通信質量,需要在點對點系統中實現實時更改系統數據傳輸速率的功能[1]。因此,系統接收機需實時更改通信波特率以保證數據的正常接收。

為此,本文創新性地提出了一種基于FPGA的UART自適應波特率發生器的設計方案,采用特征值匹配法結合查表對比法,通過發送特征數據0x00來記錄不同波特率對應的特征參數,與特征參數參考表對比后得出正確的波特率,從而實現根據需求實時調整系統傳輸速率的功能。本文設計并實現了一種波特率自適應檢測的UART模塊,介紹UART模塊整體設計原理,將其分為波特率發生器模塊、串口接收模塊以及串口發送模塊。使用Modelsim進行系統級時序仿真,來驗證UART串口通信功能。本方案可在一定程度上提高波特率檢測效率,節約系統資源開銷,提高UART自適應能力。

1? UART系統設計方案

1.1? UART設計原理

為實現UART波特率自動檢測功能,本文利用Verilog HDL硬件描述語言進行系統設計。整體設計從功能可劃分為3個模塊單元:波特率發生器、串口接收模塊、串口發送模塊。UART系統設計原理如圖1所示[2]。

1.2? 波特率發生器

傳統的波特率自動檢測方法主要有兩種:最小位寬法與固定數據傳輸法。最小位寬法是通過不斷地檢測迭代出低電平(高電平)的最小脈沖寬度,與標準波特率的參考數據位寬進行比較,從而得出正確的波特率值;固定數據傳輸法是通過主機發送特定的配置數據來獲取當前波特率的信息。最小位寬法的缺點是波特率的識別需要不斷地檢測數據,得出最小數據位寬,十分依賴于發送數據的內容,握手時間慢、檢測效率低[3]。考慮到實時通信系統中需要根據具體的需求快速檢測并配置不同的波特率,因此,為了提高檢測效率、節約系統時間成本,本設計采用固定數據傳輸的方法并對此做出一定的改進。

為了對傳統的固定數據傳輸法進行改進,提高波特率檢測效率,本文采用特征值匹配法結合查表對比法的方式,利用特征數據0x00來判斷具體的波特率值,如圖2所示。

配置新的波特率參數時,發送機需要發送特征數據0x00,波特率發生器利用邊沿檢測電路捕獲下降沿觸發信號,通過時鐘計數器測量低電平持續時間,將計數結果存放在cnt_low中;低電平計數結束后,cnt_low存放的是9位低電平持續時間(1位起始位,8位數據位)。為獲取一位低電平數據位寬,計算cnt_low/9的值,與表1的標準波特率參考表對比,完成波特率的正確檢測,并將新的波特率參數配置給串口接收模塊與串口發送模塊,完成數據收發[4]。

為消除邊沿觸發檢測可能引發的亞穩態現象,采用兩級D觸發器進行邊沿檢測。采用50 MHz的系統時鐘作為時鐘激勵,其頻率遠大于波特率。

波特率的理論計算公式為:

(1)

通過計算可知,通信速率采用9 600 bit/s時,時鐘計數的時間測量誤差比小于0.006 4%,因此,能保證很高的測量精度。

1.3? 串口接收模塊

串口接收模塊需要接收到波特率發生器發送的正確通信波特率后才能正常工作。當接收到線路通信波特率后,通過邊沿檢測電路檢測數據幀的起始位,以下降沿觸發信號表示開始接收數據。利用計數器實現對每位數據的采集,結束后發送接收成功標識rx_done,并將接收成功的數據進行串并轉換,發送給串口發送模塊。為濾掉通信線上的噪聲干擾,本文采用下降沿觸發的方式來檢測數據幀起始位[5]。同時為了提高串行通信對波特率誤差的容忍范圍,數據接收的采樣波特率設定在1/2的分頻因子位置,即在波特率信號周期中間處,其分頻因子[6]計算公式為:

(2)

1.4? 串口發送模塊

串口發送模塊由串口接收模塊控制。當發送模塊收到接收模塊傳入的數據后,將并行數據存放在數據寄存器中,并通過移位寄存器將并行數據轉換為串行數據發送出去,由計數器cnt_tx控制狀態的轉移,即數據的發送。計數為1時,發送起始位;計數為2~9時,發送數據位;計數為10時,發送停止位。發送時鐘根據波特率發生器接收到的波特率產生,與串口通信波特率相同[7]。

2? 系統仿真驗證分析

2.1? Modelsim簡介

ModelSim是一種流行的數字電路模擬器,被廣泛用于硬件設計和驗證領域。支持多種硬件描述語言,包括Verilog和VHDL,并提供完整的仿真調試環境。主要功能包括功能仿真、波形查看、調試、代碼覆蓋率分析和性能分析。提供直觀的GUI界面和命令行接口,用戶可以方便地創建、編輯和運行仿真測試。在仿真過程中,用戶可以查看仿真波形、分析信號時序和調試代碼,以便更好地理解和驗證電路功能[8]。此外,ModelSim還提供了一些高級功能,例如代碼優化、時序分析和約束驅動測試。它還支持多種仿真引擎和仿真加速技術,包括單線程、多線程、多核和基于網格的分布式仿真。這些功能可以提高仿真效率和準確性,幫助用戶更快地找到和修復電路中的錯誤。

2.2? UART功能仿真

基于Modelsim仿真平臺進行串行通信波特率自適應的功能仿真,主要分為兩個部分:波特率發生器的自適應檢測、系統數據的收發。

2.2.1? 波特率發生器的自適應檢測

波特率發生器仿真如圖3所示,仿真模擬主機波特率初始值設定為9 600 bit/s,特征數據為0x00,通信數據格式為1 bit起始位,8 bit數據位,1 bit停止位,無校驗位。配置數據碼為8b0101_0101。模擬主機改變后的數據發送波特率為19 200 bit/s,通過spec_bps記錄主機波特率的數值,便于檢測驗證。

開始時主機波特率為9 600 bit/s,當數據0x55發送結束后,數據接收標識符rx_done產生高電平脈沖,bps_rxd進入高電平狀態,檢測狀態標識state進入低電平狀態,不進行波特率檢測功能,維持一個計數周期。仿真模擬主機改變波特率為19 200 bit/s,首先發送特征數據0x00。邊沿觸發器bps_rxd_double檢測到下降沿后產生正脈沖信號,state進入高電平狀態,開始進行波特率自適應檢測。利用低電平計數器cnt_low,記錄特征數據低電平持續時間。完成計數后cnt_low計數大小為23 436,則cnt_low/9為2 604。通過查表得出新波特率spec_bps為19 200 bit/s。計算分頻因子并產生數據接收時鐘clk_rxd以及數據發送時鐘clk_txd,完成波特率自適應檢測。

2.2.2? 系統數據的收發

如圖4所示,仿真模擬主機以不同的波特率發送16進制數據0x55。首先設定主機數據發送波特率為9 600 bit/s,經波特率發生器檢測后產生正確的數據接收時鐘clk_rx與發送時鐘clk_tx。接收模塊實現數據串并轉換后,接收到的并行數據data為0x55,將其傳入發送模塊。發送模塊利用發送時鐘clk_tx發送數據信號uart_txd到外部設備,完成后UART系統進入空閑狀態,uart_rxd持續高電平,并維持一個計數周期。改變主機數據發送波特率為19 200 bit/s。首先發送特征數據0x00,經自動檢測后產生正確的數據接收時鐘和發送時鐘,檢測結束后設備進入空閑狀態。當下降沿再次到來時,數據接收狀態標識符state進入高電平狀態,接收端口接收主機輸入信號uart_rxd,利用2倍于19 200 bit/s的時鐘頻率clk_rx進行周期信號中間位置的數據采集,實現串并轉換,最終完成數據的接收并產生接收完成信號rx_done。數據接收結束后state進入低電平狀態,接收端口進入空閑狀態。以19 200 bit/s接收完成后得到并行數據data為0x55;發送端對數據data進行并串轉換,同時增加起始位與停止位,利用19 200 bit/s的時鐘頻率產生串行發送信號uart_txd,將數據發送到外部設備,完成系統數據收發。

3? 潛在應用場景

隨著物聯網興起,現代各種電子設備都需要進行不同程度上的通信。其中,車載電子設備、醫療設備、工業自動化等場景需要實時的通信速率來保證工作的正常運行。本文設計的UART自適應波特率發生器可使這些應用設備之間的通信更加可靠、高效。

3.1? 車載電子設備

現代汽車中有許多電子設備需要進行實時通信。例如,車載導航系統中,GPS或北斗系統、主機、汽車顯示屏等導航模塊需要實時根據車輛駕駛情況以及路況做出相應提示,以滿足駕駛員需求;車載診斷設備中,發送機控制模塊、車身控制模塊等車診設備需要對路況和車身系統狀況進行實時診斷與調試,以減少事故發生的概率;車載音響系統中,功放、主機、音響喇叭等,需要實時進行聲音訊息傳輸,以方便駕駛員接收廣播或播放音樂[9]。這些設備都需要滿足不同設備在不同通信速率條件下能高效可靠地正常通信的需求。UART自適應波特率發生器能提高設備通信的靈活性、可靠性,幫助車載電子設備之間進行更加穩定和高效的通信。

3.2? 醫療設備

在醫療方面,目前越來越多的醫療設備都需要與計算機或外部設備連接交互,傳輸醫療數據圖像。比如心電圖儀器,通常需要與計算機相連,將探測到的人體數據傳輸回主機并顯示在屏幕上,便于醫生進行病情診斷;又如血壓計、血糖儀或醫療影響設備等,都需要將所測病理數據實時傳輸到外部設備,將人體生理指標可視化,為后續深入工作打下基礎[10]。這些醫療設備都需要進行交互通信,而往往不同設備所需的傳輸波特率不同,使用UART波特率自適應發生器能在一定程度上提高設備之間傳輸效率與可靠性,提高醫療診斷的正確性、時效性。

3.3? 工業自動化

UART自適應波特率發生器在工業自動化領域中也有著廣泛的應用。以下是一些常見的應用場景——工業機器人:工業機器人通常需要與控制器進行通信,以接收控制指令并向控制器發送反饋信息;PLC控制系統:PLC控制系統通常需要與傳感器、執行器等設備進行通信,以實現自動化控制;工業傳感器:工業傳感器通常需要將采集到的數據傳輸到控制器或其他設備上進行分析和處理;工業自動化監控系統:工業自動化監控系統中有多個設備需要進行通信,例如傳感器、執行器、控制器等[11]。這些設備可能需要在不同的波特率下進行通信,使用自適應波特率發生器可以使它們之間的通信更加靈活和高效,提高各種工業設備之間通信的穩定性、靈活性和效率,幫助工業自動化設備更好地與其他設備進行協同工作,提高工業設備的性能和可靠性。同時,它也為工業自動化設備制造商提供了更加靈活和高效的設計方案,使得工業自動化設備的研發和生產更加簡便和快速。

4? 結? 論

本文基于FPGA設計并實現了一種具有波特率自適應功能的UART通信模塊,利用特征值匹配法結合查表法的方式設計了自適應波特率發生器,成功實現了不同通信波特率的自適應檢測。利用Verilog HDL硬件描述語言實現該UART的硬件電路設計。基于Modelsim的仿真結果表明,對于不同波特率數據的傳輸,該方法能快速、正確、穩定地建立串行通信鏈路。整體設計具有很高的整體性和穩定性。

該方法改進了傳統的波特率自適應檢測技術,能夠正確高效地實現波特率的自動檢測,對異步串行通信的應用方法做了一定的補充。對于車載電子設備、醫療設備、工業自動化等物聯網相關場景,提供了一種用于不同設備通信速率之間高效自動檢測的方案,可減少系統功耗,節約系統資源,具有一定的現實意義。

參考文獻:

[1] 孫夫文,鄭采君,劉昕卓,等.基于FPGA串口波特率自適應功能的設計與實現 [J].電子設計工程,2019,27(9):69-73.

[2] 劉博.基于FPGA的UART模塊設計與實現 [J].無線電工程,2018,48(5):433-438.

[3] 楊洋,和蕾,王旭,等.基于FPGA的UART串行通信參數自適應設計與實現 [J].電子設計工程,2021,29(16):21-25.

[4] 陳謙,馬迅.波特率自適應串行通信方法研究 [J].中國集成電路,2019,28(4):61-65.

[5] 李盛杰.UART測試技術研究 [J].計算機與數字工程,2017,45(3):598-602.

[6] 豐淑鳳,朱曉瑩,王旭.基于FPGA的寬波特率誤差容忍范圍的UART設計 [J].信息技術與信息化,2021(9):169-171+176.

[7] 樊利軍,田柏林.基于FPGA的UART自適應波特率發生器的實現 [J].北京工業職業技術學院學報,2016,15(1):29-32+56.

[8] 曾憲煉,馬捷中,任向隆.基于VHDL的故障注入技術 [J].計算機工程,2010,36(11):244-246+249.

[9].谷彥慶.傳感器在汽車電子控制系統中的應用 [J].汽車與新動力,2022,5(2):65-67.

[10] 張宏慶,賈利.基于人工智能與5G通信的醫療檢測設備管理系統設計 [J].電子設計工程,2021,29(11):113-116+121.

[11] 陳澤群.工業自動化中物聯網技術的應用 [J].現代工業經濟和信息化,2023,13(3):61-63.

作者簡介:肖文桂(2002.10—),男,漢族,廣東湛

江人,本科,研究方向:UART、數字電路。

主站蜘蛛池模板: av在线无码浏览| 东京热一区二区三区无码视频| 亚洲第一成年人网站| 凹凸国产分类在线观看| 国产亚洲欧美日本一二三本道| 茄子视频毛片免费观看| 久久视精品| 凹凸国产熟女精品视频| 亚洲日韩久久综合中文字幕| 国产成人啪视频一区二区三区| 国产精品自在在线午夜区app| 日韩免费视频播播| 18禁色诱爆乳网站| 亚洲伊人天堂| 亚洲成人一区二区| 黄色网在线免费观看| 国产一级精品毛片基地| 国产精品第一区在线观看| 日韩精品无码不卡无码| 在线欧美一区| 国产成人精品一区二区三在线观看| 美美女高清毛片视频免费观看| 熟女成人国产精品视频| 亚洲精品天堂在线观看| 性激烈欧美三级在线播放| 国产精品免费p区| 国产免费黄| 丝袜国产一区| www.91中文字幕| 极品性荡少妇一区二区色欲| 欧美一区二区人人喊爽| 色婷婷天天综合在线| 美女免费黄网站| 亚洲精品人成网线在线| 日韩在线第三页| 国产另类乱子伦精品免费女| 午夜毛片福利| 午夜福利无码一区二区| 97在线国产视频| 亚洲国产成人在线| 中文字幕资源站| 青青草国产一区二区三区| 国产成人AV男人的天堂| 国产美女自慰在线观看| 色吊丝av中文字幕| 亚洲国模精品一区| 亚洲婷婷丁香| 国产国拍精品视频免费看 | 全免费a级毛片免费看不卡| 狠狠色丁香婷婷| 亚洲欧美另类日本| 国产一区二区影院| 视频一区亚洲| 蝴蝶伊人久久中文娱乐网| 又大又硬又爽免费视频| 伊人色综合久久天天| 久久美女精品| 综合色在线| 精品小视频在线观看| 国产好痛疼轻点好爽的视频| 国产精品永久在线| 亚洲国产无码有码| 成人永久免费A∨一级在线播放| 97视频精品全国在线观看| 精品無碼一區在線觀看 | 91丝袜在线观看| 大香伊人久久| 国产天天色| 一区二区三区成人| 伊人无码视屏| 国产精品综合久久久| 色欲色欲久久综合网| 久久久久人妻精品一区三寸蜜桃| 国产网站免费观看| 91免费国产在线观看尤物| 国内精品小视频在线| 午夜国产精品视频| 99无码中文字幕视频| 无码福利视频| 尤物精品国产福利网站| 中文字幕天无码久久精品视频免费| 国产交换配偶在线视频|