999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

無線CPU模塊中C—CAN總線的車載應用解析

2017-10-23 00:43:23鮑海森
無線互聯科技 2017年19期

鮑海森

摘 要:文章以Q2686無線CPU為例,介紹了OpenAt嵌入式系統在Q2686無線CPU上的應用,以及基于Q2686模塊的SPI擴展CAN總線設計應用,提出了基于Q2686模塊的低成本車載遠程GPRS診斷系統設計思路。

關鍵詞:OpenAt;C-CAN;SPI;車載;GPRS

隨著工業領域通信的發展,控制器局域網絡(Controller Area Network,CAN)總線日益取代傳統的小型網絡通信模式,應用到越來越多的工業化產品中,尤其是汽車電子產品。但是CAN屬于現場總線,需要有線連接,如何將有線連接的CAN總線數據和無線的GPRS網絡連接起來,成為近來研究的熱點。將CAN總線數據通過GPRS網絡接入Internet,傳輸至遠程服務器系統,實現汽車CAN總線數據的遠程讀取,可以為車載診斷產品提供一種新的發展思路。本文討論基于GPRS無線CPU的C-CAN總線開發的廣泛應用。

1 OpenAt系統和Q2686模塊硬件平臺

OpenAt嵌入式系統是為GPRS無線CPU開發的一款操作系統,集成了內存分配、Flash管理、數據流管理、GPIO管理、總線管理、定時器管理等多種功能。底層為嵌入式API應用層,包括程序初始化API,AT指令API,操作系統API,標準API,流控API,總線API等。包含了建立在OpenAt基礎之上的應用開發層函數庫。應用開發層函數庫(Application Development Layer Library,ADL)為開發人員提供了上層應用接口,簡化了嵌入式應用的開發;同時ADL還提供了嵌入式應用程序框架,包括消息解析器和服務聲明機制。基于以上原因,OpenAt應用程序開發人員在開發應用程序時,更多的時間用于調用服務處理函數,使系統更專注于程序本身的優化[1]。

Q2686模塊是Sierra wireless公司為車載應用開發的汽車級GPRS無線CPU,支持嵌入式OpenAt系統,適用于汽車級的惡劣環境,具備抗強電磁干擾能力。內部集成了32位的ARM9芯片,最高頻率為104 MHz,集成了32 M的Flash空間和8 M的RAM,擁有44個GPIO,兩路SPI,兩路UART口。內嵌嵌入式OpenAt操作系統,支持USB Slave和I2C總線[2]。

Q2686支持4個頻段的GSM網絡,可以在世界上任何國家使用。內嵌TCP/IP,UDP,HTTP,FTP等多種網絡協議,為GPRS網絡開發應用提供了豐富的資源,尤其在車載應用方面,Q2686模塊可以在﹣40~85 ℃惡劣環境下正常工作,作為獨立CPU模塊使用,可以為系統硬件節省掉一個外部CPU,大大降低硬件系統的BOM成本。

在Q2686內部,OpenAt嵌入式系統與客戶應用程序的關系如圖1所示。

2 SPI擴展C-CAN應用

基于上面對于Q2686硬件平臺的介紹,Q2686無線CPU本身不具備CAN總線硬件接口。由于Q2686無線CPU本身是為車載應用設計的,所以為了滿足車載電子產品領域對于CAN總線應用的需求,OpenAt系統在Q2686模塊的SPI總線上擴展CAN總線的應用,稱之為C-CAN(全稱Companion-CAN)總線,在應用層上完全等同于CAN總線。

在Q2686模塊中,SPI總線最高支持13 MHz的速率,擴展為C-CAN總線后,完全滿足CAN總線的最高數據速率?;赟PI總線擴展的C-CAN總線支持CAN2.0A,CAN2.0B協議規范,最高支持1 Mbps的高速CAN總線數據傳輸。在硬件接口上,Q2686模塊支持NEC78k0專用CAN控制器,外部CAN數據傳輸器選擇TJA1041A高速CAN數據傳輸芯片[3]。硬件框如圖2所示。

3 C-CAN總線數據采集和傳輸

OpenAt嵌入式系統為C-CAN總線提供了豐富的API函數庫,通過對CAN總線數據的讀取并分析,可以診斷出汽車內部狀態和故障,并將系統狀態數據和相關故障代碼通過GPRS發送至服務器端[4]。

C-CAN數據鏈路的建立:

if ( can_ifInit() == OK ) {//C-CAN總線API初始化完成

canInitChannel(CAN_BUS_CHANNEL_1);//初始化C-CAN通道

}

