王 巍,吳凱悅,吳法海
(1.浙江萬向精工有限公司,浙江 杭州 311202;2.萬向錢潮股份有限公司,浙江 杭州 311200)
防抱死制動系統(anti-lock braking system,ABS)是在傳統的制動系統的基礎上,采用電子控制技術構成的一種機電一體化系統[1]。它對于防止車輪抱死、提高制動效率、操縱穩定性以及降低交通事故發生率發揮了重要作用[2]。電子控制單元(electronic control unit,ECU)作為ABS執行機構的核心部件,在整個系統中起到了至關重要的作用。為保證ECU的正常工作,生產時需要對ECU產品進行檢測。判斷ECU產品是否合格,則需要檢測各個部件及其功能是否正常。檢測包括多方面,如電磁閥驅動電路的檢測、輪速采集功能的檢測、生產信息讀寫的檢測等。由于ECU的檢測涉及項目較多,如果由人工完成檢測,會浪費大量時間與精力。為了提高檢測準確率和效率,需要開發一套準確、高效的自動化檢測系統。為了滿足檢測時對各設備兼容性的要求,系統軟件使用LabVIEW進行開發。
本文所設計的燒錄測試一體機的測試對象為乘用車液壓 ABS的ECU。 ECU是ABS 執行機構的核心控制部件,由硬件執行層和軟件算法層組成。
ECU硬件執行層主要由六個模塊[3]構成。
①電源監控模塊。其功能為將汽車電瓶電源轉化為單元內部所需的標準穩定電壓,并持續進行監控。
②輪速傳感器信號處理模塊。其功能為濾波、整形和放大輪速信號。
③ABS閥線圈驅動模塊。其功能為控制ABS電磁閥導通和關斷。
④ABS電機驅動模塊。其功能為輸出ABS電機驅動信號。
⑤ABS警告燈控制模塊。其功能為輸出儀表盤ABS 警告燈控制信號。
⑥通信模塊。其功能為與外部設備進行控制器局域網絡(controller area network,CAN)總線及K總線的通信協議數據收發。
ECU軟件算法層的功能為實時監控四個輪速傳感器輸入的信號,計算出汽車的參考車速、各車輪速度和減速度,得到各車輪滑移率;將滑移率與設定的滑移率控制門限值進行比較,從而根據設定的控制邏輯得出各通道電磁閥的動作模式和時間,以防車輪抱死情況的出現[4]。
作為本文測試對象,某系列ECU爆炸圖如圖1所示。

圖1 ECU爆炸圖Fig.1 Exploded diagram of ECU
ABS執行機構所有功能的運行均依賴于ECU的正常工作。若ECU不合格,則無法在緊急工況下保護人車安全。因此,ABS控制器在生產下線時必須進行測試驗證。
ECU燒錄測試一體機系統,按功能可以劃分為ECU程序燒錄和硬件層面的ECU功能測試兩個部分。
ECU程序燒錄是ECU生產過程中的重要環節。傳統的方法是利用計算機將燒錄程序存儲到燒錄器中,然后將燒錄器與ECU的聯合測試工作組(joint test action group,JTAG)接口相連,通過操作燒錄器上按鈕完成ECU的燒錄。此方法不僅工作繁瑣,而且工作效率低[5]。故需要選擇一種支持動態鏈接庫(dynamic link library,DLL)調用的通用型燒錄仿真器,從而通過JTAG、串行外設接口(serial peripheral interface,SPI)、通用異步收發傳輸器(universal asynchronous receiver transmitter,UART)等接口進行程序的刷新。
ECU功能測試的需求包括以下幾點。
①故障檢測功能。一體機能夠對ECU的硬件執行層進行測試,驗證控制器各項功能是否正常工作,并對不合格模塊給出報警信息。
②不同車型配置功能。由于測試車型眾多,一體機測試軟件應能通過簡單配置制造工藝規范(manufacturing procedure specification,MPS)參數表進行相應的設置,且操作步驟需快速、簡便,以滿足產線工作節奏。
③治具自動連接功能。一體機氣動治具應能根據控制指令自動夾緊待測件,實現控制器接口與底座的自動對接。
④測試結果追溯功能。一體機測試軟件應具有報表功能,能根據ECU條形編碼進行測試結果的追溯。
根據功能需求,燒錄測試一體機系統的硬件架構包括工控機、信號調理負載箱、可調開關電源、ABS ECU、氣動治具、燒錄器、掃碼槍。系統架構框圖如圖2所示。

