99久久全国免费观看_国产一区二区三区四区五区VM_久久www人成免费看片中文_国产高清在线a视频大全_深夜福利www_日韩一级成人av

小麥大叔
認證:普通會員
所在專題目錄 查看專題
基于STM32的hello world點燈教程
STM32 使用st-link調試遇到寫保護 Flash Timeout 問題的解決思路
天哪!原來PWM這么簡單
小小舵機,大大玄機
UART協議快速掃盲(圖文并茂+超詳細)
I2C協議快速掃盲
作者動態 更多
一款輕量級的開源GUI項目——SimpleGUI,可以完美適配單色屏
02-22 09:47
看到這100多個軟硬件開源項目,真是爽爆了
2024-11-30 14:12
推薦一個高效,可靠,安全的串口通訊開源方案
2024-11-27 11:17
推薦一款開源hack硬件平臺工具
2024-11-26 13:58
新手學STM32的話,先學標準庫還是HAL庫?
2024-10-18 15:09

UART協議快速掃盲(圖文并茂+超詳細)

本文將帶你了解UART協議。我們將學習UART相關發展歷史,通訊協議格式、通訊的優缺點,以及通訊的具體過程。如果覺得不錯,歡迎關注、分享、收藏、點贊。希望能幫助到大家,如有錯誤敬請指出,謝謝!

 目錄

  • 1 UART發展歷史
    • 1.1 早期的串行通訊設備
    • 1.2 早期的芯片級UART
    • 1.3 現代UART的發展
  • 2 預備知識
  • 3 協議層
    • 起始位
    • 數據
    • 校驗位
    • 停止位
    • 波特率
  • 4 傳輸過程
  • 5 物理層
  • 6 優缺點

1 UART發展歷史

1.1 早期的串行通訊設備

早期的電報機器使用長度可變的脈沖信號進行數據傳輸,比如摩斯電碼;

摩斯電碼

后來電傳打印機(teleprinters )普遍使用5、6、7或8個數據位來表示各種字符編碼,最終成為計算機外圍設備。電傳打字機( teletypewriter 簡稱 tty)成為小型計算機十分出色的通用I/O設備。

Teletypewritter

由于歷史的發展原因,早期在Unix終端是一個名字為ASR33的電傳打字機,而電傳打字機的英文單詞為Teletype(或Teletypewritter),縮寫為tty。因此,終端設備也被稱為tty設備。這就是TTY這個名稱的來源。

1.2 早期的芯片級UART

DEC(Digital Equipment Corporation)公司的Gordon Bell 為該公司的PDP系列計算機設計了第一個UART,不過體積龐大,UART的線路占據了整個電路板;

后來DEC將串行線路單元的設計濃縮為早期的UART單芯片,以方便自己使用。

DEC公司Logo

DEC是美國一家計算機公司;

西部數據(Western Digital)公司在1971年左右將其開發為第一個廣泛可用的UART單芯片 WD1402A。這是中型集成電路的早期產品。

Western Digital是美國計算機硬盤驅動器制造商和數據存儲公司。

1.3 現代UART的發展

2000年代開始,大多數IBM或者相關的計算機都刪除了其外部RS232的COM端口,將其替換為帶寬性能更加出色的USB端口;

早期帶RS232的PC

對于仍然需要RS-232串行COM端口的用戶,現在通常使用外部USB轉UART轉換器,常見的有CH340,Silicon Labs 210x的驅動程序,現在很多處理器和芯片都內置了UART。

2 預備知識

通用異步收發傳輸器Universal Asynchronous Receiver/Transmitter,通常稱為UART),在UART通信中,兩個UART直接通信。

發送端的UART將來自控制設備(如CPU)的并行數據轉換為串行數據,以串行方式將其發送到接收端的UART,然后由接收端的UART將串行數據轉換為并行數據以用于接收設備的正常處理。

這里只需要兩條線RX/TX即可在兩個UART之間傳輸數據。具體如下圖所示;

3 協議層

UART傳輸的數據被封裝成數據包。每個數據包包含1個起始位,5~9個數據位(取決于UART的具體設置),一個可選的奇偶校驗位以及1個或2個停止位,具體如下圖所示;

在這里插入圖片描述

起始位

UART數據傳輸線通常在不傳輸數據時保持在高電平

為了開始數據傳輸,發送端UART在一個時鐘周期內將傳輸線從高電平拉低到低電平

當接收端UART檢測到高電壓到低電壓轉換時,它開始以波特率的頻率讀取數據位中的每一位數據。

數據

數據位包含正在傳輸的實際數據。如果使用奇偶校驗位,則可以是5位,最多8位。如果不使用奇偶校驗位,則數據幀的長度可以為9位。

在大多數情況下,數據首先以低有效位發送。

校驗位

在串口通信中一種簡單的檢錯方式。

有四種檢錯方式:偶校驗奇校驗高校驗低校驗。當然沒有校驗位也是可以的。

對于偶和奇校驗的情況,串口會設置校驗位(數據位后面的一位),用一個值確保傳輸的數據有偶個或者奇個邏輯高位。

舉個例子,如果數據是011,則滿足;

偶校驗,校驗位為0,保證邏輯高的位數是偶數個。

奇校驗,校驗位為1,這樣就有3個邏輯高位。

具體如下圖所示;

