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

基于Cortex-A8的車載信息系統設計

2014-11-10 07:10:06黃小波
網絡安全與數據管理 2014年8期
關鍵詞:信息系統

黃小波,許 勇

(桂林電子科技大學 電子工程與自動化學院,廣西 桂林541004)

車載信息系統是現代汽車電子重要組成之一。目前市場上的乘用車車載信息系統智能化程度比較高,技術已趨向成熟,但是商用車卻相對滯后。這也意味著商用車車載信息服務系統市場亟待開發,主要有以下幾個方面的原因:一是行業的內在需求。商用車作為運營車輛,如客運、旅游公交、物流公司對車輛的安全、運營、成本管理等的內在需求愈發強烈。二是技術的日漸成熟。車載總線技術的推廣普及為車輛信息采集提供了基礎;大規模集成電路的迅速發展為車聯網硬件開發提供了基礎;通信技術中的3G技術已經成熟,4G網絡在快速建設,很快將完成城市和公路范圍覆蓋。三是國家相關政策陸續出臺。商用車,尤其是客車作為運營車輛,事關人身安全、財產安全以及社會穩定,國家對其管理要求也是格外重視,自2003年起便推出了道路運輸車輛衛星定位動態監管系統標準、強制安裝記錄儀標準、JTT415-2006道路運輸電子政務平臺標準及汽車行駛記錄儀新國家標準,這為商用車的車載信息服務系統的快速普及提供了強大的政策推動。商用車車載信息服務系統及相關技術發展潛力巨大。

為此,本文借助Cortex-A8嵌入式開發平臺,基于SAE J1939協議,針對商用車設計了一套功能完善、整體性強且性價比高的車載信息系統。

1 系統總體設計方案

本系統主要功能為:實時監控車輛運行參數,給駕駛人員提供豐富的車輛實時運行狀況信息;建立車載數據庫,存儲采集到的車輛實時運行動態信息和故障信息,以備查詢使用;實現車輛故障自診斷功能,方便相關人員對車輛進行故障檢測。系統結構原理圖如圖1所示。

圖1 系統原理框圖

圖1中,CAN控制器模塊采集車內各CAN節點的報文信息,其通過SPI接口與主處理器進行通信;GPS模塊提供車輛的實時定位信息;通過GPRS模塊可將車輛的實時運行狀態與移動通信設備進行信息交換;存儲模塊主要儲存車輛的故障信息,方便車輛的維護和保養;人機交互模塊主要用來顯示針對本系統開發的應用軟件,給用戶以人性化體驗。

2 系統主要硬件結構

主控芯片采用基于ARMv7架構的Cortex-A8處理器,其主頻達1 GHz,是三星推出的一款適用于智能手機和平板電腦的應用處理芯片。本系統采用的開發平臺具有豐富的板載資源:板載 RS232串口、RS485串口、外擴I2C、SPI、PWM等接口,板載 CAN總線接口、GPS模塊、工業級GSM/GPRS模塊等,大大方便了本系統的開發。

其中,CAN總線模塊主要由CAN獨立控制器、CAN收發器和時鐘電路組成。控制器選用MCP2510,并以晶振電路作為時鐘源;收發器選用CTM1050T(內部集成光電隔離電路)。電源部分:MCP2510采用3.3 V電源供電,CTM1050T采用5 V供電,與CAN總線電源電壓一致。由于CTM1050T內部集成了光電隔離電路,因此GND和CANG兩個接地引腳,分別接系統地線和CAN總線地線。數據線接線部分:MCP2510通過標準SPI串行接口與Cortex-A8通信,通過收發器CTM1050T與車內CAN總線網絡連接。信號線接線部分:MCP2510有8個中斷源,有中斷發生時,通過INT引腳向主處理器發送中斷請求,然后主處理器通過查詢中斷標志寄存器(CANINTF)確定中斷源。另外,接收緩沖器滿引腳(RX0BF和RX1BF)也可用來顯示有效報文是否分別成功載入RXB0或RXB1。本設計使用中斷引腳INT與Cortex-A8的外部中斷引腳EINT19相連,用于發送中斷信息,RX0BF和RX1BF外接LED,用于指示數據傳輸狀態。CAN總線模塊電路原理圖如圖2所示。

