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