CAN/LIN總線的汽車混合網(wǎng)關(guān)設(shè)計_第1頁
CAN/LIN總線的汽車混合網(wǎng)關(guān)設(shè)計_第2頁
CAN/LIN總線的汽車混合網(wǎng)關(guān)設(shè)計_第3頁
CAN/LIN總線的汽車混合網(wǎng)關(guān)設(shè)計_第4頁
CAN/LIN總線的汽車混合網(wǎng)關(guān)設(shè)計_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、【W(wǎng)ord版本下載可任意編輯】 CANLIN總線的汽車混合網(wǎng)關(guān)設(shè)計 引 言 隨著汽車電子的發(fā)展,傳統(tǒng)的點對點的通信已經(jīng)不能滿足現(xiàn)代汽車通信的要求。汽車電子網(wǎng)絡(luò)技術(shù)正成為實現(xiàn)汽車控制系統(tǒng)的,它使汽車電子技術(shù)進(jìn)入一個全新的時代。 20世紀(jì) 90年代,美國汽車工程師協(xié)會SAE(Society of AutomoTIve Engineers)將汽車數(shù)據(jù)傳輸網(wǎng)分成了A、B、C三類:A類網(wǎng)絡(luò)主要面向傳感器執(zhí)行器的低速網(wǎng)絡(luò),數(shù)據(jù)傳輸位速率一般小于10 kbs,目前A類網(wǎng)的標(biāo)準(zhǔn)為LIN(LocalInterconnect Network)協(xié)議;B類網(wǎng)絡(luò)主要面向獨(dú)立模塊間數(shù)據(jù)共享的中速網(wǎng)絡(luò),數(shù)據(jù)傳輸位速率在10

2、125 kbs,目前B類網(wǎng)絡(luò)主要采用低速容錯CAN標(biāo)準(zhǔn)ISO11898-3;C類網(wǎng)絡(luò)則主要面向高速、實時閉環(huán)控制的多路傳輸網(wǎng),數(shù)據(jù)傳輸位速率在 1251 Mbs之間,歐洲的汽車制造商主要采用高速CAN標(biāo)準(zhǔn)ISO11898-2來實現(xiàn)該類網(wǎng)絡(luò)。下面簡要介紹一下CAN協(xié)議和LIN協(xié)議。 1986 年2月,德國的Bosch公司在SAE大會上提出了CAN串行總線。時至今日,CAN已經(jīng)形成國際標(biāo)準(zhǔn),憑借自身的優(yōu)點,不僅在汽車領(lǐng)域,而且在機(jī)械、數(shù)控機(jī)床及傳感器等領(lǐng)域都得到廣泛應(yīng)用。CAN總線的主要特點有:多主機(jī)的工作方式;傳輸速率可達(dá)1 Mbs(通信距離長40 m),直接通信距離可達(dá)10 km(速率小于5

3、kbs);采用短幀構(gòu)造,傳輸時間短;良好的檢錯能力;非破壞總線仲裁技術(shù);較高的性價比。 LIN 是1998年由BMW等五家汽車制造商、一家軟件工具制造商以及一家半導(dǎo)體廠商聯(lián)合提出的一個協(xié)議。LIN通信是基于SCI(UART)數(shù)據(jù)格式,采用單主多從模式以及低成本的單線連接方式,傳輸速率可達(dá)20kbs。LIN的從節(jié)點不用晶振或陶瓷振蕩器就能實現(xiàn)自同步。出于以上技術(shù)特點, LIN總線實現(xiàn)成本較低,且完夠滿足A類網(wǎng)絡(luò)的通信需求。 在實際的汽車電子網(wǎng)絡(luò)中,A、B、C三類網(wǎng)絡(luò)并不是完全獨(dú)立的。為了完成車輛的控制及信息共享,不同網(wǎng)絡(luò)間必須開展相應(yīng)的數(shù)據(jù)交換。由于是三種不同的網(wǎng)絡(luò),它們之間的通信是不能直接開展

