cq9电子·(中国)官方网站

技術服務
24小時提供高效率、高質量的技術支持

UART协议简述 UART协议工作原理

时间:2019-07-29 16:29:40來源:本站原創

  通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UATR,是一种异步收发传输器。将数据由串行通信与并行通信间做传输转换,作为并行输入称为串行输出的芯片。UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。

  1、UART通信協議

  UART作爲異步串口通信協議的一種,工作原理是將傳輸數據的每一個字符一位一位地傳輸。其中每一位(bit)的意義如下:

  起始位:先發出一個邏輯“0”的信號,表示傳輸字符開始。

  數據位:緊接著起始位之後。數據位的個數可以是4、5、6、7、8等,構成一個字符。通常采用ASCII碼。從最低位開始傳送,靠時鍾定位。

  奇偶校驗位:數據位加上這一位後,使得“1”的位數應爲偶數(偶校驗)或奇數(奇校驗),以次來校驗數據傳送的正確性。

  停止位:它是一個字符數據的結束標志。可以是1位、1.5位、2位的高電平。由于數據是在傳輸線上定時的,並且每一個設備有其自己的時鍾,很可能在通信中兩台設備間出現了小小的不同步。因此停止位不僅僅是表示傳輸的結束,並且提供計算機校正時鍾同步的機會。適用于停止位的位數越多,不同時鍾同步的容忍程度越大,但是數據傳輸率也就越慢。

  空閑位:處于邏輯“1”狀態,表示當前線路上沒有數據傳輸。


 2、UART工作原理

  發送數據過程:空閑狀態,線路處于高電平;當收到發送指令後,拉低線路的一個數據位的時間T,接著數據按低位到高位依次發送,數據發送完畢後,接著發送奇偶校驗位和停止位,一幀數據發送完成。

  數據接收過程:空閑狀態,線路處于高電平;當檢測到線路的下降沿(高電平變爲低電平)時說明線路有數據傳輸,按照約定的波特率從低位到高位接收數據,數據接收完畢後,接著接收並比較奇偶校驗位是否正確,如果正確則通知後續設備接收數據或存入緩沖。

  由于UART是異步傳輸,沒有傳輸同步時鍾,爲了保證數據的正確性,UART采用16倍數據波特率的時鍾進行采樣。每個數據有16個時鍾采樣,取中間的采樣值,以保證采樣不會滑碼或誤嗎。一般UART一幀的數據位數爲8,這樣即使每個數據有一個時鍾的誤差,接收端也能正確地采樣到數據。

  UART的接收數據時序爲:當檢測到數據的下降沿時,表明線路上有數據進行傳輸,這是計數器CNT開始計數,當計數器爲24=16+8時,采樣的值爲第0位數據;當計數器的值爲40時,采樣的值爲第一位數據,依次類推,進行後面6個數據的采樣。如果需要進行奇偶校驗,則當計數器的值爲152時,采樣的值即爲奇偶位;當計數器的值爲168時,采樣的值爲“1”表示停止位,數據接收完成。

  一個標准的10位異步串行通信協議(1個起始位、1個停止位和8個數據位)收發時序,如下圖所示:


计讯物联——物联网産品与行业解决方案提供商 申請樣機
All Rights Reserved 廈門cq9电子官方网站物聯科技有限公司版權所有 閩ICP備15001895號 闽公网安备 35021102001331号
【网站地图】【sitemap】