欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

我猜你還不會(huì)UART!不信你點(diǎn)進(jìn)來(lái)看看

FPGA之家 ? 來(lái)源:小麥大叔 ? 作者:小麥大叔 ? 2021-06-01 11:09 ? 次閱讀

1 UART發(fā)展歷史1.1 早期的串行通訊設(shè)備早期的電報(bào)機(jī)器使用長(zhǎng)度可變的脈沖信號(hào)進(jìn)行數(shù)據(jù)傳輸,比如摩斯電碼;

970a7114-c238-11eb-9e57-12bb97331649.png

摩斯電碼

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

Teletypewritter

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

1.2 早期的芯片級(jí)UARTDEC(Digital Equipment Corporation)公司的Gordon Bell 為該公司的PDP系列計(jì)算機(jī)設(shè)計(jì)了第一個(gè)UART,不過(guò)體積龐大,UART的線路占據(jù)了整個(gè)電路板;

后來(lái)DEC將串行線路單元的設(shè)計(jì)濃縮為早期的UART單芯片,以方便自己使用。

DEC是美國(guó)一家計(jì)算機(jī)公司;

西部數(shù)據(jù)(Western Digital)公司在1971年左右將其開(kāi)發(fā)為第一個(gè)廣泛可用的UART單芯片 WD1402A。這是中型集成電路的早期產(chǎn)品。

Western Digital是美國(guó)計(jì)算機(jī)硬盤驅(qū)動(dòng)器制造商和數(shù)據(jù)存儲(chǔ)公司。

1.3 現(xiàn)代UART的發(fā)展2000年代開(kāi)始,大多數(shù)IBM或者相關(guān)的計(jì)算機(jī)都刪除了其外部RS232的COM端口,將其替換為帶寬性能更加出色的USB端口;

對(duì)于仍然需要RS-232串行COM端口的用戶,現(xiàn)在通常使用外部USB轉(zhuǎn)UART轉(zhuǎn)換器,常見(jiàn)的有CH340,Silicon Labs 210x的驅(qū)動(dòng)程序,現(xiàn)在很多處理器和芯片都內(nèi)置了UART。

2 預(yù)備知識(shí)通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter,通常稱為UART),在UART通信中,兩個(gè)UART直接通信。

發(fā)送端的UART將來(lái)自控制設(shè)備(如CPU)的并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),以串行方式將其發(fā)送到接收端的UART,然后由接收端的UART將串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)以用于接收設(shè)備的正常處理。

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

97372e48-c238-11eb-9e57-12bb97331649.png

3 協(xié)議層UART傳輸?shù)臄?shù)據(jù)被封裝成數(shù)據(jù)包。每個(gè)數(shù)據(jù)包包含1個(gè)起始位,5~9個(gè)數(shù)據(jù)位(取決于UART的具體設(shè)置),一個(gè)可選的奇偶校驗(yàn)位以及1個(gè)或2個(gè)停止位,具體如下圖所示;

97433314-c238-11eb-9e57-12bb97331649.png

協(xié)議格式

起始位UART數(shù)據(jù)傳輸線通常在不傳輸數(shù)據(jù)時(shí)保持在高電平。

為了開(kāi)始數(shù)據(jù)傳輸,發(fā)送端UART在一個(gè)時(shí)鐘周期內(nèi)將傳輸線從高電平拉低到低電平。

當(dāng)接收端UART檢測(cè)到高電壓到低電壓轉(zhuǎn)換時(shí),它開(kāi)始以波特率的頻率讀取數(shù)據(jù)位中的每一位數(shù)據(jù)。

數(shù)據(jù)數(shù)據(jù)位包含正在傳輸?shù)膶?shí)際數(shù)據(jù)。如果使用奇偶校驗(yàn)位,則可以是5位,最多8位。如果不使用奇偶校驗(yàn)位,則數(shù)據(jù)幀的長(zhǎng)度可以為9位。

