李 月,陳天華
(北京工商大學 計算機與信息工程學院,北京 100048)
信息技術是當今發展最為迅猛的基礎產業,電子信息產品質量是現代電子工業生存和發展的關鍵,而產品質量是要靠完善的測試設備來保證的。盡管各種測試技術層出不窮,功能測試依然是保證產品到最終應用環境立刻就能工作的必不可少的手段。在一般的設計理念中,功能測試設備都是給產品量身定做的,一臺設備往往只測試一種產品,這樣的設備相對比較穩定,單價也比較低廉。但是在生產車間,就會占用大量的空間來擺放這些大大小小功能各異的測試設備,而產品線切換的時候,也需要把這些設備搬上搬下,很不方便。
為了有效解決這類問題,本文提出了一種基于MC9S08AW32處理器,并通過RS-485總線實現功能測試系統的設計方法。該設計方案不僅可以簡化手動測試的操作過程,提高了工作效率,而且測試系統穩定性好,性價比高,在保證完成功能測試的基礎上又具有較大的通用性和較強的可擴展性,便于在線調試與系統維護。
本功能測試系統是一套標準化測試儀器,從生產的角度來說,對于不同產品的測試,只要更換測試工裝即可輕松切換,節約了大量的時間與空間。測試時,使用者只需了解被測電路的基本原理,就可利用若干簡單的測試命令建立測試指令表,輕松地完成測試任務。
整個測試系統由PC上位機、RS-232轉RS-485轉換器、核心控制器、矩陣式繼電器陣列和總線組成。在功能測試系統的開發中,采用RS-485通訊方式和總線結構,上位機通過通信發送指令到核心驅動器,利用多通道控制器控制繼電器陣列的動作,靈活配置輸入/輸出端口,將測試資源和被測單元(UUT)的信號連接到總線上,實現信號間互通。系統結構如圖1所示。

圖1 系統結構框圖
核心控制器包括MCU、RS-485通信模塊、多通道選擇模塊、自檢模塊、撥碼電路和相應的單片機外圍電路。其主要功能是響應用戶的操作,發送上位機指令控制繼電器做出相應的動作。
MCU使用的是飛思卡爾 MC9S08AW32處理器。處理器是8位HCS08系列中央處理器,采用44 LQFP封裝芯片,有8路ADC通道,6個KBI端口,34個I/O引腳和一個4通道timer。以MC9S08AW32為核心的功能測試系統能夠在- 40℃~85℃范圍內正常工作,具有高可靠性和低能耗的特點。
撥碼電路是用來設置核心控制器地址的電路。每個撥碼的引腳與單片機的PA 口的8個引腳相連,單片機初始化的時候讀取PA口信息,存入地址變量。當測試系統要用到多個控制器時,通過撥碼電路給他們設置不同的設備地址,以便PC機能夠方便準確的控制下面的每一個控制器。
RS-485部分采用MAX485E的芯片,用I /O引腳DE、/RE控制芯片的收發,引腳分別上拉和下拉,確保其非工作時間的狀態為關閉。接收和發送分別接單片機的串口收發引腳。RS- 485 通信模塊如圖2所示。

圖2 RS-485通信模塊

圖3 數據通道選擇模塊
在測試系統中,數據通道選擇模塊的主要任務是通過檢測MC9S08AW32的I/O端口的信號來控制繼電器矩陣動作。通道選擇電路由4-16譯碼器HCC4067BF模擬開關組成。4067是16選1的模擬開關,可以發送使能信號,完成對16個鎖存器的選擇。測試系統使用雙向傳輸開關SN74HC245C,用于控制數據的傳輸方向。SN74HC573N受通道選擇電路控制,對信號進行鎖存。達林頓管陣列ULN2803A用于驅動繼電器以保證正常工作。數據通道選擇模塊如圖3所示。
自檢模塊使用八路模擬開關CD4051B選擇通道與總線相連,由單片機發送信號進行自檢,判斷矩陣式繼電器陣列是否正常。自檢模塊如圖4所示。
在軟件設計時,核心控制器軟件采用模塊化結構和子程序嵌套技術,可節省內存,便于程序的編制、修改、擴充和調試。通訊協議波特率為38400,無校驗位,8個數據位,1個停止位。通信采用主-從方式,主設備為上位機PC,從設備為核心控制器軟件。主機地址設定為80H,從機地址設定從01H到7FH。測試系統測試指令由包頭、目標地址、指令長度、本機地址、控制模式、數據信息、報錯信息和校驗碼(CRC16)組成。

圖4 自檢模塊
核心控制器上電或復位后即進入主程序,首先進行系統初始化工作,包括時鐘初始化、、I/O端口初始化、定時器初始化、RS-485通信模塊初始化等,然后使能串口接收并開接收中斷。軟件程序流程圖如圖5所示。接收數據的方式采用的是中斷方式。當總線上有數據時,會觸發外部中斷即IRQ中斷,在IRQ 中斷時,讀取串口數據,并進行CRC校驗。如果正確,則發送RS-485通訊指令,將數據存入緩存并置位改緩沖單元標志位。核心控制器根據通訊指令控制相應數據通道和緩沖器的動作。在數據發送結束后,SCI狀態寄存器會置為高電平狀態,以此來判斷發送完成。接收中斷流程圖如圖6所示。

圖5 軟件程序流程圖

圖6 接收中斷流程圖
上位機軟件是本系統的神經中樞,采用VB6.0編寫。軟件通過完善的測試命令用于人機交互,另外通過制定通信協議控制測試系統。用戶通過上位機軟件設定測試項目,向核心控制器發送測試命令,接收下位機上傳的測試數據并對數據進行分析得出測試結論。測試系統軟件界面設計如圖7所示。

圖7 測試系統軟件界面設計
測試系統采用總線結構設計思想,借助于矩陣繼電器的靈活配置的特點,不需要改動任何硬件,僅需在軟件上重新設置,就可以實現多測試點和多路測試資源的信號互通,使得測試系統具有較大的靈活性和較強的可擴展性。系統穩定性好,可靠性高,已投入到實際生產線中,完全能夠達到客戶要求。
[1]吳平峰, 代宣軍.PCB測試技術的介紹[J].現代機械,2009, (4): 90-93.
[2]段波.基于RS-485、1-Wire總線的遠程多點溫度采集系統解決方案[J].制造業自動化, 2010, (2): 43-45.
[3]張禮勇, 劉思久, 江明, 張繼, 顧耕.PCB功能測試系統的設計與實現[J].黑龍江科技信息, 2010, (26): 40-41.
[4]武彤.SMT工藝物料上站輔助系統[J].制造業自動化,2011, (2): 150-153.
[5]張明珠, 王艷紅.繼電器矩陣在PCB功能測試中的應用[J].煤炭工程, 2011, (1): 114-116.
[6]王冰, 胡志超, 湯宏群.PCB鉆床超高速電主軸特點及關鍵技術分析[J].機床與液壓, 2011, (17): 42-47.
[7]吳劍鋒, 王蕾, 李建清, 于忠洲.一種陣列式小尺寸溫度傳感裝置[J].傳感技術學報, 2011, (11): 1649-1652.
[8]韓慧.基于RS-485總線的溫室環境監測系統[J].儀表技術與傳感器, 2012, (3): 60-61.