日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > EDA > 電子設(shè)計自動化
[導(dǎo)讀]摘要:通用異步收發(fā)器UART常用于微機(jī)和外設(shè)之間的數(shù)據(jù)交換,針對UART的特點,提出了一種基于Ver4log HDL的UART設(shè)計方法。采用自頂向下的設(shè)計路線,結(jié)合狀態(tài)機(jī)的描述形式,使用硬件描述語言設(shè)計UART的頂層模塊及各個子

摘要:通用異步收發(fā)器UART常用于微機(jī)和外設(shè)之間的數(shù)據(jù)交換,針對UART的特點,提出了一種基于Ver4log HDL的UART設(shè)計方法。采用自頂向下的設(shè)計路線,結(jié)合狀態(tài)機(jī)的描述形式,使用硬件描述語言設(shè)計UART的頂層模塊及各個子模塊,從而使整個設(shè)計更加緊湊、可靠。同時采用參數(shù)化的設(shè)計方法,增強(qiáng)系統(tǒng)的可移植性。仿真結(jié)果表明,該系統(tǒng)可支持標(biāo)準(zhǔn)異步串行傳輸RS-232協(xié)議,可集成到FPGA芯片中使用。
關(guān)鍵詞:Verilog HDL;通用異步收發(fā)器(UART);狀態(tài)機(jī);仿真

    隨著微機(jī)應(yīng)用和計算機(jī)網(wǎng)絡(luò)的發(fā)展,計算機(jī)與外界之間的信息交換變得越來越重要,為了保證串行通信的正常進(jìn)行,提高串行通信的效率和CPU的利用率,在微機(jī)系統(tǒng)中采用專用的大規(guī)模集成電路來完成這些工作,這就是串行通信接口。通用異步接收發(fā)送器UART(Universal asynchronousreceiver/transmitter)主要用于控制設(shè)備之間的串行通信。廣泛應(yīng)用于調(diào)制解調(diào)器Modem、手持工業(yè)設(shè)備、條形碼閱讀器、測試設(shè)備、消費產(chǎn)品與計算機(jī)PC、微處理器以及小型通信網(wǎng)絡(luò)之間的通信等。在SOC設(shè)計中,異步串行通信接口已成為不可缺少的一部分,它的性能優(yōu)劣將直接影響相應(yīng)電子系統(tǒng)的性能和指標(biāo)。

1 UART原理
    串行通信是指外部設(shè)備和計算機(jī)間使用一根數(shù)據(jù)線(另外需要地線,可能還需要控制線)進(jìn)行數(shù)據(jù)傳輸?shù)姆绞?。?shù)據(jù)在一根數(shù)據(jù)線上一位一位傳輸,每一位數(shù)據(jù)都占據(jù)一個固定的時間長度。與并行通信方式相比,串行通信方式的傳輸速度較慢,但這種通信方式使用的數(shù)據(jù)線少,在遠(yuǎn)距離通信中可以節(jié)約通信成本,因此得到了廣泛的應(yīng)用。
    基本的UART只需要發(fā)送和接收兩條數(shù)據(jù)線就可以完成數(shù)據(jù)的全雙工通信,其基本功能是在發(fā)送端將控制器通過總線傳過來的并行數(shù)據(jù),以設(shè)定的格式,設(shè)定的頻率串行地傳輸出去,并同時在接收端將串行接收到的數(shù)據(jù),轉(zhuǎn)換成相應(yīng)的并行數(shù)據(jù)發(fā)送出去。UART的基本幀格式如圖1所示。其中,起始位總是邏輯O狀態(tài),停止位總是邏輯l狀態(tài),其持續(xù)時間可選為1位、1.5位或2位,其數(shù)據(jù)位可為5、6、7、8位,校驗位可根據(jù)需要選擇奇校驗位,偶校驗位或無校驗位。

