CAN/GPRS無線車載網(wǎng)關(guān)的設計與實現(xiàn)
1 引言
隨著汽車電子技術(shù)的不斷發(fā)展,車上的電子裝置越來越多,并與傳感器和執(zhí)行器一起共同組成了許多復雜的電子控制系統(tǒng)。結(jié)果連接這些電子裝置的電子線路迅速膨脹,布線變得越來越困難,導致了車身重量明顯增加,車輛運行的可靠性降低。傳統(tǒng)點對點的連接方式已經(jīng)無法滿足現(xiàn)代汽車電子技術(shù)發(fā)展的要求,多路傳輸?shù)?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/車載">車載網(wǎng)絡技術(shù)成為解決這些問題的必然選擇。德國BOSCH 公司[1]推出的控制局域網(wǎng)CAN(Controller Area Network)依靠其穩(wěn)定的性能、低廉的價格和很高的可靠性和實時性,現(xiàn)在已經(jīng)被廣泛地應用于汽車內(nèi)部網(wǎng)絡。CAN總線的采用使汽車內(nèi)部的信息數(shù)據(jù)共享成為現(xiàn)實。然而,現(xiàn)在信息數(shù)據(jù)的共享不僅僅局限于汽車內(nèi)部,許多數(shù)據(jù)信息需要與外界進行交換。這些信息主要用于汽車導航、汽車GPS 定位、汽車防盜、汽車遠程監(jiān)控、汽車遠程調(diào)度和收費等方面。由于汽車可移動性的特點,很多與外界交互的信息需要通過無線傳輸,所以我們選擇具有覆蓋面廣、接入速度快、按流量計費等優(yōu)點的通用分組無線業(yè)務GPRS(General Packet Radio Service)來承載無線數(shù)據(jù)通信。GPRS 是在GSM 基礎上發(fā)展起來的一種無線分組交換技術(shù)[2],被稱為2.5G,最高帶寬可達171.2Kb/s,可較好的滿足無線通信的要求。
2 總體網(wǎng)絡拓撲
總體網(wǎng)絡拓撲如圖 1 所示,汽車內(nèi)部的電子控制單元都掛接到CAN 網(wǎng)上,汽車的內(nèi)部數(shù)據(jù)信息通過CAN 總線進行傳遞,而需要與外界交互的數(shù)據(jù)則通過CAN/GPRS 無線車載網(wǎng)關(guān)進行收發(fā)。
數(shù)據(jù)經(jīng)過基站收發(fā)信機 BTS(Base Transceiver Station)、基站控制器BSC(Base Station Controller)和GPRS 服務支持節(jié)點SGSN(Serving GPRS Support Node)進入GPRS 骨干網(wǎng);然后再通過GPRS 網(wǎng)關(guān)支持節(jié)點GGSN(Gateway GPRS Support Node),進入Internet 互聯(lián)網(wǎng);并可以通過TCP 或UDP 協(xié)議把數(shù)據(jù)傳送到Internet 遠程服務器。
3 CAN/GPRS 無線車載網(wǎng)關(guān)硬件實現(xiàn)
因為整個汽車內(nèi)部CAN網(wǎng)與外界交互的數(shù)據(jù)都需要通過CAN/GPRS無線車載網(wǎng)關(guān)進行收發(fā),所以網(wǎng)關(guān)需要配備一個性能較高的微處理器。我們選擇具有較高性價比的一款三星公司的32 位ARM9 微處理器S3C2410X 來作為網(wǎng)關(guān)的主控制器。S3C2410X 包含ARM920T核,最高處理速度為203MHz[6],豐富的外圍設備包括3 通道的UART、4 通道的DMA、2個SPI 接口、117 個通用I/O 口和24 個外部中斷源等。采用一片三星的K9F1208 NAND Flash芯片(64M *8Bit)來儲存網(wǎng)關(guān)軟件系統(tǒng)的Bootloader,Linux 內(nèi)核,根文件系統(tǒng)和網(wǎng)關(guān)程序。由兩片HYNIX 的HY57V561620 DRAM 芯片(4Banks*4M*16Bit)構(gòu)成64M 的SDRAM,用于加載Linux 操作系統(tǒng)和運行程序。采用12MHz 的有源晶振。設計了一個20 針JTAG 接口,用來燒寫B(tài)ootloader。使用1 片MAX3232 構(gòu)成UART 調(diào)試接口。因為整個系統(tǒng)的輸入電壓為5V,所以需使用AMS1117-3.3 和AMS1117-1.8 分別得到穩(wěn)定的3.3V 和1.8V 電壓。
CAN 控制器選擇Microchip 的MCP2510,CAN 收發(fā)器選擇Philips 的TJA1050 以組成網(wǎng)關(guān)的CAN 通信模塊。MCP2510 支持CAN 總線V2.0A 和V2.0B 技術(shù)規(guī)范,通信數(shù)率可達1Mb/s,擁有3 個發(fā)送緩沖器、2 個接收緩沖器,高速SPI 接口支持0,0 和1,1SPI 模式。TJA1050具有對總線差分信號的收發(fā)功能和抗汽車環(huán)境下的瞬間干擾等能力。網(wǎng)關(guān)的GPRS 接口采用SIMCOM 公司的SIM300 GSM/GPRS 模塊,該模塊可為GSM 語音、短消息和GPRS 上網(wǎng)等業(yè)務提供無線接口。采用6 腳SIM 卡座來連接SIM 卡。網(wǎng)關(guān)的硬件結(jié)構(gòu)如圖2 所示。
在實際硬件連接時,S3C2410 的SPI 接口與MCP2510 的SPI 接口直接相連。MCP2510的TXCAN、RXCAN 引腳分別與TJA1050 的TXD、RXD 引腳相連,而TJA1050 的CANH和CANL 引腳分別接到CAN 總線的CANH 線和CANL 線上。因為S3C2410 的UART 口并沒有引出DCD、 DTR、DSR 和RI 信號引腳,要通過SIM300 無線聯(lián)網(wǎng),最好使用全部的信號引腳,所以我們使用PHILIPS 的SC16C550 從S3C2410 上擴展出標準的UART 接口與
SIM300 的UART 接口進行連接。CAN/GPRS 網(wǎng)關(guān)主要通信模塊的硬件電路原理圖如圖3 所示。
4 CAN/GPRS 無線車載網(wǎng)關(guān)軟件實現(xiàn)
4.1 ARM-Linux 操作系統(tǒng)移植.
評論