當前位置:首頁 > 測試測量 > 測試測量
[導讀]為保證安全性與可靠性,車用設(shè)備電路板必須經(jīng)過長時間老化測試。由于需要老化電路板數(shù)量較大,設(shè)計了一個基于 CAN總線的老化測試系統(tǒng)。介紹了系統(tǒng)各個模塊的功能與設(shè)計,詳細介紹通信模塊處理串口通信的實現(xiàn)方法及通信模塊與測試模塊的 CAN通信機制。

0 引言
汽車上用的電子設(shè)備的可靠工作與優(yōu)良性能關(guān)系者駕駛者的生命安全。車用電子設(shè)備出廠前要求對設(shè)備內(nèi)部電路板進行長時間老化測試,以檢測電路板在高溫環(huán)境和各種輸入信號條件下,是否仍正常工作。只有經(jīng)過老化測試的電路板才能出廠。由于需要老化測試的電路板數(shù)量巨大,要求該系統(tǒng)能同時老化測試許多塊被檢測電路板,因此設(shè)計了本老化測試系統(tǒng)。整個老化測試由 1個通信模塊、 10個測試模塊、1個溫控模塊及上微機軟件構(gòu)成。本老化檢測系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖如圖 1所示。


 
圖 1 系統(tǒng)結(jié)構(gòu)圖在本系統(tǒng)中,每個檢測模塊最多可同時檢測 10塊電路板,共有 10個檢測模塊,因此,整個系統(tǒng)在一次老化檢測過程可以同時檢測100塊電路板。檢測模塊將檢測的數(shù)據(jù)通過 CAN通信送給通信模塊,由通信模塊通過串行通信發(fā)送給上位機,由上位機軟件對檢測數(shù)據(jù)進行解析,判斷被測電路板的工作狀態(tài),顯示每一塊被測電路板的工作狀態(tài),存儲每塊被測電路板的檢測數(shù)據(jù),生成歷史報表。上位機軟件還向操作員提供良好而方便的人機交互界面,操作員通過該界面,可以設(shè)置系統(tǒng)老化的時間、溫度與測試模式。

1 通信模塊設(shè)計


通信模塊在老化系統(tǒng)中處于核心地位,它完成兩方面的任務:一方面,通過串行異步通信與上位機通信,接收用戶通過上位機發(fā)來的控制命令,向上位機發(fā)送檢測的數(shù)據(jù)。另一方面,通過 CAN通信方式與 10個檢測模塊及 1個溫控模塊通信,向檢測設(shè)備發(fā)送命令和采集數(shù)據(jù)。通信模塊的硬件系統(tǒng)框圖如圖 2所示。
 


1.1 硬件設(shè)計

通信模塊采用 C8051F040作為核心。C8051F040具有許多優(yōu)點。1.采用高速 8051微控制器內(nèi)核,流水線結(jié)構(gòu),大部分指令的執(zhí)行時間為一或兩個系統(tǒng)時鐘周期。

2.有 4352字節(jié)的內(nèi)部 RAM和 64K字節(jié)的 FLASH,滿足大多數(shù)應用設(shè)計對存儲空間的需要,無需外接存儲器,因而了簡化系統(tǒng)設(shè)計。

3.配置多種端口,如 SPI、SMBus和 UART。

4.C8051F040內(nèi)置標準 CAN控制器,只要外接 CAN通信接口芯片就可以進行通信,方便實現(xiàn) CAN總線通信,提高通信的可靠性。

