www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]異步串行通信要求的傳輸線少,可靠性高,傳輸距離遠(yuǎn),被廣泛應(yīng)用于微機(jī)和外設(shè)的數(shù)據(jù)交換。

    異步串行通信要求的傳輸線少,可靠性高,傳輸距離遠(yuǎn),被廣泛應(yīng)用于微機(jī)和外設(shè)的數(shù)據(jù)交換。實(shí)現(xiàn)串口通信主要需要完成兩部分工作:

  將串口電平轉(zhuǎn)換為設(shè)備電路板的工作電平,即實(shí)現(xiàn)RS-232電平和TTL/CMOS電平的轉(zhuǎn)換;

  接收并且檢驗(yàn)串行的數(shù)據(jù),將數(shù)據(jù)變成并行的并提供給處理器處理。

  實(shí)現(xiàn)RS-232電平和TTL/CMOS電平轉(zhuǎn)換可以用接口芯片來實(shí)現(xiàn),實(shí)現(xiàn)數(shù)據(jù)的串行到并行轉(zhuǎn)換用的是UART,它們是實(shí)現(xiàn)串行通信必不可少的兩個(gè)部分。雖然目前大部分處理器芯片中都集成了UART,但是一般FPGA芯片卻沒有這個(gè)特點(diǎn),所以使用FPGA作為處理器可以有兩個(gè)選擇,第一個(gè)選擇是使用UART芯片進(jìn)行串并轉(zhuǎn)換,第二個(gè)選擇是在FPGA內(nèi)部實(shí)現(xiàn)UART功能。但所有的UART芯片都存在引腳較多、體積較大、與其他器件的接口較為復(fù)雜等缺點(diǎn),從而會(huì)使設(shè)計(jì)的成本和難度增加。因此可以將需要的UART功能集成到FPGA內(nèi)部,而利用VHDL語言將UART的核心功能集成,不僅解決傳統(tǒng)芯片的缺點(diǎn),也使整個(gè)設(shè)計(jì)更加緊湊、穩(wěn)定且可靠。

  1、UART實(shí)現(xiàn)原理

  UART主要有UART內(nèi)核、信號(hào)監(jiān)測器、移位寄存

器、波特率發(fā)生器、計(jì)數(shù)器、總線選擇器和奇偶校驗(yàn)器總共7個(gè)模塊組成,如圖一所示。