圖2 CAN總線模塊電路原理圖

3 系統的軟件設計

本文所設計的車載信息服務系統是基于操作系統的嵌入式產品。傳統的基于操作系統的嵌入式產品可以分為應用層、文件系統及驅動層和底層3個部分。借助于功能強大的Cortex-A8嵌入式開發平臺,本文主要工作集中在應用層上面,其軟件設計流程圖如圖3所示。系統地看,CAN設備經過驅動以后,從車載CAN總線網絡上接收報文,讀取設備文件函數后,數據流向后臺數據處理程序,經過后臺數據處理,最后交由前端Qt頁面顯示。

圖3 系統軟件設計流程圖

本系統所做工作的核心部分即為后臺數據處理程序設計和前端人機交互程序設計。后臺數據處理程序接收CAN報文后,基于SAE J1939協議進行解析處理;人機交互是將處理后的數據顯示在用戶圖形界面上。

3.1 SAE J1939協議

SAE J1939協議是美國汽車工程師協會(SAE)在CAN2.0B協議基礎上制定的針對客車和貨運車網絡通信應用層協議,目前在汽車電子網絡中得到廣泛應用。SAE J1939協議以CAN2.0B協議為基礎,所不同的是在很多方面做了更具體的規定。例如,在物理層,選用屏蔽雙絞線作為傳輸介質,傳輸速率規定為250 kb/s;在數據鏈路層使用CAN擴展幀,并對CAN標識符重新定義,摒棄了CAN協議中對報文標識的方法,重新采用對節點地址編號。SAE J1939協議總體按照ISO/OSI模型制定相關標準,在CAN2.0B協議的基礎上又增加了應用層定義、網絡層定義、網絡管理和故障診斷定義,傳輸層、會話層和表示層暫未定義。SAE J1939協議各層使用的是格式統一的協議數據單元PDU(Protocol Data Unit),每個協議數據單元的功能由所攜帶的參數組編號PGN(Parameter Group Number)標識。SAE J1939作為一種控制局域網協議,網絡中大部分數據都是以參數的形式在應用層完成傳遞的。

下面以動機瞬時油耗為例說明報文解析的具體過程:如接收到的 PDU的幀 ID為 0x18FEF200,其數據區前兩個字節值為 138(0x008A),則該報文部分域值如圖4所示。

圖4 示例報文

由圖4可知,優先級 P為 6,目標地址 PS為 0xF2,源地址SA為0x0。此時地址為0xF2的節點會接收該報文并交由上層應用程序處理,而其他節點則不進行處理,直接丟棄。 根據 R(保留位)、DP(數據頁)、PF(PDU 格式)、PS(特定PDU)的值的計算可得本報文的參數組編號PGN為0x00-FEF2。SAE J1939對該參數組編號定義如表1所示。

表1 SAE J1939中PGN65266定義

由表1可知,此報文數據區攜帶了4個參數,前兩個字節內定義的參數是燃油使用率,可疑參數編號SPN為183。具體燃油使用率的值可以按照SAE J1939協議對SPN183的定義計算出來,協議對SPN183的定義如表2所示。

表2 SAE J1939中SPN183定義

由表2,根據計算公式:參數實際值=分辨率×總線傳輸數值+偏移量,代入數據便可以得到參數的實際物理值:瞬時油耗=0.05 L/h×138+0=6.9 L/h。

3.2 CAN總線底層配置

CAN總線驅動程序的報文發送、接收任務都是圍繞控制器MCP2510展開的,因此驅動程序主要是對控制器MCP2510內部寄存器進行操作。在Linux為所有設備都提供的統一函數接口file_operations中,其中can_ioctl()函數可以設置CAN總線通信波特率、通信幀ID、CAN總線接收濾波器以及MCP2510工作模式等參數。因此CAN總線驅動程序主要內容就是對CAN總線控制器MCP2510的操作和file_operations結構的設計。

3.2.1 CAN總線控制器MCP2510的設置