在大多數(shù)情況下,數(shù)據(jù)首先以低有效位發(fā)送。

校驗(yàn)位在串口通信中一種簡(jiǎn)單的檢錯(cuò)方式。

有四種檢錯(cuò)方式:偶校驗(yàn)、奇校驗(yàn)、高校驗(yàn)和低校驗(yàn)。當(dāng)然沒(méi)有校驗(yàn)位也是可以的。

對(duì)于偶和奇校驗(yàn)的情況,串口會(huì)設(shè)置校驗(yàn)位(數(shù)據(jù)位后面的一位),用一個(gè)值確保傳輸?shù)臄?shù)據(jù)有偶個(gè)或者奇?zhèn)€邏輯高位。

舉個(gè)例子,如果數(shù)據(jù)是011,則滿足;

偶校驗(yàn),校驗(yàn)位為0,保證邏輯高的位數(shù)是偶數(shù)個(gè)。

奇校驗(yàn),校驗(yàn)位為1,這樣就有3個(gè)邏輯高位。

具體如下圖所示;

976882c2-c238-11eb-9e57-12bb97331649.png

奇校驗(yàn)和偶校驗(yàn)

高位和低位不是真正的檢查數(shù)據(jù),而是強(qiáng)行將校驗(yàn)位設(shè)置為邏輯高或者邏輯低。這樣使得接收設(shè)備能夠知道一個(gè)位的狀態(tài),有機(jī)會(huì)判斷是否有噪聲干擾了通信或者是否傳輸和接收數(shù)據(jù)是否不同步。

停止位發(fā)送端UART將數(shù)據(jù)傳輸線從低電壓驅(qū)動(dòng)到高電壓至少持續(xù)兩位數(shù)據(jù)的時(shí)間寬度來(lái)表示整個(gè)數(shù)據(jù)包的傳輸已經(jīng)結(jié)束。

由于數(shù)據(jù)是在傳輸線上定時(shí)的,并且每一個(gè)設(shè)備有其自己的時(shí)鐘,很可能在通信中兩臺(tái)設(shè)備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計(jì)算機(jī)校正時(shí)鐘同步的機(jī)會(huì)。適用于停止位的位數(shù)越多,不同時(shí)鐘同步的容錯(cuò)性越好,但是數(shù)據(jù)傳輸率同時(shí)也越慢。

波特率波特率是串口數(shù)據(jù)的傳輸速度,即Bit/s,常見(jiàn)的波特率有:9600,19200,38400,57600,115200,當(dāng)然還有很多波特率,不再一一給出;

假設(shè)目前UART的配置為,1個(gè)起始位,8個(gè)數(shù)據(jù)位,0個(gè)校驗(yàn)位,1個(gè)停止位,那么9600的波特率,可以計(jì)算出每一位數(shù)據(jù)的時(shí)間寬度為:

那么傳輸一個(gè)字節(jié)(也就是10 bit 數(shù)據(jù))需要的時(shí)間為 1.04 毫秒。

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

983f9460-c238-11eb-9e57-12bb97331649.jpg

則可以簡(jiǎn)單計(jì)算得到;

因此波特率大概為 38400;

下表是各個(gè)波特率下數(shù)據(jù)位時(shí)間寬度;

o4YBAGC1pSmAQyeXAAAnV8xR1vQ153.png

4 傳輸過(guò)程發(fā)送端UART從數(shù)據(jù)總線轉(zhuǎn)換并行數(shù)據(jù):

984a9e5a-c238-11eb-9e57-12bb97331649.png

發(fā)送端UART將起始位,奇偶校驗(yàn)位和停止位添加到數(shù)據(jù)包中:

98758890-c238-11eb-9e57-12bb97331649.png

整個(gè)數(shù)據(jù)包從發(fā)送端UART串行發(fā)送到接收端UART;接收端UART按照預(yù)先配置好的波特率對(duì)數(shù)據(jù)線進(jìn)行采樣:

987f037a-c238-11eb-9e57-12bb97331649.png