2 UART的設(shè)計
    現(xiàn)今復(fù)雜的數(shù)字系統(tǒng)的設(shè)計往往采用自頂向下的設(shè)計方案,利用層次化結(jié)構(gòu)化的方法,將一個設(shè)計方案劃分為若干模塊,在不同層次的模塊都可以進(jìn)行仿真,可以很方便地查看某一層次的代碼以改正仿真時發(fā)現(xiàn)錯誤。在本設(shè)計中UART主要由波特率發(fā)生器、接收模塊、發(fā)送模塊3部分組成,并具有l(wèi)位停止位和無校驗位。波特率發(fā)生器實現(xiàn)波特率的變換,利用外部時鐘信號產(chǎn)生一個所需波特率16倍的波特率時鐘,用來控制UART的接收與發(fā)送。接收模塊是用于接收串行信號,并將其轉(zhuǎn)化為并行數(shù)據(jù);而發(fā)送模塊則將準(zhǔn)備輸出的并行數(shù)據(jù)按照UART的幀格式轉(zhuǎn)化為串行數(shù)據(jù)輸出。圖2為UART結(jié)構(gòu)圖。


2.1 波特率發(fā)生器
    波特率表示的是每秒鐘傳送的二進(jìn)制數(shù)據(jù)的位數(shù),即單位時間內(nèi)傳送的信息量。在串行異步傳送中,常用到的波特率為1 200、2 400、4 800、9 600、19 200等。波特率發(fā)生器實際上是一個分頻器,主要是產(chǎn)生和。RS-232通信所采用的波特率同步的時鐘。由于串行數(shù)據(jù)幀與接收數(shù)據(jù)時鐘是異步的,所以存UART的接收端在什么時刻將數(shù)據(jù)移入寄存器,怎樣選擇可靠的采樣點是非常關(guān)鍵的。一般采用高速時鐘對串行數(shù)據(jù)采樣是非常有效的方法。在實際設(shè)計中,一般最大選擇16倍于波特率的時鐘頻率。實現(xiàn)波特率時鐘的基本思路就是設(shè)計一個計數(shù)器,該計數(shù)器工作在速度很高的系統(tǒng)時鐘下,通過總線寫入不同的數(shù)值到波特率發(fā)生器保持寄存器中,然后用計數(shù)器的方式生成所需要的各種波特率就能得到所需的波特率時鐘,仿真如圖3所示。


2.2 接收模塊
    接收模塊是整個UART的設(shè)計的重點,其主要功能是檢測數(shù)據(jù)的起始位,并對接收的數(shù)據(jù)進(jìn)行串并轉(zhuǎn)換,并將接收好的數(shù)據(jù)儲存等待微機(jī)處理。由于串行數(shù)據(jù)幀與接收數(shù)據(jù)時鐘是異步的,接收功能實現(xiàn)的關(guān)鍵是接收器與每個接收字符同步。要保證異步通信的雙方準(zhǔn)確無誤地交換信息,必須有效控制采集通信線路上的電平信號的時機(jī)。由異步串行通信的特點可知,接收同步是通過低電平起始位實現(xiàn)的。而為了保證采樣的正確性,采樣在數(shù)據(jù)位的中間進(jìn)行,并且接收單元采樣數(shù)據(jù)的頻率與發(fā)送單元發(fā)送數(shù)據(jù)的頻率相同,是波特率時鐘周期的16倍,這樣可以有效地降低由于時鐘不匹配而導(dǎo)致的誤采樣。接收模塊的設(shè)計主要由狀態(tài)機(jī)實現(xiàn)其核心功能,采用獨熱編碼方式,雖然獨熱編碼多用了兩個觸發(fā)器,但所用組合電路可節(jié)省一些,使電路的速度和可靠性有顯著提高??刂平邮掌鞯钠鹗迹V刮粰z測,接收數(shù)據(jù)的計數(shù),移位寄存的功能。狀態(tài)機(jī)分為5個狀態(tài),分別為:IDEL,CENTER,WAIT,SAMPLE,STOP。狀態(tài)轉(zhuǎn)換圖如圖4所示。


    1)IDLE狀態(tài) 系統(tǒng)被復(fù)位后,接收狀態(tài)機(jī)進(jìn)入IDLE狀態(tài),等待起始位到來,輸入數(shù)據(jù)在空閑時保持為1,當(dāng)輸入由“l(fā)”跳變?yōu)椤?”時,狀態(tài)機(jī)跳轉(zhuǎn)到CENTER狀態(tài)。
    2)CENTER狀態(tài) 啟動起始位檢測電路,為排除噪聲干擾,狀態(tài)機(jī)等待8個脈沖,如果數(shù)據(jù)線上仍為低電平,則狀態(tài)機(jī)跳轉(zhuǎn)到WAIT狀態(tài),并啟動采樣電路。如果是噪聲干擾,則轉(zhuǎn)入IDLE態(tài)。
    3)WAIT狀態(tài) 狀態(tài)機(jī)WAIT狀態(tài),判斷數(shù)據(jù)接收是否完畢,若未完成采樣,則轉(zhuǎn)入SAMPLE狀態(tài)進(jìn)行數(shù)據(jù)位的采樣檢測,同時啟動位計數(shù)器,用來控制數(shù)據(jù)接收的位數(shù)。無論停止位是幾位,狀態(tài)機(jī)只對停止位作一次采樣。接收完畢,轉(zhuǎn)入STOP狀態(tài)。
    4)SAMPLE狀態(tài) 在此狀態(tài)對串口輸入數(shù)據(jù)進(jìn)行采樣,每次采樣均位于數(shù)據(jù)位的中心。并每接收完一位數(shù)據(jù),狀態(tài)機(jī)轉(zhuǎn)入WAIT狀態(tài)。
    5)STOP狀態(tài) 接收停止位,完成一個數(shù)據(jù)幀的接收,并將rec_ready置為1,表明收據(jù)接收完畢,待微機(jī)讀取。其仿真結(jié)果如圖5所示。


