24小時聯(lián)系電話:18217114652、13661815404
中文
行業(yè)資訊
單片機開發(fā)常用的通信協(xié)議有哪些以及解析?
在單片機開發(fā)的應(yīng)用中,通信協(xié)議是必不可少的一部分,上位機與下位機,單片機開發(fā)與單片機方案,單片機與外設(shè)模塊之間的通信都需要通信協(xié)議實現(xiàn)信息交換和資源共享。由于設(shè)備之間不同的傳輸速率、電氣特性、可靠性要求的不同,產(chǎn)生了許多類型的適用于不同情況的通信協(xié)議,并被多方接受和使用。主要有以下幾種:
淺析六種常用的單片機通信協(xié)議
一、UART和USART
UART和USART分別名為通用異步收發(fā)器和通用同步異步收發(fā)器(具體后文會進行詳解),速率不快,可全雙工,結(jié)構(gòu)上一般由波特率產(chǎn)生器、UART/USART發(fā)送器、UART/USART接收器組成,硬件上兩線,一收一發(fā)。
二、I2C(IIC)
雙向、兩線、串行、多主控接口標準。速率不快,半雙工,同步接口,具有總線仲裁機制,非常適合器件間近距離經(jīng)常性數(shù)據(jù)通信,可實現(xiàn)設(shè)備組網(wǎng)。
總線仲裁:線與,誰發(fā)0就仲裁成功。
三、SPI
高速同步串行口,高速,可全雙工,收發(fā)獨立,同步接口,可實現(xiàn)多個SPI設(shè)備互聯(lián),硬件3~4線;也是所有基于SPI的設(shè)備公共有的,他們是SDI(數(shù)據(jù)輸入),SDO(數(shù)據(jù)輸出),SCK(時鐘),CS(片選)。
四、USB
高速同步串行口,高速,可全雙工,由主機、hub、設(shè)備組成。設(shè)備可以與下級的hub相連構(gòu)成星型結(jié)構(gòu)。一條USB的傳輸線分別由地線、電源線、D+、D-四條線構(gòu)成,D+、D-是差分輸入線,它使用的是3.3V的電壓。數(shù)據(jù)在USB線里傳送是由低位到高位發(fā)送的。
五、CAN
采用雙線傳輸,兩根導(dǎo)線分別作為CAN_H、CAN_L,并在終端配備有120Ω的電阻。收到總線信號時,CAN收發(fā)器將信號電平轉(zhuǎn)化為邏輯狀態(tài),即CAN_H與CAN_L電平相減后,得到一個插值電平。各種干擾在兩根導(dǎo)線上的作用相同,相減后的插值電平可以濾過這些干擾。
六、DMA
DMA是指外部設(shè)備不通過CPU而直接與系統(tǒng)內(nèi)存交換數(shù)據(jù)的接口技術(shù)。這樣數(shù)據(jù)的傳送速度就取決于存儲器和外設(shè)工作速度。
通常系統(tǒng)總線是由CPU管理的,在DMA方式時,就希望CPU把這些總線讓出來,即CPU連到這些總線上的線處于第三態(tài)(高阻狀態(tài)),而由DMA控制器接管,控制傳送的字節(jié)數(shù),判斷DMA是否結(jié)束,以及發(fā)出DMA結(jié)束信號。