首先對 MCP2510進行初始化,具體步驟為:(1)軟件復位,進入配置模式;(2)設置 CAN總線波特率;(3)關閉中斷,設置ID過濾器;(4)切換MCP2510至工作狀態;(5)清空接收和發送緩沖區;(6)開啟接收緩沖區,開中斷。

由于 MCP2510與 Cortex-A8的 SPI0直接相連,因此接下來需要編寫驅動SPI0控制器的接口函數,具體包括 SPI_init()、SPI_putch()、SPI_getch()、SPI_mcp_select()、SPI_mcp_unselect()函數等。它們的作用分別是初始化SPI控制器;通過SPI發送一個字節;通過SPI接收一個字節;后兩個函數是MCP2510的片選的選擇和取消。

MCP2510為微控制器提供讀指令、寫指令、請求發送指令、狀態讀指令、復位指令和位修改指令6種指令操作。編寫的相應的SPI接口函數為:SPI_mcp_RD()讀操作;SPI_mcp_WR()寫操作;SPI_mcp_rts()請求發送操作;SPI_mcp_RD_status()狀態讀操作;SPI_mcp_reset()復位操作;SPI_mcp_write_bits()位修改操作。

3.2.2 CAN驅動程序的實現

CAN設備屬于字符設備,根據Linux設備驅動程序的通用模式,CAN驅動程序軟件結構如圖5所示。

圖5 CAN總線驅動程序結構框圖

由圖5可知,CAN總線驅動程序設計具體步驟如下:

(1)通過 can_init()函數實現初始化,具體包括:初始化硬件、注冊字符設備驅動、注冊中斷和創建設備文件系統節點。硬件的初始化主要通過調用函數SPI_init()和mcp_init()實現。注冊字符設備驅動是通過register_chrdev()函數實現的。向內核注冊中斷使用了函數request_irq()。創建設備文件系統節點則是通過函數devfs_register()實現的,它將為CAN總線設備創建文件節點/dev/can。

(2)CAN驅動程序的編寫選擇適用的文件操作接口file_operations結構,具體如下所示:

在該結構中,應用程序可以通過can_ioctl()函數改變CAN總線通信中諸如CAN總線通信波特率、通信幀ID、CAN總線接收濾波器以及MCP2510工作模式等參數的設置。

(3)通過函數can_exit()用來卸載和取消設備。在模塊被卸載時,可以通過調用 unregister_chrdev()和 free_irq()函數注銷字符型設備驅動和已經申請的中斷。

3.3 應用程序設計

應用軟件是車載信息系統的重要組成部分。本系統使用Qt/Enbedded應用程序架構開發應用程序。根據車載信息系統的功能需求,系統應用程序的設計分為人機交互界面、CAN總線數據處理、GPS、GPRS信息處理和數據存儲等部分。由于需要執行多個任務,若在單一線程里實現,可能會導致阻塞、降低系統整體性能。因此,本系統采取多線程技術,可以提高處理器效率,還能避免程序阻塞、交互界面卡頓等現象。本文著重介紹車輛實時狀態監控程序設計部分。

車輛狀態監控主要包括實時監控車輛各項實時運行參數和故障信息。結合前面的報文解析過程,其流程圖如圖6所示。

圖6 車輛狀態監測程序流程圖

根據SAE J1939協議的規定,車輛各項參數會以規定周期在網絡上廣播,如果有故障發生,就會廣播相應的故障碼。本程序只需監測網絡,提取攜帶這些有用信息的報文進行相應的解析即可。該部分功能在車輛狀態監控子線程中實現,該線程啟動后循環讀取來自MCP2510從總線上接收的報文。如果報文中攜帶的是車輛狀態參數,則根據相應的PGN查表確定該報文數據域的參數和它們的SPN,再根據SPN查表獲得這些參數在數據域中的位置、數據分辨率、數據長度和偏移量等信息,最后通過計算獲得該參數具體的物理值;如果是故障報文,則需要根據報文中的診斷故障代碼(DTC)來確定故障參數和故障類型。獲得以上這些信息后把它們存入到相應的全局變量以供其他線程使用,同時刷新LCD顯示值。

