
摘 要:本文中的電腦橫機數據處理系統以ARM9處理器為核心,通過USB接口取得花型準備系統生成的花型文件,采用合理的算法將花型文件處理成下位機能識別的控制數據,通過CAN總線發送給下位機。本文主要介紹該系統硬件模塊設計、數據處理的算法設計以及基于EVC的人機界面設計,軟硬件經過反復調試,能夠準確、及時地接收和發送數據。
關鍵詞:電腦橫機 ARM9 數據處理系統 CAN通訊
中圖分類號:TP2 文獻標識碼:A 文章編號:1672-3791(2013)06(c)-0020-01
電腦橫機機構復雜,實時性要求高,為了控制系統能高效、穩定地控制各執行機構,有必要在花型準備系統和控制器之間增加數據處理系統。
1 數據處理系統的硬件架構介紹
此系統主要任務是實現數據讀取、數據處理、CAN通訊和人機交互等功能,各功能都需要硬件模塊和軟件算法相互配合才能實現。數據讀取功能是通過USB接口將花型文件從U盤等存儲設備中讀取文件來實現的。數據處理功能是依靠ARM9強大的運算能力實現的,ARM9是本系統的主芯片。人機交互功能的實現,需要一塊液晶屏來顯示數據,還需要觸摸屏來實現數據的輸入。
2 數據處理系統的軟件實現
2.1 軟件的開發工具和總體框架
由于此系統采用的是WinCE5.0版本操作系統,因此應當用EVC++作為應用程序的開發工具。軟件的實現,可分為四個部分:(1)讀取和保存二進制文件模塊;(2)實現數據處理的算法設計;(3)CAN總線收發數據模塊;(4)人機交互界面模塊。系統程序流程圖如圖1所示。
2.2 讀取和保存文件模塊
讀取文件是數據處理系統程序中的第一步,其設計思路如下:(1)打開一個選擇文件對話框,選取要讀入的文件,用CFileDia
log類實現;(2)獲取要讀入文件的句柄,并設置讀入的方式,用CreateFile( )函數實現;(3)讀取文件的內容,并把內容存入自定義的數組中。以上三個步驟完成了讀取文件的任務。保存文件的思路與讀取文件類似,不再贅述。
2.3 數據的處理
從U盤讀取的文件中,包含了行控制文件、花型文件、循環文件和速度文件,不同文件的數據結構和處理方法不盡相同。在數據處理過程中,會產生三種結構不同的數據:(1)花型準備系統生成的文件中的數據和用戶修改后最終保存在文件的數據,這兩組數據本質上是一樣的,具體內容稍有不同,屬于同一種數據結構;(2)經過算法處理后,顯示在人機界面上供操作者查看和修改的數據;(3)操作者確認之后,經過處理后可以通過CAN總線發送到下位機的數據結構。
2.4 CAN收發數據的實現
本系統中所用的CAN控制器驅動程序為流接口驅動程序,在構建操作系統映像時已編譯到內核中。由于是流接口驅動,所以使用CreatFile()函數以文件的方式打開本驅動,以獲取本驅動文件的句柄。
驅動打開成功之后,為了實現數據的接收,需要在程序中編寫一個接收線程。該線程是一個無限循環,它不斷地查詢CAN接收線程退出標志m_bKillThread,如果退出標志有效,則該循環結束,退出循環。當讀CAN函數查詢到收到數據,并且數據長度正確,則將接收到得數據進行處理。接收到的數據可以分成兩大塊:一是發送花型文件數據的請求信號;二是監控界面需要的反應機器運行狀態的數據。
數據發送功能是調用WriteFile()函數來實現的[1]。發送數據的程序分成兩塊:一是發送用戶通過操作界面設定的工作參數的程序;二是發送花型文件經過處理后的數據的程序。
2.5 人機界面的設計
EVC++軟件中提供基于對話框的界面開發方式,里面包含了常用的控件,極大地方便了程序開發者。本設計的人機界面中主要包括以下頁面:(1)主菜單;(2)文件讀取和CAN口打開、關閉頁面;(3)數據查看、修改和保存頁面;(4)橫機運行狀態監控頁面;(5)橫機工作參數設置頁面。
3 調試和總結
程序編寫完成后,PC機與數據處理系統通過USB建立ActiveSync連接,將EVC編譯生成的可執行文件傳輸到以ARM9為核心數據處理系統中。利用USBCAN2工具,能實現系統和PC機的CAN數據傳輸。數據處理系統運行后,PC機通過ZLGCANTest軟件接收和發送數據,經測試系統收發數據正常,并且數據正確,達到預期的效果。
參考文獻
[1]曾宗云,李永波,胡旭東.基于CAN總線的電腦橫機控制系統的研究[J].浙江理工大學學報,2007(6):613-616.