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

        ?

        基于A(yíng)RM和QNX的電動(dòng)汽車(chē)虛擬儀表系統(tǒng)設(shè)計(jì)

        2021-09-27 01:40:10湯春球曾豪杰鄧飛宇
        數(shù)字制造科學(xué) 2021年3期
        關(guān)鍵詞:應(yīng)用程序儀表總線(xiàn)

        湯春球,曾豪杰,鄧飛宇

        (武漢理工大學(xué) 機(jī)電工程學(xué)院,湖北 武漢 430070)

        汽車(chē)儀表作為駕駛員了解汽車(chē)行車(chē)信息的窗口,其顯示的準(zhǔn)確性和可靠性直接關(guān)系到行車(chē)安全。新能源汽車(chē)較傳統(tǒng)的燃油汽車(chē)相比,電氣設(shè)備更多,因此電動(dòng)汽車(chē)儀表信息顯示更加豐富,顯示模式更加多樣化并具備良好的HMI(human machine interface)交互能力[1]。目前,單處理器的汽車(chē)虛擬儀表存在啟動(dòng)時(shí)間長(zhǎng),抗電磁干擾能力弱等問(wèn)題。針對(duì)以上問(wèn)題,筆者提出了一種雙處理器車(chē)載虛擬儀表設(shè)計(jì)方案,主MPU(micro processor unit)采用基于A(yíng)RM(advanced RISC machines) CORTEX-A9內(nèi)核MX6SOLO處理器來(lái)進(jìn)行復(fù)雜的圖形處理,輔助MCU(micro controller unit)采用32位的NXP S32K146作為主控芯片的微控制器主要進(jìn)行數(shù)據(jù)通信,并以目前安全性和實(shí)時(shí)性最好的QNX(quick unix)作為嵌入式系統(tǒng),以汽車(chē)領(lǐng)域?qū)S玫腢I(user interface)設(shè)計(jì)工具Kanzi進(jìn)行儀表的圖形界面開(kāi)發(fā)。該虛擬儀表系統(tǒng)將數(shù)據(jù)通信和圖形處理分離,增強(qiáng)了系統(tǒng)的干擾能力。且后期系統(tǒng)維護(hù),只需更換UI資源,就能獲取新的主題風(fēng)格。

        1 系統(tǒng)方案

        1.1 系統(tǒng)總體方案設(shè)計(jì)

        虛擬儀表系統(tǒng)工作原理是:通過(guò)CAN(controller area network)總線(xiàn)實(shí)時(shí)采集汽車(chē)的各種數(shù)據(jù),包括汽車(chē)運(yùn)行的轉(zhuǎn)速、車(chē)速、胎壓信息、電池信息和里程等信息,然后經(jīng)MCU進(jìn)行數(shù)據(jù)處理,將正確的信息顯示在虛擬儀表盤(pán)上。根據(jù)儀表系統(tǒng)的工作原理,可將儀表總成分為3個(gè)主要模塊:數(shù)據(jù)采集、數(shù)據(jù)處理和液晶顯示[2]。

        (1)信號(hào)采集模塊。汽車(chē)上的信號(hào)包括CAN總線(xiàn)信號(hào)和各種硬線(xiàn)信號(hào),將采集到的信號(hào)經(jīng)過(guò)信號(hào)轉(zhuǎn)換單元轉(zhuǎn)換成處理器易讀的數(shù)字信號(hào)。

        (2)數(shù)據(jù)處理模塊。將采集到的數(shù)據(jù)經(jīng)輔助MCU和主MCU處理后進(jìn)行保存,方便后續(xù)液晶顯示和聲光報(bào)警。

        (3)液晶顯示模塊。經(jīng)過(guò)解析、分析處理后的數(shù)據(jù)在液晶儀表面板上進(jìn)行分區(qū)域顯示,主要顯示內(nèi)容有:當(dāng)前速度、電池電量、時(shí)間、日期、行駛里程、報(bào)警信息等;當(dāng)系統(tǒng)判定某項(xiàng)數(shù)據(jù)為異常信息時(shí),通過(guò)智能語(yǔ)音和警告指示燈等方式進(jìn)行預(yù)警,提醒駕駛員進(jìn)行處理[3]。

        1.2 硬件方案設(shè)計(jì)

        某汽車(chē)公司設(shè)計(jì)的一款純電動(dòng)汽車(chē)虛擬儀表,采用雙處理器協(xié)同工作。主MPU采用基于A(yíng)RM CORTEX-A9內(nèi)核的IMX6SOLO處理器,運(yùn)行速率高達(dá)1.2 GHz,內(nèi)部集成2D和3D圖形處理器,動(dòng)畫(huà)運(yùn)行速度流暢,圖像處理速度快。輔助MCU采用32位的NXP S32K146作為主控芯片,負(fù)責(zé)電源管理、整車(chē)CAN信號(hào)和硬線(xiàn)信息接收管理。硬件部分還包括電源管理模塊、CAN通信模塊、預(yù)警模塊和液晶顯示模塊,顯示屏采用10.25寸,分辨率為1 920×720 px的非觸摸屏。儀表的硬件框圖如圖1所示。圖中,LVDS(low-voltage differential signalling)為低電壓差分信號(hào);UART(universal asynchronous receiver/trnsmitter)為通用異步收發(fā)傳輸器。

        圖1 系統(tǒng)硬件框圖

        1.3 CAN通信協(xié)議

        控制器局域網(wǎng)是一種串行通信協(xié)議,能有效支持分布式控制和實(shí)時(shí)控制的串行通信網(wǎng)絡(luò)。電動(dòng)汽車(chē)網(wǎng)絡(luò)通信結(jié)構(gòu)示意圖如圖2所示。

        圖2 電動(dòng)汽車(chē)網(wǎng)絡(luò)通信結(jié)構(gòu)示意圖

        CAN總線(xiàn)結(jié)構(gòu)從上到下依次是CAN控制器、CAN收發(fā)器、CAN數(shù)據(jù)傳遞終端。CAN總線(xiàn)上節(jié)點(diǎn)發(fā)送數(shù)據(jù)是以報(bào)文的形式廣播給所有節(jié)點(diǎn),且多節(jié)點(diǎn)發(fā)送數(shù)據(jù),優(yōu)先級(jí)低主動(dòng)退出發(fā)送。

        由于電動(dòng)汽車(chē)并沒(méi)有標(biāo)準(zhǔn)的通信協(xié)議,一直是主流主機(jī)廠(chǎng)自己制定,基本的思路是在SAE-J1939[4-5]的基礎(chǔ)上,根據(jù)需求做出調(diào)整。電動(dòng)汽車(chē)CAN總線(xiàn)系統(tǒng)由于電氣設(shè)備多,因此需要對(duì)應(yīng)用層部分參數(shù)重新定義。

        (1)優(yōu)先級(jí)。將重要的結(jié)點(diǎn)信息設(shè)置更高報(bào)文優(yōu)先級(jí),保證重要的報(bào)文信息刷新頻率高。

        (2)節(jié)點(diǎn)地址。電動(dòng)汽車(chē)新增的節(jié)點(diǎn)包括整車(chē)控制器、汽車(chē)動(dòng)力管理系統(tǒng)、電機(jī)控制器等。

        (3)參數(shù)組定義。同一個(gè)設(shè)備內(nèi)完成不同功能構(gòu)成參數(shù)組,將刷新頻率接近的參數(shù)放在一個(gè)參數(shù)組內(nèi)進(jìn)行發(fā)送能提高總線(xiàn)的利用率。

        1.4 軟件設(shè)計(jì)方案

        所設(shè)計(jì)的虛擬儀表系統(tǒng)采用分布式嵌入式實(shí)時(shí)操作系統(tǒng)QNX作為操作系統(tǒng),在QNX系統(tǒng)平臺(tái)下開(kāi)發(fā)虛擬儀表的驅(qū)動(dòng)程序和應(yīng)用程序,采用Kanzi進(jìn)行儀表的界面設(shè)計(jì)。調(diào)用系統(tǒng)的接口函數(shù)將采集到的CAN信號(hào)和各種硬線(xiàn)信號(hào)進(jìn)行解析,經(jīng)處理系統(tǒng)內(nèi)核進(jìn)行處理判斷,將正確有用的信息進(jìn)行顯示,異常數(shù)據(jù)進(jìn)行預(yù)警并存儲(chǔ)。系統(tǒng)軟件流程如圖3所示。

        圖3 系統(tǒng)軟件流程圖

        儀表軟件設(shè)計(jì)采用模塊化成熟設(shè)計(jì)方案,軟件總體框架采用MVC(module view controler)三層架構(gòu),View層接收用戶(hù)的操作以及通過(guò)刷新頁(yè)面的方式反饋客戶(hù);Controller處理View層發(fā)送的消息做邏輯處理,并向Module層獲取View層所需的數(shù)據(jù);Module層負(fù)責(zé)緩存當(dāng)前頁(yè)面的數(shù)據(jù),并響應(yīng)View層的數(shù)據(jù)請(qǐng)求,同時(shí)也負(fù)責(zé)在數(shù)據(jù)需要更新或者數(shù)據(jù)不全的情況下向其他地方獲取數(shù)據(jù)(底層、文件、PPS(protocal and parameters selection)、網(wǎng)絡(luò)等渠道)。整個(gè)儀表軟件部分主要由上層應(yīng)用軟件和下層驅(qū)動(dòng)軟件部分組成[6]。驅(qū)動(dòng)部分主要負(fù)責(zé)完成系統(tǒng)的初始化、CAN總線(xiàn)信號(hào)和硬線(xiàn)信號(hào)接收處理;應(yīng)用程序部分主要完成復(fù)雜的邏輯處理[7],數(shù)據(jù)更新,UI顯示,系統(tǒng)任務(wù)的調(diào)配,故障的判斷及預(yù)警。

        驅(qū)動(dòng)部分由系統(tǒng)內(nèi)部驅(qū)動(dòng)和外部設(shè)備驅(qū)動(dòng)組成:系統(tǒng)內(nèi)核驅(qū)動(dòng),CAN總線(xiàn)驅(qū)動(dòng),A/D轉(zhuǎn)換驅(qū)動(dòng)、語(yǔ)音驅(qū)動(dòng)和液晶顯示器顯示驅(qū)動(dòng)。

        應(yīng)用程序處理復(fù)雜的系統(tǒng)任務(wù)主要包括:系統(tǒng)管理,數(shù)據(jù)采集和信號(hào)轉(zhuǎn)換,繁雜的數(shù)據(jù)處理,UI顯示,系統(tǒng)異常的聲光報(bào)警。整個(gè)程序采用多進(jìn)程和多線(xiàn)程的方式來(lái)共享系統(tǒng)資源,進(jìn)程間通過(guò)QNX的PPS通信機(jī)制完成進(jìn)程間的數(shù)據(jù)交換。儀表界面顯示部分由以下子線(xiàn)程同步運(yùn)行:方控線(xiàn)程、聲光報(bào)警線(xiàn)程、串口線(xiàn)程等。負(fù)責(zé)完成相應(yīng)的功能任務(wù),提高系統(tǒng)資源的利用率。

        1.5 UI設(shè)計(jì)

        UI設(shè)計(jì)師使用Kanzi Stadio完成UI界面設(shè)計(jì),能所見(jiàn)所得地展示UI效果,并生成了KZB資源包給軟件工程師使用,可用Kanzi Engine讀取界面效果,添加數(shù)據(jù)和邏輯代碼。這種工作模式使得UI設(shè)計(jì)師不用考慮軟件工程是否能實(shí)現(xiàn)界面效果,軟件工程師也容易理解UI設(shè)計(jì)師意圖,減少了二者工作的依賴(lài),提高了工作效率。同時(shí)Kanzi也具有良好的跨平臺(tái)性。使用Kanzi Studio設(shè)計(jì)儀表界面如圖4所示。

        圖4 系統(tǒng)界面效果圖

        為儀表界面添加邏輯代碼和數(shù)據(jù),Kanzi可以通過(guò)Kanzi Studio 中的觸發(fā)器和狀態(tài)機(jī)來(lái)實(shí)現(xiàn)簡(jiǎn)單的邏輯,復(fù)雜的邏輯則使用執(zhí)行腳本和C++API來(lái)添加。采用Kanzi Engine API方式為儀表界面添加邏輯功能代碼的方法為:

        (1)使用Kanzi Engine加載生成界面的二進(jìn)制文件。由于本應(yīng)用程序最終部署在QNX系統(tǒng)環(huán)境下,首先在Windows下構(gòu)建,然后使用Kanzi構(gòu)建腳本指向適用于Windows的QNX工具鏈來(lái)構(gòu)建應(yīng)用程序。當(dāng)使用Visual Studio來(lái)創(chuàng)建Kanzi工程時(shí),首先調(diào)用onConfigure()配置應(yīng)用程序。

        (2)訪(fǎng)問(wèn) Kanzi Studio工程中創(chuàng)建的內(nèi)容。創(chuàng)建一個(gè)預(yù)設(shè)件節(jié)點(diǎn)列表,添加每個(gè)小組件,在應(yīng)用程序類(lèi)的成員變量中創(chuàng)建并存儲(chǔ)。在onConfigure函數(shù)后添加 onProjectLoaded() 函數(shù)。并將函數(shù)置于 onProjectLoaded() 內(nèi),Kanzi 會(huì)在加載應(yīng)用程序后調(diào)用該函數(shù)。

        (3)從文件系統(tǒng)加載圖像。在ProgrammerTutorialApplication中,為 WidgetDescription 結(jié)構(gòu)創(chuàng)建構(gòu)造函數(shù),它定義小組件名稱(chēng)、圖標(biāo)和描述,設(shè)置小組件數(shù)量,并定義小組件描述數(shù)組。

        (4)為各個(gè)小組件和組件面板添加交互。在ProgrammerTutorialApplication類(lèi)中的 onProjectLoaded() 函數(shù),實(shí)現(xiàn)小組件的時(shí)間處理程序,部分代碼實(shí)現(xiàn)如下:

        virtual void onProjectLoaded() KZ_OVERRIDE

        { //為 Back button 添加處理程序

        m_backButton->addMessageHandler(Button3D::PressedMessage, bind(&Programmer Tutorial Application::onBackButtonClicked,this, placeholders::_1));

        }//組件的綁定

        2 系統(tǒng)的總體評(píng)價(jià)

        整個(gè)儀表的性能指標(biāo)主要從實(shí)時(shí)性和穩(wěn)定性進(jìn)行評(píng)價(jià)。雙處理器嵌入式儀表系統(tǒng)較單處理器嵌入式系統(tǒng)而言,既能進(jìn)行復(fù)雜的數(shù)據(jù)處理又能保證系統(tǒng)的快速啟動(dòng)。筆者所設(shè)計(jì)的虛擬儀表系統(tǒng)主處理器采用基于A(yíng)RM內(nèi)核的IMX6作為微處理器,內(nèi)置圖形處理器,支持3D加速引擎,具備高速視頻信號(hào)輸入輸出處理功能。輔助MCU采用單片機(jī)作為處理器,主要負(fù)責(zé)數(shù)據(jù)通信,利用單片機(jī)功耗小,響應(yīng)速度快等優(yōu)勢(shì)來(lái)控制儀表系統(tǒng)的快速啟動(dòng)。此外雙處理器還具有抗電磁能力強(qiáng)的優(yōu)勢(shì),有效防止液晶產(chǎn)生黑屏的現(xiàn)象[8]。雙MCU比單MCU方案可靠性和穩(wěn)定性更高。

        QNX的微內(nèi)核[9]具有精確的故障隔離和恢復(fù)功能。中斷響應(yīng)延時(shí)作為衡量一個(gè)嵌入式系統(tǒng)的重要性能指標(biāo),在相同的硬件條件下,QNX系統(tǒng)的中斷[10]延時(shí)為3.3~4.4 μs,具有明顯的實(shí)時(shí)性?xún)?yōu)勢(shì)。據(jù)相關(guān)統(tǒng)計(jì)測(cè)算如果Linux響應(yīng)延時(shí)大約為1 s的話(huà), 那么QNX則低至約0.000 008 s。完全滿(mǎn)足高級(jí)輔助駕駛系統(tǒng)、HUD(head up display)抬頭顯示、第五代液晶虛擬儀表系統(tǒng)和其它有功能性安全需求的車(chē)載應(yīng)用程序日益增長(zhǎng)的需求。

        通過(guò)USB、CAN和上位機(jī)來(lái)模擬CAN數(shù)據(jù)的收發(fā)過(guò)程,打開(kāi)調(diào)試工具,完成相關(guān)參數(shù)配置,設(shè)置波特率,按時(shí)間間隔模擬實(shí)車(chē)數(shù)據(jù)的收發(fā)過(guò)程,經(jīng)過(guò)24 h測(cè)試實(shí)驗(yàn),儀表能正常接收并實(shí)時(shí)精確顯示電控信號(hào)、車(chē)速、轉(zhuǎn)速、電池等報(bào)文信號(hào),同時(shí)最快開(kāi)機(jī)時(shí)間為3 s,滿(mǎn)足快速啟動(dòng)要求。

        3 結(jié)論

        筆者設(shè)計(jì)的基于雙處理器的汽車(chē)虛擬儀表,采用嵌入式圖形庫(kù)開(kāi)發(fā),運(yùn)用3D圖形顯示技術(shù),其實(shí)時(shí)性、快速啟動(dòng)以及精確顯示均滿(mǎn)足設(shè)計(jì)要求,解決了單處理器啟動(dòng)慢,抗干擾能力弱的問(wèn)題,同時(shí)3D顯示效果更加炫酷,具備一定的科技感。整個(gè)儀表系統(tǒng)軟件分層明確,各層之間耦合度較低,因此極大地提高了軟件的開(kāi)發(fā)效率。

        猜你喜歡
        應(yīng)用程序儀表總線(xiàn)
        ◆ 儀表
        ◆ 儀表
        儀表
        刪除Win10中自帶的應(yīng)用程序
        基于PCI Express總線(xiàn)的xHC與FPGA的直接通信
        機(jī)載飛控1553B總線(xiàn)轉(zhuǎn)以太網(wǎng)總線(xiàn)設(shè)計(jì)
        多通道ARINC429總線(xiàn)檢查儀
        Microchip推出全新零漂移儀表放大器
        基于EtherCAT總線(xiàn)的ROV控制系統(tǒng)設(shè)計(jì)
        河南科技(2014年16期)2014-02-27 14:13:22
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        无套熟女av呻吟在线观看| 8090成人午夜精品无码| 日韩精品人妻中文字幕有码| 亚洲日本中文字幕乱码| 中文字幕成人乱码熟女精品国50| 中国老熟妇506070| 日日碰狠狠躁久久躁9| 日本少妇按摩高潮玩弄| 粉嫩的18在线观看极品精品| 91偷自国产一区二区三区| 少妇高潮av久久久久久| 亚洲性啪啪无码av天堂| 久久亚洲AV无码精品色午夜| 亚洲国产精品美女久久久| 亚洲自拍偷拍一区二区三区| 国内精品久久久久影院优| 国产伦精品一区二区三区| 中文字幕无码日韩欧毛| 一区二区三区在线视频爽| 91成人黄色蘑菇视频| 久久精品国产清自在天天线| 亚洲熟女综合一区二区三区| 中文字幕天天躁日日躁狠狠| 日本黄色特级一区二区三区| 中文字幕一区二区精品视频| 久久综合丝袜日本网| 美女高潮无遮挡免费视频| 精品黑人一区二区三区| 高清少妇二区三区视频在线观看| 久久久久99精品成人片| 日日噜狠狠噜天天噜av| 免费 无码 国产精品| 女同亚洲一区二区三区精品久久| 国产女人18毛片水真多18精品| 永久免费av无码入口国语片| 日韩欧美在线观看成人| 中文字幕视频一区二区| 欧美性色欧美a在线播放| 亚洲熟女乱色综合亚洲图片| 色综合久久精品中文字幕| 色偷偷亚洲精品一区二区 |