您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > WindowsXP嵌入式诊断系统制作
中華民國第十四屆車輛工程學術研討會,國立虎尾科技大學車輛工程系,台灣雲林,2009年10月30日。The14thNationalConferenceonVehicleEngineering,Oct.30,2009,FormosaUniversity,Yunlin,Taiwan,R.O.C.WindowsXP嵌入式診斷系統製作褚文和1陳義誠2陳啟成3林建成4國立虎尾科技大學車輛工程系副教授1國立虎尾科技大學機械與機電工程研究所研究生2,3,4E-mail:wenhou@nfu.edu.tw經濟部學界科專計畫編號:97-EC-17-A-16-S1-051-A1-3-摘要本文研究在於開發出WindowsXP嵌入式車用診斷系統,並建構出與其對應的嵌入式作業系統,搭配本文所撰寫符合ISO14230通訊協定的車輛診斷應用程式,與車輛引擎ECU作連線,擷取引擎運轉參數與故障診斷。在嵌入式作業系統方面,採用MicrosoftWindowsEmbeddedStudio開發工具,利用其模組化依據的特性,匯入診斷系統所需的功能元件,建置XPEmbedded診斷系統之映像檔。通訊協定方面,本文將以符合ISO14230規範之VARICA引擎ECU,作為診斷系統目標硬體之驗證。在硬體方面,則採用研華PCM-9388F嵌入式主機板作為WindowsXP嵌入式診斷系統開發平台之硬體架構,並搭配K-Line轉換電路及程式語言軟體VisualC++6.0整合式發展環境(IDE),將ISO14230、SAEJ1939通訊協定的各種服務功能類型以物件導向之C++程式語言,撰寫符合車輛通訊協定之診斷應用程式。關鍵字:XPEmbedded、ISO14230、SAEJ1939、CAN、VisualC++6.01.前言在全球車廠競爭激烈下,電子化成為創造汽車附加價值與差異性的重要進程,促使車用電子的開發及應用急速發展,根據ICInsights[1]估計,2010年車載電子化產品將高達40%,2008年全球汽車電子市場規模將達1664億美元,IEEE[2]則估計2010年將有40%的汽車成本來自於汽車電子,4C(Car)的需求日益顯著,不過汽車的嚴苛作業環境、有限的車體容積、基於安全性的高良率要求,以及長達十年以上的零件供應需求等等因素,再挑戰汽車電子廠商的技術能力和適應能力。在汽車電子元件裡,微控制器(MicroControllerUnit﹐MCU)是數量最多的一種電子零件,車內MCU的使用量已經從過去的平均20顆成長到目前的百顆以上,所以MCU也成為全球汽車電子市場的主流產品[3]。如控制器區域網路(ControllerAreaNetwork﹐CAN)為將車上多個MCU整合於網路中,達成資訊分享的功能。由於汽車電子技術的快速發展,故障診斷的難度也越來越大,複雜程度也相對提高。目前診斷技術方面除了沿用舊有通訊協定如ISO14230或車廠自行規範定義外,尚需瞭解其他相關的車輛通訊協定,才能製作出一套符合各車種的故障診斷系統。現今的車輛診斷系統又大都由國外所開發製作,其體積龐大、攜帶不便、價格昂貴,因此,本文研究目的為利用嵌入式系統可攜式之特點,開發WindowsXP嵌入式診斷系統,並建構出與其對應的嵌入式作業系統,使其可以搭配本文所撰寫的車輛通訊協定之診斷應用程式,與車輛引擎ECU作連線,擷取引擎運轉參數與故障診斷。2.ISO14230及SAEJ1939通訊協定標準2.1ISO14230ISO14230遵行了OSI七層通訊參考模型,ISO14230又稱為KWP2000(KeywordProtocol2000),是由國際標準組織(ISO)在1999年所制定出來的車用OBD診斷通訊協定,分為ISO14230-1(實體層)、ISO14230-2(資料鏈結層)、ISO14230-3(應用層),各層間的規劃及應用請參考[4]、[5]、[6],以下將以ISO14230-1做簡單介紹。圖1為ISO14230系統配置圖,其中ECU與診斷器(Tester)連接方式可分為兩種模式,一種為K(K-Line),而另一種是L(L-Line)。K-Line是屬於雙向傳輸,使用在ISO14230的連線初始化與資料傳輸上,而連線初始化部份將在資料鏈結層再作介紹。L-Line這邊並未使用,除非汽車製造商另外訂定,否則都採用K-Line作為連線、資料傳輸及診斷的功能。圖1ISO14230系統配置圖如表1所示,在K-Line電壓訊號準位方面,主要利用電壓凖位來做邏輯(Logic)”1”與邏輯”0”的轉換,圖2為ISO14230K-Line電壓訊號準位,其中VB是電瓶電壓,而傳送端(Transmitter)在VB為80%以上代表數位邏輯”1”,而在VB為20%以下代表數位邏輯”0”。中華民國第十四屆車輛工程學術研討會,國立虎尾科技大學車輛工程系,台灣雲林,2009年10月30日。The14thNationalConferenceonVehicleEngineering,Oct.30,2009,FormosaUniversity,Yunlin,Taiwan,R.O.C.接收端(Receiver)則是VB為70%以上為”1”而VB為30%以下為”0”。而本文電瓶電壓為12伏特(V),所以傳送端的訊號電壓凖必須為9.6V以上或2.4V以下(VB=12V),接收端的訊號電壓凖位為8.4V以上或3.6V以下。表1K-Line的電壓訊號準位邏輯準位01傳送端電壓準位≦20%VB≧80%VB接收端電壓準位≦30%VB≧70%VB圖3CAN裝置電壓準位表2位元邏輯值邏輯値位元值CAN-HCAN-L△V(H-L)顯性(Dominant)03.51.5大於1.0隱性(Recessive)12.52.5小於0.5圖2ISO14230K-Line電壓訊號準位2.2SAEJ1939通訊協定本文WindowsXP嵌入式診斷系統應用程式,係依據ISO14230及SAEJ1939通訊協定來製作,其中SAEJ1939遵行了OSI七層通訊參考模型。分為SAEJ1939-11(實體層)、SAEJ1939-21(資料鏈結層)、SAEJ1939-31(網路層)、SAEJ1939-71(應用層-車輛參數)、SAEJ1939-73(應用層-車輛診斷),各層間的任務及規劃目的請參考[7],以下將以SAEJ1939-11(實體層)做簡單介紹。圖4實體層架構圖3.XP嵌入式作業系統介紹WindowsXPEmbedded[8]是微軟所開發的嵌入式作業系統,主要以元件化形式展現Windows作業系統的強大功能。WindowsXPEmbedded建置於與WindowsXPProfessional相同的架構基礎上,包含了超過10,000項以上的各別功能元件,因此開發人員在自訂裝置映像檔中,能管理或減少機體的空間,以選擇並達到最佳的功能。使用WindowsXPEmbedded來建置作業系統的常用裝置類別,包含零售銷售點終端機、精簡型用戶端和進階的機上盒,其特色如下:SAEJ1939-11為七層架構的最底層,此層敘述電子訊號間傳送訊號準位、實體層編排架構等。採用雙絞線以差動訊號方式進行訊號傳輸,所謂差動訊號電壓是指CAN-High和CAN-Low電壓間的差值,它對訊號準位判別較為嚴謹,較一般網路架構擁有更強韌的抗干擾性。圖3為CAN裝置電壓準位,其定義如下:裝置電壓(Vcc)為4.5~5.5V,CAN-High和CAN-Low間差動訊號電壓(△V)為0~3.0V,當CAN-High的電壓值大於3.5V,CAN-Low的電壓值小於1.5V,則△V>1.0V傳遞顯性(Dominant)邏輯“0”位元;如果CAN-High和CAN-Low電壓值皆維持在2.5V,則△V<0.5V傳遞隱性(Recessive)邏輯“1”位元,如表2所示。另外為避免CAN訊息傳送時產生回波震盪,於CAN網路上會配置120Ω終端電阻,如圖4所示。1.程式碼彈性選擇慣用的Microsoft開發技術,如Win32、MFC或.NETFramework(C#,VB),更熟悉、更快速地進行開發。2.設計範本使用為一般技術與裝置內建的設計範本(DesignTemplates)立即開始設計,包括以Windows為基礎的終端機(Windows-BasedTerminals)、POS終端機(PointofSaleTerminals)、智慧型設備(IntelligentAppliances)等等。中華民國第十四屆車輛工程學術研討會,國立虎尾科技大學車輛工程系,台灣雲林,2009年10月30日。The14thNationalConferenceonVehicleEngineering,Oct.30,2009,FormosaUniversity,Yunlin,Taiwan,R.O.C.3.輕鬆設定與測試可利用多種作業系統開發工具建置、開發、客製及測試裝置。4.安全性功能藉由安全性更新提供企業級管理能力。使用Windows安全性功能(包括內建防火牆),輕鬆將健全的安全性功能整合至您的裝置內。5.加強的編譯器使用最新的VisualStudio編譯器,可增加C++語言相容性、提供更好的程式庫、支援CRT、ATL及MFC,並可提供改善的執行階段安全性檢查功能。6.達到出貨品質要求的驅動程式選擇驅動程式、服務及應用程式,以納入嵌入式作業系統映像檔中,減少驅動程式修改並縮減OS大小。7.Windows,Win32APIs使用標準硬體,並可執行現有Win32應用程式及驅動程式。圖6系統開發工具與流程8.保護磁碟區EWF(EnhancedWriteFilter﹐EWF)功能可藉由重新導向寫入作業至不同儲存位置(重疊)協助保護磁碟區內容。EWF允許唯讀媒體(包括CD-ROM與Flash)開機及執行,其可減少空間耗損,並使CompactFlash成為嵌入式裝置(如精簡型用戶端)的可用選項,藉由唯讀功能進行開機,媒體EWF可移除嵌入式裝置的內部硬碟需求,減少BOM成本與整體維護。4.XP嵌入式診斷系統製作4.1診斷系統應用程式製作本文診斷系統應用程式中,包含兩種車輛通訊協定(ISO14230及SAEJ1939),其中ISO14230通訊協定之診斷系統應用程式,係將段宗廷之碩士論文[9]診斷程式加以修改並套用;而SAEJ1939通訊協定之診斷系統應用程式,則是將SAEJ1939通訊協定的各種服務功能類型以物件導向之C++程式語言,撰寫符合車輛通訊協定之診斷應用程式。9.休眠一次,永久還原(HibernateOnceResumeMany﹐HORM)HibernateOnce/ResumeMany使裝置(例如精簡型電腦(ThinClients))可以獲得立即上手絕佳經驗。診斷系統應用程式撰寫,則是採用程式語言VisualC++6.0整合式發展環境(IntegratedDevelopmentEnvironment﹐IDE)[10]的單文件樣板來設計如圖7所示,所謂整合發展環境指的是從程式編輯(Edit)、編譯(Compile)、偵錯(Debug)、執行(Execute)與線上說明(OnlineHelp)都在同一軟體執行。圖8為診斷系統應用程式人機介面,可分為標題列、功能表列、工具列、View視窗與狀態列五部份。10.由網路將裝置開機開機前執行環境(Pre-bootExecutionEnvironment﹐PXE)通訊協定允許與伺服器通訊,並由網路取回開機映像檔。此協定可提供不具硬碟的裝置有網路開機與設定的能力。11.緩和製造流程「映像複製」與「重新封裝」允許OEM在安裝時建置一個一次性OS映像支援,自動組態SID與機器名稱。此一「系統複製工具」可提供獨有的電腦安全性識別碼(SID)、電腦名稱及潛在的IP位址。如圖5所示,綜合以上WindowsXPEmbedded中的產品功能,要發展適用於我們目的裝置的WindowsXPEmbedded嵌入式系統映像檔,必須要有一個完整的發展步驟及開發工具(MicrosoftWindowsEmbeddedStu
本文标题:WindowsXP嵌入式诊断系统制作
链接地址:https://www.777doc.com/doc-696922 .html