色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

UART通信協(xié)議介紹和數(shù)據(jù)傳輸工作流程

FPGA研究院 ? 來(lái)源:FPGA技術(shù)實(shí)戰(zhàn) ? 2024-10-24 14:20 ? 次閱讀

引言:UART是一種通用串行數(shù)據(jù)總線,用于異步通信。該總線雙向通信,可實(shí)現(xiàn)全雙工傳輸和接收。UART通常用來(lái)實(shí)現(xiàn)與PC之間數(shù)據(jù)通信,命令和控制信息的傳輸?shù)取1疚奈覀兘榻BUART通信協(xié)議、傳輸時(shí)序及如何利用HDL編程實(shí)現(xiàn)FPGA與PC通信。

1.異步串行通信的理解

首先需要介紹幾個(gè)概念。

通信協(xié)議:指雙方實(shí)體完成通信或服務(wù)所必須遵循的規(guī)則和約定。交流什么、怎樣交流及何時(shí)交流,都必須遵循某種互相都能接受的規(guī)則。這個(gè)規(guī)則就是通信協(xié)議。

串行通信:是指通信雙方按位進(jìn)行,遵守時(shí)序的一種通信方式。串行通信中,將數(shù)據(jù)按位依次傳輸,每位數(shù)據(jù)占據(jù)固定的時(shí)間長(zhǎng)度,即可使用少數(shù)幾條通信線路就可以完成系統(tǒng)間交換信息,特別適用于計(jì)算機(jī)與計(jì)算機(jī)、計(jì)算機(jī)與外設(shè)之間的遠(yuǎn)距離通信。

異步通信:它是對(duì)于同步通信來(lái)說(shuō)的,異步通信在發(fā)送字符時(shí),所發(fā)送的字符之間的時(shí)隙可以是任意的,當(dāng)然,接收端必須時(shí)刻做好接收的準(zhǔn)備(如果接收端主機(jī)的電源都沒(méi)有加上,那么發(fā)送端發(fā)送字符就沒(méi)有意義,因?yàn)榻邮斩烁緹o(wú)法接收)。發(fā)送端可以在任意時(shí)刻開始發(fā)送字符,因此必須在每一個(gè)字符的開始和結(jié)束的地方加上標(biāo)志,即加上開始位和停止位,以便使接收端能夠正確地將每一個(gè)字符接收下來(lái)。

2.UART通信協(xié)議介紹

UART使用的是異步串行通信機(jī)制,其數(shù)據(jù)傳輸協(xié)議格式如下圖所示。

wKgaomcZ50CAYI-NAAE4rJC_jSo997.jpg

圖1:UART數(shù)據(jù)傳輸協(xié)議格式

其中各位的含義如下:

起始位:先發(fā)出一個(gè)邏輯”0”信號(hào),表示傳輸字符的開始。

數(shù)據(jù)位:可以是5~8位邏輯”0”或”1”。如ASCII碼(7位),擴(kuò)展BCD碼(8位)。

校驗(yàn)位:數(shù)據(jù)位加上這一位后,使得“1”的位數(shù)應(yīng)為偶數(shù)(偶校驗(yàn))或奇數(shù)(奇校驗(yàn));數(shù)據(jù)的奇偶校驗(yàn)位是可以選擇的,如果不使用奇偶,那么就沒(méi)有這個(gè)數(shù)據(jù)位。

停止位:它是一個(gè)數(shù)據(jù)字段的結(jié)束標(biāo)志。可以是1位、1.5位、2位的高電平。

空閑位:處于邏輯“1”狀態(tài),表示當(dāng)前線路上沒(méi)有數(shù)據(jù)信息傳輸。

UART數(shù)據(jù)傳輸協(xié)議格式,通常需要在收發(fā)設(shè)備提前定義好,如傳輸數(shù)據(jù)的位數(shù)、是否需要校驗(yàn)位、停止位。另外還一個(gè)重要的參數(shù)就是數(shù)據(jù)傳輸?shù)牟ㄌ芈省?/p>

wKgZomcZ50CAeth4AACEZMcmtg0953.jpg

圖2:常見標(biāo)準(zhǔn)波特率

UART數(shù)據(jù)傳輸?shù)乃俣韧ǔS貌ㄌ芈蕘?lái)衡量。在一次串口通信過(guò)程中,數(shù)據(jù)接收與發(fā)送雙方?jīng)]有共享時(shí)鐘,因此,雙方必須協(xié)商好數(shù)據(jù)傳輸波特率。根據(jù)雙方協(xié)議好的傳輸速率,相鄰bit的時(shí)間間隔就會(huì)固定下來(lái),接收端即可對(duì)發(fā)送端的數(shù)據(jù)進(jìn)行采樣。