由于 C8051F040集成的是 CAN控制器,要使實現(xiàn) CAN總線通信,還需要外接 CAN總線收發(fā)器,常用的 CAN總線收發(fā)器有 Philips公司的 PCA82C250收發(fā)器、高速 TJA1050收發(fā)器等。本設(shè)計采用了 TJA1050高速 CAN收發(fā)器,TJA1050具有電磁輻射低、防短路、不上電時對總線無影響等特點。為了進一步提高系統(tǒng)的抗干擾能力,C8051F040的 CAN控制器引腳CANTX、CANRX和收發(fā)器 TJA1050之間并不直接相連,而是通過由高速光耦 6N137構(gòu)成的隔離電路后再與 TJA1050相連,這樣就可以很好的實現(xiàn)了 CAN總線上各節(jié)點的電氣隔離。增加隔離電路雖然增加了節(jié)點的復雜性,但它卻提高了節(jié)點的穩(wěn)定性和安全性。此外,為避免信號反射,導致通信的可靠性與抗干擾能力下降,甚至無法通信,因此,在 CAN總線的兩端需要加有 2個 120歐姆的總線阻抗匹配電阻。由于 C8051F040的端口電壓為 3.3V,串行通信電路采用的電平轉(zhuǎn)換芯片為 MAX3232。


1.2 軟件設(shè)計


1.2.1 串行通信程序設(shè)計

通信模塊一方面通過串行通信接收上位機的命令,主要命令有啟動、停止和參數(shù)設(shè)置命令。用戶通過參數(shù)設(shè)置命令為系統(tǒng)設(shè)置不同參數(shù),可以保證老化的正確進行。另一方面通過串行通信向上位機發(fā)送檢測到的數(shù)據(jù)。為簡化設(shè)計,通信模塊和上位機的串行通信采用固定長度的信息幀格式,一幀信息包括幀頭、有效數(shù)據(jù)或命令、 CRC16校驗位等。通信模塊接收上位機信息通過中斷方式實現(xiàn)。在中斷服務程序中,每接收到一個幀頭后,開始接收后面若干字節(jié)的信息,經(jīng) CRC16校驗有效后,就認為是一個有效的信息幀,按照約定的串行通信協(xié)議解析該信息幀,取出其中的有效命令。通信模塊每收到一個有效命令幀,向上位機發(fā)送一幀應答信息。為保證通信正確,上位機軟件對通信采用超時機制。如果上位機在發(fā)出一

 
由于通信模塊接收命令和處理命令速度的不同步,為保證上位機發(fā)來的每條命令得到執(zhí)行,需要將有效命令放入到命令緩存隊列的隊尾。該命令緩存隊列采用環(huán)形結(jié)構(gòu),接收的有效命令被放到隊尾,而主程序從命令緩存隊列的頭部取出一條命令,進行后期處理。為方便從命令緩存隊列存放或存取一條命令,在實現(xiàn)命令緩存隊列時,采用了二維數(shù)組結(jié)構(gòu),即數(shù)組的每一個元素為一條固定長度的有效命令。通過選取適當?shù)年犃虚L度,可以保證在正常工作中,保證命令緩存隊列不會產(chǎn)生溢出。本設(shè)計中,命令緩存隊列的數(shù)據(jù)結(jié)構(gòu)如下:

unsigned char  s_queue[QUEUE_LEN][CMD_PACK_LEN];
unsigned char  s_front;
unsigned char  s_rear;}
通信模塊向上位機發(fā)送檢測數(shù)據(jù)時,按照約定的串行通信協(xié)議把一組完整的檢測數(shù)據(jù)組裝成一個信息幀發(fā)送。為簡化設(shè)計,該信息幀的發(fā)送不采用中斷方式,而是采用查詢方式完成。為減少 C8051F040的等待時間,結(jié)合 C8051F040的時鐘頻率,串行通信采用了的波特率為 57600bps。經(jīng)過在現(xiàn)場測試,在此波特率下進行串口通信,沒有引起通信的錯誤。


1.2.2 CAN通信程序設(shè)計