高位和低位不是真正的檢查數據,而是強行將校驗位設置為邏輯高或者邏輯低。這樣使得接收設備能夠知道一個位的狀態,有機會判斷是否有噪聲干擾了通信或者是否傳輸和接收數據是否不同步。

停止位

發送端UART將數據傳輸線從低電壓驅動到高電壓至少持續兩位數據的時間寬度來表示整個數據包的傳輸已經結束。

由于數據是在傳輸線上定時的,并且每一個設備有其自己的時鐘,很可能在通信中兩臺設備間出現了小小的不同步。因此停止位不僅僅是表示傳輸的結束,并且提供計算機校正時鐘同步的機會。適用于停止位的位數越多,不同時鐘同步的容錯性越好,但是數據傳輸率同時也越慢

波特率

波特率是串口數據的傳輸速度,即Bit/s,常見的波特率有:9600,19200,38400,57600,115200,當然還有很多波特率,不再一一給出;

假設目前UART的配置為,1個起始位,8個數據位,0個校驗位,1個停止位,那么9600的波特率,可以計算出每一位數據的時間寬度為:

那么傳輸一個字節(也就是10 bit 數據)需要的時間為 1.04 毫秒。

下面用串口抓取了UART的TX上的信號,其中一位數據的時間寬度為26微秒,具體如下圖所示;

則可以簡單計算得到;

因此波特率大概為 38400;

下表是各個波特率下數據位時間寬度;

4 傳輸過程

發送端UART從數據總線轉換并行數據:

發送端UART將起始位奇偶校驗位停止位添加到數據包中:

整個數據包從發送端UART串行發送到接收端UART;接收端UART按照預先配置好的波特率對數據線進行采樣:

接收端UART解析接收的數據,丟棄數據包中的起始位,奇偶校驗位和停止位:

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

5 物理層

UART、RS232、RS485在串口通信中,主要區別是電平的不同,其中UART通常使用TTL電平,下面介紹這幾個存在的差異;

TTL

TTL全名是晶體管-晶體管邏輯集成電路(Transistor-Transistor Logic)

  • 輸入高電平最小2V,輸出高電平最小2.4V,典型值3.4V;

  • 輸入低電平最大0.8V,輸出低電平最大0.4V,典型值0.2V。

RS232

RS232 邏輯1電平(MARK)=-3V~-15V,邏輯0電平(SPACE)=+3~+15V;

同樣的,對于傳輸數據0x55,即二進制的01010101,RS232和TTL的區別如下;

RS485

RS485是差分信號進行串行傳輸;

  • 邏輯1以兩線間的電壓差為+(2~6)V表示;
  • 邏輯"0"以兩線間的電壓差為-(2~6)V表示;

在工業通信中,使用RS485比較多,因為RS485是差分信號,可以抑制共模干擾,因此在惡劣的環境中擁有很好的抗干擾性,比較穩定;

6 優缺點

沒有任何通信協議是完美的,以下是UART的一些利弊,可幫助您確定它們是否適合您的項目需求:

優點

  • 通信只需要兩條數據線;
  • 無需時鐘信號;
  • 有奇偶校驗位,方便通信的差錯檢查;
  • 只需要接收端和發送端設置好數據包結構,即可穩定通信;

缺點

  • 數據幀最大支持9位數據;
  • 不支持多主機或多從機的主從系統;

7 總結

本文主要介紹UART的入門基礎知識,從UART的發展歷史,通訊協議層進行了簡單介紹;作者能力有限,難免存在錯誤和紕漏,請大佬不吝賜教。


聲明:本內容為作者獨立觀點,不代表電子星球立場。未經允許不得轉載。授權事宜與稿件投訴,請聯系:editor@netbroad.com
覺得內容不錯的朋友,別忘了一鍵三連哦!
贊 3
收藏 6
關注 145
成為作者 賺取收益
全部留言
0/200
  • 天賜時間 2020-12-08 09:08
    收益匪淺!
    回復 1條回復
  • 小麥大叔 2020-12-07 21:46
    講的真好!
    回復
主站蜘蛛池模板: 亚洲精品久久久久58 | www..com在线观看| 一级久久精品 | 精品国产一区二区三区四区 | 免费看国产一级特黄aaaa大片 | 高H猛烈失禁潮喷A片在线观看 | 人妻少妇精品视频二区 | 天天玩天天操天天干 | 精产国产伦理一二三区 | 曰本黄色片 | 久久久久av综合网成人 | 怡红院福利视频 | 大地资源免费更新在线播放 | 噜噜噜av在线观看 | 男人扣女人逼视频 | 亚洲一区二区精品视频 | 超碰在线观看av | 精品福利视频一区二区三区 | 欧美成人69sss | 久久国产精品大桥未久av | 免费黄色大片 | 国产欧美性 | 亚洲精品亚洲人成在线观看 | 精品久久综合1区2区3区激情 | www.妞干网.com | 麻豆视频观看免费视频观看 | 波多老师无码av中字专区 | 国产黑色丝袜流白浆视频 | 在线观看青青草 | 亚洲一区三区在线观看 | 网红主播精品视频在线观看 | 正在播放露脸一区 | 麻豆四区 | 国产精品天美传媒沈樵 | 在线免费看av的网站 | 99在线视频网站 | 国外激情av片 | 韩国无码无遮挡在线观看 | 国产人妻人伦精品1国产盗摄 | 少妇宾馆把腿扒开让我添 | 精品国产日韩亚洲一区二区 |