劉興華 李加寧 李信
摘 要:電子元件及芯片種類(lèi)的多樣化和集成化導(dǎo)致芯片之間需要頻繁的通信,芯片之間的通信也是電子信息科學(xué)與技術(shù)發(fā)展的必然方向,而通信就必然會(huì)涉及協(xié)議,也就是通信的數(shù)據(jù)的格式,就像人與人之間溝通必須要使用同一種語(yǔ)言一樣,在多元化的今天必然會(huì)有幾大主流通信協(xié)議應(yīng)用在不同的場(chǎng)合,那么這幾大主流的通信協(xié)議都有什么呢?
關(guān)鍵詞:通信協(xié)議;芯片;總線
0 引言
隨著現(xiàn)代社會(huì)的快速發(fā)展,電子信息技術(shù)也飛速進(jìn)步,以往的功能單一,運(yùn)行卡頓的電子設(shè)備早已無(wú)法滿(mǎn)足人們對(duì)電子產(chǎn)品日益整漲的需求。而使用單一IC注定無(wú)法研發(fā)出功能復(fù)雜的電子產(chǎn)品,這使得大規(guī)模集成IC應(yīng)運(yùn)而生,而多片芯片之間必然會(huì)有數(shù)據(jù)的傳輸進(jìn)行協(xié)同處理用戶(hù)的數(shù)據(jù),而這就使得各種通訊協(xié)議產(chǎn)生了。
1 SPI
SPI(Serial Peripheral Interface)是串行外設(shè)接口的縮寫(xiě),是一種高速的,全雙工,同步的通信總線。SPI在芯片的管腳上只占用四根線,節(jié)約日益寶貴的芯片的管腳,同時(shí)也為PCB的布局上節(jié)省空間,提供了方便,正是出于這種簡(jiǎn)單易用的特性,如今很多的芯片集成了這種通信協(xié)議。有的芯片提供了SPI片上外設(shè),但有時(shí)這種外設(shè)不是很穩(wěn)定,有時(shí)也采用軟件模擬SPI的方式,即編程不斷改變引腳狀態(tài)來(lái)模擬SPI的時(shí)序達(dá)到通信的目的。
SPI的通信原理很簡(jiǎn)單,它采用主從方式工作,這種模式通常有一個(gè)主設(shè)備和一個(gè)或多個(gè)從設(shè)備,通常需要至少4根線,而有時(shí)3根也可以進(jìn)行數(shù)據(jù)傳輸(當(dāng)單向傳輸時(shí))。四根線是所有基于SPI的設(shè)備共有的,它們分別是SDI(數(shù)據(jù)輸入)、SDO(數(shù)據(jù)輸出)、SCLK(時(shí)鐘)、CS(片選)。其中,CS是控制芯片是否被選中的,也就是芯片的使能線。它允許在同一總線上連接多個(gè)SPI設(shè)備成為可能。剩下的就負(fù)責(zé)通訊的3根線了。數(shù)據(jù)的輸入輸出線負(fù)責(zé)傳輸數(shù)據(jù),時(shí)鐘線則控制主從設(shè)備讀取或者發(fā)送數(shù)據(jù)的時(shí)機(jī)。
2 UART
通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter),通常稱(chēng)作UART,是一種異步收發(fā)傳輸器,是電腦硬件的一部分。通常是將數(shù)據(jù)由串行通信與并行通信間作傳輸轉(zhuǎn)換,作為并行輸入成為串行輸出的芯片,通常集成于其他通訊接口的連結(jié)上。
具體實(shí)物表現(xiàn)為獨(dú)立的模塊化芯片,或作為集成于微處理器中的外設(shè)。一般采用RS232協(xié)議,采用類(lèi)似Maxim公司的MAX232之類(lèi)的標(biāo)準(zhǔn)信號(hào)幅度變換芯片進(jìn)行搭配,作為連接外部設(shè)備的接口。
UART作為異步串口通信協(xié)議的一種,工作原理是將傳輸數(shù)據(jù)的每個(gè)字符一位接一位地傳輸,各位的意義如下:
起始位:顧名思義,一幀數(shù)據(jù)的開(kāi)始。數(shù)據(jù)位:緊接著起始位之后,通常采用ASCII碼。從最低位開(kāi)始傳送。奇偶校驗(yàn)位:數(shù)據(jù)位加上這一位來(lái)校驗(yàn)資料傳送的正確性。停止位:它是一個(gè)字符數(shù)據(jù)的結(jié)束標(biāo)志,一般是一段時(shí)間的高電平。 由于數(shù)據(jù)是在數(shù)據(jù)線上定時(shí)傳輸?shù)模⑶颐恳粋€(gè)設(shè)都有其自己的時(shí)鐘,很可能在通信中兩設(shè)備間出現(xiàn)了不同步。因此停止位更多的作用是提供計(jì)算機(jī)校正時(shí)鐘使兩臺(tái)設(shè)備同步的。
3 I2C
I2C(Inter-Integrated Circuit)總線是PHILIPS公司開(kāi)發(fā)的兩線式串行總線,用于連接微控制器及各種常用外圍設(shè)備,是微電子通信控制領(lǐng)域目前正在廣泛采用的一種總線標(biāo)準(zhǔn)。它是同步通信的一種特殊的形式,具有接口連接線少,控制簡(jiǎn)單,器件封裝形式小,通信速率較高等優(yōu)點(diǎn)。I2C 協(xié)議通過(guò)串行數(shù)據(jù)線(SDA)和串行時(shí)鐘線 (SCL)在連接到總線的器件間傳遞信息。每個(gè)器件都有一個(gè)唯一的地址識(shí)別(微控制器——MCU、LCD 驅(qū)動(dòng)器、存儲(chǔ)器或鍵盤(pán)接口等等常見(jiàn)外圍電路),而且每個(gè)外設(shè)都可以作為數(shù)據(jù)的發(fā)送者或者是數(shù)據(jù)的接收者(這由器件的功能決定)。例如常見(jiàn)的LCD 驅(qū)動(dòng)器只能作為接收器,而存儲(chǔ)器則既可以接收又可以發(fā)送數(shù)據(jù)。除了數(shù)據(jù)發(fā)送器和數(shù)據(jù)接收器以外,器件在執(zhí)行數(shù)據(jù)傳輸時(shí)分為主機(jī)和從機(jī)。主機(jī)是指實(shí)現(xiàn)初始化總線的數(shù)據(jù)傳輸產(chǎn)生允許傳輸?shù)臅r(shí)鐘信號(hào)的器件。此時(shí),任何被主機(jī)尋址的器件都被認(rèn)為是從機(jī)。任何一個(gè)芯片都可以被認(rèn)為是主機(jī)或者從機(jī)。
4 CAN
CAN(Controller Area Network, CAN)是控制器局域網(wǎng)絡(luò)的簡(jiǎn)稱(chēng),是由以研發(fā)和生產(chǎn)汽車(chē)電子產(chǎn)品著稱(chēng)的德國(guó)BOSCH公司開(kāi)發(fā)的,并成為了國(guó)際標(biāo)準(zhǔn)(ISO 11898),是目前國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。 在北美和西歐的大多數(shù)國(guó)家,CAN總線協(xié)議已經(jīng)成為車(chē)載電子系統(tǒng)和工業(yè)嵌入式電子控制局域網(wǎng)的標(biāo)準(zhǔn)總線,并且衍生了以CAN總線協(xié)議為底層協(xié)議圣物專(zhuān)為大型貨車(chē)和重工機(jī)械車(chē)輛設(shè)計(jì)的J1939協(xié)議。
目前CAN 的高性能和可靠性已被大多數(shù)電子工作者認(rèn)同,并被廣泛地應(yīng)用于工業(yè)自動(dòng)化、醫(yī)療設(shè)備、工農(nóng)業(yè)設(shè)備等多個(gè)方面。CAN總線是當(dāng)今電子領(lǐng)域技術(shù)發(fā)展最快的熱點(diǎn)之一,被譽(yù)為電子領(lǐng)域的局域網(wǎng)。
5 區(qū)別與聯(lián)系
當(dāng)然,除了上面說(shuō)到的各種協(xié)議,還有類(lèi)似于DS18B20采用的單總線通信的多種多樣的通信方式,各大通訊協(xié)議各有各的優(yōu)點(diǎn),各有各的缺點(diǎn)。I2C線更少,比UART、SPI、CAN更為強(qiáng)大,但是技術(shù)上也更加麻煩些,因?yàn)镮2C需要有雙向IO的支持,而且需要使用上拉電阻,抗干擾能力較弱,一般用于同一板卡上芯片之間的通信,不方便用于遠(yuǎn)距離通信。SPI實(shí)現(xiàn)要簡(jiǎn)單一些,而UART需要固定的波特率,就是說(shuō)兩位數(shù)據(jù)的間隔要相等,而SPI則無(wú)所謂,因?yàn)樗怯袝r(shí)鐘的協(xié)議。I2C的速度比SPI和低頻穩(wěn)定情況下的UART慢一點(diǎn),協(xié)議要比SPI復(fù)雜一點(diǎn),但是連線也比標(biāo)準(zhǔn)的SPI要少。
但無(wú)論哪種協(xié)議,既然在高速發(fā)展的今天得到了廣泛的使用,就說(shuō)明必然有它得到大家認(rèn)可的原因,學(xué)習(xí)電子知識(shí)可以說(shuō)電子元件之間的通信是基礎(chǔ)中的基礎(chǔ)。在未來(lái),一定還會(huì)有更多更加優(yōu)秀的協(xié)議誕生,讓芯片之間的通信越來(lái)越快,越來(lái)越穩(wěn)定,讓大家的電子產(chǎn)品更加完美。
參考文獻(xiàn):
[1] 黃繼昌.電子元器件應(yīng)用手冊(cè)[M].北京:人民郵電出版社,2004.
[2] 徐英慧.ARM9嵌入式系統(tǒng)設(shè)計(jì)[M].北京航空航天大學(xué)出版社,2015.
作者簡(jiǎn)介:劉興華(1994—),男,遼寧調(diào)兵山人,沈陽(yáng)理工大學(xué)學(xué)生。
李加寧(1996—),男,遼寧遼陽(yáng)人,沈陽(yáng)理工大學(xué)學(xué)生。
李信(1996—),男,甘肅定西人,沈陽(yáng)理工大學(xué)學(xué)生。