基于CAN/LIN息線(xiàn)的汽車(chē)混合網(wǎng)關(guān)設計
2.1 主控制器的選擇
實(shí)現數據的高效率、高質(zhì)量的存儲轉發(fā)是網(wǎng)關(guān)的重要目標,而主控制器是網(wǎng)關(guān)的核心器件,它的性能好壞直接決定了網(wǎng)關(guān)的效率高低。主控器對接收到的數據進(jìn)行緩存,因此主控制器需要有較高的存儲容量。主控器還要對它所接收與轉發(fā)的數據進(jìn)行協(xié)議轉換等數據處理,因此還要有較強的運算能力。
本設計選用了Atml公司的AT91SAM7A3作為網(wǎng)關(guān)的核心控制器。這是一顆基于A(yíng)RM7TDMI內核的32位RISC處理器,具有執行速度快、效率高的特點(diǎn),能夠滿(mǎn)足網(wǎng)關(guān)的數據處理要求。該芯片內置32 KB的SRAM和256 KB的高速Flash存儲器,存儲能力強,能夠滿(mǎn)足網(wǎng)關(guān)對數據存儲的要求。另外,該芯片內部集成有2個(gè)功能強大的CAN2.OB的控制器,可以處理所有類(lèi)型的幀結構(數據幀、遠程幀、錯誤幀及過(guò)載幀),每個(gè)控制器有16個(gè)獨立的緩存區(mailbox),十分有利于實(shí)現網(wǎng)關(guān)高速、大容量的數據處理。集成的 CAN控制器還能夠減少器件數目和PCB布線(xiàn)數量,有利于提高系統的抗干擾性能。
常用的CAN節點(diǎn)電路如圖3所示,它主要由MCU、CAN控制器及CAN收發(fā)器組成。為了增強電路的抗干擾性,還需要在控制器與收發(fā)器之間增加一個(gè)隔離電路。
本網(wǎng)關(guān)中的CAN節點(diǎn)共有2個(gè):高速CAN節點(diǎn)和低速CAN節點(diǎn)。由于在汽車(chē)中電磁干擾現象非常嚴重,僅靠單個(gè)的CAN收發(fā)器難以滿(mǎn)足通信品質(zhì)的要求,需要加上適當的隔離電路以提高電路的抗干擾性。
2個(gè)節點(diǎn)的MCU的功能由主控制芯片AT91SAM7A3實(shí)現,且AT91SAM7A3中集成了兩個(gè)高性能的CAN控制器,可以分別作為高低速CAN節點(diǎn)的控制器。
常用的隔離電路采用高速光耦6N137實(shí)現CAN節點(diǎn)之間的信號隔離,并且采用電源隔離模塊實(shí)現高速光耦的兩個(gè)電源的隔離。但是這種設計無(wú)疑增加了PCB的走線(xiàn),使電路的沒(méi)計變得復雜,同時(shí)隔離電路的隔離效果也受到影響。
本設計采用廣州致遠電子有限公司生產(chǎn)的CTM系列的CTM1050和CTM1054,分別作為高低速CAN收發(fā)器。CTM系列的CAN收發(fā)器集成了CAN 收發(fā)器以及必需的隔離,即在一塊芯片上實(shí)現了隔離電路和CAN收發(fā)器的功能。這樣就不必單獨設計隔離電路,提高了集成度,使得抗干擾性得到增強。
高速CAN收發(fā)器CTM1050,最高速率可達1 Mb/s,完全符合ISO11898-2標準的高速CAN通信,用它作為高速CAN網(wǎng)絡(luò )接口的收發(fā)器(電路連接方法見(jiàn)圖2)。容錯CAN收發(fā)器 CTM1054,最高通信速率可達125 kb/s,完全符合ISO11898-3標準,用它作為低速CAN網(wǎng)絡(luò )接口的收發(fā)器(電路連接方法見(jiàn)圖2)。需要注意的是,在CTM1054的連接中,有 2個(gè)電阻R1和R2的阻值要根據低速CAN網(wǎng)絡(luò )中節點(diǎn)的個(gè)數來(lái)確定。具體值的算法見(jiàn)CTM1054使用手冊。
2.3 LIN接口設計
LIN總線(xiàn)是一主多從的總線(xiàn)連接方式,節點(diǎn)有主從之分。在本設計中,將LIN節點(diǎn)設計為主節點(diǎn)。LIN是一個(gè)基于單線(xiàn)串行的通信協(xié)議,對于硬件的要求比較簡(jiǎn)單。通常一個(gè)有SCI/UART接口的單片機和一個(gè)LIN收發(fā)器就可組成LIN節點(diǎn)。本設計利用AT91SAM7A3的UART口和LIN收發(fā)器 TJA1020組成一個(gè)LIN主節點(diǎn)。
TJA1020使用的波特率可從2.4~20 kb/s,有較好的保護功能:總線(xiàn)終端和電池引腳可防止汽車(chē)環(huán)境下的瞬變、總線(xiàn)終端對電池和地的短路保護以及過(guò)熱保護等,可以作為汽車(chē)通信中的LIN通信接口(具體電路連接見(jiàn)圖2)。
3 網(wǎng)關(guān)軟件設計
網(wǎng)關(guān)的軟件系統主要包括主監控程序、數據的發(fā)送、數據的接收、數據的處理(包括協(xié)議轉換和緩沖區內數據的讀寫(xiě)處理)等幾部分。
評論