欧美在线专区-欧美在线伊人-欧美在线一区二区三区欧美-欧美在线一区二区三区-pornodoxxx中国妞-pornodoldoo欧美另类

還沒搞懂串口通信?一文帶你讀懂

[導讀]還記得當年的還沒打印機,鼠標和調制解調器嗎?他們都有巨大笨重的搞懂連接器和粗電纜,并且必須擰到你的串口電腦上。這些設備正是通信使用UART協議與計算機進行通信。雖然USB幾乎完全取代了舊的文帶電纜和連接器,但UART絕對沒有過時。讀懂你會發現目前許多項目中使用UART的還沒GPS模塊、藍牙模塊和RFID讀卡器模塊等連接到Raspberry Pi,搞懂Arduino或其他微控制器上。串口


還沒搞懂串口通信?一文帶你讀懂

還記得當年的通信打印機,鼠標和調制解調器嗎?他們都有巨大笨重的文帶連接器和粗電纜,并且必須擰到你的讀懂電腦上。這些設備正是還沒使用UART協議與計算機進行通信。


雖然USB幾乎完全取代了舊的搞懂電纜和連接器,但UART絕對沒有過時。串口你會發現目前許多項目中使用UART的GPS模塊、藍牙模塊和RFID讀卡器模塊等連接到Raspberry Pi,Arduino或其他微控制器上。


通用異步收發傳輸器(Universal Asynchronous Receiver/Transmitter),通常稱作UART。它將要傳輸的資料在串行通信與并行通信之間加以轉換。作為把并行輸入信號轉成串行輸出信號的芯片,UART通常被集成于其他通訊接口的連接上。


它不是像SPI和I2C這樣的通信協議,而是微控制器中獨立的物理電路或獨立的IC。

UART最好的一點是它只使用兩根線就可以在設備之間傳輸數據,UART背后的原理很容易理解。


UART通信簡介


在UART通信中,兩個UART直接相互通信。發送UART將來自CPU等控制設備的并行數據轉換為串行形式,并將其串行發送到接收UART,接收UART然后將串行數據轉換回接收設備的并行數據。在兩個UART之間傳輸數據只需要兩根線。數據從發送UART的Tx引腳流向接收UART的Rx引腳:



UART以異步方式發送數據,這意味著沒有時鐘信號將發送UART的位輸出與接收UART的位采樣同步。發送UART不是時鐘信號,而是將開始和停止位添加到正在傳輸的數據包中。這些位定義數據包的開始和結束,因此接收UART知道何時開始讀取位。


當接收UART檢測到起始位時,它開始以稱為波特率的特定頻率讀取輸入位。波特率是數據傳輸速度的度量,以每秒位數(bps)表示。兩個UART必須以大致相同的波特率運行。發送和接收UART之間的波特率只能相差10%左右。


兩個UART還必須配置為發送和接收相同的數據包結構。



UART如何工作


UART傳輸數據依靠的是UART總線,數據總線用于通過CPU、存儲器或微控制器等其他設備將數據發送到UART。數據以并行形式從數據總線傳輸發送到UART。UART從數據總線獲得并行數據之后,它將添加起始位,奇偶校驗位和停止位,從而創建數據包。接下來,數據包在Tx引腳上逐位串行輸出。UART接收端則在其Rx引腳上逐位讀取數據包。然后,接收UART將數據轉換回并行形式,并刪除起始位,奇偶校驗位和停止位。最后,接收UART將數據包并行傳輸到接收端的數據總線:



UART傳輸的數據被組織成數據包。每個數據包包含1個起始位,5到9個數據位(取決于UART),可選的奇偶校驗位以及1或2個停止位:




1

開始位


當UART數據傳輸線不傳輸數據時,它通常保持在高電壓電平。為了開始數據傳輸,發送UART將傳輸線從高電平拉至低電平一個時鐘周期。當接收UART檢測到高電壓到低電壓轉換時,它開始以波特率的頻率讀取數據幀中的位。


2

