施紀紅
(蘇州健雄職業(yè)技術(shù)學(xué)院 電子信息學(xué)院,蘇州 215411)
本文以筆者參加的一項“空調(diào)智能控制系統(tǒng)”項目設(shè)計與調(diào)試工作為研究對象,該系統(tǒng)結(jié)構(gòu)框如圖1所示。筆者根據(jù)工作總結(jié)了整個調(diào)試過程。嵌入式產(chǎn)品的調(diào)試與測試可以細分成以下四個層次:一是硬件調(diào)試、軟件調(diào)試;二是軟硬件聯(lián)調(diào);三是硬件測試、軟件測試;四是軟硬件集成測試[1]。
圖1 空調(diào)智能控制系統(tǒng)結(jié)構(gòu)圖
由于元器件參數(shù)的離散性和裝配的局限性,裝配后的產(chǎn)品都需要根據(jù)技術(shù)文件進行調(diào)試與測試,以達到預(yù)期的功能和技術(shù)指標。調(diào)試是指通過調(diào)整硬件的可調(diào)元器件,將電氣參數(shù)調(diào)到預(yù)定值,檢查系統(tǒng)是否完成規(guī)定的功能;測試則是指用精確的儀器儀表對電路板在各種環(huán)境的各項技術(shù)性能參數(shù)進行測量;性能測試相對功能調(diào)試更精確[2]。
軟件調(diào)試主要是排除編碼錯誤,保證程序穩(wěn)定運行,對程序的局部功能和功能進行檢查;而軟件測試是為了排除邏輯錯誤,系統(tǒng)設(shè)計錯誤,對程序進行系統(tǒng)全面的檢查,保證程序整體的功能和性能。
由于嵌入式軟件與硬件系統(tǒng)的聯(lián)系非常緊密,硬件的正確性是軟件調(diào)試的基礎(chǔ),所以,一般先調(diào)硬件,再調(diào)軟件,調(diào)軟件基本就是軟硬件聯(lián)調(diào)。
不論硬件還是軟件,都是先調(diào)試獨立模塊,再調(diào)相互影響的模塊,最后調(diào)整體。
2.1.1 PCB空板檢查
PCB故障主要有兩類:原理圖正確但PCB設(shè)計錯誤,檢查方法是對照原理圖,查看一致性;加工錯誤,主要有開路、短路等,除目測外,可以使用數(shù)字萬用表進行測試。本系統(tǒng)特別注意電源走線的間距,以及地址、數(shù)據(jù)和控制總線相互位置和接通性的檢查。
2.1.2 硬件的焊接
復(fù)雜PCB可以交工廠焊接,本系統(tǒng)相對簡單,直接手工焊接。焊接前要檢查元器件與設(shè)計的型號、規(guī)格否一致,是否損壞;焊接時注意元器件安裝位置和極性是否正確。安裝后,要檢查是否有漏裝配、管腳搭錫等問題;最后要用萬用表測量各個電源到地的電阻,檢查是否短路。
2.1.3 調(diào)試
調(diào)試可以使用萬用表、示波器等常用測試儀器。通電前,先檢查電源電壓的幅值和極性;通電后,檢查關(guān)鍵器件引腳的電位;該系統(tǒng)由3.7V的鋰電池供電,通過升壓降壓實現(xiàn)有5V和3.3V兩種電壓。電壓不對,可能導(dǎo)致集成塊及其他元器件發(fā)熱損壞。懷疑器件損壞時,可用替換方法排除。根據(jù)設(shè)計,調(diào)節(jié)可調(diào)電阻、電容等,使硬件達到設(shè)計值。
該系統(tǒng)硬件調(diào)試完成后,編寫了一個簡單的測試程序,不涉及具體功能,只是測試按鍵、LED指示燈、數(shù)碼管是否工作,初步判定電路板的正確性。
一般意義上,嵌入式軟件調(diào)試都是依賴硬件的。本系統(tǒng)使用Keil uVision進行軟件調(diào)試。
軟硬件調(diào)試是指在硬件正常的情況下,將軟件下載到硬件中,驗證程序執(zhí)行的時序是否正確,邏輯和結(jié)果是否符合設(shè)計要求,能否滿足功能和性能要求等。軟硬件調(diào)試的方法有很多,本系統(tǒng)采用第三種方式。
硬件測試和軟件測試都不是孤立的測試,是相互配合的,例如,測試硬件CPU的工作溫度,軟件運行、不運行、運行量的大小不同將導(dǎo)致CPU的發(fā)熱溫度截然不同。所以,下面提到的硬件測試和軟件測試只是指測試的重點是硬件還是軟件。
硬件測試主要包括壓力測試、性能測試及其他專業(yè)測試。主要有抗干擾、壽命、防潮濕、高溫和低溫測試等。本系統(tǒng)是家用產(chǎn)品,無溫濕度要求,僅進行了抗干擾測試。
軟件測試方法根據(jù)測試內(nèi)容分成“白盒、黑盒測試”,根據(jù)測試環(huán)境分成“目標環(huán)境、宿主環(huán)境測試”。
3.2.1 白盒測試與黑盒測試
白盒測試是根據(jù)源代碼的組織結(jié)構(gòu)查找軟件缺陷。本系統(tǒng)使用Gtest軟件進行白盒測試是在宿主環(huán)境。
黑盒測試也稱為功能測試,根據(jù)軟件的用途和外部特征查找軟件缺陷。本系統(tǒng)較小未進行黑盒測試。
3.2.2 目標環(huán)境測試和宿主環(huán)境測試
目標環(huán)境測試就是指在硬件環(huán)境的測試,宿主環(huán)境測試是指在PC主機環(huán)境的測試。針對邏輯或界面測試以及其他非實時測試、與硬件無關(guān)的測試,選擇宿主環(huán)境測試。而與定時、中斷、硬件接口等相關(guān)的測試選擇目標環(huán)境測試。
嵌入式系統(tǒng)經(jīng)常發(fā)生硬件故障、軟件故障和操作系統(tǒng)故障等3類故障。不論是哪種錯誤,在調(diào)試過程中要心態(tài)平和,多做比較和分析,逐個排除各種原因,直到最后成功。
可見,軟硬件的調(diào)試和測試是嵌入式電子產(chǎn)品實現(xiàn)的必經(jīng)階段。調(diào)試與測試水平的高低、流程的合理性、軟件和工具的選擇都直接影響嵌入式產(chǎn)品的功能和性能。