大名鼎鼎的串行異步通信名字的由來

2022-05-17     大方老師單片機

原標題:大名鼎鼎的串行異步通信名字的由來

大名鼎鼎的串行異步通信名字的由來

///插播一條:我自己在今年年初錄製了一套還比較系統的入門單片機教程,想要的同學找我拿就行了免費的,私信我就可以~點我頭像黑色字體加我地球呺也能領取哦。最近比較閒,帶做畢設,帶學生參加省級或以上比///

串口是我們平時在調試板子和程序時經常使用到的。就像榨菜一樣,便宜又百搭。對於新人來說,卻也容易因為概念不清晰而犯錯。串行通信UARTRS232這些東西是一會事嗎?如果你分不清這些名詞,那就值得看一下這篇文章。

01串行通信

首先看下串行通信是個啥。我們通常說的串行通信其實是一種想法,只是種想法。串行通信的思想是將數位訊號通過一根數據線一BitBit的發送出去,這種想法是相對於並行通信而存在的。並行通信的應用中通常會81632根不等的數據線,一次就可以輸出一Byte或一Word。既然串行通信只是一個想法,那我們要做些什麼事情才能把這個想法變成現實呢?我們可以用兩個火把,兩種顏色,一個黃的,一個紅的。黃的代表數據,亮了1,滅了0。那應該在什麼時候記錄數據呢?紅的火把從暗到亮的時候記錄數據。這樣我們就可以得到一連串010101111.了。我們的火把同步串行通信接口Torch Synchronous Serial InterfaceTSSI)就設計完成了。

02 UART

如果把上面的黃、紅火把發出的光換成我們的專業術語,就會是數據信號和時鐘信號。UARTUniversal Asynchronous Receiver/Transmitter)就類似那兩個產生信號的火把再加上記錄數據和舉火把的小人這是一個看的見摸的著的電路。這個電路里有位移寄存器、波特率發生器、緩存器等。區別於我們TSSI的是UART沒有生成時鐘信號去同步數據發送端和數據接收端,沒有時鐘信號線。它只用了一個數據線。當要傳輸數據的時Transmitter直接在信號線上來個電平跳變,提Receiver數據要來了Receiver在感知到這個跳變信號後開始採樣。工程中用到的採樣頻率一般是數據發送頻率(波特率)416Transmitter的數據發送頻率就被稱之為波特率。因為跳變的電平信號已經起到了一定的ReceiverTransmitter同步的作用,再加上採樣頻率高于波特率ReceiverTransmitter之間就沒有必要再多一根時鐘信號線了,也就是時鐘可以不同步,可以有略微的差別5%左右)。這就是大名鼎鼎的串行異步通信名字的由來。

03 RS232

UART這個東西之後是不是就可以直接在設備之間用了呢?如果是在一塊板子上這裡沒有太大問題。現在大多數晶片的輸出電壓都TTL的,所以電平兼容,而且一塊板子上干擾又不會太高。但要是用在設備與設備之間通信,那可能就會有問題了。比如說主控電腦和電機驅動器之間。這種情況TTL的抗噪能力就比較單薄了。比較簡單的做法就是增加邏1和邏0之間的電壓差,比如RS232這種接口中定義的電平格式(邏1-5~-15V,邏0+5~+15V)。還有用差分信號的方式,比RS485。沒錯RS232只是一種接口,定義了接口的外觀、各個引腳的功能、信01對應的電壓等。所以平時使UART的時候要注意接口的電壓TTL的還RS232的。如果兩個設備的邏輯電平定義不一樣就得加個轉換口。類似下圖。

有了上面介紹的這些東西,我們好像就可以開始設計我們自己的串口通信電路了。什iUART, UARTplus, USRT等等等,仿佛商機就在眼前。但讓人可惜或者高興的是市場上有太多現成的產品可以用了,USB, SPI, I2C, CAN等一系列基於串行通信這個想法發展起來的協議,其協議本身和周邊配套的硬體和軟體驅動都已經很成熟了。

文章來源: https://twgreatdaily.com/zh-tw/10fd9da3bcdfe9e39543a8132aa4fbfb.html