在canInitChannel()函數中啟動C-CAN聲明函數:can_busCreateChannel (eBusChannel, CAN_BUS_BDRT_500K, CAN_BUS_HIGH_SPEED, (can_busEventHandler_f) busEventHandler);其中,busEventHandler返回函數為C-CAN總線事件狀態函數,其定義如下:

void busEventHandler(can_busChannel_e eBusChannel, can_busEvent_e eBusEvent){

switch (eBusEvent){

case CAN_BEV_BUS_OFF:

can_busRequest (eBusChannel, CAN_BUS_RESTART_FROM_BUSOFF);//啟動CAN總線鏈路

break;

case CAN_BEV_CTRL_READY:

demo_canInitChannel(CAN_BUS_CHANNEL_1);//重新初始化總線和信息

break;

}

}

can_busCreateChannel 函數返回狀態如下:endprint

busEventHandler(can_busChannel_e eBusChannel, can_busEvent_e eBusEvent){

switch (eBusEvent) {

case CAN_BEV_CHANNEL_DONE: break;

case CAN_BEV_STARTED: break;

case CAN_BEV_BUS_NORMAL: break;

case CAN_BEV_BUS_WARNING_LEVEL: break;

case CAN_BEV_BUS_ERROR_PASSIVE: break;

case CAN_BEV_BUS_OFF:

can_busRequest (eBusChannel, CAN_BUS_RESTART_FROM_BUSOFF);//總線數據請求

case CAN_BEV_TRCV_SLEEP: break;

case CAN_BEV_TRCV_WAKE_UP: break;

case CAN_BEV_FIFO_WARNING: break;

case CAN_BEV_FIFO_FULL: break;

case CAN_BEV_CTRL_RESET: break;

case CAN_BEV_CTRL_READY:

canInitChannel(CAN_BUS_CHANNEL_1);//CAN總線重新初始化

default: break; }}

CAN總線數據的讀取是通過can_msgRead()函數完成,數據的寫操作是通過can_msgWrite()函數進行。CAN總線數據收發流程如圖3所示[5]。

4 GPRS數據鏈路的建立

在OpenAt嵌入式系統中,啟動GPRS的功能模塊是WIP插件庫,該插件庫集成了TCP/IP,UDP,FTP,HTTP等多種網絡協議棧,根據需要啟動相應的協議棧函數庫。我們建立TCP/IP客戶端作為遠程診斷終端的設備類型。

OpenAt系統中,啟動WIP登陸GPRS網絡首先啟動系統的Bearer,Bearer在OpenAt中作為一種數據通道,在一個Bearer下可以建立多條不同協議棧的數據鏈路。Bearer的建立示例代碼如下[4]:

void StartWipHandler(u8 ID){

s8 sReturn;

if ( wip_netInit()==0){ //初始化網絡協議棧

sReturn=wip_bearerOpen(&br,"GPRS",BearerHandler,NULL);//打開Bearer的GPRS鏈路

if ((sReturn==0)||(sReturn==WIP_BERR_ALREADY)){

sReturn=wip_bearerSetOpts(br,WIP_BOPT_GPRS_APN,”CMNET”,

WIP_BOPT_LOGIN,NULL,WIP_BOPT_PASSWORD,NULL, WIP_BOPT_END);//設置GPS參數,APN接入點,PPP協議的認證用戶名和密碼

if (sReturn==0) sReturn=wip_bearerStart(br);//建立PPP連接

}}}

Bearer通道建立完成后,當BearerHandler返回函數返回WIP_BEV_IP_CONNECTED事件,表明當前的PPP連接建立成功。在本系統中,建立基于TCP協議棧的客戶端SOCKET連接。啟動函數為:

Channel=wip_TCPClientCreate(“202.113.23.56”,9000,ClientEventHandler,NULL);

其中Channel值即在Bearer上建立的TCP鏈路返回句柄。ClientEventHandler返回函數定義如下:

void ClientEventHandler(wip_event_t *event, void *ctx) {

switch(event->kind){

case WIP_CEV_READ:break; //TCP數據包讀操作

case WIP_CEV_WRITE: break; //TCP數據包寫操作

case WIP_CEV_OPEN:break; //TCP鏈路建立完成

}}

在ClientEventHandler返回函數中,WIP_CEV_OPEN事件表明與指定服務器的端口TCP數據鏈路連接建立完成,系統已經搭建完成從遠程診斷終端到Internet服務器的數據鏈路。在OpenAt嵌入式系統中,TCP/IP數據包通過wip_write(u8 *Data)函數發送,將數據直接送至wip_write(u8 *Data)函數,GPRS無線CPU立即將數據包以分組方式發送至服務器端。同樣,系統采用wip_read(u8 *Data)函數接收,將來自服務器的數據依次分組接收下來,從而完成了數據包從發送到接收的全過程。