接收端UART解析接收的數(shù)據(jù),丟棄數(shù)據(jù)包中的起始位,奇偶校驗(yàn)位和停止位:

988aeb72-c238-11eb-9e57-12bb97331649.png

接收UART將串行數(shù)據(jù)轉(zhuǎn)換回并行數(shù)據(jù),并將其傳輸?shù)浇邮斩说臄?shù)據(jù)總線:

9895a7c4-c238-11eb-9e57-12bb97331649.png

5 物理層UART、RS232、RS485在串口通信中,主要區(qū)別是電平的不同,其中UART通常使用TTL電平,下面介紹這幾個(gè)存在的差異;

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;

同樣的,對(duì)于傳輸數(shù)據(jù)0x55,即二進(jìn)制的01010101,RS232和TTL的區(qū)別如下;

989e2980-c238-11eb-9e57-12bb97331649.png

RS485

RS485是差分信號(hào)進(jìn)行串行傳輸;

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

邏輯“0”以兩線間的電壓差為-(2~6)V表示;

工業(yè)通信中,使用RS485比較多,因?yàn)镽S485是差分信號(hào),可以抑制共模干擾,因此在惡劣的環(huán)境中擁有很好的抗干擾性,比較穩(wěn)定;

6 優(yōu)缺點(diǎn)沒(méi)有任何通信協(xié)議是完美的,以下是UART的一些利弊,可幫助您確定它們是否適合您的項(xiàng)目需求:

優(yōu)點(diǎn)

通信只需要兩條數(shù)據(jù)線;

無(wú)需時(shí)鐘信號(hào);

有奇偶校驗(yàn)位,方便通信的差錯(cuò)檢查;

只需要接收端和發(fā)送端設(shè)置好數(shù)據(jù)包結(jié)構(gòu),即可穩(wěn)定通信;

缺點(diǎn)

數(shù)據(jù)幀最大支持9位數(shù)據(jù);

不支持多主機(jī)或多從機(jī)的主從系統(tǒng);

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 集成電路
    +關(guān)注

    關(guān)注

    5392

    文章

    11630

    瀏覽量

    363339
  • 電平
    +關(guān)注

    關(guān)注

    5

    文章

    361

    瀏覽量

    40020
  • 晶體管
    +關(guān)注

    關(guān)注

    77

    文章

    9767

    瀏覽量

    138960
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1244

    瀏覽量

    101803
  • 數(shù)據(jù)包
    +關(guān)注

    關(guān)注

    0

    文章

    267

    瀏覽量

    24514