圖2 系統架構框圖Fig.2 Architecture diagram of the system
①信號調理負載箱。
信號調理負載箱的作用主要是向ECU提供電源,并進行測試所需信號的轉換和傳遞。它由2U機箱、前面板、后面板、開關電源、電流傳感器和信號調理板卡組成。信號調理板卡包含輪速信號處理電路、繼電器驅動電路、電流采集電路、故障燈驅動電路等部分。
②燒錄器。
燒錄器選用了能兼容不同微控制單元(microcontroller unit,MCU)的多通道在線式編程器。它是一種超高速、工業級在線式燒錄器,具有支持接口種類廣泛、燒錄算法豐富、性能穩定、對目標電路充分保護、集成性好、體積小等特點,能嵌入各種測試設備,如自動試驗設備(automatic test equipment,ATE)、在線測試儀(in-circuit-tester,ICT)、功能測試(functional circuit test,FCT)、工裝、治具等。燒錄器既能手動操作又能自動操作,可以應用于各類電子產品的測試、生產等各個環節,以及工業、家電、汽車、自動化等各個行業。
③NI數據采集卡。
④USB-CAN采集卡。
USB-CAN采集卡選用某公司通用型通用串行總線(universal serial bus,USB)轉CAN總線適配器。它的高速CAN通道符合ISO 11898-2協議,CAN比特率為5 kbit/s~1 Mbit/s,時間戳分辨率大約42 μs,符合CAN規范2.0A和2.0B。該采集卡可方便地監視CAN總線網絡,編寫CAN總線程序,以及和CAN總線設備通信,因而廣泛應用于汽車、工業、醫療和其他行業。
⑤USB-K通信卡。
USB-K通信卡選用自行設計的轉換卡,主要包括K總線與串口通信協議的轉換和串口通信轉換為USB通信兩個部分。工作過程為:上位機發送讀取指令;USB/TTL232轉換芯片將USB總線數據轉換為晶體管-晶體管邏輯(transistor-transistor logic,TTL)電平數據,再通過LIN總線收發器芯片將TTL電平轉換為LIN總線CMOS電平信息,最后發送給ECU。ECU接收到指令后,將響應信息回傳到K總線網絡,由USB-K通信卡調制后回傳至上位機,從而實現工控機與ECU的K線通信。
⑥氣動測試治具。
治具采用雙工位模式,主要部件包括兩個三軸氣缸、測試探針上座、測試探針下座、燒錄接頭、測試接頭、電磁閥、底座、開關電源、控制板。氣動治具三維模型如圖3所示。
另外,院區內的各間病房均配備了獨立衛生間和陽臺。衛生間靠外墻設計,并設有窗戶,這既能采集自然光線,又能通風透氣,保持病房內空氣清新,有效防止異味滋生。病房里的陽臺使用大落地玻璃門,自然光能直接透射進病房里,患者可以按需要在陽臺進行舒展活動,呼吸新鮮空氣,配合周邊的花槽,令患者充分享受大自然的陽光與綠化,保持良好的心態,有助于患者病情的控制及治療。

圖3 氣動治具三維模型Fig.3 Three-dimension model of pneumatic fixture
⑦掃碼槍。
掃碼槍的作用是掃描ECU上貼的生產序列號條形碼,通知上位機需要燒錄的車型和軟件版本,并和MPS配置信息文件中的車型版本進行比對。若相符,則系統執行燒錄、測試步驟;若不符,則在操作界面給出報警提示信息。
LabVIEW通過圖形化的語言和模塊化的指令生成框圖式的程序代碼,其功能豐富的函數庫涉及數據采集、儀器通信、信號處理、文件存儲等[6-7],是實現ECU燒錄和功能檢測的理想選擇。因此,本集成式燒錄測試一體機系統軟件采用LabVIEW軟件開發。
3.1.1 串口調用
在LabVIEW中,串口通信被列入儀器輸入/輸出(input/output,I/O)類。其函數是虛擬儀器軟件體系結構(virtual instrumcnt softuare architecture,VISA)函數的子集[8]。本系統軟件使用串口通信函數完成條形碼掃描和K通信,涉及的串口通信函數有VISA配置串口函數、VISA寫入函數、VISA讀取函數、VISA串口字節數屬性、VISA關閉函數等[9]。
3.1.2 燒錄器接口調用
燒錄器有方便LabVIEW調用的用戶庫DLL.lvlib,只需將DLL文件夾復制到LabVIEW安裝目錄的user.lib文件夾下,就可在函數面板下的用戶庫列表內找到所有的VI。本系統軟件使用該VI庫可完成引導程序和應用程序燒錄、向ECU寫入生產日期和序列號信息的操作,涉及的VI有獲取燒錄器列表、連接燒錄器、發送燒錄文件、設置額外參數、燒錄、獲取燒錄結果等。
3.1.3 USB-CAN采集卡調用
本設計選用的CAN總線適配器有動態鏈接庫文件CANBasic.dll。它包含了CAN設備的初始化、通道打開、數據發送、數據接收、通道關閉等函數。LabVIEW使用“調用庫函數節點”VI來配置調用的應用程序接口(application programming interface,API)。
3.1.4 數據采集
NI數據采集卡與LabVIEW具有很強的兼容性,在程序設計時無需考慮硬件的底層驅動問題[10]。該數據采集卡在LabVIEW中建立數據采集任務的方式有兩種:①利用DAQmx VI函數;②利用DAQ助手[11]。本系統軟件采用DAQ助手控制數字量與模擬量的輸入/輸出,從而完成控制繼電器開關量、采集電磁閥與電機工作電流、發送方波等任務。
系統軟件可同時檢測多個ECU產品。軟件界面如圖4所示。

