在深入研究串行通信協議的技術之前,讓我們先討論一下通信。我們已經知道,交流涉及兩個或更多個人之間的信息交換。交流可以通過書面文件,口語,錄音帶,視頻課程等多種方式進行。但是,“通信”在嵌入式系統中是什么意思?答案很簡單!它只是兩個微控制器(嵌入式設備)之間以位形式進行的數據交換。嵌入式系統中數據(位)的交換受一組稱為通信協議的規則支配。
在數字通信中,有兩種類型的數據傳輸:
● 串行通訊
● 并行通訊
為簡單起見,我們將重點放在串行通信協議的基礎上。
在串行通信中,數據位在數據總線或通信通道上一次依次傳輸。為了正確理解這一點,讓我們考慮這種情況:
想象一下,您正在用弓箭射擊目標。箭如何從弓上飛出?一次一個,對吧?串行通訊就是這種情況。數據位一次從一個嵌入式設備傳輸到另一臺嵌入式設備。
現在,我們已經介紹了嵌入式系統中串行通信的基礎知識,讓我們繼續討論各種類型的串行通信協議。
CAN或控制器區域網絡協議是由羅伯特博世中在20世紀80年代構思。早在70年代后期,制造商就開始在汽車中使用先進的功能,例如防抱死制動系統、空調、中央門鎖、安全氣囊、齒輪控制、發動機管理系統等。
即使駕駛員(消費者)喜歡這些新功能,它們也有一些缺點。這些進步要求增加笨重的電線,昂貴的機械零件和復雜的設計,這導致車載電氣和機械系統的成本和復雜性增加。幸運的是,Robert Bosch通過引入CAN協議使工程師的工作變得更輕松。CAN協議改變了電子子系統的管理以及智能傳感器之間的通信-一種更簡單,更便宜的方法,只需一根電纜即可完成所有這些工作。
CAN協議的廣泛普及導致其在1993年被標準化為ISO11898。如今,CAN協議的應用涵蓋了從工業自動化到商業飯店油炸鍋的嵌入式系統范圍。
這些CAN應用程序的開發范圍從相當簡單到極其復雜。依賴此協議的設備非常重要。如果未正確設計,開發和測試,可能會導致嚴重損壞。確保對開發進行良好的監視和測試非常重要。協議分析器是一種適用于CAN應用的簡單而重要的開發和測試工具。
CAN協議的用途:
● CAN協議通常用于電子組件的車載網絡。
● 它也用于航空航天應用中的飛行分析和燃料網絡,泵等組件的聯網。
● 醫療設備的制造商經常使用CAN在醫療設備內創建嵌入式網絡。
I2C也被稱為IIC(發音為IIC)和I2C(發音為I-squared-C)。盡管這項技術已經使用了三十多年,但今天I2C協議仍被廣泛使用。實際上,它支持大量的嵌入式系統。
I2C協議允許嵌入式工程師將多個從設備與一個或多個主設備連接。與SPI協議類似,它主要用于同一打印機電路板(PCB)上兩個IC(集成電路)內的短距離通信。
它僅需要兩條雙向導線即可發送和接收數據位。在數據速率方面,I2C協議支持高達3.4 Mbps的速度-相當快。
以下是使用I2C協議的一些重要優點:
● 使用多個主設備來加快通信速度并改善設計功能的靈活性
● 芯片尋址消除了CS(芯片選擇)線的需要
● 通過ACK / NACK功能支持強大的錯誤處理機制。
但是,有一些限制。例如,由于它使用上拉電阻,因此會占用PCB上更多的空間。
I2C協議的用途:
● 更改監視器上的各種顏色設置,例如色相。
● 控制手機中的LED / LCD顯示
幫助打開/關閉內部組件的電源
串行外圍接口,通常稱為SPI或“間諜”,是嵌入式系統中使用最廣泛的接口規范之一。自從1980年代末Motorola引入SPI協議以來,SPI協議已廣泛用于嵌入式系統中的短距離通信。
通過SPI協議,設備使用主從架構相互通信。盡管SPI可以支持多個從設備,但主設備的數量限制為一個。SPI被稱為四線串行總線,因為它包含四個信號:
● 主輸出從輸入(MOSI)
● 主進從出(MISO)
● 串行時鐘(SCK)
● 從站選擇(SS)
在全雙工模式下,可以實現超過1Mbps的數據速率-這是SPI總線的主要優點之一。與I2C相比,SPI還支持使用簡單的硬件接口并提供更高的吞吐量。
但是,SPI協議也有一些缺點-缺少錯誤檢查機制和從屬確認功能是其中的主要缺點。
SPI協議的用途:
● 申請與溫度,壓力傳感器和視頻游戲控制器的通信
● 與LCD和SD卡接口
● 與閃存和EEPROM存儲器通信
● 從實時時鐘讀取數據。
迄今為止,USB(通用串行總線協議)是目前使用最普遍的協議,這并不是什么秘密。您可能會在家中發現一打USB電纜和連接器。它最初于1990年代開發,旨在標準化許多外圍設備與計算機的連接。今天,您可以通過USB電纜將幾乎所有東西(從外部硬盤驅動器到打印機)連接到筆記本電腦/計算機。
USB協議設計用于兩個特定目的:
● 與外圍設備通訊
● 為連接的設備供電(如果適用)
USB連接器有很多變體-您可以在鍵盤,鼠標和打印機上找到的標準USB。微型USB和USB Type-C主要用于手機-但是,它們在其他設備中的普及度也在增長。
當設備通過USB協議與另一設備通信時,數據以數據包的形式傳輸。所有數據包均由8位字節(或8位字節的倍數,取決于支持的比特率)組成,其中LSB或最低有效位先發送。如果要構建涉及USB的嵌入式系統,請確保使用USB協議分析器監視總線上的數據。
USB協議的用途:
● 將外圍設備(例如鍵盤,鼠標,打印機等)連接到計算機
● 給外圍設備供電
● 直接從電源插座或計算機為移動電源等附件以及手機和藍牙揚聲器等設備充電
eSPI由英特爾公司開發,是低引腳數(LPC)總線的后繼產品。eSPI代表增強型串行外圍設備總線接口-與LPC相比,它的主要功能是減少引腳數。
eSPI協議的用途:
● 減少主板上所需的引腳數
● 用于需要實時閃存共享的應用中