新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 工業(yè)以及汽車應(yīng)用中多種串行總線特性及比較

工業(yè)以及汽車應(yīng)用中多種串行總線特性及比較

作者: 時(shí)間:2012-12-06 來源:網(wǎng)絡(luò) 收藏


b. 數(shù)據(jù)方向和通信速度

SPI傳輸串行數(shù)據(jù)時(shí)首先傳輸最高位。波特率可以高達(dá)5Mbps,具體速度大小取決于SPI硬件。例如,Xicor公司的SPI串行器件傳輸速度能達(dá)到5MHz。

c. SPI與UART比較

SPI通信快于UART通信,兩者都可以用在中等速度外設(shè)的通信中,例如非易失性EEPROM存儲(chǔ)器。然而,SPI更常用于EEPROM或數(shù)模變換器的通信中。

有些UART能支持SPI通信,在這種情況下,會(huì)用一個(gè)通用IO作為從屬選擇引腳。

3. I2C總線

I2C是由飛利浦公司開發(fā)的雙線同步總線。像SPI一樣,該總線可用來與EEPROM、ADC、DAC和LCD這類慢速器件進(jìn)行通信。

a. I2C通信

I2C是一個(gè)半雙工、多主總線,該總線網(wǎng)絡(luò)有一個(gè)或幾個(gè)主控器件和很多個(gè)從器件。信息由兩條串行線傳輸:串行數(shù)據(jù)線(SDA)和串行時(shí)鐘線(SCL)。圖1顯示了使用兩個(gè)主控和三個(gè)從器件相連接的例子。

網(wǎng)絡(luò)中的每一個(gè)器件都預(yù)指定一個(gè)7位或10位的地址。飛利浦會(huì)給器件制造商分配地址,也有一個(gè)特定的地址用于高速通信,以及一個(gè)通用呼叫地址用于與網(wǎng)絡(luò)中所有器件的通信。10位尋址的優(yōu)點(diǎn)是允許更多的器件(高達(dá)1024個(gè))布置在網(wǎng)絡(luò)中。然而,總線中器件的數(shù)目取決于總線的電容量,必須限制在400pF以內(nèi)。

主控器件發(fā)起數(shù)據(jù)傳送,并提供用于通信的時(shí)鐘信號(hào)。通信開始于SCL為高電平時(shí)SDA由高到低的轉(zhuǎn)換,緊接著是一個(gè)7位或10位的從地址,一個(gè)數(shù)據(jù)方向位(R/W),一個(gè)應(yīng)答位和停止?fàn)顟B(tài)。停止?fàn)顟B(tài)定義為在時(shí)鐘信號(hào)為高時(shí)數(shù)據(jù)線電平由低到高的轉(zhuǎn)換。每一個(gè)數(shù)據(jù)字節(jié)長度為8位,單次傳送的字節(jié)數(shù)并沒有限制。

由于I2C是一個(gè)多主總線,因此可能有兩個(gè)或更多的主控器件同時(shí)試圖訪問總線,在時(shí)鐘信號(hào)為高電平時(shí)在總線上置“1”的主控器件贏得總線仲裁。

I2C有三種不同的運(yùn)行模式:標(biāo)準(zhǔn)、快速和高速模式。在使用快速和高速模式時(shí),可能某個(gè)從屬器件不能像主控器件那么快地處理數(shù)據(jù)。此時(shí),從屬器件會(huì)將SCL線拉至低電平來保持總線,這迫使主控器件進(jìn)入等待狀態(tài),直至從屬器件準(zhǔn)備就緒。

b. 數(shù)據(jù)方向和通信速度

首先從最高位開始。I2C總線設(shè)計(jì)用于三種速度,每個(gè)都向下兼容性:

  • 低速,率為0到100kbps;
  • 快速,數(shù)據(jù)傳輸率可以高達(dá)400kbps;
  • 高速,數(shù)據(jù)傳輸率可以高達(dá)3.4Mbps。

c. I2C與SPI比較

I2C和SPI都能用于低速器件的通信,而SPI的數(shù)據(jù)傳輸速率高于I2C。此外,SPI具有一個(gè)內(nèi)在地址功能,不需要設(shè)計(jì)一個(gè)額外的寄存器來測試地址,從而減少軟件和硬件的設(shè)計(jì)開銷。