圖4 軟件界面Fig.4 Software interface
軟件的主要功能如下。
①端口配置。系統軟件配置采集卡、掃碼槍、CAN設備、K設備的通信端口。
②用戶選型。系統軟件提供四個測試通道、兩個測試模式(手動/自動)、多個ECU型號供用戶選擇。用戶選型之后,系統軟件會根據型號信息初始化系統參數,如主動式/被動式切換、磁電/霍爾式切換、波特率設置等。
③掃碼校驗。系統軟件采集到ECU裝配到位信號后,自動啟動掃描器掃描產品條形碼,并對條形碼內容進行記錄和校驗。
④程序燒錄。系統軟件根據ECU型號發送對應的燒錄文件到燒錄器,并配置生產日期和序列號等額外的燒錄參數,然后啟動燒錄并查詢燒錄結果。
⑤功能檢測。系統軟件檢測ECU的CAN總線和K總線通信是否正常,讀取ECU故障碼,校驗版本信息,測試制動開關、警告燈等輸入/輸出信號,檢測電磁閥線圈、電機和輪速傳感器等部件是否能正常工作。另外,系統軟件會顯示每一步檢測的測試結果,形成測試日志。
⑥保存結果。測試完成后,系統軟件會存儲以條形碼內容命名的測試日志,同時顯示最終的測試結果,并對合格品進行計數。
功能模塊如圖5所示。

圖5 功能模塊圖Fig.5 Function module diagram
由于被測車型眾多,故根據《車型配置技術明細表》,統一將車輛的軟件版本、硬件版本、傳感器類型、輪胎半徑、齒圈齒數、CAN波特率等內容打包寫入一個MPS文件內。通過在前面板選擇被測ECU的型號,后臺自動進行初始化配置,簡化了操作步驟。基本測試流程如下。
①啟動上位機,選擇被測ECU型號。
②將兩個ECU分別放置到工裝上,雙手按壓啟動按鈕,上針座自動下壓。
③上位機驅動掃碼槍讀取ECU側面的條形碼,先判斷MPS里的配置信息和燒錄的程序版本是否一致,如校驗通過則使能燒錄器開始刷新程序。
④待程序更新完畢,進行串口初始化,并設置CAN波特率。
⑤ECU上電自檢。上位機監測電源線上電壓和電流,發送初始化報文與ECU通信握手。
⑥連接成功后,進行ECU的診斷代碼(diagnostic trouble code,DTC)測試。
⑦讀取ECU內部的信息和MPS配置信息,并進行版本比對測試。
⑧讀取總線上的CAN報文,并進行CAN通信矩陣測試。
⑨上位機驅動信號調理箱,并進行ECU I/O接口測試。
⑩發送變頻率方波,模擬輪速信號進行測試。
一體機系統在生產及應用前,還需要進行一系列的調試工作。這主要是完成不同廠商不同類型ECU產品以及模擬故障ECU產品的針對性檢測。
通過調試,改進了以下項目。
①掃碼槍模式。以往掃碼槍使用的是鍵盤模式。但通過實際檢測發現,鍵盤模式存在偶爾發送數據丟包的現象,導致上位機判斷當前ECU產品條碼錯誤。將掃碼槍調整為虛擬串口模式后,通過串口函數來處理掃描到的數據,未再出現錯誤數據。
②掃碼槍位置。因為條形碼位置ECU的長側面變更到短側面,所以對掃碼槍位置進行了重新設計和固定。最終,將掃碼槍的位置從底座移到了上座。
③燒錄器模式。燒錄器有USB、網口兩種連接模式。早期采用USB模式,在調試時發現燒錄多個ECU之后偶爾出現上位機與燒錄器連接失敗現象,需重新拔插USB線才能恢復正常。這樣會影響生產節拍。后期改為網口模式,連接非常穩定,未出現連接失敗現象。
經調試完成后,一體機系統進入批量檢測階段。檢測系統對五個批次ECU產品進行檢測。表1為統計結果。在批量檢測中,除了故障ECU產品會檢測為不合格外,合格的ECU產品也可能會誤判為不合格。其主要原因是存在檢測誤差。

表1 統計結果
存在檢測誤差主要是由于采集卡在采集模擬量時的檢測時間點存在偏差,導致某一段模擬量未全部采集到,影響上位機的判斷結果。經批量測試驗證,在保證生產節拍的前提下適當延長采集時長,可以規避此類檢測誤差。
本文設計的ECU燒錄測試一體機系統以LabVIEW為開發平臺,結合測試負載箱、氣動治具、燒錄器等外圍設備,創造性地實現了同一治具下既能燒錄又能測試,簡化了產線人員的操作步驟,提高了測試工位節拍,基本覆蓋了ECU所有模塊的檢測。同時,針對不同廠家、不同通信協議的產品,開發了對應的子VI,提高了系統的兼容性。在實際應用中也發現,磁電式ECU的輪速模擬信號還不能完美地模擬實際車況,即上位機在使用一段時間以后會出現端口沖突的現象。在下一步一體機升級時,將在硬件和軟件方面作好對應的優化,以提高整體系統的穩定性。