數據框


數據框包含要傳輸的實際數據。如果使用奇偶校驗位,則它可以是5位到8位長。如果不使用奇偶校驗位,則數據幀可以是9位長。在大多數情況下,數據首先以最低有效位發送。


3

奇偶校驗位


奇偶校驗描述數字的均勻性或奇數。奇偶校驗位是接收UART在傳輸過程中判斷是否有任何數據發生變化的一種方法。電磁輻射、不匹配的波特率或長距離傳輸時,數據都有可能發生變化。接收UART讀取數據幀后,它會計算值為1的位數,并檢查總數是偶數還是奇數。


如果奇偶校驗位為0(偶校驗),則數據幀中的1位應總計為偶數。如果奇偶校驗位是1(奇校驗),則數據幀中的1位應總計為奇數。當奇偶校驗位與數據匹配時,UART知道傳輸沒有錯誤。但如果奇偶校驗位為0,然而1位應總計為奇數;或者奇偶校驗位是1,并且1位應總計是偶數,則數據幀中的位已經改變。


4

停止位


為了通知傳輸數據包的結束,UART發送端會將數據傳輸線從低電壓驅動至高電壓至少兩位持續時間。


UART傳輸步驟


1)發送UART從數據總線并行接收數據↓↓


2)發送UART將起始位,奇偶校驗位和停止位添加到數據幀↓↓


3)整個數據包從發送UART串行發送到接收UART。接收UART以預先配置的波特率對數據線進行采樣↓↓


4)接收UART丟棄數據幀中的起始位,奇偶校驗位和停止位↓↓


5)接收UART將串行數據轉換回并行并將其傳輸到接收端的數據總線↓↓


UART的優缺點


優點:只使用兩根電線;不需要時鐘信號;有一個奇偶校驗位;只要雙方設置后,就可以改變數據包的結構;有完整的文檔并且具有廣泛的使用。


缺點:數據幀的大小限制為最多9位;不支持多個從屬或多個主系統;每個UART的波特率必須在10%之內。


-END-

| 整理文章為傳播相關技術,版權歸原作者所有|
|?如有侵權,請聯系刪除|


往期好文合集


串口通訊你真的會了嗎?不妨看看這些經驗

干貨總結:I2C總線詳細要點

干貨總結:SPI總線詳細要點

最 后

若覺得文章不錯,轉發分享,也是我們繼續更新的動力。
5T資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、單片機、等等在公眾號內回復「更多資源」,即可免費獲取,期待你的關注~?

免責聲明:本文內容由21ic獲得授權后發布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯系我們,謝謝!

Popular articles

主站蜘蛛池模板: 无忧传媒在线观看| 偷窥自拍10p| 麻豆亚洲| 电车上强制波多野结衣| 欧美国产激情二区三区| 国产黄色片91| 成人永久福利免费观看| 免费看国产精品麻豆| 欧美日韩色黄大片在线视频| 精品欧美一区二区在线观看| 五月婷婷电影| 奶交性视频欧美| 羞羞漫画页面免费入口欢迎你| 看了流水的小说| 欧美午夜久久| 国产欧美日韩综合精品一区二区| 日本护士xxxx视频| 午夜精品久久久久久中宇| 精品综合久久久久久98 | 最近免费中文字幕大全免费版视频| 中文japanese在线播放| www.爱情岛论坛| 麻豆伦理| 女生张开腿让男生通| 精品女同一区二区三区免费站| 性xxxxx大片免费视频| 日韩黄色大全| 全彩本子里番调教仆人| 小雪把双腿打开给老杨看免费阅读| 深夜影院一级毛片| 国产乱子伦在线观看| 国产性片在线观看| 丰乳娇妻| 粗大的内捧猛烈进出视频| 国产大片91精品免费看3| 免费国产成人午夜私人影视| 美女扒开屁股给男人看无遮挡 | 韩国爸爸的朋友10整有限中字| 韩日毛片| 免费看美女隐私全部| 欧美aa在线|