2.3 發(fā)送模塊
    發(fā)送模塊的設(shè)計相對簡單,其功能是將要發(fā)送的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù),并且在輸出的串行數(shù)據(jù)流中加入起始位和停止位。發(fā)送器首先將要發(fā)送的8位數(shù)據(jù)寄存,并在最低位后添加起始位‘0’,在最高位前添加停止位‘l’,組成10位要發(fā)送的數(shù)據(jù),然后根據(jù)UART內(nèi)核模塊的計數(shù)值將相應(yīng)的數(shù)據(jù)送入移位寄存器輸入端。UART內(nèi)核模塊輸出的計數(shù)值是從0依次計到9,即先將要發(fā)送數(shù)據(jù)的最低位送入移位寄存器。仿真結(jié)果如圖6所示。


2.4 UART各個模塊的整合
    在各模塊功能實現(xiàn)的基礎(chǔ)上,把它們有機(jī)地整合在一起,使波特率發(fā)生器能夠按照UART通訊的要求正常工作,接收模塊和發(fā)送模塊能夠根據(jù)各自的復(fù)位信號使整合模塊具有發(fā)送或接收功能。仿真結(jié)果如圖7所示。

3 結(jié)束語
    本文介紹了基于Verilog HDL設(shè)計的UART模塊,采樣點選擇可靠,其可以準(zhǔn)確判斷接收數(shù)據(jù)的起始,接收器與接收數(shù)據(jù)實現(xiàn)同步,串行數(shù)據(jù)能被準(zhǔn)確接收,并通過在ModelSim下的仿真,可下載至可編程邏輯器件中實現(xiàn)UART功能。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

摘要:為解決傳統(tǒng)自動化生產(chǎn)線生產(chǎn)效率低、自動化程度低、生產(chǎn)線復(fù)雜等問題,設(shè)計了一種自動化程度高且簡單的自動化機(jī)械手臂,并根據(jù)設(shè)計進(jìn)行仿真實驗。實驗結(jié)果表明,該設(shè)計在自動化生產(chǎn)實踐中取得了較好的效果,提高了生產(chǎn)效率,達(dá)到了...

關(guān)鍵字: 機(jī)械手臂 設(shè)計 仿真