UART實(shí)現(xiàn)原理圖

  UART各個(gè)模塊的功能如下:

 ?。?)UART內(nèi)核模塊

  UART內(nèi)核模塊是整個(gè)設(shè)計(jì)的核心。在數(shù)據(jù)接收時(shí),UART內(nèi)核模塊負(fù)責(zé)控制波特率發(fā)生器和移位寄存器,使得移位寄存器在波特率始終的驅(qū)動(dòng)下同步的接收并且保存RS-232接收端口上的串行數(shù)據(jù)。在數(shù)據(jù)發(fā)送時(shí),UART內(nèi)核模塊首先根據(jù)待發(fā)送的數(shù)據(jù)和奇偶校驗(yàn)位的設(shè)置產(chǎn)生完整的發(fā)送序列(包括起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位),之后控制移位寄存器將序列加在到移位寄存器的內(nèi)部寄存器里,最后再控制波特率發(fā)生器驅(qū)動(dòng)移位寄存器將數(shù)據(jù)串行輸出。

  (2)信號(hào)監(jiān)督器模塊

  信號(hào)檢測器用于對RS-232的輸入信號(hào)進(jìn)行實(shí)時(shí)檢測,一旦發(fā)現(xiàn)新的數(shù)據(jù)則立即通知UART內(nèi)核。

 ?。?)移位寄存器模塊

  移位寄存器的作用是存儲(chǔ)輸入或者輸出的數(shù)據(jù)。當(dāng)UART接受RS-232輸入時(shí),移位寄存器在波特率模式下采集RS-232輸入信號(hào),并且保存結(jié)果;當(dāng)UART進(jìn)行RS-232輸出時(shí),UART內(nèi)核首先將數(shù)據(jù)加載到移位寄存器內(nèi),再使移位寄存器在波特率模式下將數(shù)據(jù)輸出到RS-232輸出端口上。

  (4)波特率發(fā)生器模塊

  由于RS-232傳輸必定是工作在某種波特率下,比如9600,為了便于和RS-232總線進(jìn)行同步,需要產(chǎn)生符合RS-232傳輸波特率的時(shí)鐘,這就是波特率發(fā)生器的功能。

  (5)奇偶檢驗(yàn)器模塊

  奇偶校驗(yàn)器模塊是根據(jù)奇偶校驗(yàn)的設(shè)置和輸入數(shù)據(jù)計(jì)算出相應(yīng)的奇偶校驗(yàn)位,它是通過純組合邏輯實(shí)現(xiàn)的。

 ?。?)總線選擇模塊

  總線選擇模塊用于選擇奇偶校驗(yàn)器的輸入是數(shù)據(jù)發(fā)送總線還是數(shù)據(jù)接收總線。在接收數(shù)據(jù)時(shí),總線選擇模塊將數(shù)據(jù)接收總線連接到奇偶校驗(yàn)器的輸入端,來檢查已接收數(shù)據(jù)的奇偶校驗(yàn)位是否正確;而在發(fā)送數(shù)據(jù)時(shí),總線選擇模塊將數(shù)據(jù)發(fā)送總線連接到奇偶檢驗(yàn)器的輸入端,UART內(nèi)核模塊就能夠獲取并且保存待發(fā)送序列所需的奇偶校驗(yàn)位了。

 ?。?)計(jì)數(shù)器模塊

  計(jì)數(shù)器模塊的功能是記錄串行數(shù)據(jù)發(fā)送或者接收的數(shù)目,在計(jì)數(shù)到某數(shù)值時(shí)通知UART內(nèi)核模塊。

  2、UART工作流程

  UART的工作流程可以分為接收過程和發(fā)送過程兩部分。

  接收過程指的是UART監(jiān)測到RS-232總線上的數(shù)據(jù),順序讀取串行數(shù)據(jù)并且將其輸出給CPU的過程。當(dāng)信號(hào)監(jiān)測器監(jiān)測到新的數(shù)據(jù)(RS-232輸入邏輯變?yōu)?,即RS-232傳輸協(xié)議的起始位)就會(huì)觸發(fā)接收過程,其流程圖如圖二所示。首先UART內(nèi)核會(huì)重置波特率發(fā)生器和移位寄存器,并且設(shè)置移位寄存器的工作模式為波特率模式,以準(zhǔn)備接收數(shù)據(jù)。其次,移位寄存器在波特率始終的驅(qū)動(dòng)下工作,不斷讀取RS-232串行總線的輸入數(shù)據(jù),并且將數(shù)據(jù)保存在內(nèi)部的寄存器內(nèi)。接收完成后,UART內(nèi)核會(huì)對已接收的數(shù)據(jù)進(jìn)行奇偶檢驗(yàn)并且輸出校驗(yàn)結(jié)果。最后,UART內(nèi)核會(huì)重置信號(hào)監(jiān)測器,以準(zhǔn)備進(jìn)行下一次數(shù)據(jù)接收。

UART接收數(shù)據(jù)流程圖

  發(fā)送過程由加載和發(fā)送兩個(gè)步驟組成,如圖三所示。加載步驟是UART內(nèi)核按RS-232串行發(fā)送的順序?qū)⑵鹗嘉?、?shù)據(jù)位、奇偶校驗(yàn)位和停止位加載到移位寄存器內(nèi),這個(gè)過程工作在系統(tǒng)時(shí)鐘下,相對于RS-232的傳輸速度來說非常快。完成加載步驟后,UART內(nèi)核會(huì)重置波特率發(fā)生器,并且設(shè)置移位寄存器工作在波特率模式下,于是移位寄存器便在波特率時(shí)鐘的驅(qū)動(dòng)下依次將加載的數(shù)據(jù)發(fā)送到RS-232的發(fā)送端TxD,這樣便產(chǎn)生了RS-232的數(shù)據(jù)發(fā)送時(shí)序。

UART發(fā)送數(shù)據(jù)流程圖

   3、UART各個(gè)模塊的實(shí)現(xiàn)

  除UART內(nèi)核模塊以外,其他模塊都較為簡單,用于實(shí)現(xiàn)某一具體功能?,F(xiàn)在重點(diǎn)對UART內(nèi)核模塊的實(shí)現(xiàn)做出介紹。

  UART內(nèi)核模塊的功能是控制數(shù)據(jù)接收、數(shù)據(jù)加載和數(shù)據(jù)發(fā)送的過程,這可以用狀態(tài)機(jī)來實(shí)現(xiàn)。下面就按接收和發(fā)送的過程來介紹UART內(nèi)核模塊狀態(tài)機(jī)的實(shí)現(xiàn)。

  (1)數(shù)據(jù)接收過程

  數(shù)據(jù)接收過程的流程圖如圖二所示,可以定義3個(gè)狀態(tài)——空閑、接收和接收完成,其中狀態(tài)變換圖如圖四所示。

