24小時聯系電話:18217114652、13661815404
中文
行業資訊
單片機開發常用的通信協議有哪些以及解析?
在單片機開發的應用中,通信協議是必不可少的一部分,上位機與下位機,單片機開發與單片機方案,單片機與外設模塊之間的通信都需要通信協議實現信息交換和資源共享。由于設備之間不同的傳輸速率、電氣特性、可靠性要求的不同,產生了許多類型的適用于不同情況的通信協議,并被多方接受和使用。主要有以下幾種:
淺析六種常用的單片機通信協議
一、UART和USART
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結束信號。