版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目錄摘要 Abstract. 123345666779991緒論 1.1 引言1.2 標(biāo)定和標(biāo)定系統(tǒng) 1.3 課題研究現(xiàn)狀1.4 章節(jié)安排通訊協(xié)議概述 2.1 CAN 通信協(xié)議概述 2.1.1基本概念和技術(shù)特點(diǎn) 2.1.2 內(nèi)容簡(jiǎn)介 22.2協(xié)議簡(jiǎn)介 ..5ASAP 標(biāo)準(zhǔn)簡(jiǎn)介功能特性 報(bào)文幀模式 101114141515171717181818191923242525252626272.3 本章小結(jié) 總體架構(gòu)分析 功能分析數(shù)據(jù)流分析本章小結(jié)4管理 4.14.2設(shè)計(jì)管理分析設(shè)計(jì)開發(fā) 4.2.1 主體程序.34.2.4初始化模塊
2、CAN 總線收發(fā)模塊驅(qū)動(dòng)模塊4.2.5 變量監(jiān)測(cè)模塊4.2.6 變量標(biāo)定模塊 4.2.7 類 A2L 文件模塊 4.3 本章小結(jié)5管理驗(yàn)證 5.1 ECU 模擬設(shè)計(jì) ECU 模擬ECU 模擬工作概述設(shè)計(jì)5.2管理驗(yàn)證272728333333343536375.2.1 驗(yàn)證目的及驗(yàn)證方法 5.2.2 驗(yàn)證結(jié)果 5.3 本章小結(jié) 6 總結(jié)與展望 6.1 課題總結(jié) 6.2 展望 致謝 參考文獻(xiàn) 附錄 GDI 光學(xué)發(fā)控制單元管理設(shè)計(jì)摘要:在能源日益緊張以及排放日趨嚴(yán)厲的社會(huì),直噴技術(shù)(GDI)得到了人們前所未有的重視。而借助于光學(xué)發(fā)和光學(xué)測(cè)試實(shí)現(xiàn)的缸內(nèi)可視化極大促進(jìn)了 GDI 技術(shù)發(fā)展。為更好應(yīng)用可視
3、化技術(shù),需要對(duì) GDI 光學(xué)發(fā)控制單元 本課題基于的 ECU 進(jìn)行大量的標(biāo)定實(shí)驗(yàn)。因此功能強(qiáng)大的 GDI 光學(xué)發(fā)管理是必不可少的。協(xié)議,采用 VS 開發(fā)了 GDI 光學(xué)發(fā)控制單元的理。通過確定功能和總體架構(gòu),采用模塊化設(shè)計(jì)的方法進(jìn)行設(shè)計(jì),使具備有、標(biāo)定、數(shù)據(jù)管理、類 A2l 文件的功能和可行性,開發(fā)了模擬 ECU功能。并使其在一臺(tái)計(jì)為了檢驗(yàn)算機(jī)上運(yùn)行,發(fā)管理在另一臺(tái)計(jì)算機(jī)上運(yùn)行,兩者通過 CAN-USB卡連接。首先,通過操作管理,測(cè)試了管理和標(biāo)定管理功能,而后重啟,配置文件和數(shù)據(jù)文件,驗(yàn)證了的數(shù)據(jù)管理和類 A2L 文件能夠滿足使用的要求。功能。驗(yàn)證結(jié)果表明各項(xiàng)功能工作均正常,:協(xié)議,標(biāo)定,EC
4、U,VB.net1The design of backward management softwareof GDI optical engine controitAbstract:Today,societyput more and more emphasis on energy-saving andemisregulation. GDI(gasoline direct injection) has been drawing muchmore attentionn ever before. And In-cylinder visualization technologywhich is made
5、 valuab y apparent engine benefits much the development of GDI technology. To achieve better visualization application, variety of calibration experiment is needed. Therefore, a multi-function backwardsoftware is of great importance.Based on theprotocol, the background of GDI optical enginecontroit
6、is developed by VS,By determining the software function andthe overall structure, the use of modular design method for software design, software has a collection, calibration, data management, class A2l file resolution.In order to verify the functionality and feasibility of the software, thesimulati
7、on ECU software was developed and run on a computer. The engine background management software was run on another computer,both connected via CAN-USB cards., through the operation ofbackground management software, testing the background management software collection and calibration functions, and t
8、hen restart the software, software, read the configuration file and data files, verify the backgroundmanagement software, data management and class A2L file resolution. Theverification results showt the functions of the software are workingproperly and can meet the tocol, Calibration
9、, ECU, VB.netKeywords:21 緒論1.1 引言隨著我國(guó)社會(huì)經(jīng)濟(jì)不斷發(fā)展,我國(guó)汽車的保有量在不斷增加1:汽車生產(chǎn)量于 1992 年突破 100 萬輛,僅僅過了 8 年,汽車生產(chǎn)量就較 1992 年實(shí)現(xiàn)翻一番;在三年之后,汽車生產(chǎn)量就較 2000 年實(shí)現(xiàn)翻一番,之后僅僅過了四年,汽車生產(chǎn)量就較 2003 年實(shí)現(xiàn)翻一番;3 年之后的 2010 年,汽車生產(chǎn)量就較 2007 年實(shí)現(xiàn)翻一番;2013 年汽車產(chǎn)量首次突破 2000 萬大關(guān),達(dá)到 2211.68 萬輛;在此期間,我國(guó)的機(jī)動(dòng)車保有量持續(xù)攀升,2013 年底已經(jīng)達(dá)到 2.5 億輛,其中汽車 1.37 億輛。圖 1.1 中國(guó)汽
10、車工業(yè)產(chǎn)量汽車行業(yè)的發(fā)展為人們的日常生活帶來了很多方便,但同時(shí)也對(duì)能源和環(huán)境造成了巨大的影響。因此國(guó)際組織和各國(guó)及燃油消耗。而且隨著時(shí)間發(fā)展。排放頒布了嚴(yán)格的限制汽車尾氣排放以日趨嚴(yán)格。這就給發(fā)廠商提出了更高的要求。在這樣一種背景下。直噴技術(shù)(GDI)以其優(yōu)越的動(dòng)力性能和經(jīng)濟(jì)性能得到了人們的重視。而燃燒開發(fā)正是 GDI 技術(shù)中的重要環(huán)節(jié)。研究發(fā)燃燒過程,往往需要用到通過光學(xué)發(fā)和光學(xué)測(cè)試實(shí)現(xiàn)的可視化技術(shù)??梢暬夹g(shù)是指將發(fā)工作過程中的光學(xué)號(hào)通過探測(cè)器轉(zhuǎn)變?yōu)楣庾V或者圖像可供人們分析處理的相關(guān)信息以便進(jìn)行參考或者研究2,為實(shí)現(xiàn)可視化技術(shù)往往需要設(shè)計(jì)專門的單缸光學(xué)發(fā)電控單元(ECU)來調(diào)控發(fā)的運(yùn)行參數(shù)
11、(如噴油量與噴油正時(shí)、點(diǎn)火正時(shí),油軌壓力等),并且基于曲軸轉(zhuǎn)角或時(shí)間觸發(fā)高速相機(jī)拍照。在實(shí)際運(yùn)行中,發(fā)工作條件非常復(fù)雜。往往需要 ECU 調(diào)控發(fā)在不同的3工況下做出不同的響應(yīng),而 GDI 光學(xué)發(fā)工作的好壞往往也取決于 ECU 內(nèi)置控制參數(shù),若是 ECU 控制參數(shù)接近實(shí)際情況下的最優(yōu)解,那么發(fā)工作的就平穩(wěn)高效,反之就有可能工作,造成能源的浪費(fèi),不能實(shí)現(xiàn)原來的目的。在 GDI 光學(xué)發(fā)動(dòng)機(jī)中,只有對(duì)其控制參數(shù)進(jìn)行精確標(biāo)定才能更好地研究可視化過程。然而,發(fā)的標(biāo)定往往是一個(gè)復(fù)雜的過程,這體現(xiàn)在兩個(gè)方面:一方面,發(fā)的許多指標(biāo)是相互的(如排放和經(jīng)濟(jì)性),在這種情況下,綜合考慮各種情況求最優(yōu)解是一種非常繁瑣的
12、工作3;另一方面隨著電控技術(shù)的發(fā)展和的日益嚴(yán)格,電控系統(tǒng)的控制參數(shù)和電子控制單元(Electric Controit, ECU )的控制功能也日益增加3,需要標(biāo)定的參數(shù)也越來越多。使得標(biāo)定工作量成倍增加。因此,一個(gè)設(shè)計(jì)完善的管理能夠大大減少設(shè)計(jì)的工作量,同時(shí)提高標(biāo)定的精度和自動(dòng)化水平。從而促進(jìn) GDI 技術(shù)的進(jìn)一步發(fā)展。而這也是本課題研究的目的。1.2 標(biāo)定和標(biāo)定系統(tǒng)發(fā)的電控系統(tǒng)對(duì)發(fā)性能有著十分重要的影響,相比較于傳統(tǒng)的機(jī)械控制,電子控制響應(yīng)更快,精度更高。電控系統(tǒng)的應(yīng)用了發(fā)的動(dòng)力性能,同時(shí)減小了發(fā)的油耗和排放。使其在多種條件約束下達(dá)到最佳性能。在過去的四十多年里,電控系統(tǒng)不斷發(fā)展,日漸完善。
13、應(yīng)用的領(lǐng)域越來越廣。電控系統(tǒng)主要是由感器,ECU,執(zhí)行器所組成。工作過程如下:首先 ECU 接受傳感器送來的信號(hào),如轉(zhuǎn)速等,這些信號(hào)表征了發(fā)工況。而后 ECU 則根據(jù)這些信號(hào)進(jìn)行分析,判斷,處理,并把相應(yīng)的運(yùn)算結(jié)果經(jīng)過處理后發(fā)送給執(zhí)行器,執(zhí)行器則根據(jù) ECU 送來的信號(hào)進(jìn)行相應(yīng)的操作。從上述過程可以看出,電控系統(tǒng)的好壞主要取決于 ECU 的運(yùn)算結(jié)果。而 ECU 的運(yùn)算主要取決于 ECU 內(nèi)置數(shù)據(jù)。因此,在一個(gè)電控系統(tǒng)的控制程序和硬件配置基本正確的情況下,發(fā)性能能否達(dá)到最優(yōu)取決于ECU 內(nèi)置數(shù)據(jù)能否取到當(dāng)前條件下的最優(yōu)值。而 ECU 取得最優(yōu)值的過程就叫標(biāo)定。標(biāo)定過程的好壞直接決定了 GDI 光
14、學(xué)發(fā)工作能否達(dá)到預(yù)期的效果。標(biāo)定過程的意義體現(xiàn)在在車輛具體性能和框架限制下,尋找和優(yōu)化電控系統(tǒng)參數(shù),從而實(shí)現(xiàn)標(biāo)定對(duì)象綜合性能的??刂茀?shù)的類型可以分為數(shù)值型,曲線型,和 map 型。其中 map 型是用的最多的,它是發(fā)動(dòng)點(diǎn)火噴油量的依據(jù)。map 圖的優(yōu)劣關(guān)系到發(fā)工作的好壞。4標(biāo)定系統(tǒng)為標(biāo)定過程提供了一個(gè)可視化的環(huán)境,它使得用戶能夠?qū)崟r(shí)觀察到各變量的變化。并允許用戶根據(jù)實(shí)際情況對(duì) ECU際使用中獲得使人滿意的使用特性??刂茀?shù)進(jìn)行修改。使 ECU 在實(shí)1.3 課題研究現(xiàn)狀目前,標(biāo)定系統(tǒng)在國(guó)內(nèi)外得到了廣泛而深入的研究。而在對(duì)標(biāo)定系統(tǒng)的研究方面。國(guó)外公司不僅起步比較早,而且研究范圍更加深入廣泛。 德
15、國(guó)的奧迪等汽車廠家率先組織成立了旨在實(shí)現(xiàn)通用化的 ASAP 組織,并推廣了后來被廣泛應(yīng)用的協(xié)議。而且國(guó)外現(xiàn)有許多著名的廠家已經(jīng)開發(fā)出了成標(biāo)定,如的 ATI 公司開發(fā)的 ATI VI,奧地利公司 AVL 公司開發(fā)的 CAMEO 等。相比之下,國(guó)內(nèi)對(duì)標(biāo)定系統(tǒng)的研究則尚未形成完善的發(fā)展局面。目前國(guó)內(nèi)發(fā)動(dòng)機(jī)標(biāo)定系統(tǒng)的研發(fā)工作主要集中在各大高校,其中比較有代表性的主要有:江蘇大學(xué)的等人在 2007 年基于國(guó)際通用的協(xié)議開發(fā)了一套通用性能較好的發(fā)標(biāo)定系統(tǒng)3,該系統(tǒng)以 32 為微控制器 MPC564 作為下位機(jī),基于 UML 建模工具對(duì)標(biāo)定功能進(jìn)行建模并在 Visual C+上完成上位機(jī)標(biāo)定的開發(fā),同時(shí)運(yùn)用
16、 USB-CAN 通信模塊對(duì)上下位機(jī)進(jìn)行銜接 ;的、楊福源等人在 2008ECU 標(biāo)定系統(tǒng)4;浙江大學(xué)年開發(fā)了通用型發(fā)用 java 開發(fā)了基于的在 2011 年使協(xié)議的發(fā)標(biāo)定系統(tǒng),并提出了基于遺傳算法的一種對(duì)發(fā)參數(shù)進(jìn)行自動(dòng)優(yōu)化的方法5,而吉林大學(xué)的等人也做出了不錯(cuò)的成果6??偠灾?國(guó)內(nèi)發(fā)標(biāo)定系統(tǒng)往往針對(duì)各自的項(xiàng)目進(jìn)行研發(fā),雖然通過不斷地積累研發(fā)能力不斷提高,但是在兼容性和集成功能性方面還有待提高,與實(shí)現(xiàn)自動(dòng)標(biāo)定系統(tǒng)還有遙遠(yuǎn)的距離。目前國(guó)內(nèi)的標(biāo)定系統(tǒng)研究的發(fā)展趨勢(shì)主要有以下兩個(gè):(1)向自動(dòng)標(biāo)定發(fā)展目前,國(guó)內(nèi)標(biāo)定系統(tǒng)在進(jìn)行臺(tái)架試驗(yàn)標(biāo)定時(shí),發(fā)性能變化的需要人工干預(yù)完成。由標(biāo)定對(duì)監(jiān)測(cè)到的數(shù)據(jù)進(jìn)行判
17、斷后,再發(fā)出控制參數(shù)修改等控制命令,導(dǎo)致標(biāo)定結(jié)果的質(zhì)量和試驗(yàn)的再現(xiàn)性都不太理想。這嚴(yán)重5限制了標(biāo)定系統(tǒng)的發(fā)展。因此標(biāo)定系統(tǒng)朝著自動(dòng)標(biāo)定發(fā)展是一個(gè)總的趨勢(shì)78。(2)提高通用性目前國(guó)內(nèi)的標(biāo)定系統(tǒng)大多是作為電控系統(tǒng)研發(fā)的輔助工具出現(xiàn),只能進(jìn)行特定型式電控發(fā)的標(biāo)定試驗(yàn),具有應(yīng)用局限性。對(duì)象發(fā)生改變時(shí),標(biāo)定系統(tǒng)也必須重新開發(fā),這大大增加了人力物力的耗費(fèi)。從經(jīng)濟(jì)性和便捷性出發(fā),提高系統(tǒng)的通用性也將是一個(gè)總的趨勢(shì)。1.4 章節(jié)安排本文一共分為七章,各章主要內(nèi)容概括如下:第一章主要介紹了本課題的研究背景,同時(shí)闡述了國(guó)內(nèi)外標(biāo)定系統(tǒng)演技的現(xiàn)狀,并對(duì)當(dāng)前標(biāo)定系統(tǒng)發(fā)展趨勢(shì)做了簡(jiǎn)單的介紹。第二章主要介紹了 CAN 總
18、線標(biāo)準(zhǔn)和通訊協(xié)議。介紹了標(biāo)定協(xié)議的特點(diǎn),幀結(jié)構(gòu),通信以及機(jī)制。著重分析了協(xié)議兩種模式。為下文的設(shè)計(jì)提供了理論基礎(chǔ)。第三章主要總結(jié)歸納了管理需要實(shí)現(xiàn)的功能,并簡(jiǎn)要介紹了各個(gè)功能,同時(shí)在工作時(shí)的數(shù)據(jù)流,確定了管理的總體架構(gòu)。第四章在第三章的基礎(chǔ)上,將分為 6 個(gè)模塊,然后對(duì)各個(gè)模塊進(jìn)行了簡(jiǎn)單的介紹,并對(duì)其實(shí)現(xiàn)方法進(jìn)行了介紹。其中重點(diǎn)說明了驅(qū)動(dòng)模塊。第五章主要介紹了 ECU 模擬簡(jiǎn)要的分析。的設(shè)計(jì)以及測(cè)試過程。并對(duì)進(jìn)進(jìn)行了第六章對(duì)全文內(nèi)容作了回顧,也闡述了本課題存在的和缺陷,同時(shí)對(duì)以后的修正提出了自己的意見。并對(duì)標(biāo)定的發(fā)展提出了自己的看法。2通訊協(xié)議概述2.1 CAN 通信協(xié)議概述62.1.1基本概
19、念和技術(shù)特點(diǎn)控制器局域網(wǎng) CAN( Controller Area Network)屬于現(xiàn)場(chǎng)總線的范疇,是一種有效支持分布式控制系統(tǒng)的串行通信網(wǎng)絡(luò),是由德國(guó)博世公司在 20 世紀(jì) 80 年代專門為汽車行業(yè)開發(fā)的一種串行通信總線,由于其高性能、高可靠性以及獨(dú)特的設(shè)計(jì)而越來越受到人們的重視,被廣泛應(yīng)用于諸多領(lǐng)域,而且能夠檢測(cè)產(chǎn)生的任何錯(cuò)誤。當(dāng)信號(hào)傳輸距離達(dá)到 10km 時(shí),CAN 仍可提供高達(dá) 50kbit/s 的數(shù)據(jù)傳輸速率。由于它出色的傳輸性能,CAN 總線在汽車領(lǐng)域內(nèi)得到了廣泛的應(yīng)用8。CAN 總線標(biāo)準(zhǔn)目前包括國(guó)際標(biāo)準(zhǔn)化組織 ISO11898(高速標(biāo)準(zhǔn))和 ISO11519(低俗標(biāo)準(zhǔn)),總線
20、規(guī)范為 CAN2.0(CAN2.0A 和 2.0B)。CAN 總線的特點(diǎn)總結(jié)如下5:通信靈活,可實(shí)現(xiàn)多主系統(tǒng),數(shù)據(jù)接收和發(fā)動(dòng)有點(diǎn)對(duì)點(diǎn),一對(duì)多和全局廣播等方式。通信速率較高,距離 40m 以內(nèi)最高通信速率可達(dá) 1Mbps,直接通信距離最遠(yuǎn)可達(dá) 10Km。(3)(4)優(yōu)先級(jí)多,可通過表示符號(hào)來標(biāo)識(shí)優(yōu)先級(jí)。協(xié)議對(duì)非破壞性總線優(yōu)先級(jí)仲裁技術(shù)的應(yīng)用避免了總線上節(jié)點(diǎn)在數(shù)據(jù)發(fā)送時(shí)的。(5)(6)報(bào)文采用短幀結(jié)構(gòu),總線強(qiáng),發(fā)送時(shí)間和重發(fā)時(shí)間短。采用玄幻冗余校驗(yàn)(CRC)及其它校驗(yàn)措施,保證了數(shù)據(jù)傳送的可靠性。(7)具有自動(dòng)關(guān)閉功能,當(dāng)數(shù)據(jù)發(fā)送出現(xiàn)錯(cuò)誤時(shí),可以主動(dòng)脫離主線,這樣可以不影響主線其他節(jié)點(diǎn)的工作,從另
21、一方面保證了可靠性。2.1.2 內(nèi)容簡(jiǎn)介CAN 總線協(xié)議經(jīng)過多年的發(fā)展,目前共有 CAN1.0 和 CAN2.0 版本,其中 CAN2.0版本又分為 A,B 兩種形式。本課題采用兼容性和擴(kuò)展性都比較好的 CAN2.0B 協(xié)議。而 CAN2.0B 協(xié)議分為兩種幀格式:含有 11 位標(biāo)識(shí)符的標(biāo)準(zhǔn)幀和含有 29 位標(biāo)識(shí)符的擴(kuò)展幀。這種分類方式主要是根據(jù)幀長(zhǎng)度來分類的,而本文考慮到系統(tǒng)的實(shí)際需求,主要使用的是 11 位標(biāo)識(shí)符的標(biāo)準(zhǔn)幀。根據(jù)幀的作用,CAN2.0B 定義了四種類型的幀:數(shù)據(jù)幀,幀,錯(cuò)誤幀,和超載幀8。其中數(shù)據(jù)幀和幀可以使用標(biāo)準(zhǔn)幀以及擴(kuò)展幀兩種形式。(1)數(shù)據(jù)幀:用于 CAN 網(wǎng)絡(luò)中不同節(jié)
22、點(diǎn)傳遞數(shù)據(jù)的載體,其結(jié)構(gòu)如圖 2.1 所示7圖 2.1 CAN 數(shù)據(jù)幀的結(jié)構(gòu)圖 2.1 中所示各種結(jié)構(gòu)的作用說明如下:幀起始域:由一個(gè)顯性位表示一個(gè)數(shù)據(jù)幀或者點(diǎn)數(shù)據(jù)的同步。幀的開始,主要用于不同節(jié)仲裁域:標(biāo)準(zhǔn)幀和擴(kuò)展幀的仲裁域不同,標(biāo)準(zhǔn)幀中的仲裁域?yàn)?12 位:11 位的標(biāo)識(shí)符和 1 位的發(fā)送請(qǐng)求位(RTR),拓展幀的仲裁域?yàn)?32 位:11 位的基本 ID,18位的拓展 ID,1 位的替代發(fā)送請(qǐng)求位 RTR。請(qǐng)求位(SRR),1 位的標(biāo)識(shí)符拓展位(IDE),一位的控制域:由 6 個(gè)位組成,其中包含 4 位的數(shù)據(jù)長(zhǎng)度代碼。在標(biāo)準(zhǔn)幀中,有 1 位 IDE和 1 位保留位 R0;擴(kuò)展幀中,則是 2
23、 個(gè)保留位 R0 和 R1,R0 和 R1 均以顯性發(fā)送。DLC指示了幀中數(shù)據(jù)域的有效字節(jié)長(zhǎng)度,范圍在 08 之間。數(shù)據(jù)域:由要發(fā)送的數(shù)據(jù)填充,最大可以包含 8 個(gè)字節(jié)。 CRC 域: 表示本報(bào)文的 CRC 碼,避免數(shù)據(jù)發(fā)送錯(cuò)誤。應(yīng)答域:用于表示數(shù)據(jù)接收節(jié)點(diǎn)成功接收數(shù)據(jù)后的應(yīng)答信息。幀結(jié)束:由 7 個(gè)“隱性”位的序列來表示數(shù)據(jù)幀或幀的結(jié)束。(2)幀: 用來請(qǐng)求總線上某個(gè)節(jié)點(diǎn)發(fā)送自己想要接收的數(shù)據(jù),具有發(fā)幀后,就應(yīng)盡力響應(yīng)這個(gè)遠(yuǎn)地傳送要求。因出這種遠(yuǎn)地消息能力的節(jié)點(diǎn)收到這個(gè)此幀本身是沒有數(shù)據(jù)域的,此外幀的位為隱性位,表示狀態(tài),其余部分的結(jié)構(gòu)與數(shù)據(jù)幀完全相同。(3)錯(cuò)誤幀:用于檢測(cè)總線出錯(cuò)的一個(gè)信
24、號(hào)標(biāo)志,由兩個(gè)不同的域組成第一個(gè)域是來自不同站節(jié)點(diǎn)的錯(cuò)誤標(biāo)志疊加,疊加結(jié)果序列的總長(zhǎng)度最小為 6 個(gè),最大為 12個(gè)位;第二個(gè)域是錯(cuò)誤界定符,包括 8 個(gè)隱性位。當(dāng)報(bào)文傳輸過程中,檢測(cè)到任何一個(gè)節(jié)點(diǎn)出錯(cuò)了,即于下一位開始發(fā)送錯(cuò)誤幀,通知發(fā)送端停止發(fā)送,進(jìn)行相應(yīng)的錯(cuò)誤處理。(4)超載幀:與錯(cuò)誤幀類似,超載幀也由超載標(biāo)志和超載界定符組成。當(dāng)某因原因要求緩發(fā)一個(gè)數(shù)據(jù)幀或幀時(shí),它可向總線發(fā)出超載幀。超載幀可以嵌8幀起始仲裁域控制域數(shù)據(jù)域CRC 域應(yīng)答域幀結(jié)束套,但至多只能兩次。2.2協(xié)議簡(jiǎn)介協(xié)議是標(biāo)定標(biāo)定型 ECU 連接所必須的接口協(xié)議,是在 CAN 數(shù)據(jù)幀中擴(kuò)展的應(yīng)用層協(xié)議。主要定義了數(shù)據(jù)幀每個(gè)數(shù)據(jù)
25、位的具體含義。因此完全符合CAN2.0B 標(biāo)準(zhǔn)。而是由歐洲的自動(dòng)測(cè)量系統(tǒng)標(biāo)準(zhǔn)化ASAM(Assotion for Standardisation of Automation and Measuring Systems)制定和推廣的。2.2.1 ASAP 標(biāo)準(zhǔn)簡(jiǎn)介為實(shí)現(xiàn)對(duì) ECU 測(cè)量,標(biāo)定,等工具間的接口實(shí)現(xiàn)標(biāo)準(zhǔn)化,ASAM 組織提出了MCD 模型,并按照 MCD 模型層次結(jié)構(gòu)指定了一套完整的 ASAP 標(biāo)準(zhǔn)體系9。如圖 2.2所示。ASAP 標(biāo)準(zhǔn)由三個(gè)部分組成,分別是 ASAP1,ASAP2,ASAP3。其中 ASAP3是應(yīng)用系統(tǒng),即測(cè)試、標(biāo)定、描述文件,是電子控制單元系統(tǒng)到自動(dòng)化系統(tǒng)的接口
26、規(guī)范。ASAP2 又稱為 ASAP數(shù)據(jù)描述文件的規(guī)范9。ASAP1 是電子控制單元到系統(tǒng)的接口規(guī)范,又可以細(xì)分為 ASAP1a 和 ASAP1b,是到 ECU 端的數(shù)據(jù)通信的物理輯接口規(guī)范,包括通過 CAN 總線對(duì) ECU 進(jìn)行標(biāo)定的協(xié)議規(guī)范9。ASAP1b 接口包括一個(gè)符合 ASAP 標(biāo)準(zhǔn)的驅(qū)動(dòng)程序、硬件接口及電子控制單元,因此接口規(guī)范保證了 MCD與 ECU 之間的通信能夠在不同的 ECU 之間都實(shí)現(xiàn),從而保證通用性。本系統(tǒng)采用的2.1 標(biāo)準(zhǔn)是 ASAM 在 1999 年 2 月發(fā)布的。2.2.2 功能特性本課題采用的版本為 1999 年發(fā)布的 2.1 版本。通信是基于主從通信模式進(jìn)行的。
27、系統(tǒng)上只有一個(gè)主機(jī),它可以連接任一從機(jī)。在本課題中,PC 端的管理就是主機(jī),被標(biāo)定的 ECU 就是從機(jī)。對(duì)硬件沒有太多的限制,只需要控制器本身支持 CAN 接口,而且應(yīng)用廣泛,支持車身電子控制等低速應(yīng)用到動(dòng)力驅(qū)動(dòng)系統(tǒng)的高速應(yīng)用。而且只要在 ECU 端實(shí)現(xiàn)一個(gè)基本的驅(qū)動(dòng)包,就能實(shí)現(xiàn)所需的和標(biāo)定功能。在實(shí)際應(yīng)用中,可根據(jù)系統(tǒng)需求可對(duì)協(xié)議進(jìn)行適當(dāng)?shù)牟眉?。協(xié)議支持的功能如下所示:(1)能夠?qū)ξ挥?ECU 合法內(nèi)存地址中(RAM 或者 ROM)的任意地址進(jìn)行和寫入。9基于時(shí)間周期或事件驅(qū)動(dòng)的可同時(shí)進(jìn)行數(shù)據(jù)標(biāo)定和可同時(shí)對(duì)多個(gè)進(jìn)行操作。方式。FLASH 編程功能。即插即用。數(shù)據(jù)保護(hù)功能。ASAP2ASAP1
28、b圖 2.2ASAP 標(biāo)準(zhǔn)2.2.3報(bào)文幀3協(xié)議報(bào)文是對(duì)CAN 數(shù)據(jù)報(bào)文的二次定義,主要針對(duì)數(shù)據(jù)報(bào)文的八個(gè)字節(jié)數(shù)據(jù)。根據(jù)協(xié)議。主機(jī)和從機(jī)的通信的報(bào)文幀分為兩類:主機(jī)發(fā)送給從機(jī)的CRO(dReceive Object);從機(jī)發(fā)送給下位機(jī)的 DTO(DaransmisObject)。由于是對(duì) CAN 數(shù)據(jù)報(bào)文重新定義。因此 CRO 和 DTO 均封裝在 CAN 報(bào)文幀的數(shù)據(jù)域內(nèi)。最大長(zhǎng)度均不得超過八個(gè)字節(jié)。主從機(jī)通信交互圖如圖 2.3 所示。 命令接收?qǐng)?bào)文(CRO)命令接收?qǐng)?bào)文用于上位機(jī)向下位機(jī)傳遞消息,其各個(gè)數(shù)據(jù)位的具體含義如圖 2.410ASAP3 標(biāo)準(zhǔn)ECU數(shù)據(jù)庫(kù)測(cè)量標(biāo)定系統(tǒng)(
29、MCS)ASAP1a驅(qū)動(dòng)自動(dòng)化系統(tǒng)所示。CMD(D CODE)占第一個(gè)字節(jié)。表示具體的協(xié)議命令。在協(xié)議有28 條命令。各命令具體含義如附表所示9,CTR 為命令計(jì)數(shù)器。其數(shù)值表示當(dāng)前運(yùn)行周期下命令發(fā)生次數(shù),此數(shù)值在具體的程序設(shè)計(jì)應(yīng)用中能夠用于保證數(shù)值的同步和準(zhǔn)確。剩余字節(jié)對(duì)于不同命令有不同的定義或作為保留區(qū)提供自定義擴(kuò)展。 數(shù)據(jù)發(fā)送報(bào)文(DTO)數(shù)據(jù)發(fā)送報(bào)文用于向上位機(jī)傳遞下位機(jī)回應(yīng)的報(bào)文或者數(shù)據(jù),根據(jù)不同情況,DTO 可以分為三種類型:用于返回命令應(yīng)答令返回消息()和用于異的數(shù)據(jù)常和運(yùn)行狀態(tài)的事件消息(Event Message),以及模式下從機(jī)自動(dòng)化消息(DAQ-DTO)。前
30、兩者具有的相同的報(bào)文結(jié)構(gòu),如圖 2.5 上所示,DAQ-DTO 報(bào)文結(jié)構(gòu)如圖 2.5 上所示。所有 DTO 報(bào)文的第一位都定義為(Package ID),DTO 報(bào)文的類型通過的大小區(qū)分。最大值為 0 xff,當(dāng)大小為 0 xff 時(shí),DTO 報(bào)文為命令返回消息。當(dāng)大小為 0 xfe 時(shí),DTO 報(bào)文為事件消息。當(dāng)大小在 0 到 0 xfe 之間時(shí),DTO 報(bào)文為式而言,出消息。DTO 報(bào)文其余字節(jié)對(duì)應(yīng)不同命令有各自的配置,對(duì)于模字節(jié)以外都是模式9數(shù)據(jù)區(qū)。2.2.5為了能夠方便快速有效數(shù)據(jù),協(xié)議定義了兩種模式:Polling 模式,DAQ 模式。兩種方法都有各自適用的場(chǎng)合,用戶可根據(jù)實(shí)際情況自
31、行選用。 Polling 模式Polling 模式實(shí)現(xiàn)較為簡(jiǎn)單。該模式的實(shí)現(xiàn)原理是通過上下位機(jī)命令應(yīng)答機(jī)制來實(shí)現(xiàn),每一次數(shù)據(jù)值的獲取都需要上位機(jī)發(fā)送查詢命令報(bào)文,因此能夠保證每次采集到的數(shù)據(jù)可靠。在這種模式下,靈活控制簡(jiǎn)單,但是上位機(jī)發(fā)出命令必須要得到下位機(jī)對(duì)之前做出應(yīng)答??偩€利用率不高。因此只適用于需要少量數(shù)據(jù)的場(chǎng)合。一般主要用于上位機(jī)向下位機(jī)發(fā)送控制命令。11CRODTODTO圖 2.3主從機(jī)交互圖Bytes01234567圖 2.4 CRO 幀格式Bytes01234567Bytes01234567圖 2.5 兩種報(bào)文幀格式12參數(shù)區(qū)域CTRERR參數(shù)區(qū)域CMDCTR參數(shù)區(qū)
32、域DAQ 處理命令處理主機(jī)(管理)驅(qū)動(dòng)DAQ 模式DAQ 模式是一種相對(duì)高效的數(shù)據(jù)上傳模式,它可以使脫離主機(jī),自發(fā)自動(dòng)按一定定時(shí)周期向主機(jī)傳遞數(shù)據(jù)。這種方式避免了一問一答機(jī)制中令詢問部分,從而實(shí)現(xiàn)功能在同樣需求情況下降低一半的總線負(fù)載率的效果,或者能力,DAQ 模式的實(shí)現(xiàn)往往需要借助于 DAQ 列是在同樣的總線負(fù)載率下翻倍表,ODT(對(duì)象描述表)列表以及 DAQ-ODT。DAQ 列表與 ODT 列表的關(guān)系如圖 2.612。ECU 內(nèi)存區(qū) ODT 列表DAQ_ODT圖 2.6 ODT 結(jié)構(gòu)圖在實(shí)際操作中,ECU 監(jiān)測(cè)數(shù)據(jù)放在 Flash區(qū)內(nèi),當(dāng)要求查詢數(shù)據(jù)時(shí),ECU將會(huì)根據(jù)之前發(fā)來
33、的地址,將要求的變量上傳,為了降低總線利用率,軟件需要實(shí)現(xiàn)進(jìn)行配置,即 ODT 列表。變量的地址和長(zhǎng)度都放入 ODT 列表中,每個(gè) ODT列表都放入一個(gè) DTO 中,由于 DTO 只有 7 個(gè)字節(jié),所以每張 ODT 列表最多只能傳輸 7個(gè)字節(jié)長(zhǎng)的數(shù)據(jù)。在實(shí)際情況中,為了節(jié)省所占的空間,實(shí)際應(yīng)用中,往往省略變量的長(zhǎng)度信息,此時(shí)默認(rèn)變量元素為字節(jié)長(zhǎng)為 2,由主機(jī)負(fù)責(zé)對(duì)多字節(jié)變量進(jìn)行拆分拼裝。每張 ODT 都有一個(gè)全局唯一的,即上文所提到的,這樣系統(tǒng)至多有 253 張表。協(xié)議同時(shí)支持同步周期性和基于事件的非同步。其實(shí)現(xiàn)是依靠不同事件通道原理。多周期或同事件 ODT 的將一個(gè) DAQ 列表,如圖 2.
34、7 所示。該 DAQ 列表含有 3 個(gè) ODT 列表。每個(gè)列表可以放入時(shí)間相同的通道進(jìn)行測(cè)1301234560 地址 長(zhǎng)度1 地址 長(zhǎng)度2 地址 長(zhǎng)度3 地址 長(zhǎng)度4 地址 長(zhǎng)度5 地址 長(zhǎng)度6 地址 長(zhǎng)度控制參數(shù)控制參數(shù)量,也可將具有最小公約數(shù)周期的 DAQ 列表如和放入相同通道測(cè)量,系統(tǒng)可以同時(shí)擁有或者激活不同的列表。根據(jù)協(xié)議,可以同時(shí)測(cè)量所有已定義的 DAQ 列表變量,但考慮到 DAQ 模式的多通道對(duì)系統(tǒng)資源消耗較大,實(shí)際應(yīng)用中系統(tǒng)的性能不同,所能同時(shí)定一個(gè)合適值。的 ODT 上限往往也不相同,一般是通過實(shí)際試驗(yàn)中確在 DAQ 模式中,首先需要主機(jī)在 Polling 模式下對(duì) ODT 列
35、表進(jìn)行配置,配置完成后,當(dāng)從機(jī)收到上位機(jī)發(fā)過來的 DAQ 開始命令時(shí),從機(jī)就根據(jù) ODT 列表自發(fā)上傳數(shù)據(jù),無需主機(jī)再次。這種模式在多通道時(shí)相對(duì)復(fù)雜。但對(duì)總線利用較好,適用于需大量傳輸數(shù)據(jù)的場(chǎng)合。DAQlist#0圖 2.7 DAQ 列表2.3 本章小結(jié)本章主要介紹了管理用到的 CAN 總線以及標(biāo)定協(xié)議做了介紹,介紹了 CAN總線的特性和通信報(bào)文的結(jié)構(gòu)。對(duì)概念,特性,通信方式做了簡(jiǎn)單介紹,詳細(xì)說明了協(xié)議中兩種模式。為下文的進(jìn)一步研究奠定了基礎(chǔ)。3總體架構(gòu)分析14=20123456=10123456=00123456ODT#0ODT#1 ODT#2本課題的工作分為兩部分:管理的設(shè)計(jì),管理的測(cè)試。
36、本章節(jié)首先分析了管理要實(shí)現(xiàn)的功能和與外界發(fā)生的數(shù)據(jù)流。而后提出了的總體架構(gòu)。3.1功能分析本課題對(duì)系統(tǒng)需求進(jìn)行分析后,將管理的功能歸納如下:的變量參數(shù),經(jīng)過一定的處理后(精(1) 變量監(jiān)測(cè):實(shí)時(shí)ECU度處理等)以恰當(dāng)?shù)姆绞?數(shù)值或曲線)實(shí)時(shí)展示。(2) 變量標(biāo)定:能夠ECU的數(shù)據(jù),并根據(jù)標(biāo)定的類型提供不同的顯示方式(數(shù)值,曲線,MAP 圖)。而且能夠?qū)崿F(xiàn)實(shí)時(shí)修改 ECU數(shù)據(jù),方便標(biāo)定在實(shí)際工作中根據(jù)實(shí)際需求進(jìn)行修改。(3)系統(tǒng)變量管理:管理和創(chuàng)建與標(biāo)準(zhǔn)的 A2L 數(shù)據(jù)庫(kù)描述文件相似的工程描述文件,該文件中包含有本工程中窗體界面的描述信息以及 ECU標(biāo)定相關(guān)的變量信息,系統(tǒng)能夠從中或存入相應(yīng)的配
37、置信息。(4) 變量據(jù)。與回放:在 PC 端保存監(jiān)測(cè)數(shù)據(jù),并且能夠在離線的情況下回放數(shù)3.2數(shù)據(jù)流分析在實(shí)際工作過程中,管理與外界(PC,標(biāo)定 ECU)交換內(nèi)容比較復(fù)雜。為明確研究范圍,本課題引入了數(shù)據(jù)流分析這一概念。數(shù)據(jù)流分析是對(duì)與其他部分交換數(shù)據(jù)流向的分析,體現(xiàn)了各模塊的相關(guān)性。根據(jù)功能屬性的不同,可將數(shù)據(jù)流分為以下幾個(gè)部分:(1)管理與標(biāo)定 ECU 之間的:這是實(shí)現(xiàn)標(biāo)定數(shù)據(jù)和數(shù)據(jù)的主要。主要是通過協(xié)議對(duì) CAN 報(bào)文進(jìn)行封裝。(2)管理與 PC 端文件的:系統(tǒng)運(yùn)行時(shí)將這些硬件配置等信息或者監(jiān)測(cè)數(shù)據(jù)保存到 PC 端。系統(tǒng)在后續(xù)操作中也能直接這些文件。進(jìn)行相應(yīng)的操作。15(3)ECU參數(shù)的傳
38、遞,為了避免斷電丟失數(shù)據(jù),ECU重要的參數(shù)一般存在 ROM 里,只有在程序運(yùn)行時(shí)才會(huì)拷貝到 RAM 區(qū)。(4)ECU 標(biāo)定參數(shù)向管理的傳遞,由于管理從 ECU標(biāo)定數(shù)據(jù)需要時(shí)間較長(zhǎng)不利于實(shí)時(shí)標(biāo)定,因此需要 ECU 先把標(biāo)定參數(shù)上傳到 PC 端建立鏡像文件。形成。標(biāo)定時(shí),管理只是對(duì)上位機(jī)的鏡像文件進(jìn)行修改。只有在標(biāo)定過程完成后,再將標(biāo)定好后的數(shù)據(jù)打包發(fā)送到下位機(jī)。確定模塊??蓪⒐芾砉芾韺?shí)際工作過程中的數(shù)據(jù)流后,可進(jìn)一步明確管理的驅(qū)發(fā)生的部分分為 5 個(gè)模塊:CAN 收發(fā)模塊,動(dòng)模塊,變量監(jiān)測(cè)模塊,變量標(biāo)定模塊,類A2L文件管理模塊。各模塊與外界交換的數(shù)據(jù)流如圖 3.1 所示圖 3.1管理數(shù)據(jù)流CA
39、N 收發(fā)模塊主要負(fù)責(zé)接受和發(fā)送 CAN 報(bào)文幀,而驅(qū)動(dòng)模塊則根據(jù)協(xié)議對(duì)收到的 CAN 報(bào)文進(jìn)行或者封裝成符合協(xié)議的報(bào)文。變量監(jiān)測(cè)模塊則負(fù)責(zé)將監(jiān)測(cè)變量經(jīng)過適當(dāng)?shù)奶幚砗笠郧‘?dāng)?shù)男问斤@示出來。變量標(biāo)定模塊負(fù)責(zé)ECU的標(biāo)定數(shù)據(jù)并以合適的形式顯示,同時(shí)實(shí)時(shí)修改 ECU的標(biāo)定值。而類A2L 文件管理模塊則將類 A2L 文件的信息出來,實(shí)現(xiàn)預(yù)定的操作。16標(biāo)定 ECURAMFLASH管理類 A2l 文件管理模塊監(jiān)測(cè)主程序模 塊驅(qū)動(dòng)模塊CAN收發(fā)模塊標(biāo)定監(jiān)測(cè)數(shù)據(jù)標(biāo)定數(shù)據(jù)系統(tǒng)配置信息3.3 本章小結(jié)本章主要?dú)w納了之外,本章總結(jié)了管理管理需要的功能,并對(duì)各功能做了簡(jiǎn)要的說明。除次在工作過程中產(chǎn)生的數(shù)據(jù)流,并根據(jù)這
40、些數(shù)據(jù)流,將管理分為了 5 個(gè)模塊。并采用模塊化設(shè)計(jì)的,設(shè)計(jì)了的總體架構(gòu)。4管理設(shè)計(jì)4.1管理分析基于 開發(fā)的 GDI 光學(xué)發(fā)是本課題的重點(diǎn)與難點(diǎn)的性能對(duì)于課題有著舉足輕重的影響。因此如何合理的實(shí)現(xiàn)別注意的地方。各項(xiàng)功能,是設(shè)計(jì)程序時(shí)需要特在實(shí)際過程中,管理要實(shí)現(xiàn)諸多功能:通訊設(shè)置,數(shù)據(jù)處理,數(shù)據(jù)標(biāo)定,管理。要綜合考慮到多方面分為以下 8 個(gè)模塊:。因此本課題選用模塊化設(shè)計(jì)的方法,將(1)CAN 收發(fā)模塊:為管理與標(biāo)定 ECU 通信提供基本的收發(fā)支持,通信數(shù)據(jù)打包成符合協(xié)議的報(bào)文后通過 CAN 收發(fā)模塊進(jìn)行發(fā)送,而標(biāo)定 ECU 發(fā)過來的消息也需要經(jīng)過 CAN 收發(fā)模塊收到之后再轉(zhuǎn)由管理其他模塊
41、處理。在本課題中,主要是由 CAN-USB 轉(zhuǎn)換器提供的底層收發(fā)函數(shù)實(shí)現(xiàn)。(2)驅(qū)動(dòng)模塊:主要負(fù)責(zé)對(duì)收到的報(bào)文進(jìn)行,當(dāng) CAN 收發(fā)模塊收到下位機(jī)發(fā)過來的 DTO(DaransmisObject)后,根據(jù) DTO 的(Package ID)大小分別調(diào)用的不同的子過程處理,完成對(duì)協(xié)議的。(3)數(shù)據(jù)顯示模塊:ECU 向發(fā)送的數(shù)據(jù),首先經(jīng)驅(qū)動(dòng)模塊處理后,賦給相應(yīng)的變量。而后送入窗口顯示,數(shù)據(jù)顯示模塊為用戶提供了兩種顯示方式:數(shù)值型窗口,曲線型窗口。(4)數(shù)據(jù)標(biāo)定模塊:為不同的變量提供不同的標(biāo)定窗口,為各時(shí)段的標(biāo)定動(dòng)作提供合理的標(biāo)識(shí)。17(5)數(shù)據(jù)管理模塊:在 ECU 和連接時(shí),將監(jiān)測(cè)數(shù)據(jù)和標(biāo)定數(shù)據(jù)保
42、存到 PC端的文件,當(dāng) ECU 與斷開連接時(shí)能夠保存在 PC 端的文件,實(shí)現(xiàn)數(shù)據(jù)的回放。(6)初始化模塊:對(duì)的通信設(shè)置,標(biāo)定變量,監(jiān)測(cè)變量,ODT 列表等信息進(jìn)行設(shè)置,并將這些信息寫入 A2L 文件。(7)類 A2L 文件定,不再需要初始化。模塊:類 A2L 文件,后,可直接進(jìn)行標(biāo)(8) 主界面模塊:系統(tǒng)初始化完成后進(jìn)入主界面,等待用戶操作。4.2設(shè)計(jì)開發(fā)4.2.1 主體程序主要運(yùn)行過程可描述如下打開后首先進(jìn)行系統(tǒng)配置工作,系統(tǒng)配置工作可以通過直接系統(tǒng)配置文件完成,也可以新建工程初始化相應(yīng)配置,而后進(jìn)行 CAN 總線的初始化,建立起和標(biāo)定 ECU 的邏輯連接。而后進(jìn)入主界面,等待進(jìn)一步操作,過
43、程可見圖 4.1。可以看出的操作存在一定的順序,因此在設(shè)計(jì)時(shí)主要采用順序結(jié)構(gòu),若未按順序操作時(shí),則該操作則不能進(jìn)行,而且會(huì)彈出相應(yīng)的提示框,保證不會(huì)出現(xiàn)錯(cuò)誤而,也保證了的正確操作。4.2.2初始化模塊 初始化模塊功能初始模塊主要負(fù)責(zé)相關(guān)信息的配置,包括 CAN-USB 通訊卡的初始化,CAN通訊設(shè)置,ECU 變量相關(guān)信息,DAQ-ODT 列表配置等。CAN-USB 卡的初始化主要是調(diào)用 CAN-USB 卡自帶的 LM_USB.dll13中的 Init_can函數(shù)完成。在建立邏輯連接之后設(shè)計(jì)了兩種方式來實(shí)現(xiàn)對(duì)系統(tǒng)配置的初始化:既可以通過系統(tǒng)配置文件來完成,如圖 4.2 所示,也可以
44、通過新建工程文件的方式來完成。如圖 4.3 所示系統(tǒng)配置文件里包含了通訊設(shè)置信息,變量信息以及 ODT 列表的信息。因此通訊設(shè)置的初始化,變量信息的初始化以及 ODT 列表的設(shè)置都是通過對(duì)配置文件的解析完成的。而另一種初始化配置信息的方式則是通過的設(shè)置完成,一方面,通過這些18可以完成對(duì)系統(tǒng)配置的初始化,另一方面也能對(duì)配置文件里的信息進(jìn)行編輯。 初始化模塊的程序設(shè)計(jì)根據(jù)前面章節(jié)部分,初始化模塊主要分為兩部分,一部分是直接配置文件里的內(nèi)容,完成相關(guān)設(shè)置的初始化,這部分功能的實(shí)現(xiàn)主要是通過類 A2L文件模塊完成的。另一部分是提供的配置界面。用戶從交互界面配置系統(tǒng)設(shè)置,如通訊設(shè)置等,配
45、置完成后,將這些信息寫入配置文件,方便再次使用。在初始化過程中,需要配置的參數(shù)比較多,為了方便管理,采用了 VB.net 里的結(jié)構(gòu)體的概念來描述各項(xiàng)配置14。以變量為例。完整描述一個(gè)變量,需要變量名,變量大小,變量地址。變量類型。若需要對(duì)變量進(jìn)行處理,以變量為例,由于 CAN 報(bào)文數(shù)據(jù)域一個(gè)字節(jié)是 Bytes 類型13,能在里進(jìn)一步處理則還需要變量精度,變量變化范圍,變量精度等信息。結(jié)構(gòu)體在調(diào)用時(shí)也比較方便,直接相應(yīng)結(jié)構(gòu)體的成員即可。4.2.3 CAN 總線收發(fā)模塊CAN 總線收發(fā)模塊是整個(gè)里最底層的部分,是與標(biāo)定 ECU 通信的基礎(chǔ)。ECU 發(fā)送的報(bào)文由 CAN 總線收發(fā)模塊接收后,再轉(zhuǎn)由驅(qū)
46、動(dòng)模塊處理。而發(fā)往標(biāo)定 ECU 的報(bào)文打包成符合協(xié)議的報(bào)文后,也是通過 CAN 總線收發(fā)模塊發(fā)送。在本課題中,CAN 總線收發(fā)模塊主要是通過 CAN-USB 卡自帶的函數(shù)的can-receive 和 can-send 函數(shù)實(shí)現(xiàn)的。Can-USB 卡提供了 can-receive 和 can-send函數(shù)的說明以及調(diào)用要求,按照說明在里調(diào)用即可。在中分別定義了發(fā)送和接收的子過程,這樣方便參數(shù)的傳遞。考慮到管理的功能。即接收標(biāo)定 ECU 發(fā)送的報(bào)文以及向標(biāo)定 ECU 發(fā)出各種命令。設(shè)置了一個(gè)定時(shí)器,每隔一定時(shí)間間隔就查詢接收緩存區(qū),如果緩存區(qū)存在數(shù)據(jù)接收?qǐng)?bào)文,則調(diào)用驅(qū)動(dòng)模塊處理。如果需要發(fā)送,由前
47、文可知各命令主要是根據(jù) CRO 的 CMD 來區(qū)分,定義一個(gè)長(zhǎng)度為 8 的數(shù)組作為發(fā)送的數(shù)組。當(dāng)用戶操作時(shí),對(duì)于該數(shù)組的值進(jìn)行修改,而后調(diào)用發(fā)送的子過程。這樣就減少了工作量而且保證了總線不會(huì)出現(xiàn)堵塞的現(xiàn)象。4.2.4驅(qū)動(dòng)模塊的驅(qū)動(dòng)模塊主要是兩部分:對(duì)下位機(jī)發(fā)送來的報(bào)文進(jìn)行,以及將發(fā)送到標(biāo)定 ECU 的報(bào)文進(jìn)行封裝,使其符合協(xié)議,方便標(biāo)定 ECU。下面從與封裝兩部分對(duì)驅(qū)動(dòng)模塊進(jìn)行描述:19圖 4.1 程序主要框架20圖 4.2初始化界面圖 4.3 新建工程界面從第二章的描述可知,標(biāo)定 ECU 回復(fù)的 DTO 根據(jù)的大小可分為報(bào)文和DAQ 報(bào)文,因此在 CAN 總線收發(fā)模塊接收到
48、數(shù)據(jù)時(shí),首先對(duì)大小進(jìn)行判斷,如果0 xff,則調(diào)用處理 DAQ 的子過程進(jìn)行處理,該過程主要是把傳送過來的報(bào)文的值進(jìn)行相應(yīng)的處理然后賦給變量。如果行處理。大小為 0 xff,則調(diào)用處理的子過程進(jìn) 封裝封裝主要是指對(duì)CAN 報(bào)文數(shù)據(jù)域8 個(gè)字節(jié)的修改,根據(jù)協(xié)議,對(duì)于CRO 報(bào)文,數(shù)據(jù)域第一位即 CMD 取不同值 就代表了不同的報(bào)文。因此,根據(jù)用戶的操作,調(diào)用不同的子過程進(jìn)行處理。這些子過程主要是給 CAN 報(bào)文數(shù)據(jù)域的不同字節(jié)賦值。然后再調(diào)用前文說的 CAN 總線收發(fā)模塊發(fā)送。圖 4.4 DAQ 設(shè)置過程22實(shí)時(shí)監(jiān)測(cè)變量變化,故傳輸數(shù)據(jù)采用 DAQ 模式,發(fā)送命令采用 Pollin
49、g 模式。其中報(bào)文封裝和對(duì)報(bào)文的比較直觀簡(jiǎn)單,對(duì) DAQ 報(bào)文的相對(duì)復(fù)雜。DAQ設(shè)置過程如圖 4.4,根據(jù)第二章可以知道,DAQ 模式下,需要先配置 ODT 列表信息。而后在上位機(jī)發(fā)出開始命令時(shí)再自發(fā)上傳數(shù)據(jù)。因此如何將報(bào)文的數(shù)據(jù)處理后傳給指定的變量是一個(gè)需要考慮。定義了一個(gè)結(jié)構(gòu)體來描述變量的相關(guān)信息,同時(shí)定義了一個(gè)大小為 253 的結(jié)構(gòu)體數(shù)組來描述所有要監(jiān)測(cè)或標(biāo)定的變量。這樣通過對(duì)該結(jié)構(gòu)體數(shù)組索引的修改就能實(shí)現(xiàn)任意配置 ODT 列表的目的。在這種情況下,可將報(bào)文的數(shù)據(jù)處理后傳給指定的變量4.2.5 變量監(jiān)測(cè)模塊當(dāng)標(biāo)定 ECU 向發(fā)送監(jiān)測(cè)數(shù)據(jù)時(shí),監(jiān)測(cè)數(shù)據(jù)經(jīng)過 CAN 總線收發(fā)模塊以及驅(qū)動(dòng)模塊的
50、處理后,賦給了指定的變量。而這種關(guān)系是在 ODT 列表設(shè)置時(shí)就已經(jīng)確定了的。為監(jiān)測(cè)變量提供了兩種顯示方式:數(shù)值型顯示窗口,曲線型顯示窗口。用戶在設(shè)備連接成功,系統(tǒng)配置完成后,可以選擇變量顯示的方式。如圖 4.5 所示,為每個(gè)監(jiān)測(cè)變量提供一個(gè)顯示的窗體,窗體上除了數(shù)值之外,還有變量的相關(guān)信息。圖 4.5 變量選擇窗口23變量標(biāo)定模塊標(biāo)定功能設(shè)計(jì)管理的初始化模塊從系統(tǒng)配置文件出來標(biāo)定變量的信息,并為每個(gè)標(biāo)定變量提供合適的表示形式,當(dāng)用戶進(jìn)行標(biāo)定操作的時(shí)候根據(jù)配置文件,將標(biāo)定參數(shù)初始化。在參數(shù)初始化完成之后,用戶可以修改標(biāo)定值。圖 4.6 標(biāo)定流程 標(biāo)定窗口顯示根據(jù)上述章節(jié)可知,標(biāo)
51、定變量分為可分為一維二維三維標(biāo)定變量。因此需要為這三種標(biāo)定變量分別建立不同類型的顯示窗口,其中數(shù)值型的比較簡(jiǎn)單,而曲線型和 Map 型相對(duì)復(fù)雜些。為這兩者提供了數(shù)值顯示和圖形顯示兩種方式。其中圖形顯示比較直觀而數(shù)值方式方便用戶進(jìn)行標(biāo)定。4.2.7 類 A2L 文件模塊由于標(biāo)準(zhǔn)的 A2L 文件定義了 144 個(gè),而且在之間往往存在著嵌套定義的現(xiàn)象,這給 A2L 文件的帶來了很大的麻煩。由于時(shí)間限制,本采使用了 windows 自帶的配置文件(.ini)以及 txt 文件來替代 A2L 文件,變量精度,大小等信息在 ini 文件里,標(biāo)定數(shù)據(jù)和監(jiān)測(cè)數(shù)據(jù)在 txt 文件里。通過對(duì)這兩種文件的操作可以實(shí)
52、現(xiàn)所要求的功能。Ini 文件是 windows 系統(tǒng)配置文件常采用的格式,由節(jié),鍵,值組成。Windows系統(tǒng)自身提供了 GetprivateProfilestring 和 WriteprivateProfilestring 兩個(gè)函數(shù)對(duì) Ini 文件進(jìn)行讀寫操作。通過這兩個(gè)函數(shù)可以寫入值。指定部分的值或向指定部分當(dāng)處于狀態(tài)下,會(huì)在工程所在目錄下創(chuàng)建以變量名為名的 txt文件,并向里寫入檢測(cè)到的數(shù)據(jù)。這通過 VB.net 中的數(shù)據(jù)以換行符分隔,以便區(qū)分。的 file 類即可完成。通過對(duì)保存到 PC 端的文件的,就能實(shí)現(xiàn)對(duì)監(jiān)測(cè)數(shù)據(jù)的回放。為使用戶對(duì)監(jiān)測(cè)變量的變化有更直觀的了解,數(shù)據(jù)回放采用曲線的形
53、式。4.3 本章小結(jié)本章主明了管理的設(shè)計(jì)。首先概述了的基本工作流程,而后根據(jù)模塊化設(shè)計(jì)的,設(shè)計(jì)了初始化模塊,CAN 總線收發(fā)模塊,驅(qū)動(dòng)模塊,變量監(jiān)測(cè)模塊,變量標(biāo)定模塊,類 A2L 文件管理六個(gè)模塊。并簡(jiǎn)明了各模塊實(shí)現(xiàn)原理。5管理驗(yàn)證前面的章節(jié)闡述了管理的設(shè)計(jì)思路,但是一個(gè)管理能否正常25工作需要在標(biāo)定 ECU 上得到驗(yàn)證,由于條件限制,無法在 ECU 上測(cè)驗(yàn)。因此為檢驗(yàn)工作的準(zhǔn)確性,課題設(shè)計(jì)了一個(gè)模擬 ECU 行為的。ECU 模擬管理分貝在兩臺(tái)電腦上運(yùn)行,兩臺(tái)電腦通過 CAN-USB 卡連接。5.1 ECU 模擬設(shè)計(jì)5.1.1ECU 模擬工作概述管理最主要的功能是數(shù)據(jù)標(biāo)定和,因此有必要清楚 E
54、CU 的數(shù)據(jù)機(jī)制。ECU 內(nèi)存區(qū)域一般分為 RAM,ROM,F(xiàn)LASH 三個(gè)區(qū)域。其中 RAM的數(shù)據(jù)修改方便,能夠直接通過內(nèi)存地址進(jìn)行讀寫操作。但是 RAM 區(qū)的數(shù)據(jù)在 ECU 斷電后,而在 FLASH 和 EEPROM 區(qū)里的數(shù)據(jù)在斷電后能夠保存。因此 ECU 標(biāo)定在 FLASH 區(qū)域里,在需要調(diào)用的時(shí)候?qū)⑵淇截惖?RAM 區(qū)域里。而監(jiān)的數(shù)據(jù)一般測(cè)的變量通過傳感器傳到 RAM 區(qū)域,而后根據(jù)管理的要求上傳至上位機(jī)。ECU 模擬主要實(shí)現(xiàn)的功能是對(duì)上位機(jī)發(fā)出令報(bào)出響應(yīng)。因此結(jié)構(gòu)比較簡(jiǎn)單。模塊 ECU 模擬可以分為兩大部分:驅(qū)動(dòng)模塊,CAN 收發(fā)模塊。工作流程如圖 5.1 所示。圖 5.1 ECU
55、 模擬工作流程265.1.2 ECU 模擬設(shè)計(jì)從上面的分析可以看出,ECU 模擬主要由兩個(gè)模塊組成,其中,CAN 總線收發(fā)模塊與管理的 CAN 總線收發(fā)模塊類似,都是負(fù)責(zé) CAN 報(bào)文的接收和發(fā)送,實(shí)現(xiàn)也與管理相同。而 ECU 模擬的驅(qū)動(dòng)模塊與管理的驅(qū)動(dòng)模塊有一些不同,下面從和打包報(bào)文兩方面來說明:報(bào)文對(duì)報(bào)文的主要是對(duì) CAN 報(bào)文數(shù)據(jù)域的第一個(gè)字節(jié)進(jìn)行的。ECU 模擬為每個(gè)命令都編寫了相應(yīng)的子過程來實(shí)現(xiàn)。根據(jù)協(xié)議,CRO 報(bào)文數(shù)據(jù)域的第一個(gè)字節(jié)就代表了不同令,因此在 ECU 模擬里,CAN 總線收發(fā)模塊接受的到來自管理的 CRO 報(bào)文后,對(duì)報(bào)文數(shù)據(jù)域的第一個(gè)字節(jié)進(jìn)行判斷,根據(jù)字
56、節(jié)數(shù)據(jù)的值調(diào)用相應(yīng)子過程。實(shí)現(xiàn)預(yù)定功能。 打包報(bào)文這部分主要是對(duì)上位機(jī)令進(jìn)行回應(yīng)。根據(jù)回應(yīng)內(nèi)容可以分為兩部分:對(duì)命令的回復(fù),以及 DAQ 模式下上傳的數(shù)據(jù)。對(duì)命令的回復(fù)比較簡(jiǎn)單,為保證數(shù)據(jù)傳輸?shù)恼_性,需要管理與 ECU 模擬的計(jì)數(shù)器保持一致。而 DAQ 模式下采集的數(shù)據(jù)則需要 ECU 模擬做一些額外處理:ECU 模擬首先需要設(shè)置一塊區(qū)域接受 ODT 列表設(shè)置的信息,在本課題中,ECU 模擬用一個(gè)結(jié)構(gòu)體數(shù)組來接收上位機(jī)傳來的設(shè)置信息,當(dāng)上位機(jī)發(fā)出DAQ命令時(shí),ECU 模擬將掃描所有結(jié)構(gòu)體,查詢結(jié)構(gòu)體是否接收了設(shè)置信息,并根據(jù) DAQ 列表設(shè)置的信息上傳數(shù)據(jù)。同時(shí) ECU 模擬還需
57、要考慮到 ECU 的機(jī)制,因此,ECU 模擬創(chuàng)建了一個(gè) Proj 文件存放標(biāo)定數(shù)據(jù),ECU 模擬在啟動(dòng)的時(shí)候?qū)⒃撐募膬?nèi)容加載到數(shù)組里,數(shù)組的索引即可認(rèn)為是變量在 RAM 中的地址。當(dāng)管理標(biāo)定數(shù)據(jù)時(shí),ECU模擬確性。根據(jù)變量地址將修改的數(shù)據(jù)寫入文件,以此來檢驗(yàn)管理標(biāo)定功能的正5.2管理驗(yàn)證5.2.1 驗(yàn)證目的及驗(yàn)證方法管理驗(yàn)證的主要目的是管理能否正確可靠的工作,也就是初始化模塊,CAN 總線收發(fā)模塊,驅(qū)動(dòng)模塊,變量監(jiān)測(cè)模塊,變量標(biāo)定模塊,類 A2L27文件管理模塊能否正確的工作。從前面的章節(jié)可知,主要是檢測(cè)據(jù)標(biāo)定功能,文件配置功能是否正常。功能,數(shù)驗(yàn)證的主要方法是在兩臺(tái)電腦上分別運(yùn)行管理ECU
58、 模擬,兩臺(tái)電腦用兩個(gè) USB-CAN 卡連接。如圖 5.2 所示,ECU 模擬運(yùn)行后,運(yùn)行發(fā)管理。課題設(shè)置了轉(zhuǎn)速,供油量,進(jìn)氣壓力三個(gè)變量來驗(yàn)證的功能。管理同時(shí)設(shè)置了最高限制轉(zhuǎn)速,轉(zhuǎn)速-供油量,轉(zhuǎn)速-供油量-轉(zhuǎn)矩分別檢測(cè)的一維,二維曲線,三維數(shù)據(jù)標(biāo)定功能后,關(guān)閉和數(shù)據(jù)回放功能。map 圖標(biāo)定功能,驗(yàn)證完管理的數(shù)據(jù)監(jiān)測(cè)功能和管理再次打開,可驗(yàn)證類A2L文件的功能圖 5.2 CAN-USB 卡連接圖5.2.2 驗(yàn)證結(jié)果測(cè)試時(shí),管理ECU 模擬的 CAN 總線通訊率都設(shè)為了 20Kbps,軟件的各個(gè)模塊都工作正常,作正常。實(shí)現(xiàn)了預(yù)期的要求。,標(biāo)定,回放功能,類 A2L 文件功能都工28在在系統(tǒng)配置
59、成功后變量功能得到了實(shí)現(xiàn)。的界面如圖 5.3 所示,從中可以看出,數(shù)據(jù)圖 5.3 數(shù)據(jù)界面數(shù)據(jù)標(biāo)定界面如圖 5.4 所示,以 Map 圖為例,圖 5.4 上是管理出來的參數(shù)值,用戶可選中要修改的值,修改后點(diǎn)擊確定,就會(huì)將修改值的相關(guān)信息模擬到標(biāo)定 ECU。圖 5.4 中是修改后標(biāo)定界面的值,而圖 5.4 下是標(biāo)定后,ECU模擬 RAM 區(qū)文件的對(duì)應(yīng)的值,從對(duì)比可以看出,標(biāo)定功能也工作正常。檢驗(yàn)完功能和數(shù)據(jù)標(biāo)定功能后,將關(guān)閉后再打開。加載歷史工程文件,系統(tǒng)各項(xiàng)配置信息也能正常加載,此處以 ODT 列表配置信息為例,如圖 5.5上所示,而且各變量數(shù)據(jù)也存放到了 PC 端。此處以轉(zhuǎn)速為例,如圖 5.
60、5 下所示可見,而系統(tǒng)的數(shù)據(jù)回放界面如圖 5.5 中所示,可見系統(tǒng)回放數(shù)據(jù)功能也得到了實(shí)現(xiàn)。課件對(duì)類 A2L 文件的也實(shí)現(xiàn)了預(yù)期的目的。由上可見系統(tǒng)要實(shí)現(xiàn)的功能都得到了實(shí)現(xiàn),都達(dá)到了預(yù)期的目的。而且工作正常29305.4標(biāo)定功能驗(yàn)證31圖 5.5 類 A2l 文件管理模塊驗(yàn)證325.3 本章小結(jié)由于條件限制,無法在標(biāo)定 ECU 上進(jìn)驗(yàn),需要設(shè)計(jì)一個(gè)模擬 ECU 的,本章首先介紹了 ECU 工作的基本情況。然后從此出發(fā),簡(jiǎn)要的說明了 ECU 的各個(gè)模塊以及實(shí)現(xiàn)方法。而后在兩臺(tái)電腦上完成了測(cè)試,兩臺(tái)電腦通過 USB-CAN 卡連接。驗(yàn)證了,數(shù)據(jù)標(biāo)定,類 A2L 文件管理功能,驗(yàn)證結(jié)果說明各個(gè)模塊都
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年新興科技產(chǎn)業(yè)投資分析咨詢服務(wù)合同模板3篇
- 二零二五年度時(shí)尚服飾LOGO設(shè)計(jì)作品轉(zhuǎn)讓合同協(xié)議3篇
- 2024版次新房交易合同3篇
- 二零二五年度離婚協(xié)議按揭房產(chǎn)分割范本制作
- 二零二五年生物制藥廠勞務(wù)承包與藥品研發(fā)合同3篇
- 西安音樂學(xué)院《材料科學(xué)基礎(chǔ)雙語》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024版板材購(gòu)銷合同標(biāo)準(zhǔn)范文
- 二零二五年度貨車車輛買賣與綠色物流推廣合同3篇
- 2024電商公司帶貨合同范本
- 二零二五版城市更新項(xiàng)目開發(fā)委托管理及規(guī)劃設(shè)計(jì)服務(wù)協(xié)議3篇
- 【自考練習(xí)題】大連交通大學(xué)概率論與數(shù)理統(tǒng)計(jì)真題匯總(附答案解析)
- 布袋除塵器分部分項(xiàng)驗(yàn)收記錄表完整
- 新編劍橋商務(wù)英語(初級(jí))學(xué)生用書-答案
- 公路工程質(zhì)量鑒定辦法
- 水果購(gòu)銷合同模板(精選5篇)
- 板框壓濾機(jī)方案具體方案模板
- 鉆探工程編錄方法課件
- 奧運(yùn)會(huì)獎(jiǎng)牌榜預(yù)測(cè)問題
- 物理奧賽:力學(xué)物體的平衡31-優(yōu)質(zhì)課件
- CJ-T-314-2009-城鎮(zhèn)污水處理廠污泥處置-水泥熟料生產(chǎn)用泥質(zhì)
- 中小學(xué)生志愿服務(wù)記錄表、評(píng)定表
評(píng)論
0/150
提交評(píng)論