詳解常用的幾種總線_學(xué)到牛牛
1、SPI(Serial Peripheral Interface):串行外設(shè)接口。
SPI總線由三條信號(hào)線組成:串行時(shí)鐘(SCLK),串行數(shù)據(jù)輸入(SDO),串行數(shù)據(jù)輸出(SDI)。
SPI總線可以實(shí)現(xiàn)多個(gè)SPI設(shè)備互相連接。提供SPI串行時(shí)鐘的SPI設(shè)備為SPI主機(jī)或主設(shè)備(Master),其它設(shè)備為SPI從機(jī)或從設(shè)備(Slave)。主設(shè)備間可以實(shí)現(xiàn)全雙工通信(同時(shí)接收和發(fā)送數(shù)據(jù)),當(dāng)有多個(gè)從設(shè)備時(shí)還可以增加一條從設(shè)備選擇線。
2、I2C(INTER IC BUS):集成電路總線。
I2C總線是雙向、兩線(SCL、SDA)、串行、多主控接口標(biāo)準(zhǔn),具有總線仲裁機(jī)制,非常適合在器件之間進(jìn)行近距離,非經(jīng)常性的數(shù)據(jù)通信。
I2C使用的線更少,需要雙向IO的支持,使用上拉電阻,抗干擾能力較弱,一般使用于同一板卡上芯片之間的通信,較少使用于遠(yuǎn)距離通信。
3、UART(Universal Asynchronous Receiver Tranmitter):通用異步收發(fā)器。
UART總線是異步串口,一般由波特率產(chǎn)生器(產(chǎn)生的波特率等于傳輸波特率的16倍)、UART接收器、UART發(fā)送器組成,硬件上有兩根線,一根用于發(fā)送,一根用于接收。
UART一般可以實(shí)現(xiàn)全雙工的信號(hào)傳輸。且需要固定的波特率才能實(shí)現(xiàn)。
3.1 UART通信
UART首先將接收到的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)來(lái)傳輸。消息幀從一個(gè)地位起始位開(kāi)始,后面是7個(gè)或8個(gè)數(shù)據(jù)位,一個(gè)可用的奇偶位和一個(gè)或幾個(gè)高位停止位。接收器發(fā)現(xiàn)開(kāi)始位時(shí)它就知道數(shù)據(jù)準(zhǔn)備發(fā)送,并嘗試與發(fā)送器時(shí)鐘頻率同步。如果選擇了奇偶,UART就在數(shù)據(jù)位后面加上奇偶位。奇偶位可用來(lái)幫助錯(cuò)誤檢驗(yàn)。
USART是一個(gè)全雙工通用同步/異步串行收發(fā)模塊,該接口是一個(gè)高度靈活的串行通信設(shè)備:
3.2 主要有以下特點(diǎn):
1)全雙工操作(相互獨(dú)立的接收數(shù)據(jù)寄存器和發(fā)送數(shù)據(jù)寄存器);
2)支持同步和異步操作;
3)同步操作時(shí),可主機(jī)時(shí)鐘同步,也可以從機(jī)時(shí)鐘同步;
4)獨(dú)立的高精度波特率發(fā)生器,不占用定時(shí)/計(jì)數(shù)器;
5)支持5、6、7、8和9位數(shù)據(jù)位;1或2位停止位的串行數(shù)據(jù)幀結(jié)構(gòu);
6)由硬件支持的奇偶校驗(yàn)位和檢驗(yàn);
7)數(shù)據(jù)溢出檢測(cè);
8)幀錯(cuò)誤檢測(cè);
9)包括錯(cuò)誤起始位的檢測(cè)噪聲濾波器和數(shù)字低通濾波器;
10)三個(gè)完全獨(dú)立的中斷,TX發(fā)送完成、TX發(fā)送數(shù)據(jù)寄存器空、RX接收完成;
11)支持多機(jī)通信模式;
12)支持倍速異步通信模式。
4、CAN(Controller Area Network):控制器局域網(wǎng)絡(luò)。
CAN總線不設(shè)定節(jié)點(diǎn)的地址,而是通過(guò)消息的標(biāo)識(shí)符(Identifier)來(lái)識(shí)別消息。其總線的通信原理可簡(jiǎn)單的描述為多路載波偵聽(tīng)+基于消息優(yōu)先級(jí)的沖突檢測(cè)和非破壞性的仲裁機(jī)制。
多路載波偵聽(tīng):網(wǎng)絡(luò)上的所有節(jié)點(diǎn)以多點(diǎn)接入的方式連接在同一根總線上,且發(fā)送數(shù)據(jù)是廣播式的。網(wǎng)絡(luò)上各個(gè)節(jié)點(diǎn)在發(fā)送數(shù)據(jù)前都要檢測(cè)總線上是否有數(shù)據(jù)傳輸:若網(wǎng)絡(luò)上有數(shù)據(jù),暫時(shí)不用發(fā)送數(shù)據(jù),等待網(wǎng)絡(luò)節(jié)點(diǎn)空閑時(shí)再發(fā)送:若無(wú)數(shù)據(jù),則立即發(fā)送已準(zhǔn)備好的數(shù)據(jù)。
沖突檢測(cè):節(jié)點(diǎn)在發(fā)送數(shù)據(jù)時(shí),要不停的檢測(cè)發(fā)送的數(shù)據(jù),確定是否與其它節(jié)點(diǎn)數(shù)據(jù)發(fā)送沖突,如果有沖突,則保證優(yōu)先級(jí)高的報(bào)文先發(fā)送。
非破壞性仲裁機(jī)制:通過(guò)ID仲裁,ID數(shù)值越小,報(bào)文優(yōu)先級(jí)越高。

發(fā)送低級(jí)優(yōu)先級(jí)報(bào)文的節(jié)點(diǎn)退出仲裁后,在下次總線空閑時(shí)自動(dòng)重發(fā)報(bào)文。

高優(yōu)先級(jí)的報(bào)文不能中斷低優(yōu)先級(jí)報(bào)文的發(fā)送。
原文來(lái)源:學(xué)到牛牛 www.xuedaon.com