通信模塊與 10個檢測模塊及 1個溫控模塊通過 CAN總線連接。理論上,在 CAN總線上,任意一個檢測模塊都可以向通信模塊發(fā)送檢測到的數(shù)據(jù),通信控制板模塊可以同時向 10個檢測模塊發(fā)送命令。 CAN總線上的發(fā)送的數(shù)據(jù)幀帶有 ID字段,ID字段的值決定每個數(shù)據(jù)幀的優(yōu)先級,數(shù)據(jù)幀的 ID值越小,該數(shù)據(jù)幀的優(yōu)先級越高。同一時間,在 CAN總線上,不同的節(jié)點,不能發(fā)送相同 ID值的數(shù)據(jù)幀。否則會造成通信錯誤。在本設(shè)計中,分配每個檢測模塊 1個固定的 ID值,可以看作該設(shè)備的地址編號。這樣不同的設(shè)備發(fā)出的數(shù)據(jù)幀具有不同的優(yōu)先級。這樣導致一個問題:如果任由每個檢測模塊主動向通信模塊發(fā)送數(shù)據(jù)幀,會造成 ID值較大的數(shù)據(jù)幀因優(yōu)先級低,而不能發(fā)出。另外,每個檢測模塊的設(shè)計也采用了 C8051F040的作為控制核心,一方面完成信號檢測,另一方面完成與通信模塊的 CAN通信。

在 C8051F040的 CAN控制器內(nèi)部有 32個緩沖區(qū),每個緩沖區(qū)為 8字節(jié),每個緩沖區(qū)需要指定一個固定的 ID值。每個緩沖區(qū)可以被設(shè)置為發(fā)送緩沖區(qū)或接收緩沖區(qū)。當某個緩沖區(qū)被設(shè)置為發(fā)送緩沖區(qū)時,該數(shù)據(jù)幀在底層帶有 ID值。當該緩沖區(qū)被設(shè)置為接收緩沖區(qū)時,則僅接收 CAN總線上具有相同 ID值的數(shù)據(jù)幀。


在設(shè)計中,通信模塊的 CAN控制器的 32個緩沖區(qū)與 ID值分配如下:第 1至第 10緩沖區(qū)為發(fā)送緩沖區(qū),對應的 ID值 21至 30。第 1緩沖區(qū)用于向第 1個檢測模塊發(fā)送數(shù)據(jù)幀,依次類推,第 10緩沖區(qū)用于向第 10個檢測模塊發(fā)送數(shù)據(jù)幀。第 11緩沖區(qū)為發(fā)送緩沖區(qū),對應 ID值為 31,用于向溫控模塊發(fā)送數(shù)據(jù)幀。第 20緩沖區(qū)至第 30緩沖區(qū)為接收緩沖區(qū),對應 ID值 50至 60。與此對應,則 10個檢測模塊的 CAN控制器的 32個緩沖區(qū)內(nèi)的第 1緩沖區(qū)均為接收緩沖區(qū),分別對應的 ID值是 21至 30。第 2緩沖區(qū)至第 11緩沖區(qū)均為發(fā)送緩沖區(qū),對應的 ID值 50至 60。即 10個檢測模塊發(fā)送的 CAN數(shù)據(jù)幀具有相同的 ID值。采用上述分配的原因在于:每個檢測模塊同時檢測 10個被測電路板,每次有 10個數(shù)據(jù)幀要同時向通信模塊發(fā)送。前提條件,10個檢測模塊不能同時向通信模塊發(fā)送數(shù)據(jù)。


通信控制板和檢測模塊之間通信采用主從應答通信方式。在工作過程中,通信模塊從串口命令緩沖隊列的隊首取出一條命令,進行協(xié)議轉(zhuǎn)換,組裝成 8字節(jié)的 CAN信息幀。其中最后 1個字節(jié)值設(shè)為前 7個字節(jié)的 CRC8校驗值,雖然 CAN總線本身具有 CRC校驗,在應用層再次進行校驗,可以提高通信的可靠性。