摘要:基于數(shù)字孿生技術(shù),依托Unity引擎開發(fā)虛擬調(diào)試應(yīng)用。通過機(jī)器人工作站實例進(jìn)行虛擬調(diào)試仿真,基于socket通信,通過三菱PLC對虛擬機(jī)器人工作站進(jìn)行虛擬調(diào)試,檢測工作站結(jié)構(gòu)設(shè)計的合理性、信號配置和邏輯設(shè)計的正確性...

關(guān)鍵字: 數(shù)字孿生 虛擬調(diào)試 仿真

麥格納(MAGNA)正在進(jìn)行一項1.2億美元的投資,在印度班加羅爾建立和運營一座全新工程中心,旨在為出行電動化提供支持。該設(shè)施占地約2.2萬平方米,預(yù)計將于2023年第一季度開業(yè),屆時該中心將聘請眾多經(jīng)驗豐富的工程師和技...

關(guān)鍵字: 工程師 仿真 電動汽車 軟件

當(dāng)使用導(dǎo)線連接外部設(shè)備或芯片時,導(dǎo)線不可過長,一般控制在 20CM 以內(nèi),IIC、SPI、UART 等數(shù)字接口數(shù)據(jù)線驅(qū)動能力有限,過長的導(dǎo)線會導(dǎo)致通訊波形遲緩。當(dāng)導(dǎo)線確實無法縮短時,可通過降低通訊速率的方法來解決、緩解通...

關(guān)鍵字: 可編程USB UART I2C SMBusS SPI

客戶可以針對圖形和仿真基礎(chǔ)部署Supermicro服務(wù)器,以大規(guī)模建構(gòu)及運行元宇宙應(yīng)用——系統(tǒng)將支持多達(dá)8個NVIDIA L40 GPU、ConnectX-7 SmartNI...

關(guān)鍵字: NVIDIA MICRO SUPER 仿真

摘 要:單螺桿空氣壓縮機(jī)的轉(zhuǎn)子嚙合副對間隙控制的精度要求很高 ,星輪軸系是嚙合副的核心元件 ,作用在星輪軸系上的各力 會引起軸系變形 ,變形集中于星輪齒嚙入螺槽部分及星輪軸軸承安裝處 ,運用ANSYS/workben...

關(guān)鍵字: ANSYS 應(yīng)變 仿真

芯片選擇下拉框內(nèi)列出的每一個備選芯片的驅(qū)動文件和數(shù)據(jù)手冊位于S2STool 工具文件夾中的chips 文件夾內(nèi),每一個芯片需要 1 個驅(qū)動文件和 1 個數(shù)據(jù)手冊文件,用戶可自行打開編輯,或者創(chuàng)建新的芯片驅(qū)動文件。

關(guān)鍵字: 可編程USB UART I2C SMBusS SPI

S2STool 是為 S2S 固件開發(fā)的測試工具,運行于 Windows 平臺,內(nèi)置串口調(diào)試助手和 S2S 參數(shù)配置工具,支持動態(tài)解析自定義的芯片驅(qū)動,用戶可自行編寫、修改、增加任何芯片的驅(qū)動程序, 方便對芯片進(jìn)行測試和...

關(guān)鍵字: 可編程USB UART I2C SMBusS SPI

據(jù)業(yè)內(nèi)消息,華大九天昨天披露了投資者關(guān)系活動記錄表,華大九天表示在電路的仿真工具相關(guān)領(lǐng)域突破核心技術(shù),精度和性能得到了雙維度提升,適用于仿真精度和性能要求較高的模擬芯片設(shè)計。

關(guān)鍵字: EDA 仿真

摘 要:通過對智能移動平臺和六自由度機(jī)器人的調(diào)研分析 ,提出了新型智能片盒搬運小車的概念 ,并進(jìn)行了設(shè)計研究。結(jié)合激光 導(dǎo)航AGV ,配合六軸協(xié)作機(jī)械臂 ,可在機(jī)臺、stocker、e-Rack之間進(jìn)行FOUP搬運。

關(guān)鍵字: 智能移動平臺 六自由度機(jī)器人 仿真

電子設(shè)計自動化

21383 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