亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        無線CPU模塊中C—CAN總線的車載應(yīng)用解析

        2017-10-23 00:43:23鮑海森
        無線互聯(lián)科技 2017年19期
        關(guān)鍵詞:車載

        鮑海森

        摘 要:文章以Q2686無線CPU為例,介紹了OpenAt嵌入式系統(tǒng)在Q2686無線CPU上的應(yīng)用,以及基于Q2686模塊的SPI擴(kuò)展CAN總線設(shè)計(jì)應(yīng)用,提出了基于Q2686模塊的低成本車載遠(yuǎn)程GPRS診斷系統(tǒng)設(shè)計(jì)思路。

        關(guān)鍵詞:OpenAt;C-CAN;SPI;車載;GPRS

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

        1 OpenAt系統(tǒng)和Q2686模塊硬件平臺(tái)

        OpenAt嵌入式系統(tǒng)是為GPRS無線CPU開發(fā)的一款操作系統(tǒng),集成了內(nèi)存分配、Flash管理、數(shù)據(jù)流管理、GPIO管理、總線管理、定時(shí)器管理等多種功能。底層為嵌入式API應(yīng)用層,包括程序初始化API,AT指令A(yù)PI,操作系統(tǒng)API,標(biāo)準(zhǔn)API,流控API,總線API等。包含了建立在OpenAt基礎(chǔ)之上的應(yīng)用開發(fā)層函數(shù)庫。應(yīng)用開發(fā)層函數(shù)庫(Application Development Layer Library,ADL)為開發(fā)人員提供了上層應(yīng)用接口,簡化了嵌入式應(yīng)用的開發(fā);同時(shí)ADL還提供了嵌入式應(yīng)用程序框架,包括消息解析器和服務(wù)聲明機(jī)制?;谝陨显颍琌penAt應(yīng)用程序開發(fā)人員在開發(fā)應(yīng)用程序時(shí),更多的時(shí)間用于調(diào)用服務(wù)處理函數(shù),使系統(tǒng)更專注于程序本身的優(yōu)化[1]。

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

        Q2686支持4個(gè)頻段的GSM網(wǎng)絡(luò),可以在世界上任何國家使用。內(nèi)嵌TCP/IP,UDP,HTTP,F(xiàn)TP等多種網(wǎng)絡(luò)協(xié)議,為GPRS網(wǎng)絡(luò)開發(fā)應(yīng)用提供了豐富的資源,尤其在車載應(yīng)用方面,Q2686模塊可以在﹣40~85 ℃惡劣環(huán)境下正常工作,作為獨(dú)立CPU模塊使用,可以為系統(tǒng)硬件節(jié)省掉一個(gè)外部CPU,大大降低硬件系統(tǒng)的BOM成本。

        在Q2686內(nèi)部,OpenAt嵌入式系統(tǒng)與客戶應(yīng)用程序的關(guān)系如圖1所示。

        2 SPI擴(kuò)展C-CAN應(yīng)用

        基于上面對(duì)于Q2686硬件平臺(tái)的介紹,Q2686無線CPU本身不具備CAN總線硬件接口。由于Q2686無線CPU本身是為車載應(yīng)用設(shè)計(jì)的,所以為了滿足車載電子產(chǎn)品領(lǐng)域?qū)τ贑AN總線應(yīng)用的需求,OpenAt系統(tǒng)在Q2686模塊的SPI總線上擴(kuò)展CAN總線的應(yīng)用,稱之為C-CAN(全稱Companion-CAN)總線,在應(yīng)用層上完全等同于CAN總線。

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

        3 C-CAN總線數(shù)據(jù)采集和傳輸

        OpenAt嵌入式系統(tǒng)為C-CAN總線提供了豐富的API函數(shù)庫,通過對(duì)CAN總線數(shù)據(jù)的讀取并分析,可以診斷出汽車內(nèi)部狀態(tài)和故障,并將系統(tǒng)狀態(tài)數(shù)據(jù)和相關(guān)故障代碼通過GPRS發(fā)送至服務(wù)器端[4]。

        C-CAN數(shù)據(jù)鏈路的建立:

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

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

        }

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

        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);//啟動(dòng)CAN總線鏈路

        break;

        case CAN_BEV_CTRL_READY:

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

        break;

        }

        }

        can_busCreateChannel 函數(shù)返回狀態(tài)如下: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);//總線數(shù)據(jù)請(qǐng)求

        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總線數(shù)據(jù)的讀取是通過can_msgRead()函數(shù)完成,數(shù)據(jù)的寫操作是通過can_msgWrite()函數(shù)進(jìn)行。CAN總線數(shù)據(jù)收發(fā)流程如圖3所示[5]。

        4 GPRS數(shù)據(jù)鏈路的建立

        在OpenAt嵌入式系統(tǒng)中,啟動(dòng)GPRS的功能模塊是WIP插件庫,該插件庫集成了TCP/IP,UDP,F(xiàn)TP,HTTP等多種網(wǎng)絡(luò)協(xié)議棧,根據(jù)需要啟動(dòng)相應(yīng)的協(xié)議棧函數(shù)庫。我們建立TCP/IP客戶端作為遠(yuǎn)程診斷終端的設(shè)備類型。

        OpenAt系統(tǒng)中,啟動(dòng)WIP登陸GPRS網(wǎng)絡(luò)首先啟動(dòng)系統(tǒng)的Bearer,Bearer在OpenAt中作為一種數(shù)據(jù)通道,在一個(gè)Bearer下可以建立多條不同協(xié)議棧的數(shù)據(jù)鏈路。Bearer的建立示例代碼如下[4]:

        void StartWipHandler(u8 ID){

        s8 sReturn;

        if ( wip_netInit()==0){ //初始化網(wǎng)絡(luò)協(xié)議棧

        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);//設(shè)置GPS參數(shù),APN接入點(diǎn),PPP協(xié)議的認(rèn)證用戶名和密碼

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

        }}}

        Bearer通道建立完成后,當(dāng)BearerHandler返回函數(shù)返回WIP_BEV_IP_CONNECTED事件,表明當(dāng)前的PPP連接建立成功。在本系統(tǒng)中,建立基于TCP協(xié)議棧的客戶端SOCKET連接。啟動(dòng)函數(shù)為:

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

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

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

        switch(event->kind){

        case WIP_CEV_READ:break; //TCP數(shù)據(jù)包讀操作

        case WIP_CEV_WRITE: break; //TCP數(shù)據(jù)包寫操作

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

        }}

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

        5 C-CAN總線在汽車遠(yuǎn)程診斷系統(tǒng)中的應(yīng)用

        Q2686模塊本身是一款GSM/GPRS無線CPU,可以比較方便地建立GPRS數(shù)據(jù)鏈路連接,實(shí)現(xiàn)GPRS數(shù)據(jù)的穩(wěn)定傳輸。由于CAN總線系統(tǒng)在汽車電子領(lǐng)域的廣泛應(yīng)用,以CAN總線為標(biāo)準(zhǔn)的C-CAN總線技術(shù),可以將車載有線CAN數(shù)據(jù)傳輸,方便地?cái)U(kuò)展為GPRS遠(yuǎn)程數(shù)據(jù)傳輸。將汽車的CAN總線診斷數(shù)據(jù)通過GPRS實(shí)現(xiàn)遠(yuǎn)程傳送至Internet上的診斷服務(wù)器,實(shí)現(xiàn)隨車車載診斷;也可以對(duì)車輛實(shí)現(xiàn)遠(yuǎn)程的碰撞檢測(cè),氣囊打開檢測(cè),緊急救援協(xié)助,車門開啟報(bào)警等,結(jié)合GPS定位模塊,還可以實(shí)時(shí)進(jìn)行路線跟蹤,保養(yǎng)提醒,防盜追蹤等。

        6 結(jié)語

        基于Q2686模塊和OpenAt嵌入式系統(tǒng)的車載應(yīng)用,將GPRS無線數(shù)據(jù)傳輸與CAN現(xiàn)場(chǎng)總線的有線數(shù)據(jù)實(shí)現(xiàn)了有機(jī)的結(jié)合,實(shí)現(xiàn)了Internet到CAN現(xiàn)場(chǎng)總線數(shù)據(jù)的交互,為車輛的遠(yuǎn)程診斷和控制提供了技術(shù)上的支持,為車主能提供更優(yōu)質(zhì)的服務(wù),同時(shí)為車載電子產(chǎn)品的增值服務(wù)提供了技術(shù)手段,既擴(kuò)展了車載電子產(chǎn)品的應(yīng)用范圍,也為Internet的擴(kuò)展應(yīng)用和物聯(lián)網(wǎng)的發(fā)展奠定了一定基礎(chǔ)。在國內(nèi),將CAN總線診斷以及汽車的發(fā)動(dòng)機(jī)控制與GPRS技術(shù)的結(jié)合應(yīng)用尚存在廣闊的發(fā)展空間。

        [參考文獻(xiàn)]

        [1]洪利,王敏,章?lián)P.無線CPU與移動(dòng)IP網(wǎng)絡(luò)開發(fā)技術(shù)[M].北京:北京航空航天大學(xué)出版社,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總線的礦井監(jiān)控系統(tǒng)的設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2009(10):56-57.endprint

        猜你喜歡
        車載
        高速磁浮車載運(yùn)行控制系統(tǒng)綜述
        智能互聯(lián)勢(shì)不可擋 車載存儲(chǔ)需求爆發(fā)
        基于ZVS-PWM的車載隔離DC-DC的研究
        新型輕便式車載電子系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)
        国产在线视频一区二区三| 99精品视频在线观看免费| aaa毛片视频免费观看| 一区二区三区四区亚洲综合| 久久久精品国产亚洲av网麻豆| 国产成人午夜高潮毛片| 精品国产亚洲亚洲国产| 成人精品一区二区三区电影| 无码手机线免费观看| 国内精品久久久久久久久久影院| 日韩一区av二区三区| 国产精品亚洲一二三区| 国产精品毛片毛片av一区二区| 日韩精品免费一区二区三区观看 | 久久熟女乱一区二区三区四区| 国产亚洲av夜间福利在线观看| 国产成人户外露出视频在线| 中文字幕人妻少妇美臀| 精品乱色一区二区中文字幕| 国产三级在线观看完整版| 精品亚洲成a人无码成a在线观看| 欧美丰满熟妇xxxx性| 亚洲av永久无码精品秋霞电影影院| 精品欧洲AV无码一区二区免费| 青青草在线免费观看在线| 亚洲av成人无码一二三在线观看| 久久久久久人妻毛片a片| 亚洲AV无码永久在线观看| 伊人狼人影院在线视频| 国产精品无码制服丝袜| 特级av毛片免费观看| 国产成人美女AV| 女人被躁到高潮嗷嗷叫| 亚洲中文字幕亚洲中文| 四虎永久在线精品免费网址| 夜夜高潮夜夜爽夜夜爱爱| 中文字幕+乱码+中文字幕无忧| 18禁黄无遮挡免费网站| 24小时免费在线观看av| 亚洲精品乱码久久久久久不卡| 妓院一钑片免看黄大片|