① 單片機串口作用
進行兩線制通信,通過電平轉換(MAX232)可與計算機通信
也可單片機間相互通信
② 單片機串列通訊與並行通訊區別
單片機串列通訊與並行通訊區別
一條信息的各位數據被逐位按順序傳送的通訊方式稱為串列通訊。串列通訊的特點是:數據位傳送,傳按位順序進行,最少只需一根傳輸線即可完成,成本低但送速度慢。串列通訊的距離可以從幾米到幾千米。 根據信息的傳送方向,串列通訊可以進一步分為單工、半雙工和全雙工三種。信息只能單向傳送為單工;信息能雙向傳送但不能同時雙向傳送稱為半雙工;信息能夠同時雙向傳送則稱為全雙工。 串列通訊又分為非同步通訊和同步通訊兩種方式。在單片機中,主要使用非同步通訊方式。
串列通訊中,兩個設備之間通過一對信號線進行通訊,其中一根為信號線,另外一根為信號地線,信號電流通過信號線到達目標設備,再經過信號地線返回,構成一個信號迴路。
初級讀者會產生疑問:為何不讓信號電流從電源地線返回?答案:公共地線上存在各種雜亂的電流,可以輕而易舉地把信號淹沒。因此所有的信號線都使用信號地線而不是電源地線,以避免干擾。
這一對信號線每次只傳送1bit(比特)的信號,比如1Byte(位元組)的信號需要8次才能發完。傳輸的信號可以是數據、指令或者控制信號,這取決於採用的是何種通訊協議以及傳輸狀態。串列信號本身也可以帶有時鍾信息,並且可以通過演算法校正時鍾。因此不需要額外的時鍾信號進行控制。
並行通訊中,基本原理與串列通訊沒有區別。只不過使用了成倍的信號線路,從而一次可以傳送更多bit的信號。
並行通訊通常可以一次傳送8bit、16bit、32bit甚至更高的位數,相應地就需要8根、16根、32根信號線,同時需要加入更多的信號地線。比如傳統的PATA線路有40根線,其中有16根信號線和7根信號地線,其他為各種控制線,一次可以傳送2Byte的數據。並行通訊中,數據信號中無法攜帶時鍾信息,為了保證各對信號線上的信號時序一致,並行設備需要嚴格同步時鍾信號,或者採用額外的時鍾信號線。
通過串列通訊與並行通訊的對比,可以看出:串列通訊很簡單,但是相對速度低;並行通訊比較復雜,但是相對速度高。更重要的是,串列線路僅使用一對信號線,線路成本低並且抗干擾能力強,因此可以用在長距離通訊上;而並行線路使用多對信號線(還不包括額外的控制線路),線路成本高並且抗干擾能力差,因此對通訊距離有非常嚴格的限制。
③ 單片機同步串列數據與非同步串列數據的區別
一般來說非同步串列每個信息單元之間有控制信號,發送和接收端分別用近似的時鍾工作,標准設備就是串口。同步串列一般會有一個時鍾信號,收發端均以該時鍾信號為收發時鍾,該信號一般由發送端產生,每個信息單元之間不再有起始,終於控制。
iic也算是同步串列設備。
④ 單片機里通信協議有什麼串列通信並行通信,串列通信有又同步,非同步,介面又有單匯流排,i2c,8080等
先來說說什麼是串列和並行。先假設傳八位數字信號。串列就是一根線來傳輸,八個數字量按照順序依次傳輸。並行口是八根線一次就傳輸出來。因此並行口的速度要比串列口快。但是並行口十分浪費資源。傳同樣的數據,其硬體消耗是串列的八倍。
再來說說串列的同步和非同步。在數字電路中,時鍾頻率是個很重要的概念。串列通信中必須要有一個時鍾來控制傳輸速度。如果這個時鍾分別來自於發送方和接收方的內部,那麼這個就是非同步通信,如果時鍾是由主機發出的,也就是發送方和接收方使用同一個時鍾信號,那麼這就是同步通信。
單匯流排有的晶元再用。就是說發送和接收用的都是一根線。它只需要一根線就可以完成通信。
i2c也是一種串列通信標准。有兩根通信線。
8080不是很了解。不過應該也是一種通信協議。
⑤ 單片機通信有三種,其中應用在對講機是採用
首先弄懂串列通信和並行通信以及串口通信和並口通信的概念。
串列通行:它是一個概念,它是指數據一位一位地順序傳送,其特點就是通信線路
簡單,只要一對傳輸線就可實現雙向通信,適用於遠距離通信,但傳輸速度慢。它
包括普通的串口通信,I2C,SPI,UART...
串口通信:是一種實際通信方式,但是我們可以幾乎看成一樣.
串列介面:簡稱串口,或串列通信介面,或串列通訊介面(通常指com口)。
並行通信:如果一組數據的各數據位在多條線上同時被傳輸,那麼就是並行通信。
並口介面:就是一種介面,各數據位同時被傳輸,傳輸速度快,效率高,一邊可用於MCU。
串列通信又可分為單工,半雙工和全雙工
單工:信息只能單向傳送。
半雙工:信息能雙向傳送但不能同時。
全雙工:信息能同時雙向傳送。
串列通信還可分為同步通信和非同步通信
同步通信(兩根線):是把許多字元組成一個信息組,這樣,字元可以一個接一個地傳輸,但是,
在每組信息(通常稱為信息幀)的開始要加上同步字元,在沒有信息要傳輸時,要填上空字元,
因為同步傳輸不允許有間隙。同步方式下,發送方除了發送數據,還要傳輸同步時鍾信號,
信息傳輸的雙方用同一個時鍾信號確定傳輸過程中每1位的位置
非同步通信(一根信號線,沒有時鍾線):是一種很常用的通信方式。非同步通信在發送字元時,所發送的字元之間的時間
間隔可以是任意的。當然,接收端必須時刻做好接收的准備。發送端可以在任意時刻開始發送字元,
因此必須在每一個字元的開始和結束的地方加上標志,即加上開始位和停止位,以便使接收端能夠
正確地將每一個字元接收下來。非同步通信的好處是通信設備簡單、便宜,但傳輸效率較低(因為開始位和停止位的開銷所佔比例較大)。
同步通信與非同步通信區別:
1.同步通信要求接收端時鍾頻率和發送端時鍾頻率一致,發送端發送連續的比特流;非同步通信時
不要求接收端時鍾和發送端時鍾同步,發送端發送 完一個位元組後,可經過任意長的時間間隔再發送下一個位元組。
2.同步通信效率高;非同步通信效率較低。
3.同步通信較復雜,雙方時鍾的允許誤差較小;非同步通信簡單,雙方時鍾可允許一定誤差。
4.同步通信可用於點對多點;非同步通信只適用於點對點。
單片機中的SPI、UART、I2C
1、SPI
SPI允許單片機和外圍設備或者單片機之間高速同步數據傳輸,SPI可以有主機和從機模式之選,通信的主從機之間通過移位寄存器同時交換數據。目前自己用的以主機模式居多。SPI需要四線:SS,MISO,MOSI,SCK。
通信過程:在設置好SPI的工作模式:包括SCK頻率(數據傳輸速率),工作速度,主從模式,以及數據接收發送對應的時鍾極性。在主模式下,將SS拉低表示通信的開始,然後通過向SPI數據寄存器中寫入一位元組的數據後自動啟動時鍾SCK開始進行一次通信,通信完成後會產生相應的中斷標志,標志一個位元組數據的傳送完成。通信完成後將SS腳拉高,表示通信過程已經結束。
注意SS引腳的設置:當設置為從機模式時,SS引腳應設置為輸入,拉低的時候SPI才能起作用,拉高的話是消極的SPI模式;在主機模式下,SS引腳可以設置,一般應設置為輸出,如果設置為輸入的話應保持為高,否則將不能進行正常的主機模式操作。
2、USART
USART的操作比較簡單,主要是設置波特率,數據格式,以及中斷允許位等,值得至於的是其USART IN SPI MODE,在SPI模式下的USART的操作跟SPI操作差不多,主要是Clock的設置,然後發送數據還是通過USART的中斷進行
3、I2C
I2C介面是簡單強大的通信介面,只需要兩根雙向匯流排(時鍾和數據線),SCL和SDA,即可實現一個主機和最多128個從機進行通信。模擬I2C介面的過程:啟動I2C,一般是在SCL為高時將SDA拉低啟動數據發送,SDA只有在SCL為低時才能拉高拉低有效,在SCL為高時拉高拉低SDA只是用於停止啟動I2C通信
I2C匯流排是 內部匯流排 ,用來連接內部系統內的晶元。
串口通信是用來和系統外部的設別通信的。比如設備和設備之間通信。
SPI,UAR,I2C都是串列通信方式,並行通信方式一般用的少,因為只適合
短距離,一般用於MCU比較多,因為MCU它對數據的傳輸速度有要求,而且
與塔相連的晶元一般會比較近。
MCU 他的屬性要比CPU(這里指單片機,其他地方應該也是) 強,它包括CPU的性能,
且還有CPU沒有的性能。