多種工業應用串行總線特性及比較

2020-11-29 電子產品世界
  由於在消費類電子產品、計算機外設、汽車和工業應用中增加了嵌入式功能,對低成本、高速和高可靠通信介質的要求也不斷增長以滿足這些應用,其結果是越來越多的處理器和控制器用不同類型的總線集成在一起,實現與PC軟體、開發系統(如仿真器)或網絡中的其它設備進行通信。目前流行的通信一般採用串行或並行模式,而串行模式應用更廣泛。

  微處理器中常用的集成串行總線是通用異步接收器傳輸總線、串行通信接口、同步外設接口(SPI)、內部集成電路(I2C) 和通用串行總線,以及車用串行總線,包括控制器區域網(CAN)和本地互連網(LIN)。這些總線在速度、物理接口要求和通信方法學上都有所不同。本文將對嵌入式系統設計的串行總線、驅動器和物理接口這些要求提供一個總體介紹,為選擇最優總線提供指導並給出一個比較圖表(表1)。為了說明方便起見,本文的闡述是基於微處理器的設計。

串行與並行相比

  串行相比於並行的主要優點是要求的線數較少。例如,用在汽車工業中的LIN串行總線只需要一根線來與從屬器件進行通信,Dallas公司的 1-Wire總線只使用一根線來輸送信號和電源。較少的線意味著所需要的控制器引腳較少。集成在一個微控制器中的並行總線一般需要8條或更多的線,線數的多少取決於設計中地址和數據的寬度,所以集成一個並行總線的晶片至少需要8個引腳來與外部器件接口,這增加了晶片的總體尺寸。相反地,使用串行總線可以將同樣的晶片集成在一個較小的封裝中。

  另外,在PCB板設計中並行總線需要更多的線來與其它外設接口,使PCB板面積更大、更複雜,從而增加了硬體成本。此外,工程師還可以很容易地將一個新器件加到一個串行網絡中去,而且不會影響網絡中的其它器件。例如,可以很容易地去掉總線上舊器件並用新的來替代。

  串行總線的故障自診斷和調試也非常簡單,可以很容易地跟蹤網絡中一個有故障的器件並用新器件替換而不會干擾網絡。但另一方面,並行總線比串行速度快。例如,Rambus公司的「Redwood」總線速度可高達6.4GHz,而最高的串行速度不會超過幾個兆赫。

在工業和汽車應用中常用的串行協議

1. UART

  UART是一種通用串行數據總線,用於異步通信。該總線雙向通信,可以實現全雙工傳輸和接收。在嵌入式設計中,UART用來與PC進行通信,包括與監控調試器和其它器件,如EEPROM通信。

a. UART通信

  UART首先將接收到的並行數據轉換成串行數據來傳輸。消息幀從一個低位起始位開始,後面是7個或8個數據位,一個可用的奇偶位和一個或幾個高位停止位。接收器發現開始位時它就知道數據準備發送,並嘗試與發送器時鐘頻率同步。如果選擇了奇偶,UART就在數據位後面加上奇偶位。奇偶位可用來幫助錯誤校驗。

  在接收過程中,UART從消息幀中去掉起始位和結束位,對進來的字節進行奇偶校驗,並將數據字節從串行轉換成並行。UART也產生額外的信號來指示發送和接收的狀態。例如,如果產生一個奇偶錯誤,UART就置位奇偶標誌。

b. 數據方向和通信速度

  數據傳輸可以首先從最低有效位(LSB)開始。然而,有些UART允許靈活選擇先發送最低有效位或最高有效位(MSB)。

  微控制器中的UART傳送數據的速度範圍為每秒幾百位到1.5Mb。例如,嵌入在ElanSC520微控制器中的高速UART通信的速度可以高達1.1152Mbps。UART波特率還受發送和接收線對距離(線長度)的影響。

  目前,市場上有隻支持異步通信和同時支持異步與同步通信的兩種硬體可用於UART。前者就是UART名字本身的含義,在摩託羅拉微控制器中被稱為串行通信接口(SCI);Microchip微控制器中的通用同步異步收發器(USART)和在富士通微控制器中的UART是後者的兩個典型例子。

c. 計算機中的UART

  UART是計算機中串行通信埠的關鍵部分。在計算機中,UART相連於產生兼容RS232規範信號的電路。RS232標準定義邏輯「1」 信號相對於地為3到25伏,而邏輯「0」相對於地為-3到-25伏。所以,當一個微控制器中的UART相連於PC時,它需要一個RS232驅動器來轉換電平。

