UART、IIC、SPI串行通信協議小結

UAR:通用異步收發傳輸器(Universal Asynchronous Receiver/Transmitter)

引腳:2根
        RXD:接收數據
        TXD:發送數據

數據格式:

        起始位

        數據位(5/6/7/8)

        奇偶校驗位(不常用)

        停止位

數據速率:

        波特率:~、9600、115200、~

IIC:集成電路總線(Inter-Integrated Circuit)

引腳:2根
        SDA:數據收發
        SCL:同步時鐘信號

開始信號:

        SCL爲高的情況下SDA下降沿信號

停止信號:

        SCL爲高的情況下SDA上升沿信號

數據信號:

        在SCL爲低時進行電平轉變,SCL爲高時數據必須保持穩定

應答信號:

        主機發送完數據後拉高SDA,從機必須在SCL爲低時將SDA拉低,並且在SCL爲高時保持穩定

從機尋址:

        發送數據前的第一個字節爲控制字節,其中7位爲器件地址,理論上可以尋址2^7個器件

數據收發:

        控制字節的最後一位爲讀寫位,1爲讀,0爲寫

數據速率:

        標準模式(100Kbps)

        快速模式(400Kbps)

數據傳輸:

        無論讀還是寫,主設備都必須先發一個控制字節,

        然後再發一個讀或寫的數據地址,

        最後才往從設備讀取或寫入數據,

        每發送一個字節都必須等待應答。

SPI:串行外設接口(Serial Peripheral Interface)

引腳:4根
        MOSI:主機發送數據、從機接收數據
        MISO:主機結束數據、從機發送數據
        SCK:同步時鐘信號
        CS:片選信號
時鐘極性:
        0:初始電平爲低電平
        1:初始電平爲高電平
時鐘相位:
        0:第一個邊沿採集數據
        1:第二個邊沿採集數據

數據速率:

        與同步時鐘速率有關

從設備數:

        當有多個設備時必須給每個設備提供使能信號。且同一時間內只能有一個從設備被使能。

        所以最好使用譯碼器對從設備編址,這樣保證不會同時選中兩個設備造成信號衝突。

對比:

        UART是異步串行通信,IIC和SPI是同步串行通信

        UART和SPI都可以實現全雙工通信,IIC只能實現半雙工通信

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章