4. 控制器區(qū)域網(wǎng)絡(luò)

控制器區(qū)域網(wǎng)絡(luò)(CAN)是一個(gè)多主異步。由于它具有優(yōu)良的錯(cuò)誤處理機(jī)制及可靠的數(shù)據(jù)傳送性能,該總線在汽車工業(yè)中非常普遍,在高安全系數(shù)要求的醫(yī)療行業(yè)中也正在得到普及。

CAN最初由德國的Robert Bosch公司開發(fā),提供給汽車電子系統(tǒng)所用的低成本通信總線,現(xiàn)在已經(jīng)成為國際標(biāo)準(zhǔn),被采用為高速應(yīng)用的ISO11898標(biāo)準(zhǔn)和用于低速應(yīng)用的ISO11519標(biāo)準(zhǔn)。

a. CAN通信

當(dāng)總線空閑時(shí),任何CAN節(jié)點(diǎn)都可以開始數(shù)據(jù)發(fā)送。如果兩個(gè)或更多的節(jié)點(diǎn)同時(shí)開始發(fā)送,就使用標(biāo)識(shí)符來進(jìn)行按位仲裁以解決訪問沖突。CAN是一個(gè)廣播類型的總線,所有節(jié)點(diǎn)都接收總線上的數(shù)據(jù),硬件上的過濾機(jī)制決定消息是否提供給該接點(diǎn)用。
b. 四種消息幀的類型

數(shù)據(jù)幀:該幀從一個(gè)發(fā)送器承載數(shù)據(jù)到一個(gè)接收器。根據(jù)CAN規(guī)范有兩種數(shù)據(jù)幀格式,它們的唯一本質(zhì)區(qū)別在于標(biāo)識(shí)符的長度:CAN標(biāo)準(zhǔn)幀,也稱為CAN2.0A,支持11位長度的標(biāo)識(shí)符;另一個(gè)是CAN擴(kuò)展幀,也稱為CAN2.0B,支持29位長度的標(biāo)識(shí)符。圖2顯示了兩種規(guī)范的CAN數(shù)據(jù)幀。

遠(yuǎn)程幀:此幀由一個(gè)接收CAN節(jié)點(diǎn)發(fā)送,用來請求帶有遠(yuǎn)程幀中規(guī)定的標(biāo)識(shí)符的數(shù)據(jù)幀。

錯(cuò)誤幀:此幀將任何總線錯(cuò)誤通知其它單元,在接收到這個(gè)幀時(shí)發(fā)送器會(huì)自動(dòng)進(jìn)行消息重發(fā)。

超載幀:超載幀由一個(gè)忙的CAN節(jié)點(diǎn)送出,以請求在前后數(shù)據(jù)幀之間增加一個(gè)額外的延遲。

c. CAN硬件術(shù)語

基本CAN(Basic CAN)控制器:這是一種廉價(jià)的CAN控制器,具有有限的發(fā)送/接收消息緩沖器,以及有限的CAN消息過濾機(jī)制。

完全CAN(Full CAN)控制器:完全CAN是一個(gè)高成本、高性能的CAN控制器,具有能緩沖8個(gè)或更多消息的緩沖器用于接收和發(fā)送。例如,富士通的集成CAN能提供16個(gè)消息緩沖器用于接收和發(fā)送。此外,富士通的MB90443能靈活地將兩個(gè)CAN控制器的消息緩沖器組合在一個(gè)中,以形成能緩沖32個(gè)消息的緩沖器。

標(biāo)準(zhǔn)CAN控制器:該CAN控制器能夠處理僅有11位標(biāo)識(shí)符的消息。

擴(kuò)展CAN控制器:該控制器能夠處理含有11位和29位標(biāo)識(shí)符的消息。

時(shí)間觸發(fā)CAN(TTCAN)控制器:該CAN控制器根據(jù)時(shí)間和事件的觸發(fā)來安排CAN消息,增強(qiáng)了CAN網(wǎng)絡(luò)的總體性能和行為的確定性。


評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