成人a级高清视频在线观看-成人a大片在线观看-成人a大片高清在线观看-成人av在线播放-一a一级片-一 级 黄 中国色 片

常用的串行數據傳輸總線(3) - UART

在SPI中有SCLK,在I2C中有SCK,這種有時鐘的傳輸方式叫同步傳輸,有時鐘做參考可以方便接收端對接受數據的判決,但同時也帶來一些限制,比如:


需要一根多余的連線用于時鐘信號


因為需要時鐘的邊沿對數據進行采樣判決,時鐘的帶寬至少要是數據帶寬的2倍,因此也就限制了系統的數據傳輸速率


長距離傳輸的時候數據信號和時鐘信號容易失去同步(即便倆人一起跑步,速度越快越不容易步調一致)

常用的串行數據傳輸總線(3) - UART

串行通信(同步)



所以,傳輸要往高速走,同步串行的傳輸方式就力不從心了,雖然可以在同樣時鐘頻率的情況下靠增加數據線來提高傳輸的數據量(SD卡就這么干的),但信號線越多,也就越難同步,最后搞得跟并行傳輸一樣了。


并行通信(PCB的布線在高速時將變得非常困難)


因此更高速的傳輸最好是采用異步的方式,也就是說不再有多余的時鐘信號線跟著,傳輸的信號線中只有數據信號,異步傳輸不僅能夠節省連線,同時還可以提高傳輸速度,比如USB、以太網。。。這種快到10Gbps的傳輸都只能靠異步的方式。


今天我們要講的UART(通用異步接收/發送)就是一種異步的傳輸方式,不過它是相對低速的(最低1200bps),這是因為它生下來的時候人們的想象力還非常有限,能用9.6Kbps傳傳數據已經非常開心了,2000年前通過模擬電話線Modem傳57.6Kbps的數據(收發郵件、網頁瀏覽)已經感覺飛快了。


現在幾乎每個MCU都標配UART,主要的功能是用來跟上位機連接的,以便讓上位機對其進行調試或者執行簡單的數據通信,比如顯示一下狀態、傳遞幾個命令等。如果需要高速的數據傳輸?不是有USB了么!經過近20年的演進,USB 已經從最早的1.5Mbps一路升級到12Mbps、480Mbps、現在的10Gbps,USB已經承擔了兩個系統之間高速數據傳輸的主要重擔。


UART雖然速率比較低,但卻不可或缺,估計全世界的硬件工程師沒有沒和UART打過交道的。這個世界的科技發展變得再快,這種最簡單、粗暴的數字通信方式也將像常青樹一樣一直陪伴著我們,一如過去的幾十年。


常用的串行數據傳輸總線(3) - UART

UART的工作原理

UART(Universal Asynchronous Receiver/Transmitter,翻譯過來叫通用異步收發) 其實不是像SPI和I2C這樣的通信協議,而是MCU(微控制器)中的物理電路或獨立的IC,它的主要用途是發送和接收串行數據。


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


超簡化的UART接口,左側為并行,右側為串行


通用異步接收器/發送器(UART)是負責實現串行通信的電路塊。 本質上,UART充當并行和串行接口之間的中介。 UART的一端是八條左右數據線(加上一些控制引腳),另一條是兩條串行線 - RX和TX。


兩個設備可以發送和接收數據的串行接口是全雙工或半雙工。 全雙工意味著兩個設備可以同時發送和接收。 半雙工通信意味著串行設備必須輪流發送和接收。


UART以異步方式發送數據,也就是說沒有時鐘信號將發送UART的位輸出與接收UART的位采樣進行同步。 發送UART將“起始”和“停止”位添加到正在傳輸的數據包中, 這些位定義了數據包的開始和結束,接收UART基于這些位的信息知道何時開始讀取輸入的串行數據。


當接收UART檢測到起始位時,它以特定的頻率(也就是“波特率”)讀取輸入的串行數據。波特率是數據傳輸速度的度量,單位-每秒位數(bps)。 兩個UART必須以相同的波特率運行。發送和接收UART之間的波特率相差不能超過10%,偏差太遠就無法對數據進行正確的解讀。


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


異步通信以一個字符為傳輸單位,通信中兩個字符間的時間間隔多少是不固定的,然而在同一個字符中的兩個相鄰位間的時間間隔是固定的。兩個相鄰位間的時間間隔與UART通信的波特率有關,波特率用來表征UART通信中數據傳輸的速率,即每秒鐘傳送的二進制位數。例如數據傳送速率為120字符/秒,而每一個字符為10位(1個起始位,7個數據位,1個校驗位,1個結束位),則其傳送的波特率為10×120=1200字符/秒=1200波特。