本文設計的車載信息系統實時監控畫面如圖7所示。在實際測試中,本系統能穩定地顯示車輛的實時運行數據,方便車主對車輛進行維護和保養,滿足用戶的基本需求;人性化的操控界面和快捷靈敏的反應速度使本系統具有一定的應用價值。

圖7 車載信息服務系統測試畫面

[1]尹占威.商用車車載信息服務市場升溫[N].中國電子報,2011,15(11):2.

[2]陳一新,李武屹,莫家貴.基于 SAE J1939協議的車輛信息采集與診斷模塊[J].電子技術,2010(7):65-67.

[3]張繼輝,許勇.基于SAE J1939的車輛監測與故障診斷車載系統[J].計算機系統應用,2013,22(3):73-75.

[4]趙俊旭,唐厚君,鐘溢原.基于 Cortex-A8的倉庫管理移動終端設計[J].微型電腦應用,2011,27(10):35-37.

[5]田帥,柳曉鳴.車載信息系統的研究[D].大連:大連海事大學,2007.

[6]SAE J1939-71:vehicle application layer[S].Society of Automotive Engineers,2008.

[7]SAE J1939-21:data link layer[S].Society of Automotive Engineers,2006.

[8]SAE J1939-73:vehicle application layer-Diagnostics[S].Society of Automotive Engineers,2006.

猜你喜歡
信息系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 久久综合色天堂av| 国内精品伊人久久久久7777人| 精品亚洲麻豆1区2区3区| 四虎永久在线精品影院| 精品天海翼一区二区| 福利小视频在线播放| 婷婷色丁香综合激情| 亚洲久悠悠色悠在线播放| av无码一区二区三区在线| 亚洲视频黄| 亚洲精品在线观看91| 91精品国产91久无码网站| 四虎成人精品| 欧美不卡在线视频| 波多野吉衣一区二区三区av| 欧美成人aⅴ| 国模私拍一区二区| 亚洲色图综合在线| 亚洲综合久久一本伊一区| 99热国产这里只有精品无卡顿"| 91免费国产高清观看| 国产精品一区在线观看你懂的| 美女一区二区在线观看| 中文字幕欧美日韩| 农村乱人伦一区二区| 久久五月天国产自| 国产三区二区| 久久免费看片| 福利片91| 国产福利免费观看| av色爱 天堂网| 一本二本三本不卡无码| 欧美亚洲综合免费精品高清在线观看| 国产乱子伦手机在线| 欧美日韩专区| 制服丝袜亚洲| 国产高清免费午夜在线视频| 就去吻亚洲精品国产欧美| 久久人与动人物A级毛片| 欧美精品一区在线看| 亚洲天堂高清| 四虎国产在线观看| 最新无码专区超级碰碰碰| 97se综合| 国产美女精品一区二区| 国内精品91| 无码视频国产精品一区二区| 成年人福利视频| 九九热精品视频在线| 久久久噜噜噜| 色亚洲激情综合精品无码视频| 国产凹凸视频在线观看| 成人一区专区在线观看| 久久中文字幕不卡一二区| 色综合天天视频在线观看| 美女国内精品自产拍在线播放| 青青草一区| 免费va国产在线观看| 强乱中文字幕在线播放不卡| 亚卅精品无码久久毛片乌克兰| 亚洲欧美天堂网| 国产成人AV综合久久| 亚洲av日韩综合一区尤物| 国产内射在线观看| 欧美一区二区丝袜高跟鞋| 无码精油按摩潮喷在线播放 | 污视频日本| 欧美日韩国产高清一区二区三区| 伊人激情综合网| 欧美国产综合视频| 亚洲天堂高清| 免费无码网站| 亚洲A∨无码精品午夜在线观看| 亚洲中文精品人人永久免费| h网站在线播放| 色天天综合| 人人妻人人澡人人爽欧美一区| 亚洲欧美精品在线| 国产又色又刺激高潮免费看| 色视频国产| 一级看片免费视频| 久久精品无码一区二区国产区|