国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

嵌入式 - UART介紹

這篇具有很好參考價(jià)值的文章主要介紹了嵌入式 - UART介紹。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

概述

嵌入式系統(tǒng)經(jīng)常需要集成電路之間的通信。舉個(gè)例子,一個(gè)數(shù)字溫度傳感器向主控芯片報(bào)告房間的環(huán)境溫度。通常情況,這種數(shù)據(jù)會(huì)通過一個(gè)串行接口來傳輸。

那么,什么是串行接口? 在最基本的角度來說,串行接口是一個(gè)移位寄存器,每次將數(shù)據(jù)移入/移出一個(gè)比特。 下面的插圖顯示了移位寄存器的數(shù)據(jù)先通過并行方式加載,比如內(nèi)存拷貝。在并行加載完成后,數(shù)據(jù)被逐位移出,從最小有效位開始。

嵌入式 - UART介紹

那么,為什么我們要使用一個(gè)串行接口而不是并行接口呢? 如果我們想用并行接口傳輸一個(gè)32位的值,我們需要在微處理器上至少有32個(gè)引腳。并行總線的速度非??欤鼈冃枰罅康耐獠恳_,只為此單獨(dú)接口使用的引腳。在設(shè)備上添加額外的引腳會(huì)增加微處理器的材料成本和物理尺寸。

使用串行接口的動(dòng)機(jī)是,一個(gè)串行接口只由幾個(gè)引腳組成。 使用少量的引腳,我們可以傳輸任何大小的數(shù)據(jù)。 如果我們需要的數(shù)據(jù)是32位而不是8位,我們只需要增加時(shí)鐘周期。 減少引腳的數(shù)量也使印刷電路板(PCB/printed circuit board)的開發(fā)變得更加容易,因?yàn)樾枰谠O(shè)備之間布線的引腳少得多。

我們在這里要研究的串行接口被稱為UART。 術(shù)語UART是指通用異步接收/發(fā)送器(Universal Asynchronous Receiver/Transmitter)。 UART通常用于與沒有圖形顯示功能的設(shè)備連接。 UART可以向終端程序提供輸入/輸出功能,使用戶能夠監(jiān)控狀態(tài)并提供輸入功能。

UART基本構(gòu)造(Infrastructure)

  • 需要的引腳(Pin)

UART接口由兩個(gè)引腳組成:Rx和Tx引腳。 Rx引腳用于接收數(shù)據(jù)。 Tx引腳用于傳輸數(shù)據(jù)。 當(dāng)兩個(gè)設(shè)備使用UART連接時(shí),一個(gè)設(shè)備的Rx引腳與第二個(gè)設(shè)備的Tx引腳相連。

嵌入式 - UART介紹

  • 通用寄存器(Common Registers)

Rx和Tx引腳通常連接到獨(dú)立的移位寄存器(一個(gè)用于移出數(shù)據(jù),一個(gè)用于移入數(shù)據(jù))。 兩個(gè)獨(dú)立的移位寄存器允許UART在同一時(shí)間發(fā)送和接收數(shù)據(jù)。

除了移位寄存器外,還有一個(gè)或多個(gè)狀態(tài)寄存器。 軟件通過檢查狀態(tài)寄存器來確定發(fā)送移位寄存器何時(shí)為空。 當(dāng)發(fā)送寄存器為空時(shí),下一個(gè)字節(jié)的數(shù)據(jù)可以被加載到發(fā)送移位寄存器中。 狀態(tài)寄存器也會(huì)有一個(gè)狀態(tài)位,指示何時(shí)收到新的數(shù)據(jù)字節(jié)。 另一方面,軟件可以讀取接收寄存器,并觸發(fā)刪除數(shù)據(jù)操作,并允許下一字節(jié)的數(shù)據(jù)被移入。

UART可以有額外的寄存器,允許軟件對UART的行為進(jìn)行配置。? 通過軟件可以設(shè)置接收發(fā)送數(shù)據(jù)的速率,還有所傳輸數(shù)據(jù)的格式。比如設(shè)置傳輸速度的波特率,每字節(jié)數(shù)據(jù)是否包含校驗(yàn)位。

數(shù)據(jù)包結(jié)構(gòu)(Packet Structure)