4、的,而必須作相應(yīng)的協(xié)議轉(zhuǎn)換及數(shù)據(jù)處理后才能實現(xiàn),這些工作是由網(wǎng)關(guān)來實現(xiàn)的。本文提出了一種網(wǎng)關(guān)的設(shè)計方案,用以實現(xiàn)高速CAN、低速CAN及LIN三種總線網(wǎng)絡(luò)之間的通信。 1 網(wǎng)關(guān)總體構(gòu)造 本文所討論的網(wǎng)關(guān)其主要任務(wù)是解決車載網(wǎng)絡(luò)中A、B、C三類網(wǎng)絡(luò)的相互通信的問題,實現(xiàn)數(shù)據(jù)的存儲轉(zhuǎn)發(fā)及高、低速CAN協(xié)議之間或低速CAN與LIN協(xié)議之間的協(xié)議轉(zhuǎn)換,以便在不同網(wǎng)絡(luò)之間實現(xiàn)數(shù)據(jù)通信。網(wǎng)關(guān)主要分為4個部分:實現(xiàn)數(shù)據(jù)存儲轉(zhuǎn)發(fā)和協(xié)議轉(zhuǎn)換的主控制器,用于與高速CAN網(wǎng)絡(luò)連接的高速CAN 節(jié)點模塊,與低速CAN網(wǎng)絡(luò)連接的低速CAN節(jié)點模塊以及與LIN網(wǎng)絡(luò)連接的LIN節(jié)點模塊。網(wǎng)關(guān)系統(tǒng)的電路框圖如圖1所示。 網(wǎng)關(guān)

5、中三個節(jié)點電路分別與各自的網(wǎng)絡(luò)相連,且實現(xiàn)各自對應(yīng)的網(wǎng)絡(luò)與主控制器之間的數(shù)據(jù)交換。這個數(shù)據(jù)交換過程是雙向的,既包括從網(wǎng)絡(luò)上接收數(shù)據(jù)并將數(shù)據(jù)存到主控制器中,又包括從主控制器相應(yīng)的緩存器中讀取數(shù)據(jù)并將其發(fā)送到自己對應(yīng)的網(wǎng)絡(luò)中。主控制器主要負(fù)責(zé)數(shù)據(jù)的存儲及協(xié)議的轉(zhuǎn)換,即將各個節(jié)點接收來的數(shù)據(jù)根據(jù)其目的網(wǎng)絡(luò)的不同,分別存入不同的緩沖區(qū),并且根據(jù)目的網(wǎng)絡(luò)的不同,將數(shù)據(jù)轉(zhuǎn)化為能夠在目的網(wǎng)絡(luò)上傳送的數(shù)據(jù)格式。 2 網(wǎng)關(guān)電路設(shè)計 如上所述,網(wǎng)關(guān)的硬件電路主要由主控制器、高速CAN節(jié)點模塊、低速CAN節(jié)點模塊、LIN節(jié)點模塊4部分組成。為了滿足網(wǎng)關(guān)的正常通信要求,必須考慮主控制器的數(shù)據(jù)處理能力。另外,由于網(wǎng)關(guān)的

6、工作環(huán)境為電磁干擾非常嚴(yán)重的汽車內(nèi)部,故還須考慮網(wǎng)關(guān)的抗噪聲干擾性能。網(wǎng)關(guān)的硬件設(shè)計簡圖如圖2所示, AT91SAM7A3為網(wǎng)關(guān)的主控制芯片,TJA1020為LIN總線收發(fā)器,CTM1054為低速CAN收發(fā)器,CTM1050為高速CAN收發(fā)器。 2.1 主控制器的選擇 實現(xiàn)數(shù)據(jù)的高效率、高質(zhì)量的存儲轉(zhuǎn)發(fā)是網(wǎng)關(guān)的重要目標(biāo),而主控制器是網(wǎng)關(guān)的器件,它的性能好壞直接決定了網(wǎng)關(guān)的效率高低。主控器對接收到的數(shù)據(jù)開展緩存,因此主控制器需要有較高的存儲容量。主控器還要對它所接收與轉(zhuǎn)發(fā)的數(shù)據(jù)開展協(xié)議轉(zhuǎn)換等數(shù)據(jù)處理,因此還要有較強(qiáng)的運(yùn)算能力。 本設(shè)計選用了Atml公司的AT91SAM7A3作為網(wǎng)關(guān)的控制器。這是

