1 引言 近年來,隨著電子技術、計算機技術以及通訊技術的不斷發站,越來越多的電子產品被應用到了各行各業。在工業應用領域,通常存在著大量的傳感器、執行機構和電子控制單元,它們一般分布較廣,且在進行現場檢測的時候對實時性和可靠性都有嚴格的要求。CAN(Controller Area Network)總線作為一種現場總線標準以其具有的諸多優點而在工業領域中得到了廣泛應用,到目前為止,用于工業領域的絕大部分電子產品都支持CAN通訊方式。基于此,本文提出了一種全新的基于CAN總線技術的自動節點探測算法,并利用該方法搭建了一個電子產品自動測試平臺。 2 CAN總線簡介 隨著工業現場控制和生產自動化技術的不斷進步,傳統的RS232、RS485等通信標準已經不能適應工業現場需要了。現場總線技術因其造價低廉且能夠滿足工業現場環境下的通信要求漸逐漸成為了新的通信方式。 CAN(即控制器局域網)是理輯總線的典型代表。它是德國的BOSCH公司為現代汽車應用領先推出的一種多主主機局部網,由于其卓越性能現已廣泛應用于工業自動化、多種控制設備、交通工具,醫療儀器以及建筑、環境控制等眾多部門。CAN總線是一種多主總線、通信介質可以是雙絞線、同軸電纜或光導纖維。通信速率最高可達1MBPS。它通信接口中集成了CAN協議的物理層和數據鏈路層功能,可完成對通信數據的成幀處理。CAN協議廢除了傳統的站地址編碼,而代之以對通信數據塊進行編碼。采用這種方法的優點可使網絡內的節點個數在理論上不受限制.還可使不同的節點同時接收到相同的數據,這一點在分布式控制系統中非常有用。 CAN協議的數據段長度最多為8個字節,不會占用總線時間過長,從而保證了通信的實時性。CAN協議采用CRC檢驗并可提供相應的錯誤處理功熊,保證了數據通信的可靠性。另外,CAN總線采用了多主競爭式總線結構,具有多主站運行和分散仲裁的串行總線及廣播通信的特點。CAN總線上任意節點可在任意時刻主動地向網絡上其它節點發送信息而不分主次,因此可在各節點之間實現自由通信。 CAN卓越的特性、極高的可靠性和獨特的設計,特別適合工業過程監控設備的互連,因此,越來越受到工業界的重視,并已公認為最有前途的現場總線之一。 3 測試平臺構建 本文所述的自動測試平臺由主節點、從節點和CAN網組成,主節點由測試主機構成。主要用于對被測產品發送測試命令,并對被測產品返回的測試信息進行分析處理處理。每個從節點上都可安裝一臺待測產品。其系統結構如圖1所示。 ![]() 圖1 測試平臺結構 在產品的批量自動測試過程中,最大的難點在于每個從節點的地址無法預先標示,這就不能保證主節點與各個從節點之間進行互不干擾并且準確可靠的信息交互。傳統的解決方法一般是通過硬件來實現,即對每個從節點進行硬件編碼,從而唯一的標示每個從節點。這種實現方式的優點是地址固定、反應快速;但是這種硬件編碼的方式的實現較復雜、成本較高;并且不夠靈活,一旦檢測工裝需改進,改動的工作量相當大,該實現方式主要適應于大量產品的檢測,對于中小批量產品的檢測來說成本過高。基于此,本文提出了一種基于自動節點探測算法的軟件實現方式,由于其實現完全脫離了硬件,因此具有靈活度較高,易擴展的特點,而且其實現菲常簡單。 自動帶點探測算法的主要思想是:當主節點下發檢測開始的命令后,各從節點自身產生一個確認碼發回主節點,瞬時在本地保存。當主節點收到該確認碼后,在本地遴行搜索,看是否有已對該確認碼賦過標示號,如“是”則不作處理,如“否”則對該確認碼賦予一個唯一的標示號。然后每隔一定的周期將確認碼帶標示號以廣播的形式下發到從節點。各從節點接收到帶標示號的確認碼后,將其與本地保存的確認碼進行比較,如果與本地不同,則繼續往主節點發送確認碼,相反則取出標示號,對自己進行標示,同時停止往主節點發送確認碼,并把標示號帶確認碼再返回給主節點,告訴主節點本節點已被標示,主節點在收到從節點的反饋信息后,將該標示號置乎“已確認”狀態,并停止下發該標識號。至此,從節點標示完成,可繼續進行相應的測試任務。從節點的整個標示過程如圖2所示。 ![]() 圖2從節點標示流程圖 4 應用實例 根據前述方法,本文針對三一重工股份有限公司自主研發的工業顯示屏產品SYLD開發了一個對其進行批量自檢的檢測平臺。待測的SYLD顯示屏構成了從節點,SYLD是一款通用型高性能工業顯示屏,支持CAN通訊方式。主節點由三一重工股份有限公司自主研發的遠程監控終端SYMT構成.SYMT可自動從衛星下載當前時間,且其對外接口支持CAN通訊方式。整個檢測平臺的結構如圖3所示。 ![]() 圖3 SYLD批量測試平臺結構圖 本文所開發的檢測工裝主要對SYLD顯示屏的顏色、通訊功能以及文件系統進行檢測,此外還附有校準系統時鐘和應用程序燒寫等功能。工裝的SYMT端測試程序采用ARM Developer Suite 1.2 編寫,SYLD端測試程序采用embedded Visual C++ 4.0 編寫。到目前為止,該工裝運行效果良好。SYLD檢測流程如圖4所示。 ![]() 圖4 SYLD檢測流程 5 結束語 本文通過實例論證了所提方法的可行性,并且證明了利用自動節點探測方式搭建的電子產品自動測試平臺具有易實現、易擴展、周期短、成本低等特點,具有較大的借鑒意義,可推廣到其他電子產品的測試平臺中。 本文主要創新點在于:利用CAN總線的特點,提出一種用軟件方式實現的能使掛在CAN總線上的從設備對內身進行自動地址標示的方法,從而保證其與主設備之間進行正確的信息交互。通過相關設備的配套,到目前為止成果應用融產生經濟效益約10萬元。 作者:楊棟 來源:《微計算機信總》(嵌入式姆SOC)2009年第2-2期 |