UART的關(guān)鍵特征之一是其名稱中的 "A"。 A "代表異步的意思。 UART在本質(zhì)上是異步的,因?yàn)樵O(shè)備之間沒有共享的時(shí)鐘。 相反,兩個(gè)設(shè)備必須就正在發(fā)送的數(shù)據(jù)的結(jié)構(gòu)和數(shù)據(jù)的發(fā)送速度達(dá)成一致。 這種協(xié)議允許UART接口對數(shù)據(jù)線進(jìn)行過度采樣(over sample),并將原始數(shù)據(jù)重新構(gòu)建為一個(gè)數(shù)據(jù)包。 我們將研究構(gòu)成UART數(shù)據(jù)包的三個(gè)特性。

  • 數(shù)據(jù)速率(Data Rate)

為了在兩個(gè)UART之間正確發(fā)送數(shù)據(jù),兩個(gè)UART必須被配置為以相同的數(shù)據(jù)速率接收和發(fā)送數(shù)據(jù)。 這通常被稱為UART的波特率(baud rate)。 通過設(shè)置相同的波特率,UART的內(nèi)部狀態(tài)機(jī)可以設(shè)置移位寄存器工作的合適速率。 常見的數(shù)據(jù)速率包括9600和115200波特,但一些UART支持更高的數(shù)據(jù)速率,可達(dá)幾兆比特/秒。比如使用CC2564c的藍(lán)牙芯片,上面的UART,帶硬件流控的,設(shè)置的波特率可達(dá)3Mbit/s。

  • 奇偶校驗(yàn)(Parity)

在某些情況下,數(shù)據(jù)包可能包含一個(gè)奇偶校驗(yàn)位。 奇偶校驗(yàn)位被接收設(shè)備用來確定在傳輸過程中是否發(fā)生了任何數(shù)據(jù)損壞。 如果一個(gè)數(shù)據(jù)包被配置為偶數(shù)奇偶校驗(yàn),包括奇偶校驗(yàn)位在內(nèi)的1的總數(shù)應(yīng)該是偶數(shù)。??如果一個(gè)數(shù)據(jù)包被配置為奇數(shù)奇偶校驗(yàn),那么包括奇偶校驗(yàn)位在內(nèi)的1的總數(shù)應(yīng)該是一個(gè)奇數(shù)。

  • 數(shù)據(jù)幀(Data Framing)

為了使微處理器能夠檢測到數(shù)據(jù)開始發(fā)送,我們需要定義沒有數(shù)據(jù)被發(fā)送時(shí),Rx/Tx線的行為。 在大多數(shù)情況下,當(dāng)沒有數(shù)據(jù)被發(fā)送時(shí),Rx/Tx線都將被驅(qū)動(dòng)為高電平。 當(dāng)一個(gè)設(shè)備發(fā)送數(shù)據(jù)時(shí),發(fā)送過程的開始是一個(gè)起始位(start bit)。 UART將拉低Tx線使之處于低電平,持續(xù)時(shí)間是一個(gè)時(shí)鐘周期,根據(jù)數(shù)據(jù)傳輸速率而定的時(shí)鐘周期,表明數(shù)據(jù)的傳輸即將開始。

在起始位之后,數(shù)據(jù)根據(jù)定義好的數(shù)據(jù)傳輸速率逐位移出(shifted out),直到所有的數(shù)據(jù)傳輸完畢。 UARTs首先傳輸數(shù)據(jù)的最小有效位。 一旦所有數(shù)據(jù)傳輸完畢,就會(huì)發(fā)送奇偶校驗(yàn)位(此位可選,兩邊設(shè)備的配置一樣即可),然后是停止位。 UART通過拉高Tx線,保持高電平達(dá)1個(gè)周期來產(chǎn)生一個(gè)停止位,這個(gè)周期根據(jù)數(shù)據(jù)傳輸速率而定。許多UART可以被配置為產(chǎn)生1或2個(gè)停止位。

下圖展示了如何使用偶數(shù)和奇數(shù)奇偶校驗(yàn)來傳輸數(shù)值0x71。

嵌入式 - UART介紹

發(fā)送的數(shù)據(jù)如果沒有起始位或停止位,就會(huì)出現(xiàn)成幀錯(cuò)誤。 UART可能會(huì)簡單地丟棄這些數(shù)據(jù),或者更有可能通過在狀態(tài)寄存器中設(shè)置一個(gè)狀態(tài)位來顯示一個(gè)錯(cuò)誤情況。 在大多數(shù)情況下,如果有大量的電磁干擾使傳輸中的數(shù)據(jù)失效,就會(huì)發(fā)生成幀錯(cuò)誤。