7、一顆基于ARM7TDMI內(nèi)核的32位RISC處理器,具有執(zhí)行速度快、效率高的特點,能夠滿足網(wǎng)關(guān)的數(shù)據(jù)處理要求。該芯片內(nèi)置32 KB的SRAM和256 KB的高速Flash存儲器,存儲能力強(qiáng),能夠滿足網(wǎng)關(guān)對數(shù)據(jù)存儲的要求。另外,該芯片內(nèi)部集成有2個功能強(qiáng)大的CAN2.OB的控制器,可以處理所有類型的幀構(gòu)造(數(shù)據(jù)幀、遠(yuǎn)程幀、錯誤幀及過載幀),每個控制器有16個獨(dú)立的緩存區(qū)(mailbox),十分有利于實現(xiàn)網(wǎng)關(guān)高速、大容量的數(shù)據(jù)處理。集成的 CAN控制器還能夠減少器件數(shù)目和PCB布線數(shù)量,有利于提高系統(tǒng)的抗干擾性能。 2. 2 CAN節(jié)點設(shè)計 常用的 CAN節(jié)點電路如圖3所示,它主要由MCU、CAN

8、控制器及CAN收發(fā)器組成。為了增強(qiáng)電路的抗干擾性,還需要在控制器與收發(fā)器之間增加一個隔離電路。 本網(wǎng)關(guān)中的CAN節(jié)點共有2個:高速CAN節(jié)點和低速CAN 節(jié)點。由于在汽車中電磁干擾現(xiàn)象非常嚴(yán)重,僅靠單個的CAN收發(fā)器難以滿足通信品質(zhì)的要求,需要加上適當(dāng)?shù)母綦x電路以提高電路的抗干擾性。 2 個節(jié)點的MCU的功能由主控制芯片AT91SAM7A3實現(xiàn),且AT91SAM7A3中集成了兩個高性能的CAN控制器,可以分別作為高低速CAN節(jié)點的控制器。 常用的隔離電路采用高速光耦6N137實現(xiàn)CAN節(jié)點之間的信號隔離,并且采用電源隔離模塊實現(xiàn)高速光耦的兩個電源的隔離。但是這種設(shè)計無疑增加了PCB的走線,使電

9、路的沒計變得復(fù)雜,同時隔離電路的隔離效果也受到影響。 本設(shè)計采用*致遠(yuǎn)電子公司生產(chǎn)的 CTM系列的CTM1050和CTM1054,分別作為高低速CAN收發(fā)器。CTM系列的CAN收發(fā)器集成了CAN 收發(fā)器以及必需的隔離,即在一塊芯片上實現(xiàn)了隔離電路和CAN收發(fā)器的功能。這樣就不必單獨(dú)設(shè)計隔離電路,提高了集成度,使得抗干擾性得到增強(qiáng)。 高速CAN收發(fā)器CTM1050,速率可達(dá)1 Mbs,完全符合ISO11898-2標(biāo)準(zhǔn)的高速CAN通信,用它作為高速CAN網(wǎng)絡(luò)接口的收發(fā)器(電路連接方法見圖2)。容錯CAN收發(fā)器 CTM1054,通信速率可達(dá)125 kbs,完全符合ISO11898-3標(biāo)準(zhǔn),用它作為低

10、速CAN網(wǎng)絡(luò)接口的收發(fā)器(電路連接方法見圖2)。需要注意的是,在CTM1054的連接中,有 2個電阻R1和R2的阻值要根據(jù)低速CAN網(wǎng)絡(luò)中節(jié)點的個數(shù)來確定。具體值的算法見CTM1054使用手冊。 2.3 LIN接口設(shè)計 LIN 總線是一主多從的總線連接方式,節(jié)點有主從之分。在本設(shè)計中,將LIN節(jié)點設(shè)計為主節(jié)點。LIN是一個基于單線串行的通信協(xié)議,對于硬件的要求比較簡單。通常一個有SCI/UART接口的單片機(jī)和一個LIN收發(fā)器就可組成LIN節(jié)點。本設(shè)計利用AT91SAM7A3的UART口和LIN收發(fā)器 TJA1020組成一個LIN主節(jié)點。 TJA1020使用的波特率可從2.420 kbs,有較好