原文標(biāo)題:我打賭!你還不會(huì)UART!不信,你看看~

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    歐姆定律是很熟,只是沒(méi)想到電流不按套路出牌!

    本來(lái)真的覺(jué)得板級(jí)電源通流的PCB設(shè)計(jì)很簡(jiǎn)單,多鋪平面多打過(guò)孔就搞掂。自從讀到高速先生這篇文章后,立馬就把以前的設(shè)計(jì)項(xiàng)目又翻出來(lái)看看……
    的頭像 發(fā)表于 10-28 17:40 ?302次閱讀
    歐姆定律<b class='flag-5'>我</b>是很熟,只是沒(méi)想到電流不按套路出牌!

    知道LED全息隱形屏是什么嗎?

    在當(dāng)今的科技時(shí)代,各種新型顯示技術(shù)層出不窮,其中LED全息隱形屏是近備受關(guān)注的一種。 如果對(duì)這項(xiàng)技術(shù)還不是很了解,邁普光彩小編一起走進(jìn)這個(gè)神秘的技術(shù)世界吧。 LED全息屏屏幕呈網(wǎng)格狀,采用特殊
    的頭像 發(fā)表于 10-28 14:13 ?236次閱讀
    <b class='flag-5'>你</b>知道LED全息隱形屏是什么嗎?

    明明說(shuō)的是25G信號(hào),卻讓看12.5G的損耗?

    。 那如果25Gbps信號(hào)的損耗真的是要看到25GHz頻點(diǎn)的話,30dB的衰減在眼圖中估計(jì)只能看到黑屏和雪花了。但是實(shí)際仿真卻不是這樣,依然能得到還不錯(cuò)的眼圖結(jié)果,如下所示,眼高
    發(fā)表于 10-23 09:11

    明明說(shuō)的是25G信號(hào),卻讓看12.5G的損耗?

    那一天,問(wèn)高速先生25G光模塊信號(hào)在主板上允許的損耗是多少,他們就告訴在12.5G要滿足大概7.3dB,當(dāng)時(shí)就懵了,明明說(shuō)的是25G啊,他跟我說(shuō)12.5G干嘛!
    的頭像 發(fā)表于 10-23 09:08 ?1166次閱讀
    明明<b class='flag-5'>我</b>說(shuō)的是25G信號(hào),<b class='flag-5'>你</b>卻讓<b class='flag-5'>我</b>看12.5G的損耗?

    關(guān)于陶瓷電路板不知道的事

    陶瓷電路板(Ceramic Circuit Board),又稱陶瓷基板,是一種以陶瓷材料為基體,通過(guò)精密的制造工藝在表面形成電路圖形的高技術(shù)產(chǎn)品,快來(lái)看看哪些是您還不知道的事?
    的頭像 發(fā)表于 10-21 11:55 ?430次閱讀
    關(guān)于陶瓷電路板<b class='flag-5'>你</b>不知道的事

    認(rèn)識(shí)貼片電阻嗎,對(duì)他了解多少?

    認(rèn)識(shí)貼片電阻嗎,對(duì)他了解多少?
    的頭像 發(fā)表于 08-27 15:49 ?613次閱讀
    <b class='flag-5'>你</b>認(rèn)識(shí)貼片電阻嗎,<b class='flag-5'>你</b>對(duì)他了解多少?

    是否有uart命令來(lái)設(shè)置傳輸時(shí)的字符延遲?

    19200接收UART,但是該應(yīng)用程序有時(shí)會(huì)丟失一些字符。在 16mhz 時(shí),無(wú)論如何做到這一點(diǎn),都不會(huì)丟失任何字符。 一個(gè)問(wèn)題:是否有 uar
    發(fā)表于 07-16 07:47

    雙向收發(fā)的信號(hào)應(yīng)該在哪進(jìn)行串聯(lián)端接?分享幾個(gè)實(shí)用設(shè)計(jì)方法!

    自從上次高速先生教會(huì)了串阻端接的技巧后,感覺(jué)一般的設(shè)計(jì)都難不倒了!直到遇到了雙向收發(fā)的信號(hào)這種“二般”的設(shè)計(jì)后,感覺(jué)自己又不會(huì)了。別慌,再進(jìn)來(lái)
    的頭像 發(fā)表于 07-12 18:03 ?1395次閱讀
    雙向收發(fā)的信號(hào)應(yīng)該在哪進(jìn)行串聯(lián)端接?分享幾個(gè)實(shí)用設(shè)計(jì)方法!

    FHT4644國(guó)產(chǎn)替代必然性崛起還不來(lái)了解一下芯片這些事嗎

    FHT4644國(guó)產(chǎn)替代必然性崛起還不來(lái)了解一下芯片這些事嗎 國(guó)產(chǎn)芯片崛起,讓國(guó)內(nèi)發(fā)展環(huán)境變得更加穩(wěn)定,國(guó)產(chǎn)芯片F(xiàn)HT4644通過(guò)性能實(shí)驗(yàn)測(cè)試,更高效。實(shí)驗(yàn)室常溫條件下,實(shí)測(cè)數(shù)據(jù),輸出電流Iout
    發(fā)表于 06-24 17:38

    6個(gè)晶振停振原因及解決方案,確定不來(lái)看看嗎~

    ??晶振停振是電子設(shè)備中常見(jiàn)的問(wèn)題,它會(huì)影響到整個(gè)電路的正常工作。晶振停振的原因主要有以下幾種以及對(duì)應(yīng)的解決方案:??1.晶片損壞或破裂??晶片的破裂是不可逆的物理現(xiàn)象,晶振的晶片若發(fā)生損壞或破裂,會(huì)直接導(dǎo)致晶振不起振。這可能是由于晶振在轉(zhuǎn)運(yùn)過(guò)程中遭受了過(guò)強(qiáng)的沖擊而損壞。晶體在剪腳和焊錫的時(shí)候容易產(chǎn)生機(jī)械應(yīng)力和熱應(yīng)力,如果焊錫溫度過(guò)高和作用時(shí)間太長(zhǎng),都可能影
    的頭像 發(fā)表于 06-21 16:53 ?1103次閱讀
    6個(gè)晶振停振原因及解決方案,<b class='flag-5'>你</b>確定不<b class='flag-5'>來(lái)看看</b>嗎~

    為什么串阻阻值通常是22到33歐姆,看完后不信不懂!

    ,基本上很多1GHz以下的單端信號(hào)都有可能用到。從信號(hào)類型來(lái)看,像低速點(diǎn)的I2C信號(hào)、local bus信號(hào)到高一點(diǎn)的flash信號(hào)、以太網(wǎng)RGMII信號(hào),甚至再高一點(diǎn)的DDR1到DD
    發(fā)表于 06-04 11:12

    如何用Arduino制作一個(gè)簡(jiǎn)易自動(dòng)喂魚(yú)器

    都用3D打印制作,這樣可以避免由于溢出而造成浪費(fèi)。 可以使用下面給出的STL文件,注意不會(huì)使用任何墊片或支撐來(lái)打印這些零件。(文末打包下載) PLA細(xì)絲顏色可由你選擇,在我看來(lái),這種顏色看起來(lái)
    發(fā)表于 03-28 11:25

    STM32F103RCT6 uart1中斷方式接收后不返回主程序了,但新的中斷還能進(jìn)來(lái)是怎么回事?

    uart1中斷方式接收后不返回主程序了,但新的中斷還能進(jìn)來(lái),芯片型號(hào)STM32F103RCT6 void HAL_UART_RxCpltCallback(UART
    發(fā)表于 03-22 07:01

    還不會(huì)代碼托管嗎?一文教會(huì)使用Gitee~

    一、Gitee簡(jiǎn)介gitee:基于Git的代碼托管和研發(fā)協(xié)作平臺(tái)二、Gitee創(chuàng)建賬號(hào)1、打開(kāi)瀏覽器,輸入https://gitee.com進(jìn)入gitee官網(wǎng),注冊(cè)2、注冊(cè)好賬號(hào),進(jìn)入gitee主頁(yè)面3、點(diǎn)擊"+"以及新建倉(cāng)庫(kù),創(chuàng)建自己的倉(cāng)庫(kù)4、創(chuàng)建倉(cāng)庫(kù)名稱(最好是言簡(jiǎn)意賅的名字),點(diǎn)擊創(chuàng)建5、下面就是我們創(chuàng)建好的倉(cāng)庫(kù)了三、Gitee使用技巧1Gitee提交
    的頭像 發(fā)表于 03-05 08:13 ?820次閱讀
    <b class='flag-5'>還不會(huì)</b>代碼托管嗎?一文教會(huì)<b class='flag-5'>你</b>使用Gitee~

    如何將USB-UART bridge固件復(fù)合進(jìn)來(lái),實(shí)現(xiàn)synchronous slave FIFO和USB-UART bridge同時(shí)工作?

    ,USB-UART bridge ,可實(shí)現(xiàn)虛擬COM端口 請(qǐng)問(wèn)如何將USB-UART bridge 固件復(fù)合進(jìn)來(lái),實(shí)現(xiàn)synchronous slave FIFO和USB-UART b
    發(fā)表于 02-29 07:09