8N1

UARTs最常見的配置之一被稱為8N1。 這代表了8個(gè)數(shù)據(jù)位,沒有奇偶校驗(yàn)位,和一個(gè)停止位。 8N1每傳輸10個(gè)比特,就會(huì)傳輸8個(gè)比特的數(shù)據(jù)。 增加一個(gè)奇偶校驗(yàn)位和額外的停止位會(huì)增加每個(gè)數(shù)據(jù)包的開銷,并降低實(shí)際數(shù)據(jù)的總體吞吐量。

嵌入式 - UART介紹

參考:

1,UART basics

UART Basics – ECE353: Introduction to Microprocessor Systems – UW–Madison文章來源地址http://www.zghlxwxcb.cn/news/detail-477880.html

到了這里,關(guān)于嵌入式 - UART介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 嵌入式五大通信協(xié)議詳解 (一) UART

    嵌入式五大通信協(xié)議詳解 (一) UART

    GUN C編譯器拓展語法學(xué)習(xí)筆記(一)GNU C特殊語法部分詳解 GUN C編譯器拓展語法學(xué)習(xí)筆記(二)屬性聲明 GUN C編譯器拓展語法學(xué)習(xí)筆記(三)內(nèi)聯(lián)函數(shù)、內(nèi)建函數(shù)與可變參數(shù)宏 數(shù)組存儲與指針學(xué)習(xí)筆記(一)數(shù)據(jù)類型與存儲、數(shù)據(jù)對齊、數(shù)據(jù)移植、typedef ??通用異步收發(fā)傳輸器

    2024年02月05日
    瀏覽(21)
  • 【計(jì)算機(jī)三級嵌入式】考試自學(xué)筆記(三)——嵌入式系統(tǒng)硬件組成、嵌入式處理芯片以及存儲器介紹

    【計(jì)算機(jī)三級嵌入式】考試自學(xué)筆記(三)——嵌入式系統(tǒng)硬件組成、嵌入式處理芯片以及存儲器介紹

    ??贾R點(diǎn): 嵌入式最小硬件組成 嵌入式處理芯片 嵌入式系統(tǒng)的存儲器 I/O接口及常用I/O設(shè)備 ARM內(nèi)核典型嵌入式處理芯片 嵌入式系統(tǒng)外部通信接口 嵌入式最小硬件系統(tǒng)的組成如下: 嵌入式硬件系統(tǒng)≠嵌入式最小硬件系統(tǒng) 電源電路 :為整個(gè)嵌入式系統(tǒng)提供能量 時(shí)鐘電路 :

    2023年04月12日
    瀏覽(33)
  • 嵌入式Linux開發(fā)實(shí)操(八):UART串口開發(fā)

    嵌入式Linux開發(fā)實(shí)操(八):UART串口開發(fā)

    串口可以說是非常好用的一個(gè)接口,它同USB、CAN、I2C、SPI等接口一樣,為SOC/MCU構(gòu)建了豐富的接口功能。那么在嵌入式linux中又是如何搭建和使用UART接口的呢? 一、Console接口即ttyS0 ttyS0通常做為u-boot(bootloader的一種,像是Windows的BIOS),它需要一個(gè)交互界面,一般使用ttyS0,即可

    2024年02月12日
    瀏覽(21)
  • 嵌入式Linux裸機(jī)開發(fā)(七)UART串口、IIC、SPI通信

    嵌入式Linux裸機(jī)開發(fā)(七)UART串口、IIC、SPI通信

    大概學(xué)完這三種通信后,之后就先去學(xué)系統(tǒng)移植,其他的先暫時(shí)放下 串口全稱叫做串行接口,通常也叫做 COM 接口。 UART:(Universal Asynchronous Receiver/Trasmitter)通用異步串行收發(fā)器。 USART:(Universal Synchronous/Asynchronous Receiver/Transmitter)通用同步/異步串行收發(fā)器,相比 UART多了

    2024年02月07日
    瀏覽(92)
  • 嵌入式機(jī)器人系統(tǒng)ROS入門相關(guān)知識點(diǎn)介紹

    本文旨在收集整理linux系統(tǒng)、ROS系統(tǒng)、樹莓派、ssh軟件的相關(guān)基礎(chǔ)知識。 重點(diǎn)是ROS系統(tǒng)相關(guān)的知識,根據(jù)該實(shí)驗(yàn)課程的要求,最后修改的代碼,都是由ROS組織起來,運(yùn)行在ROS環(huán)境下的。 1、ssh軟件–mobaXterm ssh:SSH通過在網(wǎng)絡(luò)中創(chuàng)建安全隧道來實(shí)現(xiàn)SSH客戶端與服務(wù)器之間的連接

    2024年02月06日
    瀏覽(30)
  • SPI、UART、RS232、RS485、IIC 5種嵌入式經(jīng)典通信總線協(xié)議

    SPI、UART、RS232、RS485、IIC 5種嵌入式經(jīng)典通信總線協(xié)議

    ??UART即通用異步收發(fā)器,是一種通用的串行、異步通信總線。該總線有兩條數(shù)據(jù)線,可以實(shí)現(xiàn)全雙工的發(fā)送和接收。在嵌入式系統(tǒng)種常用于主機(jī)與輔助設(shè)備之間的通信。UART就是串口,也是一種通信協(xié)議/總線協(xié)議。 電腦上已經(jīng)逐步?jīng)]有了,換成了usb,但是在嵌入式領(lǐng)域是最

    2024年01月16日
    瀏覽(21)
  • 嵌入式軟件調(diào)試與驗(yàn)證1概述

    嵌入式軟件調(diào)試與驗(yàn)證1概述

    近年來,嵌入式系統(tǒng)(ES Embedded systems)因其靈活的操作和可能性而被廣泛應(yīng)用于電子系統(tǒng)行業(yè)。嵌入式系統(tǒng)由硬件、軟件和其他模塊(如機(jī)械)組成,旨在作為更大系統(tǒng)的一部分執(zhí)行特定任務(wù)。網(wǎng)絡(luò)物理系統(tǒng)(CPS Cyber-Physical System)和物聯(lián)網(wǎng)(IoT Internet of Things)等重要的新概

    2024年02月08日
    瀏覽(22)
  • 嵌入式驅(qū)動(dòng)開發(fā)需要會(huì)哪些技能?

    嵌入式驅(qū)動(dòng)開發(fā)是指在嵌入式系統(tǒng)中編寫驅(qū)動(dòng)程序,實(shí)現(xiàn)設(shè)備與計(jì)算機(jī)之間的通信。嵌入式驅(qū)動(dòng)開發(fā)是指編寫設(shè)備驅(qū)動(dòng)程序,實(shí)現(xiàn)設(shè)備與計(jì)算機(jī)之間的通信。 以下是一些嵌入式驅(qū)動(dòng)開發(fā)的具體操作方法:? 1)了解硬件設(shè)備結(jié)構(gòu): 在進(jìn)行嵌入式驅(qū)動(dòng)開發(fā)之前,需要對所使用的硬

    2024年01月25日
    瀏覽(26)
  • 嵌入式硬件需要過哪幾關(guān)?

    嵌入式硬件需要過哪幾關(guān)?

    目標(biāo)是成為一名硬件工程師,用電烙鐵和電路板一統(tǒng)江湖,游戲共有九關(guān)。 你要有一定的基礎(chǔ),模電,數(shù)電這些都得會(huì)一些。一般科班出身的專業(yè)有電信,通信,自動(dòng)化等等。 你如果完全沒這些基礎(chǔ),連電阻,電容都不認(rèn)識,那就需要在這關(guān)待上很久啦。 模電數(shù)電不用太糾

    2024年04月17日
    瀏覽(20)
  • 嵌入式的學(xué)習(xí)需要合理規(guī)劃時(shí)間

    嵌入式的學(xué)習(xí)需要合理規(guī)劃時(shí)間

    很多粉絲,問我,?\\\"胡老師我想報(bào)您的培訓(xùn)班。\\\" ... 得知我知識業(yè)余時(shí)間寫文章,緊接著又會(huì)問, \\\"jg單位這么清閑啊,你居然有這么多時(shí)間寫文章的?而且你文章很深,每一篇我都看都要看很久!\\\" ... 這種粉絲確定不是來害我的??! 在此澄清3點(diǎn): 我的工作還是很忙的 工

    2024年02月03日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包