2. 同步外設接口

  同步外設接口(SPI)是由摩託羅拉公司開發的全雙工同步串行總線,該總線大量用在與EEPROM、ADC、FRAM和顯示驅動器之類的慢速外設器件通信。

a. SPI通信

  該總線通信基於主-從配置。它有以下4個信號:

MOSI:主出/從入
MISO:主入/從出
SCK:串行時鐘
SS:從屬選擇

  晶片上「從屬選擇」(slave-select)的引腳數決定了可連到總線上的器件數量。

  在SPI傳輸中,數據是同步進行發送和接收的。數據傳輸的時鐘基於來自主處理器的時鐘脈衝,摩託羅拉沒有定義任何通用SPI的時鐘規範。然而,最常用的時鐘設置基於時鐘極性(CPOL)和時鐘相位(CPHA)兩個參數,CPOL定義SPI串行時鐘的活動狀態,而CPHA定義相對於SO-數據位的時鐘相位。CPOL和CPHA的設置決定了數據取樣的時鐘沿。

b. 數據方向和通信速度

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

c. SPI與UART比較

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

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

3. I2C總線

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

a. I2C通信

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

  網絡中的每一個器件都預指定一個7位或10位的地址。飛利浦會給器件製造商分配地址,也有一個特定的地址用於高速通信,以及一個通用呼叫地址用於與網絡中所有器件的通信。10位尋址的優點是允許更多的器件(高達1024個)布置在網絡中。然而,總線中器件的數目取決於總線的電容量,必須限制在400pF以內。

  主控器件發起數據傳送,並提供用於通信的時鐘信號。通信開始於SCL為高電平時SDA由高到低的轉換,緊接著是一個7位或10位的從地址,一個數據方向位(R/W),一個應答位和停止狀態。停止狀態定義為在時鐘信號為高時數據線電平由低到高的轉換。每一個數據字節長度為8位,單次傳送的字節數並沒有限制。

  由於I2C是一個多主總線,因此可能有兩個或更多的主控器件同時試圖訪問總線,在時鐘信號為高電平時在總線上置「1」的主控器件贏得總線仲裁。

  I2C有三種不同的運行模式:標準、快速和高速模式。在使用快速和高速模式時,可能某個從屬器件不能像主控器件那麼快地處理數據。此時,從屬器件會將SCL線拉至低電平來保持總線,這迫使主控器件進入等待狀態,直至從屬器件準備就緒。

b. 數據方向和通信速度

  數據傳輸首先從最高位開始。I2C總線設計用於三種數據傳輸速度,每個都向下兼容性:

  低速,數據傳輸率為0到100kbps;快速,數據傳輸率可以高達400kbps;高速,數據傳輸率可以高達3.4Mbps。

c. I2C與SPI比較

  I2C和SPI都能用於低速器件的通信,而SPI的數據傳輸速率高於I2C。此外,SPI具有一個內在地址功能,不需要設計一個額外的寄存器來測試地址,從而減少軟體和硬體的設計開銷。

4. 控制器區域網絡

  控制器區域網絡(CAN)是一個多主異步串行總線。由於它具有優良的錯誤處理機制及可靠的數據傳送性能,該總線在汽車工業中非常普遍,在高安全係數要求的醫療行業中也正在得到普及。

CAN最初由德國的Robert Bosch公司開發,提供給汽車電子系統所用的低成本通信總線,現在已經成為國際標準,被採用為高速應用的ISO11898標準和用於低速應用的ISO11519標準。

a. CAN通信

  當總線空閒時,任何CAN節點都可以開始數據發送。如果兩個或更多的節點同時開始發送,就使用標識符來進行按位仲裁以解決訪問衝突。CAN是一個廣播類型的總線,所有節點都接收總線上的數據,硬體上的過濾機制決定消息是否提供給該接點用。

b. 四種消息幀的類型

數據幀:該幀從一個發送器承載數據到一個接收器。根據CAN規範有兩種數據幀格式,它們的唯一本質區別在於標識符的長度:CAN標準幀,也稱為CAN2.0A,支持11位長度的標識符;另一個是CAN擴展幀,也稱為CAN2.0B,支持29位長度的標識符。圖2顯示了兩種規範的CAN數據幀。

遠程幀:此幀由一個接收CAN節點發送,用來請求帶有遠程幀中規定的標識符的數據幀。

錯誤幀:此幀將任何總線錯誤通知其它單元,在接收到這個幀時發送器會自動進行消息重發。

