按資料傳送的方式,通訊可分為序列通訊與並行通訊,序列通訊是指裝置之間通過少量資料訊號線(一般是 8 根以下),地線以及控制訊號線,按資料位形式一位一位地傳輸資料的通訊方式。
而並行通訊一般是指使用 8、 16、 32 及 64 根或更多的資料線進行傳輸的通訊方式。並行通訊就像多個車道的公路,可以同時傳輸多個資料位的資料,而序列通訊,而序列通訊就像單個車道的公路,同一時刻只能傳輸乙個資料位的資料。 並行通訊與序列通訊的對比圖如下:
很明顯,因為一次可傳輸多個資料位的資料 ,在資料傳輸速率相同的情況下,並行通訊傳輸的資料量要大得多,而序列通訊則可以節省資料線的硬體成本(特別是遠距離時)以及 pcb 的佈線面積,序列通訊與並行通訊的特性對比如下:
不過由於並行傳輸對同步要求較高,且隨著通訊速率的提高,訊號干擾的問題會顯著影響通訊效能,現在隨著技術的發展,越來越多的應用場合採用高速率的序列差分傳輸。
根據資料通訊的方向,通訊又分為全雙工、半雙工及單工通訊,它們主要以通道的方向來區分:
仍以公路來模擬,全雙工的通訊就是乙個雙向車道,兩個方向上的車流互不相干;半雙工則像鄉間小道那樣,同一時刻只能讓一輛小車通過,另一方向的來車只能等待道路空出來時才能經過;而單工則像單行道,另一方向的車輛完全禁止通行。
根據通訊的資料同步方式,又分為同步和非同步兩種,可以根據通訊過程中是否有使用到時鐘訊號進行簡單的區分
。
在同步通訊中,收發裝置雙方會使用一根訊號線表示時鐘訊號,在時鐘訊號的驅動下雙方進行協調,同步資料。通訊中通常雙方會統一規定在時鐘訊號的上公升沿或下降沿對資料線進行取樣。 同步通訊:
在非同步通訊中不使用時鐘訊號進行資料同步,它們直接在資料訊號中穿插一些同步用的訊號位,或者把主體資料進行打包,以資料幀的格式傳輸資料,某些通訊中還需要雙方約定資料的傳輸速率,以便更好地同步。非同步通訊:
在同步通訊中,資料訊號所傳輸的內容絕大部分就是有效資料,而非同步通訊中會包含有幀的各種識別符號,所以同步通訊的效率更高,但是同步通訊雙方的時鐘允許誤差較小,而非同步通訊雙方的時鐘允許誤差較大。
衡量通訊效能的乙個非常重要的引數就是通訊速率,通常以位元率(bitrate)
來表示,即每秒鐘傳輸的二進位制位數,單位為位元每秒(bit/s)。容易與位元率混淆的概念是波特率(baudrate)
,它表示每秒鐘傳輸了多少個碼元
。
而碼元是通訊訊號調製的概念,通訊中常用時間間隔相同的符號來表示乙個二進位制數字,這樣的訊號稱為碼元。
如常見的通訊傳輸中,用 0v 表示數字 0, 5v 表示數字 1,那麼乙個碼元可以表示兩種狀態 0 和 1,所以乙個碼元等於乙個二進位制位元位,此時波特率的大小與位元率一致;如果在通訊傳輸中,有 0v、2v、 4v 以及 6v 分別表示二進位制數 00、 01、 10、 11,那麼每個碼元可以表示四種狀態,即兩個二進位制位元位,所以碼元數是二進位制位元位數的一半,這個時候的波特率為位元率的一半。
因為很多常見的通訊中乙個碼元都是表示兩種狀態,人們常常直接以波特率來表示位元率。
摘抄自:
《【野火】零死角玩轉stm32—f429挑戰者v2.pdf》
預熱2 什麼是STM32?認識STM32
1 什麼是stm32 stm32是由arm公司設計,意法半導體 st 公司生產的基於 arm cortex m 核心的32 位的mcu 系列。2 stm32能做什麼?stm32 屬於乙個微控制器,適用於控制類,自帶了各種常用通訊介面,比如 usart i2c spi 等,可接非常多的感測器,可以控制...
STM32學習筆記(3) 什麼是STM32
既然已經做好了開發stm32的準備,軟體硬體都準備好了,那麼我們來了解一下何為stm32吧。stm32是意法半導體 st 設計的一系列32位晶元的名字,細分為l f h三個系列。f系列是最經典的系列。f系列的基礎晶元是f1系列,低廉,麻雀雖小五臟俱全,我做課程設計最喜歡用的就是stm32f103c8...
STM32之間SPI通訊
這幾天實驗室比較忙,所以部落格這邊停了一下,繼續吧。繼串列埠中斷後,大家可以嘗試微控制器間串列埠通訊,這裡就不再多贅述。串列埠完了之後,我接著學的就是spi通訊了,作為hello moto公司推出的這種4線全雙工通訊,很節約pcb布局空間,但缺點就是沒有指定的流控制,沒有應答機制來確定訊號收到與否,...