11、的保護(hù)功能:總線終端和電池引腳可防止汽車環(huán)境下的瞬變、總線終端對電池和地的短路保護(hù)以及過熱保護(hù)等,可以作為汽車通信中的LIN通信接口(具體電路連接見圖2)。 3 網(wǎng)關(guān)軟件設(shè)計 網(wǎng)關(guān)的軟件系統(tǒng)主要包括主監(jiān)控程序、數(shù)據(jù)的發(fā)送、數(shù)據(jù)的接收、數(shù)據(jù)的處理 (包括協(xié)議轉(zhuǎn)換和緩沖區(qū)內(nèi)數(shù)據(jù)的讀寫處理)等幾部分。 3.1 主監(jiān)控程序 如圖4所示,在主控制器AT91SAM7A3中劃出4塊緩沖區(qū)BUF1BUF4,每一塊緩沖區(qū)中的數(shù)據(jù)都有明確而且的和目的地。主監(jiān)控程序主要通過循環(huán)依次查詢BUF1BUF4中的存儲情況,來決定是否發(fā)送數(shù)據(jù)以及將數(shù)據(jù)發(fā)送給誰。 當(dāng)高速CAN網(wǎng)絡(luò)上有數(shù)據(jù)需要接收的時候,通過高速CAN模塊接收

12、數(shù)據(jù),對接收到的數(shù)據(jù)開展處理后,將其存到緩沖區(qū)BUF1中,再由低速CAN模塊將其發(fā)送到低速CAN網(wǎng)絡(luò)上;當(dāng)LIN網(wǎng)絡(luò)上有數(shù)據(jù)需要接收時,通過LIN總線模塊接收數(shù)據(jù),對接收到的數(shù)據(jù)開展數(shù)據(jù)格式轉(zhuǎn)換(LIN格式的報文幀轉(zhuǎn)換為CAN 格式的報文幀),再將其存入到緩沖區(qū)BUF4中,并由低速CAN模塊將其發(fā)送到低速CAN網(wǎng)絡(luò)上;當(dāng)?shù)退貱AN網(wǎng)絡(luò)上有數(shù)據(jù)需要接收時,先接收數(shù)據(jù),然后判斷數(shù)據(jù)是發(fā)送到高速CAN總線,還是發(fā)送到LIN總線,根據(jù)判斷結(jié)果對數(shù)據(jù)開展處理,存入相應(yīng)的緩沖區(qū)(如數(shù)據(jù)是發(fā)往高速CAN總線,則存入BUF2,否則存入BUF3)。 3.2 數(shù)據(jù)的發(fā)送 數(shù)據(jù)的發(fā)送由發(fā)送子程序完成,網(wǎng)關(guān)中主要有3

13、個發(fā)送子程序,分別對應(yīng)兩路CAN 控制器以及一路 LIN發(fā)送器。高速CAN的發(fā)送子程序負(fù)責(zé)發(fā)送BUF1中的數(shù)據(jù),LIN的發(fā)送子程序負(fù)責(zé)發(fā)送BUF3中的數(shù)據(jù),低速CAN的發(fā)送子程序負(fù)責(zé)發(fā)送BUF2 和BUF4中的數(shù)據(jù)。數(shù)據(jù)的發(fā)送采用查詢總線狀態(tài)的發(fā)送方式:查詢總線的忙閑情況,如果總線忙,則退出發(fā)送子程序,開展其他的工作;如果總線空閑,則發(fā)送數(shù)據(jù)。發(fā)送完1幀數(shù)據(jù)后,再檢查與之相應(yīng)的緩沖區(qū)的狀態(tài)。如果為空,則退出發(fā)送子程序;如果非空,則再檢查總線的忙閑狀態(tài)。如果忙,則退出發(fā)送子程序;如果空閑,則發(fā)送數(shù)據(jù)。然后再開始新一輪的數(shù)據(jù)查詢發(fā)送過程。圖5為高速CAN向低速CAN發(fā)送的流程,其他的發(fā)送子程序過程