5 C-CAN總線在汽車遠程診斷系統中的應用

Q2686模塊本身是一款GSM/GPRS無線CPU,可以比較方便地建立GPRS數據鏈路連接,實現GPRS數據的穩定傳輸。由于CAN總線系統在汽車電子領域的廣泛應用,以CAN總線為標準的C-CAN總線技術,可以將車載有線CAN數據傳輸,方便地擴展為GPRS遠程數據傳輸。將汽車的CAN總線診斷數據通過GPRS實現遠程傳送至Internet上的診斷服務器,實現隨車車載診斷;也可以對車輛實現遠程的碰撞檢測,氣囊打開檢測,緊急救援協助,車門開啟報警等,結合GPS定位模塊,還可以實時進行路線跟蹤,保養提醒,防盜追蹤等。

6 結語

基于Q2686模塊和OpenAt嵌入式系統的車載應用,將GPRS無線數據傳輸與CAN現場總線的有線數據實現了有機的結合,實現了Internet到CAN現場總線數據的交互,為車輛的遠程診斷和控制提供了技術上的支持,為車主能提供更優質的服務,同時為車載電子產品的增值服務提供了技術手段,既擴展了車載電子產品的應用范圍,也為Internet的擴展應用和物聯網的發展奠定了一定基礎。在國內,將CAN總線診斷以及汽車的發動機控制與GPRS技術的結合應用尚存在廣闊的發展空間。

[參考文獻]

[1]洪利,王敏,章揚.無線CPU與移動IP網絡開發技術[M].北京:北京航空航天大學出版社,2008.

[2]Wavecom Corporation.WM Q2686 modules spec sheet[S].2007.

[3]Wavecom Corporation.CAN1 product technical specification[S].2009.

[4]Wavecom Corporation.CAN plug in API definition communication[S].2009.

[5]金民鎖,孫秀娟.基于CAN總線的礦井監控系統的設計[J].工業控制計算機,2009(10):56-57.endprint

主站蜘蛛池模板: 亚洲无线观看| 亚洲综合第一区| 在线无码av一区二区三区| 69视频国产| 露脸国产精品自产在线播| 日本成人不卡视频| 中文字幕 日韩 欧美| 91无码网站| 欧洲欧美人成免费全部视频| 伊人色天堂| 香蕉视频在线精品| 思思99热精品在线| 免费中文字幕一级毛片| 丁香五月激情图片| 国产无码性爱一区二区三区| 在线毛片免费| 免费一级大毛片a一观看不卡| 欧美在线伊人| 成人伊人色一区二区三区| 久精品色妇丰满人妻| 欧美性久久久久| 久久国语对白| 国产亚洲欧美另类一区二区| 久久网欧美| 777国产精品永久免费观看| 国产主播一区二区三区| www.99精品视频在线播放| 久久精品无码一区二区国产区| 无码有码中文字幕| 欧美成人影院亚洲综合图| aⅴ免费在线观看| 国模视频一区二区| 亚洲天堂视频在线播放| 亚洲区第一页| 亚洲国产欧美目韩成人综合| 青草娱乐极品免费视频| 波多野结衣一区二区三区四区| 亚洲午夜片| 久久亚洲国产最新网站| 最近最新中文字幕免费的一页| 91尤物国产尤物福利在线| 成人在线观看不卡| 四虎国产精品永久一区| 国产精品无码一二三视频| 99这里只有精品在线| 欧美激情一区二区三区成人| 色婷婷啪啪| 亚洲性影院| 国产噜噜在线视频观看| 欧美综合中文字幕久久| 国产亚洲欧美日韩在线一区| 国产主播在线一区| 真实国产乱子伦高清| 最新国产高清在线| 国产精品网址在线观看你懂的| 国产欧美日本在线观看| 亚洲日本中文字幕天堂网| 国产永久免费视频m3u8| 国产亚洲视频中文字幕视频| 996免费视频国产在线播放| 欧亚日韩Av| 精品偷拍一区二区| 美女毛片在线| 亚洲日韩久久综合中文字幕| 91在线一9|永久视频在线| 视频二区亚洲精品| 国产精品xxx| 波多野结衣一区二区三视频 | 91成人在线免费视频| 精品国产中文一级毛片在线看| 婷婷色婷婷| 女高中生自慰污污网站| 亚洲成在人线av品善网好看| 久久久亚洲国产美女国产盗摄| 国产乱人乱偷精品视频a人人澡| 精品三级网站| h视频在线播放| 在线观看精品自拍视频| 国产日韩AV高潮在线| 国产高潮视频在线观看| 福利视频99| 免费国产黄线在线观看|