佚名 發表於 2019-11-08 16:36:46
在單片機的應用中,通信協議是必不可少的一部分,上位機與下位機,單片機與單片機,單片機與外設模塊之間的通信都需要通信協議實現信息交換和資源共享。由於設備之間不同的傳輸速率、電氣特性、可靠性要求的不同,產生了許多類型的適用於不同情況的通信協議,並被廣泛接受和使用。主要有以下幾種:
一、UART和USART
分別名為通用異步收發器和通用同步異步收發器(具體後文會進行詳解),速率不快,可全雙工,結構上一般由波特率產生器、UART/USART發送器、UART/USART接收器組成,硬體上兩線,一收一發。
二、I2C(IIC)
雙向、兩線、串行、多主控接口標準。速率不快,半雙工,同步接口,具有總線仲裁機制,非常適合器件間近距離經常性數據通信,可實現設備組網。
總線仲裁:線與,誰發0就仲裁成功。
三、SPI
高速同步串行口,高速,可全雙工,收發獨立,同步接口,可實現多個SPI設備互聯,硬體3~4線;也是所有基於SPI的設備公共有的,他們是SDI(數據輸入),SDO(數據輸出),SCK(時鐘),CS(片選)。
四、USB
高速同步串行口,高速,可全雙工,由主機、hub、設備組成。設備可以與下級的hub相連構成星型結構。一條USB的傳輸線分別由地線、電源線、D+、D-四條線構成,D+、D-是差分輸入線,它使用的是3.3V的電壓。數據在USB線裡傳送是由低位到高位發送的。
五、CAN
採用雙線傳輸,兩根導線分別作為CAN_H、CAN_L,並在終端配備有120Ω的電阻。收到總線信號時,CAN收發器將信號電平轉化為邏輯狀態,即CAN_H與CAN_L電平相減後,得到一個插值電平。各種幹擾在兩根導線上的作用相同,相減後的插值電平可以濾過這些幹擾。
六、DMA
DMA是指外部設備不通過CPU而直接與系統內存交換數據的接口技術。這樣數據的傳送速度就取決於存儲器和外設工作速度。
通常系統總線是由CPU管理的,在DMA方式時,就希望CPU把這些總線讓出來,即CPU連到這些總線上的線處於第三態(高阻狀態),而由DMA控制器接管,控制傳送的字節數,判斷DMA是否結束,以及發出DMA結束信號。
打開APP閱讀更多精彩內容
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