標(biāo)準(zhǔn)波特率:包括2400bps、4800bps、9600bps、19200bps、38400bps、57600bps、115200bps等。當(dāng)然更塊的速度意味著對(duì)采樣的要求更高,有可能誤碼率會(huì)逐漸提高。

3.數(shù)據(jù)傳輸工作流程

本文設(shè)定傳輸協(xié)議為:1位起始位+8位數(shù)據(jù)位+1位結(jié)束位,無(wú)奇偶校驗(yàn)位,傳輸波特率為9600bps。

(1)發(fā)送端按照預(yù)先設(shè)定好的傳輸協(xié)議及波特率,發(fā)送端依次發(fā)送:

1bit數(shù)據(jù)起始位+8bit數(shù)據(jù)位+1bit停止位

其中,起始位為邏輯 0(低電平) ,結(jié)束位為邏輯 1(高電平) ,發(fā)送端在空閑狀態(tài)為 1 。

(2)接收端:接收端通過(guò)檢測(cè)電平“1”(空閑狀態(tài))到“0”(起始位)的跳變來(lái)確定一個(gè)數(shù)據(jù)包的開始。確定開始位接收完成之后,依次接收數(shù)據(jù)使用更高的采樣時(shí)鐘,完成數(shù)據(jù)采集。接收完數(shù)據(jù)位后,繼續(xù)接收停止位。

4.硬件介紹

硬件上采用USB轉(zhuǎn)RS232芯片CP2104實(shí)現(xiàn)PC與FPGA之間通信。電路中設(shè)計(jì)了一片ESD靜電防護(hù)芯片RCLAMP0522P,與轉(zhuǎn)換芯片CP2104一起,可以防止靜電浪涌燒毀FPGA芯片,起到隔離保護(hù)作用。

wKgaomcZ50CAJvZ1AAHNxuGyWqM095.jpg

圖3:USB轉(zhuǎn)RS232電路圖

5.軟件設(shè)計(jì)

軟件設(shè)計(jì)劃分為接收模塊uart_rx.v和uart_tx.v兩個(gè)模塊,頂層模塊uart_driver.v互聯(lián)兩個(gè)模塊,如下圖所示。
wKgZomcZ50CAalj5AABjrHCqzcU919.jpg

圖4:軟件模塊劃分

UART數(shù)據(jù)傳輸主要包括兩個(gè)部分:

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

數(shù)據(jù)傳輸設(shè)計(jì),包括接收與發(fā)送。

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

板載 FPGA 輸入時(shí)鐘 100Mhz,為得到常用的波特率,采用計(jì)數(shù)分頻來(lái)得到。BAUD_DIV=100000000/ 波特率。其中采樣中心點(diǎn)為發(fā)送或接收時(shí)鐘的中心點(diǎn),即 BAUD_DIV_CAP= 100000000/(2*波特率) 。

(2)數(shù)據(jù)傳輸設(shè)計(jì)

數(shù)據(jù)接收模塊:在設(shè)置好傳輸波特率9600bps下,根據(jù)串口傳輸時(shí)序,進(jìn)行解串(串并轉(zhuǎn)換)。空閑狀態(tài)時(shí),接收數(shù)據(jù)為邏輯高電平,等待起始位邏輯低電平的到來(lái)。當(dāng)起始位到達(dá)后,由低位到高位,依次采集8位數(shù)據(jù),并進(jìn)行相應(yīng)的解串,存入臨時(shí)寄存器。接收有效數(shù)據(jù)完成后,判斷結(jié)束位,接收完畢。

數(shù)據(jù)發(fā)送模塊:設(shè)置發(fā)送使能信號(hào)和待發(fā)送的數(shù)據(jù)。通過(guò)計(jì)數(shù)器,表示10 個(gè)數(shù)據(jù)發(fā)送的周期。這 10 個(gè)數(shù)據(jù),依次為:1位起始位+8 位數(shù)據(jù)位 +1 位結(jié)束位,實(shí)現(xiàn)數(shù)據(jù)位的逐個(gè)發(fā)送。本設(shè)計(jì)中,采用PC機(jī)的串口調(diào)試助手,發(fā)送數(shù)據(jù)位至FPGA。FPGA 接收到數(shù)據(jù)位之后,立即回傳至 PC 機(jī)。

6.軟件功能仿真與測(cè)試

編寫testbench仿真文件,利用Vivado自帶仿真器對(duì)軟件代碼進(jìn)行功能仿真,仿真結(jié)果如下圖所示。

wKgZomcZ50CAeawmAADvPBkd_Fw217.jpg

圖5:UART串行通信仿真

圖中①處,仿真UART接收串口信號(hào)uart_rx_i輸入數(shù)據(jù)8'b10101001baud_bps在每個(gè)bit位寬中間時(shí)刻采樣,bit_num計(jì)數(shù)接收到的數(shù)據(jù)bit個(gè)數(shù),數(shù)據(jù)按照LSB端接收;

