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
主站蜘蛛池模板: 成人小视频网| 久久综合丝袜日本网| 久久91精品牛牛| 国产无吗一区二区三区在线欢| 五月天综合婷婷| 69视频国产| 波多野结衣无码中文字幕在线观看一区二区 | 国产尤物在线播放| 美女无遮挡被啪啪到高潮免费| 欧美一级在线| 人与鲁专区| 91破解版在线亚洲| 国产精品吹潮在线观看中文| 亚洲国产中文在线二区三区免| 99久久精品视香蕉蕉| 亚洲天堂免费| 国产精品综合久久久| 日韩123欧美字幕| 国产精品微拍| 国产99免费视频| 亚洲第一在线播放| 97视频免费在线观看| 日韩在线播放中文字幕| 亚洲综合色婷婷中文字幕| 亚洲bt欧美bt精品| 国产成人高精品免费视频| 国产区免费精品视频| 色亚洲成人| 日韩精品久久久久久久电影蜜臀| 亚洲国产成人无码AV在线影院L | 久久无码av三级| 无码中字出轨中文人妻中文中| 国产麻豆精品久久一二三| 久久黄色一级视频| 中文字幕无码制服中字| 亚洲日韩久久综合中文字幕| 婷婷六月天激情| 91娇喘视频| 亚洲人成色在线观看| 麻豆AV网站免费进入| 五月天久久婷婷| 狠狠躁天天躁夜夜躁婷婷| 亚洲第一极品精品无码| 青青青国产视频手机| 不卡无码h在线观看| 国模在线视频一区二区三区| 亚洲国产欧美自拍| 影音先锋亚洲无码| 久久久久久久97| 青草视频在线观看国产| 国产主播在线一区| 午夜精品国产自在| 亚洲天堂精品视频| 国产成人成人一区二区| 麻豆精品视频在线原创| 成年人视频一区二区| 99久久无色码中文字幕| 亚洲综合香蕉| 青青国产成人免费精品视频| 亚洲人成网址| 最近最新中文字幕免费的一页| 婷婷色中文网| 久久国产高清视频| 亚洲aaa视频| 色偷偷男人的天堂亚洲av| 毛片大全免费观看| 国产成人亚洲综合a∨婷婷| 五月婷婷综合色| 欧美特黄一级大黄录像| 国产91色在线| 日韩精品高清自在线| 欧美性天天| 免费观看三级毛片| 亚洲精品成人片在线播放| 国产性精品| 色九九视频| 亚洲精品国产成人7777| 久操线在视频在线观看| 国产激爽大片高清在线观看| 91在线精品麻豆欧美在线| 亚洲AV成人一区二区三区AV| 国产经典在线观看一区|