超載幀:超載幀由一個忙的CAN節點送出,以請求在前後數據幀之間增加一個額外的延遲。

c. CAN硬體術語

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

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

標準CAN控制器:該CAN控制器能夠處理僅有11位標識符的消息。

  擴展CAN控制器:該控制器能夠處理含有11位和29位標識符的消息。

  時間觸發CAN(TTCAN)控制器:該CAN控制器根據時間和事件的觸發來安排CAN消息,增強了CAN網絡的總體性能和行為的確定性。

d. 數據方向和通信速度

  數據字節的傳輸首先從最高位開始。一個8位的數據字節能在一次發送中進行傳輸,最大的CAN總線速度是1Mbps。

e. CAN在汽車中的應用

  圖3的例子顯示了CAN網絡是如何通過富士通的16位CAN微控制器在汽車中應用。

f. 物理接口

  大多數CAN微控制器需要一個外部收發器來連接物理總線。目前市場上提供以下一些收發器:

  高速CAN收發器有飛利浦的82C251,TI的SN65/75LBC031,Bosch的CF150,C250,Unitrode的UC5350;

  低速CAN收發器有飛利浦82C252、TJA1053,西門子TLE 6252G;

  單線CAN收發器有飛利浦AU5790,英飛凌TLE 6255,Delphi DK166153。

5.本地互連網絡

  本地互連網絡(LIN)是一個低成本、單線串行總線,能執行全雙工串行通信。LIN用在汽車的分布式電子系統中,例如與智能傳感器和傳動器的通信。LIN協議能採用低成本的UART/SCI接口來實現,幾乎所有的微控制器都提供這些接口。

a. LIN通信

  LIN網絡由一個主控和多個從器件組成,主控器件發起所有的通信。

  所有節點執行包括發送和接收任務在內的從屬通信任務。此外,主節點執行主控發送任務,主控任務能決定什麼時候、哪一個幀將在總線上傳輸。在該方式中,沒有總線仲裁,並且在最壞情況下每個消息的時間很容易計算。當一個消息幀發送時,在接收和過濾標識符後,僅有一個從器件得到激活。

  總線上的所有消息以幀的形式發送,幀由一個幀頭和響應欄位(response field)組成。主控器件始終在總線上發送幀頭,幀頭至少由一個13位欄位、一個同步字節和一個6位標識符組成,該標識符的範圍為0到63。響應欄位由兩個、四個和八個數據字節和具有倒置8位和的校驗和欄位,以及所有的數據字節和標識符組成。

圖4顯示了在一個消息幀上所有欄位的排列順序。

b. 數據方向和通信速度

  數據字節的傳送首先從LSB開始,LIN總線的最大速度是20kbps。

c. 物理接口

  只有很少微控制器集成有專用的LIN硬體,大多數供應商用SCI或UART來提供支持。因為LIN物理層是一個從汽車自診斷用 ISO9141標準引出的單線12V總線,所以需要一個外部LIN收發器來轉換電平。例如當前市場上已有供貨的摩託羅拉IMC33689 LIN和英飛凌公司的TLE6259-2G收發器。

d. CAN與LIN的比較

  CAN和LIN兩者都使用在汽車工業中。CAN用於汽車中的高速和低速網絡,而LIN僅用於低速網絡,如門控制單元。在很多方面,CAN比LIN更貴也更可靠,必需在可靠性和為設計硬體與軟體支付額外成本之間進行權衡。由於LIN的成本較低且容易在UART中實現,故在低速網絡應用方面LIN有望替代CAN。

6. 其它通用串行總線

  用在微控制器工業中的其它總線有RS422、RS485、USB和Microwire.

  RS422和RS485通信可以用一個UART來執行。因此,在用於這些總線時微控制器中不需要增加另外的硬體。

  USB總線的普及性極大地鼓舞了微控制器製造商把USB控制器集成到他們的微控制器中。將外圍器件加到USB總線中是很容易的,並不需要重自舉系統。Cypress半導體公司和其它業界主導廠商都提供各種系列USB晶片來滿足市場的需要。

  國家半導體公司(NSC)開發的單線總線Microwire用在許多微控制器和像EEPROM這類非易失性存儲器,以及ADC中。該總線能像SPI一樣提供同步通信,可用在使用SPI的地方。有些微控制器供應商通過使用UART來支持Microwire總線。

  FlexRay是一種在汽車工業中即將推出的新型總線,可用在使用CAN總線的地方,該總線的速度是CAN總線的10倍,可以達到10Mbps。目前微控制器製造商正在努力開發具有FlexRay總線的器件。

