施紀紅
(蘇州健雄職業技術學院 電子信息學院,蘇州 215411)
本文以筆者參加的一項“空調智能控制系統”項目設計與調試工作為研究對象,該系統結構框如圖1所示。筆者根據工作總結了整個調試過程。嵌入式產品的調試與測試可以細分成以下四個層次:一是硬件調試、軟件調試;二是軟硬件聯調;三是硬件測試、軟件測試;四是軟硬件集成測試[1]。

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