狀態(tài)變換圖

  (2)數(shù)據(jù)加載和發(fā)送過程

  數(shù)據(jù)加載和發(fā)送過程都是為了發(fā)送數(shù)據(jù)而設(shè)定的,所以將它們放在一起進(jìn)行介紹??梢杂?個(gè)狀態(tài)來實(shí)現(xiàn)上述的過程,即空閑、加載、發(fā)送和發(fā)送完成,其中的空閑狀態(tài)就是UART內(nèi)核復(fù)位后的空閑狀態(tài),和上面介紹的數(shù)據(jù)接收過程的空閑狀態(tài)一致。

  數(shù)據(jù)加載和發(fā)送過程的狀態(tài)轉(zhuǎn)換圖如圖五所示。

數(shù)據(jù)加載和發(fā)送過程的狀態(tài)轉(zhuǎn)換圖

  4、仿真結(jié)果

  在波特率為9600情況下對UART進(jìn)行仿真,結(jié)果穩(wěn)定可靠。該設(shè)計(jì)具有很好的可讀性和靈活性,具有很好的參考價(jià)值。

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

為增進(jìn)大家對控制器的認(rèn)識(shí),本文將對影響控制器可靠性的因素以及控制器的常見故障和維修方法予以介紹。

關(guān)鍵字: 控制器 指數(shù) 集成電路

為增進(jìn)大家對控制器的認(rèn)識(shí),本文將對溫度控制器的分類以及溫度控制器的功能予以介紹。

關(guān)鍵字: 溫度控制器 指數(shù) 控制器

為增進(jìn)大家對控制器的認(rèn)識(shí),本文將對控制器結(jié)構(gòu)類異常以及常見的幾種電機(jī)控制器予以介紹。

關(guān)鍵字: 控制器 指數(shù) 電機(jī)

最近為什么越來越多的研究開始利用FPGA作為CNN加速器?FPGA與CNN的相遇究竟能帶來什么神奇效果呢?原來,F(xiàn)PGA擁有大量的可編程邏輯資源,相對于GPU,它的可重構(gòu)性以及高功耗能效比的優(yōu)點(diǎn),是GPU無法比擬的;同時(shí)...

關(guān)鍵字: FPGA 可編程邏輯資源 GPU

FPGA的應(yīng)用領(lǐng)域包羅萬象,我們今天來看看在音樂科技領(lǐng)域及醫(yī)療照護(hù)的智能巧思。

關(guān)鍵字: FPGA 科技領(lǐng)域 智能

強(qiáng)大的產(chǎn)品可降低信號(hào)噪音并提高分辨率與動(dòng)態(tài)

關(guān)鍵字: Spectrum儀器 數(shù)字化儀 FPGA

最近某項(xiàng)目采用以太網(wǎng)通信,實(shí)踐起來有些奇怪,好像設(shè)計(jì)成只能應(yīng)答某類計(jì)算機(jī)的ICMP(ping)命令, 某類計(jì)算機(jī)指的是Windows特定系統(tǒng),其他系統(tǒng)發(fā)送ping都不能正確識(shí)別。

關(guān)鍵字: 嵌入式Linux FPGA 協(xié)議

近兩年,國外廠商的FPGA芯片價(jià)格飆升,由于價(jià)格,貨期,出口管制等多方面因素的影響,很多公司都在尋找FPGA國產(chǎn)化替代方案。我工作中正在使用的幾款芯片也面臨停產(chǎn)的風(fēng)險(xiǎn),用一片少一片,了解到國產(chǎn)FPGA發(fā)展的也不錯(cuò),完全自...

關(guān)鍵字: FPGA 芯片 EDA

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

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

一直以來,MCU微控制器都是大家的關(guān)注焦點(diǎn)之一。因此針對大家的興趣點(diǎn)所在,小編將為大家?guī)鞰CU微控制器的相關(guān)介紹,詳細(xì)內(nèi)容請看下文。

關(guān)鍵字: MCU 微控制器 控制器

電子設(shè)計(jì)自動(dòng)化

21193 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