圖中②處完成8bit數(shù)據(jù)位接收后,產(chǎn)生接收完畢信號(hào)uart_rx_done;

來(lái)源: 本文轉(zhuǎn)載自FPGA技術(shù)實(shí)戰(zhàn)公眾號(hào)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 通信協(xié)議
    +關(guān)注

    關(guān)注

    28

    文章

    909

    瀏覽量

    40367
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1243

    瀏覽量

    101604
  • 串口通信
    +關(guān)注

    關(guān)注

    34

    文章

    1627

    瀏覽量

    55644
  • 異步串行通信
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    8447

原文標(biāo)題:FPGA入門基礎(chǔ)之UART串口通信設(shè)計(jì)

文章出處:【微信號(hào):FPGA研究院,微信公眾號(hào):FPGA研究院】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    UART通信協(xié)議

    位、波特率等均可以在COM接口中設(shè)置。也可以在代碼中對(duì)UART寄存器的各位進(jìn)行設(shè)置,UART寄存器的各位所代表的含義如下:下面通過(guò)幾個(gè)小程序,了解UART通信協(xié)議進(jìn)行
    發(fā)表于 01-31 10:43

    SPI總線工作原理/數(shù)據(jù)傳輸步驟/優(yōu)缺點(diǎn)

    共享時(shí)鐘信號(hào)的任何通信協(xié)議稱為同步。SPI是一種同步通信協(xié)議,還有一些不使用時(shí)鐘信號(hào)的異步方法。例如,在UART通信中,雙方都設(shè)置為預(yù)先配置的波特率,該波特率決定
    發(fā)表于 12-09 14:18

    UART通信協(xié)議是什么

      UART作為異步串口通信協(xié)議的一種,工作原理是將傳輸數(shù)據(jù)的每一個(gè)字符一位一位地傳輸。其中每一
    發(fā)表于 02-23 16:54

    STM32簡(jiǎn)單數(shù)據(jù)傳輸方法與通信協(xié)議(適合串口和一般總線)精選資料分享

    傳感器通過(guò)RS485總線或者CAN總線的方式達(dá)到數(shù)據(jù)傳輸的目的等等,這些數(shù)據(jù)傳輸往往需要合適穩(wěn)定的總線和靈活的通信協(xié)議,我發(fā)現(xiàn)無(wú)論什么數(shù)據(jù)傳輸,原理大同小異,這里簡(jiǎn)單以stm32的幾種
    發(fā)表于 08-23 07:16

    UART協(xié)議數(shù)據(jù)傳輸格式是怎樣的

    什么是UART協(xié)議UART工作原理是什么?UART協(xié)議
    發(fā)表于 11-02 08:14

    UART的原理與數(shù)據(jù)傳輸流程

    目錄1Uart原理1.1簡(jiǎn)介1.2數(shù)據(jù)傳輸流程2、S3C2440的UART2.1特性2.2寄存器設(shè)置1)UART通道管腳設(shè)為
    發(fā)表于 12-16 07:03

    以太網(wǎng)數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)與應(yīng)用介紹

    工作流程,并最終完成了對(duì)系統(tǒng)的功能驗(yàn)證,、經(jīng)驗(yàn)證,系統(tǒng)穩(wěn)定實(shí)現(xiàn)了與上位機(jī)之間的數(shù)據(jù)傳輸,現(xiàn)代數(shù)據(jù)采集領(lǐng)域中,越來(lái)越多的現(xiàn)場(chǎng)采集設(shè)備需要擴(kuò)展網(wǎng)絡(luò)功能以實(shí)現(xiàn)遠(yuǎn)程控制和數(shù)據(jù)傳輸。以太網(wǎng)以其成
    發(fā)表于 11-16 15:00 ?15次下載
    以太網(wǎng)<b class='flag-5'>數(shù)據(jù)傳輸</b>系統(tǒng)的設(shè)計(jì)與應(yīng)用<b class='flag-5'>介紹</b>

    tcp_ip 協(xié)議講座:介紹數(shù)據(jù)傳輸

    介紹了tcp協(xié)議數(shù)據(jù)傳輸的問(wèn)題(交互式數(shù)據(jù)傳輸,批量數(shù)據(jù)傳輸,流量控制,擁塞避免)
    的頭像 發(fā)表于 07-03 11:05 ?3468次閱讀
    tcp_ip <b class='flag-5'>協(xié)議</b>講座:<b class='flag-5'>介紹</b><b class='flag-5'>數(shù)據(jù)傳輸</b>

    【世說(shuō)知識(shí)】一文搞懂UART通信協(xié)議

    雙向通信中,我們使用兩根導(dǎo)線來(lái)進(jìn)行連續(xù)的串行數(shù)據(jù)傳輸。根據(jù)應(yīng)用和系統(tǒng)要求,串行通信需要的電路和導(dǎo)線較少,可降低實(shí)現(xiàn)成本。本文將UART用作硬件通信協(xié)
    的頭像 發(fā)表于 02-02 10:46 ?2260次閱讀
    【世說(shuō)知識(shí)】一文搞懂<b class='flag-5'>UART</b><b class='flag-5'>通信協(xié)議</b>

    物聯(lián)網(wǎng)應(yīng)用場(chǎng)景中常見的通信協(xié)議

    物聯(lián)網(wǎng)協(xié)議是指在物聯(lián)網(wǎng)環(huán)境中用于設(shè)備間通信和數(shù)據(jù)傳輸協(xié)議。根據(jù)不同的作用,物聯(lián)網(wǎng)協(xié)議可分為傳輸
    的頭像 發(fā)表于 09-11 17:18 ?1445次閱讀
    物聯(lián)網(wǎng)應(yīng)用場(chǎng)景中常見的<b class='flag-5'>通信協(xié)議</b>

    DTU的多種協(xié)議,解鎖數(shù)據(jù)傳輸的無(wú)限可能

    。本文將詳細(xì)介紹DTU的多種協(xié)議,看看它們?nèi)绾螏椭覀兏玫赝瓿?b class='flag-5'>數(shù)據(jù)傳輸工作。1.Modbus協(xié)議:這是一種常用于工業(yè)領(lǐng)域的
    的頭像 發(fā)表于 03-01 11:00 ?880次閱讀
    DTU的多種<b class='flag-5'>協(xié)議</b>,解鎖<b class='flag-5'>數(shù)據(jù)傳輸</b>的無(wú)限可能

    UART串口通信協(xié)議是什么?

    ,廣泛應(yīng)用于嵌入式領(lǐng)域。 在UART串口通信協(xié)議中,數(shù)據(jù)以字節(jié)的形式進(jìn)行傳輸。發(fā)送和接收端的通信流程
    的頭像 發(fā)表于 03-19 17:26 ?1493次閱讀

    簡(jiǎn)單認(rèn)識(shí)UART通信協(xié)議

    模塊等多種設(shè)備之間的數(shù)據(jù)傳輸。以下是對(duì)UART通訊協(xié)議的詳細(xì)簡(jiǎn)述,內(nèi)容將涵蓋其基本原理、工作方式、配置參數(shù)、常見應(yīng)用以及與其他通信協(xié)議的比較
    的頭像 發(fā)表于 07-25 18:07 ?1524次閱讀

    UART協(xié)議工作原理和應(yīng)用場(chǎng)景

    UART(Universal Asynchronous Receiver/Transmitter,通用異步收發(fā)傳輸器)協(xié)議是一種廣泛使用的串行通信協(xié)議,它允許計(jì)算機(jī)與外部設(shè)備之間通過(guò)串
    的頭像 發(fā)表于 08-25 17:15 ?3592次閱讀

    MPU數(shù)據(jù)傳輸協(xié)議詳解

    協(xié)議的基本概念 數(shù)據(jù)傳輸協(xié)議定義了數(shù)據(jù)在MPU和外部設(shè)備之間傳輸的方式,包括數(shù)據(jù)的格式、同步方式
    的頭像 發(fā)表于 01-08 09:37 ?131次閱讀
    主站蜘蛛池模板: 免费光看午夜请高视频| 天天干夜夜叭| 久久伊人精品青青草原2021| 久久艹综合| 久久中文骚妇内射| 麻豆精品2021最新| 欧美嫩freexxxhddvd| 日本熟妇乱妇熟色A片蜜桃| 日韩av无码在线直播| 四虎永久在线精品免费A| 亚洲 色 欧美 爱 视频 日韩| 亚洲欧美日韩中字视频三区| 中文在线无码高潮潮喷在线| 99免费在线观看| 公交车被CAO到合不拢腿| 国产色婷婷亚洲99精品| 九九久久国产精品大片| 美女洗澡脱得一二干净| 强奷表妺好紧2| 无码欧美喷潮福利XXXX| 亚洲一卡二卡三卡四卡2021麻豆| 再插深点嗯好大好爽| 99热久久视频只有精品6国产| 成人小视频免费在线观看| 国产精品一久久香蕉国产线看| 国内精品久久久久影院老司| 久久综合电影| 欧美日韩精品| 午夜伦理网| 在线视频免费国产成人| 差差差差差差差差免费观看| 国产免费啪嗒啪嗒视频看看| 久久精品国产亚洲AV影院| 麒麟色欧美影院在线播放| 香蕉久久夜色精品国产小优| 在线免费国产| 东日韩二三区| 久久国产乱子伦精品免费不卡| 欧美三级不卡在线观线看| 迅雷成人论坛| 97caopeng|