通信模塊將該 CAN信息幀通過 CAN內(nèi)部第 1緩沖區(qū)發(fā)送,這樣 CAN總線上的第 1個檢測模塊收到該信息幀,該檢測模塊校驗信息幀,如果通過校驗,進一步解析該信息幀。如果是參數(shù)設(shè)置命令,則檢測設(shè)備提取其中的參數(shù),然后向通信模塊發(fā)送 1個信息幀作為響應。如果是讀數(shù)據(jù)命令,則將 10個被測電路板的參數(shù)組裝成 10個 CAN數(shù)據(jù)幀,分別通過檢測設(shè)備的 CAN緩沖區(qū)的第 2至第 11緩沖區(qū)向外發(fā)送,該 10個數(shù)據(jù)幀,僅被總線上的通信模塊接收,分別放在第 20至第 30緩沖區(qū)。通信模塊將這些信息通過串口向上位機發(fā)送。按照同樣的方式,通信模塊與其它 9個檢測模塊及 1個溫控模塊完成 CAN通信,實現(xiàn)了命令的設(shè)置與測試信息的獲取。

2 檢測模塊的設(shè)計


老化系統(tǒng)的 10個檢測模塊完全一樣,完成同樣的功能。根據(jù)分析被測電路板的特性,設(shè)計了檢測模塊實現(xiàn)檢測的方法與流程。檢測模塊首先檢測被測電路板是否存在短路故障與斷路故障,如果發(fā)現(xiàn)被測電路板存在斷路故障或斷路故障,則不再進一步檢測,在與通信模塊通信過程發(fā)送該故障信息。如果被測電路沒有短路故障或斷路故障,則檢測模塊向被測電路板加上額定工作電壓與有效的激勵信號,使被測電路板正常工作,然后檢測被測電路板的輸出信號的波形類型及頻率,按照設(shè)定的檢測算法判斷被測電路板是否存在其它故障。在 100多個小時的測試過程中,測試環(huán)境的溫度可以根據(jù)用戶的設(shè)置不斷變化或自動變化,檢測模塊提供的輸入激勵信號采用多種組合。

3 溫控模塊設(shè)計


在老化過程,被老化的電路板被放置在密閉的柜體中。該柜體內(nèi)的溫度保持在一定的范圍,以模擬中電路板的實際工作環(huán)境的溫度。溫控模塊通過 CAN總線接收通信模塊發(fā)來的信息幀,解析信息幀,得到用戶要設(shè)置的溫度值。溫控模塊檢測柜體溫度,控制加熱裝置加熱與否,使柜體的溫度達到用戶設(shè)置的溫度。


溫度檢測采用 DS18B20完成,在溫控模塊中設(shè)置 4個 DS18B20。將測得的 4個溫度值進行算術(shù)平均,作為老化柜體內(nèi)的溫度值。溫控模塊的繼電器輸出接加熱棒及排風風扇。采用了 PID控制算法,使柜體內(nèi)溫度達到用戶設(shè)置溫度。4 上位機軟件的設(shè)計上位機軟件采用 VC++ 6.0設(shè)計完成,串口通信部分使用 Windows API函數(shù)完成,使用 API函數(shù)處理串口靈活高效。上位機軟件實時顯示每個被測電路板是否正常工作及當前老化柜的溫度及老化時間等信息,還提供歷史數(shù)據(jù)查詢及參數(shù)設(shè)置等功能。

5 結(jié)束語


本老化測試系統(tǒng),采用 CAN總線作為系統(tǒng)的主要通信方式,采用模塊化結(jié)構(gòu),方便系統(tǒng)的設(shè)計與調(diào)試,同時,各模塊掛在 CAN總線,易于系統(tǒng)實現(xiàn)與擴展。本系統(tǒng)已經(jīng)應用于生產(chǎn)中,達到了設(shè)計要求,運行效果穩(wěn)定良好。本系統(tǒng)已產(chǎn)生經(jīng)濟效益近 30萬元。
本文作者創(chuàng)新點:本老化系統(tǒng)的檢測模塊與通信模塊采用 CAN總線進行通信,通信穩(wěn)定,高速;整個系統(tǒng)采用檢測模塊-通信模塊-上位機的三層結(jié)構(gòu),實現(xiàn)了對大批量被測電路板的檢測。

幀命令后的若干時間沒有收到通信模塊的應答信息,就再次發(fā)送該命令信息,連續(xù) 3次沒收到應答信息,就可以認為存在通信故障,從而產(chǎn)生報警信息,提示用戶處理。
本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