14、與此類似。 3.3 數(shù)據(jù)的接收 數(shù)據(jù)接收是從總線上接收數(shù)據(jù),開展必要的協(xié)議轉(zhuǎn)換,再將轉(zhuǎn)換后的數(shù)據(jù)存人相應(yīng)的緩沖區(qū)。網(wǎng)關(guān)中有3個接收子程序,分別對應(yīng)兩路CAN控制器及一路LIN發(fā)送器。數(shù)據(jù)接收采用中斷方式,由于不同網(wǎng)絡(luò)有不同的實時性要求,因此為3個接收程序設(shè)定了不同的中斷級別。高速CAN的實時性要求,中斷級別也設(shè)為;而LIN總線的實時性在三者中,故中斷級別也。當(dāng)一個接收中斷發(fā)生后,進(jìn)入接收中斷子程序,判斷相應(yīng)的緩沖區(qū)是否已滿(低速CAN的接收程序在接收到數(shù)據(jù)后需要根據(jù)數(shù)據(jù)的目的網(wǎng)絡(luò)確定緩存區(qū)為BUF2還是BUF3)。如果緩沖區(qū)已滿,則產(chǎn)生一個溢出錯誤標(biāo)志;如果沒有滿,則將數(shù)據(jù)開展相應(yīng)的協(xié)議轉(zhuǎn)換,

15、并將轉(zhuǎn)換后的數(shù)據(jù)存入相應(yīng)的緩存區(qū),退出中斷并完成接收。圖6所示為低速CAN數(shù)據(jù)接收過程的簡要流程。 3.4 數(shù)據(jù)的處理 網(wǎng)關(guān)的數(shù)據(jù)處理是指協(xié)議的轉(zhuǎn)換和數(shù)據(jù)在緩沖區(qū)的存儲與轉(zhuǎn)發(fā)。每當(dāng)接收到一組數(shù)據(jù)時,首先開展協(xié)議轉(zhuǎn)換,然后再將其存入到相應(yīng)的緩存區(qū)。高低速CAN的協(xié)議相同,并不需要轉(zhuǎn)換,因此主要是開展CAN協(xié)議和LIN協(xié)議之間的轉(zhuǎn)換。 CAN協(xié)議和LIN協(xié)議都是以幀(frame)為數(shù)據(jù)單位開展通信的。在開展LIN協(xié)議到CAN協(xié)議的轉(zhuǎn)換時,首先是將LIN幀分解,從標(biāo)識符場 (identfield)提取出其中的ID標(biāo)識符,從數(shù)據(jù)場(data field)提取出有效數(shù)據(jù),然后根據(jù)這些信息封裝成符合要求的

16、CAN幀格式。CAN協(xié)議到LIN協(xié)議的轉(zhuǎn)換過程亦是如此。先將CAN幀分解,從仲裁域 (arbitraTIon field)和數(shù)據(jù)域(data field)中提取出有用信息,然后封裝成符合要求的LIN幀格式。 數(shù)據(jù)的 4個緩沖區(qū)BUF1BUF4為FIFO(First InFirst Out)緩沖區(qū),本文采用循環(huán)隊列(circular queue)來實現(xiàn)數(shù)據(jù)的先進(jìn)先出。兩個指針Read和Write分別指示隊頭元素和隊尾元素在緩沖區(qū)空間中的位置,它們的初值在隊列初始化時均應(yīng)置為 0,每讀取或?qū)懭霐?shù)據(jù),都要對緩沖區(qū)的參數(shù)開展調(diào)整。寫數(shù)據(jù)時,將新元素插入Write所指的位置,然后將Write加1;讀數(shù)據(jù)時,刪去Read所指的元素,然后將Read加1并返回被刪元素。 4 網(wǎng)關(guān)通信測試 將網(wǎng)關(guān)的高速CAN接口和低速CAN接口分別與單獨(dú)的 CAN節(jié)點電路相連,LIN接口與單獨(dú)的LIN從節(jié)點相連,組成測試網(wǎng)絡(luò)。測試的主要內(nèi)容為

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論