我們在調試種最比較常見的波特率是9600bps,其它的“標準”波特還有1200、2400、4800、19200、38400、57600和115200。


以9600bps傳輸為例,將每個位高或低保持的時間為1 /(9600 bps)或每位104μs,對于發送的每個數據字節,實際上發送了10位:起始位,8個數據位和一個停止位。 因此,在9600bps時,我們實際上每秒發送9600位或每秒960(9600/10)字節。


波特率越高,發送/接收的數據越快,但數據傳輸的速度有限。您通常不會看到超過115200的速度 - 這對于大多數微控制器來說都很快。太高了,你會開始看到接收端的錯誤,因為時鐘和采樣周期無法跟上。


數據幀構成

發送的每個數據塊(通常是一個字節)實際上是以比特或比特幀發送的。通過將同步和奇偶校驗位附加到數據來創建幀。


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

數據位:可以是5~8位邏輯”0”或”1”。如ASCII碼(7位),擴展BCD碼(8位)。小端傳輸

校驗位:數據位加上這一位后,使得“1”的位數應為偶數(偶校驗)或奇數(奇校驗)

停止位:它是一個字符數據的結束標志。可以是1位、1.5位、2位的高電平。

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


下面我們詳細介紹一下每一部分。


數據塊

每個串行數據包的真正有營養的是它攜帶的數據,我們且稱之為“數據塊”,它沒有具體的大小限制。 每個數據包中的數據量可以設置為5到9位。 標準數據的大小一般是最基本的8位字節,但其它大小也有其用途,有時候7位數據能比8位更高效,比如只是用來傳輸7位ASCII字符。


在統一了字符長度后,兩個串行設備也必須就其數據的字節順序達成一致。 數據是最高位(msb)還是最低位先發送? 缺省設定為首先傳輸最低有效位(lsb)。


同步位


同步位是每個數據塊傳輸的兩個或三個特殊位。 它們是起始位和停止位,顧名思義,這些位標記了數據包的開頭和結尾。 始終只有一個起始位,但停止位的數量可配置為一個或兩個(通常情況下保留為一個)。


起始位始終是由從1到0的空閑數據線來指示,而停止位則將通過將該信號線保持為1而轉換回空閑狀態。


起始位:單字節UART發送的第一位。 它表示數據線正在離開其空閑狀態。 空閑狀態通常為邏輯高,因此起始位為邏輯低。起始位是開銷位, 這意味著它有助于接收器和發射器之間的通信,但不會傳輸有意義的數據。

停止位: 單字節UART傳輸的最后一位。 其邏輯電平與信號的空閑狀態相同,即邏輯高, 這是另一個開銷。


奇偶校驗位