總線選擇準則

不同的應用在選擇總線的標準方面並不同,下面是一些進行總線選擇的通用參考準則:

1. 評估使用不同串行總線在網絡上連接各種器件的系統成本。例如,在汽車應用中,一個只需要控制功能的系統可以用像LIN這類低成本的串行總線來管理。

2. 在效率、速度和可靠性方面確定對你最重要的性能。例如,對於一個安全關鍵系統來講,可靠性是極為重要的,故而CAN是較好的選擇。

3. 確定在網絡上將連接多少器件,以及總線將可能具有的電容量。有些串行總線對連在網絡上的器件數目有限制。

4. 注意器件間的距離,有些串行總線只支持短距離通信。

5. 如果用在汽車中,CAN或LIN是較好的選擇。由於它們具有很強的魯棒性,因此具有較強的容故障能力和傳輸可靠性。

相關焦點

  • 基於Linux系統的多種串行總線統一接口的實現
    統一接口的應用層API與底層的具體總線操作形式無關,而且便於應用系統的升級和移植。文中給出了一種多種串行總線統一接口的實現方法,並以ARM9為平臺,以I2C、1-Wire、SPI為例,驗證了新方法的可行性。
  • 通用串行總線USB及其應用
    作為一種先進的總線方式,USB提供了基於主機的電源管理系統。USB系統會在一臺外設長時間(一般在3.0 ms以上)處於非使用狀態時自動將該設備掛起,此時,USB總線通過USB線纜為該設備僅提供500 μA以下的電流,並把該外設所佔用的USB帶寬分配給其他的USB外設。USB的電源管理機制支持如遠程喚醒這樣的高級特性。
  • 串行ATA總線應用技術
    2 SATA應用方案  2.1 橋  串行存儲設備定位於桌面和中低端網絡存儲,為了能夠在這些並行接口主導的領域開展應用,業界沿用了傳統的「並串兼容共存、逐漸過渡到純串行」的策略。目前實現這種策略的主流方案是橋。
  • 工業現場總線協議解析
    工業網絡通常採用現場總線協議,通過實時和可靠的分布式控制功能來連接生產車間中的儀器儀表和機械設備,比較容易並且可靠的控制所實現的系統。現場總線標準應用非常廣泛,大量已經安裝的設備都採用了現場總線。但是,大部分這些現場總線標準都是基於(已有的)串行通信協議標準(與RS485或者RS232相似),沒有充分發揮應用廣泛的乙太網技術的優勢。   隨著系統複雜程度的增加,大部分現場總線難以滿足平臺通用性和系統性能的要求。這促使設備生產商轉向採用基於乙太網的通信技術,實現高性能、低成本和很好的通用性。
  • 通用串行總線(USB)外設隔離器電路圖
    打開APP 通用串行總線(USB)外設隔離器電路圖 ADI 發表於 2013-11-06 10:09:44   電路功能與優勢   通用串行總線(USB)正迅速成為大部分PC外設的標準接口。
  • pico便攜示波器應用案例分享:20種串行總線解碼分析
    因此,傳統的電氣網絡已無法適應現代汽車電子系統的發展,新型汽車總線技術應運而生。目前汽車上普遍採用的汽車總線有局部互聯協議LIN和控制器區域網CAN,正在發展中的汽車總線技術還有高速容錯網絡協議FlexRay,用於動力傳感器和電子控制單元(ECU)之間的通信協議SENT。
  • RS-485串行數據通信協議
    概述 串行數據通信的協議從RS-232到千兆位乙太網,雖然每種協議都有特定的應用領域,但任何情況下我們都必須考慮成本和物理層(PHY)性能。
  • 工業乙太網與現場總線技術各自優缺點和應用
    隨著「工業4.0」戰略的展開,計算機技術、通訊技術、IT技術的發展已經滲入到工控領域,其中最主要的表現就是工業現場總線技術和工業乙太網技術。其中工業現場總線技術,特別是乙太網技術的廣泛使用,為自動化技術帶來了深刻變革。
  • 通用串行總線控制器(USB控制器)
    USB,即Universal Serial Bus的縮寫,譯成中文,就是通用串行總線,這是由Intel公司開發的通用串行總線架構;因此顧名思義,
  • 編碼器的CAN總線接口及其在光電跟蹤系統中的應用
    但在具體工程應用項目中,上述通信方式常會受到傳輸距離、通信速率等方面限制。近幾年來串行通信快速發展,出現了多種控制系統現場總線形式,CAN總線就是其中應用最為廣泛的一種,它是控制器區域網總線的簡稱,是一種有效支持分布式控制和實時控制的串行通信網絡。
  • 基於VHDL/CPLD的I2C串行總線控制器設計及實現
    串行總線和並行總線相比具有結構簡單、佔用引腳少、成本低的優點。常見的串行總線有USB、IEEE1394、I2C等,其中I2C總線具有使用簡單的特點,在單片機、串行E2PROM、LCD等器件中具有廣泛的應用。  I2C(Inter IC BUS)是Philips公司開發的用於晶片之間連接的總線。
  • RS485總線簡介
    —電子工業協會和TIA—通訊工業協會。本文引用地址:http://www.eepw.com.cn/article/201612/330171.htm1.2 RS485總線應用場合RS-485總線作為一種多點差分數據傳輸的電氣規範規,已成為業界應用最為廣泛的標準通信接口之一。
  • 現場總線溫度變送器原理及應用
    現場總線就是順應這一形勢發展起來的新技術。現場總線是應用在生產現場,在微機化測量控制設備(稱為現場總線儀表)之間實現雙向串行多節點數字通信系統,也被稱為開放式、數位化、多點通信的底層控制網絡,它在製造業、流程工業、交通、樓宇等方面的自動化系統中具有廣泛的應用前景。
  • 現場總線Profibus在多電機交流控制系統中的應用
    1前言隨著現代工業的高速發展,多電機交流控制系統已經被廣泛地應用於造紙、化工、鋼鐵、食品等工業領域,而且形成了各自獨特的變頻器控制系統。
  • Profibus-PA現場總線技術研究和應用
    隨著計算機及其網絡技術的不斷發展,引起了工業自動化系統結構的深刻變革。現場總線概念最早在20世紀80年代中期由歐洲提出。隨著數位技術的不斷發展,德國Siemens等13家工業企業和5家科研機構於1987年開始按照ISO/OSI參考模型研究制定現場總線標準並同時研製Profibus現場總線產品。經過10多年的開發、生產和應用,Profibus現場總線已形成系列產品,在世界市場上已被普遍接受,市場份額佔歐洲首位,年增長率25%。
  • 現場總線應用於電力行業的全面分析
    一、總線技術 趙文華: · 現場總線技術簡介 所謂現場總線,是指安裝在製造或過程區域的現場裝置之間、以及現場裝置與控制室內的自動控制裝置之間的開放式、數位化、串行和多點通信的數據總線。 作為連接生產現場的儀表、控制器等自動化裝置的通信網絡,現場總線是20世紀90年代國際上興起的新一代全分布式控制系統的核心技術。
  • 現場總線技術及其在天然氣貯配站自控系統中的應用
    保定市燃氣總公司自90年代初上馬第一套煤氣生產自動化控制系統以來就一直致力於工業自動化技術尤其是工業現場總線技術的研究。經過多年的努力解決了其在防爆場所(Ⅱ區)應用的技術難題,並成功的將其應用在本公司天然氣貯配站自控系統中,取得了良好的經濟效益和社會效益。
  • 解決通用串行總線(USB)控制器有感嘆號
    通用串行總線控制器:由於其配置信息(註冊表中的)不完整或已損壞,Windows 無法啟動這個硬體設備經過查詢,解決方法如下:方法:打開註冊表編輯器(開始--》運行--》regedit),依次展開HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\在這下面有很多用「{}」括起來的項,一個一個的點開,看右面窗口有沒有「通用串行總線控制器(Universal Serial Bus controllers)」
  • CAN總線的特點、幀類型以及應用中的注意事項
    1980年,Bosch的工程師開始研究汽車上高速串行通信的問題,並在1986年發布了CAN(Controller Area Network)總線。CAN以其多主,高速(最高1Mbps),抗幹擾的特性被廣泛應用汽車及各種工業環境。在此我們主要介紹一下CAN總線的特點,幀類型,以及應用中的注意事項。
  • 應工程師需求,今天來盤點一下常見總線類型
    一個由CAN總線構成的單一網絡中,理論上可以掛接無數個節點。實際應用中,節點數目受網絡硬體的電氣特性所限制。例如,當使用Philips P82C250作為CAN收發器時,同一網絡中允許掛接110個節點。CAN 可提供高達1Mbit/s的數據傳輸速率,這使實時控制變得非常容易。另外,硬體的錯誤檢定特性也增強了CAN的抗電磁幹擾能力。