汽車內(nèi)串行通信總線
越來越多的電子系統(tǒng)都需要更可靠的互連解決方案, 而LIN總線正成為汽車串行通信的新興標準。
對于汽車制造商來說,非常重要的三大問題就是燃料效率、可靠性和成本。隨著汽車設計中電子系統(tǒng)越來越多,問題也變得越來越復雜。這些子系統(tǒng)每個都會增加成本,而且還需要良好的互連策略,從而為汽車設計人員提出了更多挑戰(zhàn)。
僅僅簡單地用導線將這些新的電子系統(tǒng)連接起來并不能構成可行的解決方案。解決問題的一種方法是利用串行通信總線來代替電子模塊間的連線。采用串行通信總線可減小導線束中導線的數(shù)量和連接數(shù)量,從而降低成本并提高可靠性。同時由于設計重量減輕,還可提高燃料效率。
目前汽車應用中使用比較廣泛的兩種數(shù)字總線標準是CAN(控制區(qū)域網(wǎng)絡)總線和J1850。根據(jù)速度、總線延遲和成本等因素,每種總線適合于汽車市場中的特定應用。一種稱為LIN(本地互連網(wǎng)絡)的新總線標準可補充原來較為成熟的總線結構,覆蓋原來的總線不太擅長的應用。
LIN總線是由LIN聯(lián)盟(這是由汽車、軟件和半導體制造商組成的一個非贏利組織)制定的。LIN總線是A級總線,也就是說,它是一種低速總線。LIN總線的最大通信速率為20 Kb/s。同時還可提供有保證的時延,即從網(wǎng)絡中一個特定結點到另一個結點的通信可保證在規(guī)定的時間內(nèi)完成。
LIN總線的最大優(yōu)點是其實現(xiàn)成本低,一個LIN總線結點的成本大約僅為類似CAN總線結點的一半。
需要指出的是,開發(fā)LIN總線并非是要與其它總線結構競爭,相反是為了與其它總線形成互補關系。具體來說,LIN總線可以做為兩級總線結構中的第二級,其中CAN總線可做為一級主干總線。在這種結構中,有些CAN總線結點還可做為網(wǎng)關,即做為本地LIN總線的主結點。
LIN總線協(xié)議基于通用的UART字節(jié)接口,因此實現(xiàn)方式豐富靈活。LIN協(xié)議采用主/從通信機制??偩€包括一個主結點和一個或多個從結點。主結點除了驅(qū)動所有消息的傳輸外,還完成所有的仲裁和沖突管理工作。這進一步簡化了從結點,從而降低了其成本。
總線上的所有通信都以消息形式進行,消息有確定的格式,稱為消息幀。消息幀由頭(header)信息字段和響應(response)字段組成。頭信息進一步分成幾個字段。第一個是同步中斷字段,由13個‘0’比特位和至少一個‘1’比特位組成,用來標志幀的開始。然后是由一系列交替出現(xiàn)的‘1’和‘0’組成的同步字段,可使每個從結點都可同步到主結點所設定的位速率;最后是標志字段,標志出所需要的消息以及響應字段的長度。
只有主結點可以啟動消息傳輸過程,這是通過向所有結點發(fā)送一個頭字段實現(xiàn)的。頭字段中的標志字段告訴網(wǎng)絡中的所有從結點應該做出什么樣的響應??赡艿捻憫ǎ簭捻憫侄沃薪邮兆止?jié)數(shù)據(jù);在響應字段中發(fā)送字節(jié)數(shù)據(jù);或者什么都不做。每一從結點都分析頭信息字段,并且必須準備好在幀的響應字段發(fā)送或接收數(shù)據(jù)。
當利用傳統(tǒng)的內(nèi)置UART的微控制器(MCU)來實現(xiàn)LIN總線時,字節(jié)級的編碼和解碼既簡單又高效。然而,創(chuàng)建并解釋整個消息幀的工作則需要更多通常MCU中所沒有的資源。
例如,利用同步字段來確定位速率,這是每個從結點必須在每條消息的起始要做的工作。在傳統(tǒng)MCU上要實現(xiàn)這一功能需要一個硬件定時器和軟件查詢,這對處理器構成很大的負擔。另一個例子是所有結點都需要檢測幾種錯誤情形,而這種錯誤可能發(fā)生在每一位,因此可能需要消耗大量的處理能力??偟膩碚f,LIN總線協(xié)議的所有這些特點要么需要大量的CPU開銷,要么就需要只有少數(shù)MCU才能提供的專用硬件資源。
PSoC的機會和優(yōu)點
Cypress公司的可編程系統(tǒng)芯片(PSoC)器件提供了第三種選擇。開發(fā)該系列產(chǎn)品的目的就是要代替?zhèn)鹘y(tǒng)的固定功能MCU。每一個PSoC器件都是一個集成有微控制器的混合信號陣列。組成這些混合信號陣列的可編程模擬和數(shù)字電路劃分成稱為PSoC模塊的邏輯模塊(參看圖1)。每一模塊可完成一系列功能,包括許多標準外設功能。因此在應用中,可配置構成“完美”的外設組。數(shù)字PSoC模塊可用來完成LIN總線接口所需要的所有硬件功能,從而將CPU從這些工作中解放出來。
除了減輕CPU的開銷以外,同時還可減少LIN總線功能所使用的數(shù)字資源。更多的資源可用于完成其它功能。這種結構的動態(tài)可重構特點使得在器件工作過程中可動態(tài)選擇器件的不同配置來完成不同的功能。
動態(tài)重構可大大方便基于PSoC的LIN總線設計。由于LIN總線傳輸有三個明確的階段:頭傳輸/接收、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收,PSoC器件可以在每個階段重新配置其數(shù)字模塊資源來實現(xiàn)LIN總線協(xié)議所需要的不同功能。能夠這樣做是因為決定芯片配置的信息存儲在基于RAM的寄存器中,在啟動時從閃存?zhèn)鬏敂?shù)據(jù)將芯片配置為一個初始狀態(tài)。因此,用戶代碼可在任何時間改變這些寄存器中的數(shù)值,從而改變PSoC資源的配置。
實現(xiàn)LIN總線協(xié)議需要的代碼存儲器很小(如果PSoC用做從結點約為1.5 K字節(jié),用做主結點約1K字節(jié))。Cypress的PSoC器件可以提供最大16K的閃存,因此可以將大多數(shù)程序空間留給應用程序。驅(qū)動器管理所需要的CPU開銷也非常低,僅需要大約10%的CPU周期,大多數(shù)硬件PSoC模塊(5/8)都可以留給主應用使用。
Cypress公司設計了一個LIN總線參考設計板,可以用來對基于PSoC的LIN總線結點設計進行評估。這一參考設計是一個完整設計套件(CY3220LINBUS-RD)的一部分。實現(xiàn)LIN總線通信的軟件可從www.cypressmicro.com網(wǎng)站下載。不需要許可費用。
評論