奇偶校驗是一種非常簡單的低級錯誤檢查方式,它分為兩種方式:奇數或偶數。 為了產生奇偶校驗位,數據字節的所有5-9位相加,并且求和的奇偶性決定該位是否置位。 例如,假設奇偶校驗設置為偶數并且正被添加到數字字節(如0b01011101,這串數中有奇數(5)個1,奇偶校驗位將被設置為1。相反,如果奇偶校驗模式設置為奇數 ,奇偶校驗位則為0。

 

同步和采樣

下面我們來看看沒有時鐘信號的數據在接收端是如何被正確解讀的。


沒有時鐘對數據做判決,這些數據毫無意義。 下圖顯示了原因:


 同一串數據可以有不同的解讀


典型的數據信號只是在邏輯低和邏輯高之間轉換的電壓。 只有當接收器知道何時采樣信號時,接收器才能正確地將這些邏輯狀態轉換為數字數據。


這可以使用單獨的時鐘信號輕松完成 - 例如,發送器在時鐘的每個上升沿更新數據信號,然后接收器在每個下降沿采樣數據。但UART接口沒有時鐘信號來同步Tx和Rx器件,接收端如何知道何時采樣發射端送來的數據信號呢?


發送端根據其時鐘信號生成比特流,然后接收端的目標是使用其內部時鐘信號在每個比特周期的中間對輸入的數據流進行采樣。雖然在比特周期的中間進行采樣不是必要的但卻是最佳的,因為接近比特周期的開始或結束的采樣使得系統對接收端和發射端之間的時鐘頻率差異的魯棒性較差。


接收端序列從起始位的下降沿開始,這是關鍵同步過程發生的時間。接收端的內部時鐘完全獨立于發送端的內部時鐘 - 換句話說,第一個下降沿可以對應于接收端時鐘周期中的任何點:


為了確保接收端時鐘的有效邊沿能夠在比特周期的中間附近發生,發送到接收端模塊的波特率時鐘的頻率要比實際波特率高得多(比8或16或甚至32倍)。


假設一個比特周期對應于16個接收端時鐘周期。 在這種情況下,同步和采樣可以按如下方式進行:


接收過程由起始位的下降沿啟動。

接收端等待8個時鐘周期,以便建立一個接近比特周期中間的采樣點。

然后,接收端等待16個時鐘周期,使其進入第一個數據位周期的中間。

第一個數據位被采樣并存儲在接收寄存器中,然后模塊在采樣第二個數據位之前等待另外16個時鐘周期。

重復此過程直到所有數據位都被采樣和存儲,然后停止位的上升沿使UART接口返回其空閑狀態。 


UART的優點和缺點

沒有任何一種通信方式和協議是完美的,因此沒中方式都有其優點,也有其缺點,我們來看看UART的主要優缺點。


UART的優點:

只需要使用兩根信號線就可以實現全雙工的數據傳輸(不算電源線)

無需時鐘信號

有一個奇偶校驗位提供硬件級別的錯誤檢查

數據包的結構可以通過兩端之間的協調來改變,比較靈活

有豐富的文檔且被廣泛使用的通信方式

相對比較容易配置和運行


UART的缺點:

與并行通信以及USART相比,數據傳輸的速度較慢

幀的大小被限定為最多9位

不支持多個從設備或多個主設備的功能

收發兩個器件UART的波特率差別不能超過10%


實際應用中的信號傳輸方式

將兩個UART的設備進行連接有多種方式,取決于具體的應用場景,在這里我們僅看兩種:TTL UART和RS-232。


TTL UART

當微控制器和其它器件進行串行通信時,通常以TTL電平進行通信。 TTL串行信號存在于微控制器的電源電壓范圍內 - 通常為0V至3.3V或5V。 VCC電平(3.3V,5V等)的信號表示空閑線,值1或停止位。 0V(GND)信號表示起始位或值為0的數據位。


RS-232 UART


RS-232(推薦標準232)是連接數據終端設備(DTE)和數據通信設備(DCE)的串行二進制數據信號的標準。 它通常用于計算機的老式串口。 TTL電平UART和RS-232的主要區別就是電壓電平。 RS-232中的數字信號為±3至 - ±15V,無論如何都不會檢測到接近0V的信號。


RS-232,可以在一些更古老的計算機和外圍設備上找到,就像TTL串口翻轉一樣。 RS-232信號通常介于-13V和13V之間,但規格允許從+/- 3V到+/- 25V。 在這些信號上,低電壓(-5V,-13V等)表示空閑線,停止位或值為1的數據位。一個高的RS-232信號表示起始位或0- 值數據位。 這與TTL系列相反。


邏輯電平 Logic-1 (High) Logic-0 (Low)

電壓 +3 to +15v -3 to -15v


RS-232比TTL的UART有更多的引腳,用于PC和調制解調器之間的通信。 我們常用的DB-9的引腳排列及其功能如下所示。


最撲街的RS-232收發芯片 - MAX232


在兩個串行信號標準之間,TTL更容易實現到嵌入式電路中。 然而,低電壓電平更容易受到長傳輸線路的損耗的影響。 RS-232或更復雜的標準(如RS-485)更適合遠程串行傳輸。當您將兩個串行設備連接在一起時,確保其信號電壓匹配是非常重要的。 


PC和微控制器的連接


實際的項目中可以有多種方式來連接PC和MCU,最方便的是下面列出的幾種方式中的最后一種。


TTL-UART到RS-232串口(古老的通用方式) 


TTL-UART 到 RS-232串口 到 USB


USB-TTL 轉換模塊


全球創客界最火的WiFi模塊ESP8266只需要UART接口和AT指令集進行操作


物美價廉的USB到TTL UART接口轉換芯片CP2102(來自SiLabs),通過計算機的USB端口仿真UART通信


使用UART最容易碰到的問題:


RX-To-TX & TX-To-RX


工程師經常犯的錯誤就是將RX和TX線錯誤連接,因此在遇到連接不通的時候一定要先檢查確定一下是否存在這方面的問題。



波特率失配


如果數據以9600bps的波特率傳輸,并以19200bps的速率接收。 收到的數據將是一團垃圾! 波特率必須在發送端和接收端匹配,這是UART串行通信的經驗法則,波特率的最大允許偏移趨于介于(1-2%)之間。 因此嘗試在兩端生成完全相同的波特率,以避免錯配錯誤。


UART總線長度 vs 波特率


UART串行總線可以傳輸很長的距離,但傳輸的距離以及最高能夠達到的波特率都取決于傳輸得越遠,波特率也就會降低,它還取決于UART協議本身的硬件實現(物理層)。我們只提到TTL-UART和RS-232標準。


RS-232

RS-232的最大電纜長度為50英尺。 但實際上它取決于波特率、電纜的等效電容和環境噪聲。 下表是TI多年前通過實驗總結的一些經驗法則。


TTL-UART


TTL電平的UART僅支持5V的電壓擺幅,因此信號傳輸的距離以及能夠支持到的波特率取決于下面的3個元素:

電纜的電阻 - 電纜越長電阻也就越高

電纜的電容:大家知道電容效應會阻礙信號電平的變化

噪聲:任何環境中都會有噪聲,帶屏蔽的雙絞線電纜對信號的傳輸會有幫助


圖片加載中...

在線留言

◎歡迎您的留言,您也可以通過以下方式聯系我們:

◎客戶服務熱線:021-51095123

◎郵箱:xin021@126.com

展開
亚洲AV中文无码4区| 无码午夜福利视频一区| 国产日产欧产美韩系列| 亚洲欧美日韩精品成人| 男男av在线播放| 丰满人妻AV无码一区二区三区| 小雪尝禁果又粗又大的中国地图 | 少妇高潮呻吟在线观看| 国产无人区一卡二卡3卡4卡在线 | 亚洲AV蜜桃无码精品无码| 久久久久久精品免费免费英国| JLZZZJLZZZ国产免费观| 无码AV波多野结衣久久| 久久国产精品77777| CC小恩雅透明内抹油的使用方法| 爽一点搔一点叫大声点| 精品国产一区AV天美传媒| 7777788888管家婆中特| 天天摸夜夜摸夜夜狠狠摸| 九九视频麻婆豆腐在线观看| CHINESE勾搭VIDEOS| 无遮挡国产高潮视频免费观看| 久久久久亚洲精品无码蜜桃| 锕锕锕锕锕锕锕好大污下载 | 少妇精品无码一区二区三区 | 调教小SAO货撅起打屁股作文| 精品人妻暴躁一区二区三区 | 亚洲熟妇一区二区三区| 秋霞AV鲁丝片一区二区| 国产香蕉97碰碰视频VA碰碰看 | 亚洲成A人片在线观看WWW | 精品无码国产一区二区三区51安| BGMBGMBGM老妇60岁| 无码日韩做暖暖大全免费不卡 | 狠狠色噜噜狠狠狠888777米 | 久久婷婷五月综合色和啪| 超薄肉色丝袜一区二区| 亚洲国产成人五月综合网| 欧美日韩一区精品视频一区二区| 国产乱子经典视频在线观看 | 宝贝乖女小芳小雪| 亚洲AV无码潮喷在线入口| 免费无码的AV片在线观看| 国产高清在线a视频大全| 在线观看成人无码中文AV天堂不| 少妇做爰免费视频网站| 久久久久久精品免费免费999| 成人午夜高潮刺激免费视频| 亚洲日产精品一二三四区| 日韩AV高清无码| 久久精品国产一区二区电影| 抖抈短视频APP免费下载| 亚洲综合色成在线观看| 少妇私密会所按摩到高潮呻吟| 久久毛片免费看一区二区三区| 福建妹妹幼儿十岁左右| 永久免费AV无码网站在线| 舌头伸进去添的我好爽高潮电影| 旧里番肉欲に堕ちた牝たち| 高中女无套中出17P| 在线精品亚洲一区二区绿巨人| 无码AV人片在线观看天堂| 内射人妻视频国内| 国内老熟妇对白HDXXXX| 拔萝卜视频免费观看高清下载| 亚洲欧美成人综合久久久| 三上悠亚SSNI-542在线| 久久伊人精品青青草原APP| 国产成人精品免费视频网页大全 | 久久996RE热这里只有精品无| 绯色精品人妻av一区二区| 伊人色综合久久天天| 无码少妇一区二区浪潮免费| 欧美肉欲XXⅩOOOHD| 精品人在线二线三线区别| 高清VPSWINDOWS另类乱| 中文字幕久久综合伊人| 亚洲AV成人综合网伊人APP| 让人一看就舒服的网名| 久久精品九九热无码免贵 | A亚洲VA欧美VA国产综合| 亚洲乱码日产精品一二三| 少妇被CAO高潮呻吟声| 免费私人家庭影院| 好爽好紧好大的免费视频国产| 成人区人妻精品一区二区不卡网站| 咬住下唇动漫在线播放完整版| 无码人妻丰满熟妇啪啪7774| 欧美亚洲日韩AⅤ在线观看| 久久狠狠高潮亚洲精品| 国产精品无码素人福利免费| А√天堂中文在线| 伊人婷婷六月狠狠狠去| 小受叫床高潮娇喘嗯啊MP3| 日本大片免A费观看视频| 老太性开放BBWBBWBBW| 国模无码一区二区三区| 丰满老熟好大BBBBBB| 98精产国品一二三产区区| 亚洲日韩AV成人无码| 午夜A级理论片在线播放琪琪| 人禽杂交18禁网站免费| 美女夫妻内射潮视频| 精品国产AV无码专区亚洲AV| 国产成人一区二区三区视频免费| WWW国产无套内射COM| 曰韩欧美群交P片内射| 亚洲AV最新天堂网址| 天天干天天射天天操| 人人妻人人妻人人片色AV| 美女浴室洗澡裸体爆乳无遮挡| 精品国产精品久久一区免费式 | 亚洲性啪啪无码AV天堂| 性欧美ⅩXXXX极品少妇小说| 色综合久久婷婷88| 全免费A敌肛交毛片免费| 麻豆网神马久久人鬼片| 精品久久久无码中字| 国产丝袜视频一区二区三区| 粉嫩av观看成人网站| YY111111少妇影院无码| 做AJ的姿势教程大全图| 亚洲午夜成人精品无码| 亚洲AV综合AV一区二区三区| 污黄啪啪网18以下勿进| 色婷婷狠狠18禁久久YYY| 秋霞国产成人精品午夜视频APP| 蜜桃AV无码乱码精品| 久久久久亚洲精品男人的天堂| 精品国产乱码久久久久久蜜桃网站| 国产蜜臀AV在线一区尤物| 国产成人AV乱码在线观看| 补课老师让我爽了一夜| 95W乳液78WYW永久区域| 又大又黄又爽视频一区二区| 亚洲色成人四虎在线观看| 亚洲丰满少妇XXXXX高潮对白| 午夜DJ影院免费直播观看完整版| 色综合久久中文综合网| 日本老熟妇ⅩXX| 人妻少妇乱孑伦无码专区蜜柚 | 久久综合九色综合欧美婷婷| 久久精品99无色码中文字幕| 狠狠色婷婷久久一区二区| 国产一区二区三区在线视頻 | 办公室少妇愉情理伦片| JEALOUSVUE成熟五十| A∨色狠狠一区二区三区| 1000部啪啪未满十八勿入| 中文区中文字幕免费看| 玉蒲团Ⅲ艳乳欲仙欲| 阳台顶着岳刘晓莉的肥臀 | 午夜A级毛片免费观看| 我当着我老公面给人C| 少妇寂寞难耐被黑人中出| 三个男人让我爽了一夜| 日韩国产成人无码AV毛片蜜柚| 日本丰满妇人成熟免费中文字幕| 人妻AV无码一区二区三区| 秋霞午夜久久午夜精品| 让女人受不了19种新姿势| 人妻夜夜添夜夜无码AV| 青青青国产精品一区二区| 青青国产揄拍视频| 人人做人人爽人人爱| 日本经典片免费看| 日韩欧美一区二区三区免费观看| 日韩成人精品久久网站| 色国产精品一区在线观看| 试看AAAA啪啪片120秒| 天码AV无码一区二区三区四区| 未满十八18禁止午夜免费网站| 无码人妻精品一区二区蜜桃视频 | 无遮挡呻吟娇喘视频免费播放| 午夜亚洲WWW湿好爽| 亚欧成人中文字幕一区| 亚洲AV日韩AV高潮喷无码| 亚洲高清国产AV拍精品青青草原| 亚洲精品国产成人99久久| 亚洲欧洲AV综合色无码| 一本久久A久久精品综合| 中国少妇无码专区| 51CG9热心的朝阳群众| JAPANESE日本护士XXX| 菠萝视频高清观看免费6| 粉嫩小泬久久久久久久久久小说| 国产成人精品久久久久精品日日| 国产乱子伦高清露脸对白| 成人做受120视频试看| 国产DB624色谱柱36521| 国产精品久久久久久福利| 国产婷婷成人久久Av免费高清 | 台湾MD豆传媒一区二区| 无码夫の前で人妻を犯す中字| 性一交一乱一色一视频| 亚洲乱码日产精品BD在观看| 又色又爽又黄的视频软件APP| 97久久人人超碰国产精品| 被陌生人带去卫生间啪到腿软| 国产99在线 | 韩国|