基于ARM的智能電子提花機控制系統設計
引 言
提花就是在織物的織造過程中對經線的升降加以控制,使其具有凹凸不平的立體感。隨著電子技術的發展,紡織提花技術由最初的機械選針方式發展到現在的電磁選針方式。電子提花與機械提花相比,結構較為簡單,花型控制更為靈活可靠。電子提花又有基于工控機和基于嵌入式單片機兩種方案,后者比前者在可靠性、成本等方面更具有優勢。
1 電子提花機嵌入式控制系統硬件設計
設計方案中,本文采用了核心板+底板的方式。在不修改核心板電路圖的情況下,只要改變底板的功能單元,就可以方便得對系統的外圍接口進行擴展。有利于二次開發,核心板框和底板框圖如圖1、2所示。


核心板上集成Samsung S3C2410處理器,32M的SDRAM以及8M的Flash。
底板上提供了以下外設接口:一個15芯的和一個37芯的接口(用于實現對提花機進行各種控制),2個四線RS232串口,2個USB HOST接口,一個10M/100M自適應以太網接口,一個TFT LCD接口和一個觸摸屏接口。核心板和底板配合即構成一個最小的完整的應用系統。
由于S3C2410提供了117路復用的IO口線,本文利用了其中的28路口線對提花機實現了各種控制。見表1和表2。


2 電子提花機系統軟件設計
電子提花機控制系統軟件主程序流程如圖3所示。

開機以后,控制程序開始運行;讀取初始化的配置文件,該文件記錄了工作的任務,磁鐵板的數量和過孔信息。根據工作任務文件,可以獲得花樣文件位置,將它讀入內存中,并設置織造重復次數的數據變量。如果該操作不成功,則要求手動輸入。
如果操作成功,就進入硬件檢查部分。硬件檢查將通過CheckIO( )函數,向磁鐵板上發送信息,并將信息讀回,以此判斷磁鐵板是否存在問題。
如果硬件檢查沒有問題,就開始進入控制送數的階段,該階段在SendData()中完成。
SendData( )函數是控制流程中最重要的一個函數,它控制著織造的整個過程。
在SendData( )中也可能因各種情況而退出,如硬件錯誤,送數錯誤,工作單任務完成需要重新調配或者直接退出程序等;在退出SendData( )后,需要判斷退出的原因,對以上幾種情況分別做出處理:如果硬件錯誤或送數出錯,則會等待清除錯誤以及按鍵處理;如果是工作單完成,則等待操作人員的指示,可能是重新添加新的任務,或者是重復原來的工作,也有可能是直接退出;在SendData( )內也有可能因操作人員要求直接退出。
3 驅動程序
在嵌入式Linux中通過設計相應的設備驅動程序來完成對ARM的GPIO端口的訪問控制,進而實現對提花機的各種控制。
內核內部通過file結構識別設備,通過file_operations數據結構提供文件系統的入口點函數,也就是訪問設備驅動的函數。file_operations是定義在
以對磁鐵板發送串行數據為例,我們用S3C2410芯片GPB1引腳發送時鐘信號SCLK_O,GPB0引腳發送串行數據SDATA_O(見表1)。使用如下file_operations數據結構:

其中ioremap函數的作用是把GPB的控制寄存器和數據寄存器的物理地址映射成I/O內存,這樣我們就可以訪問I/O寄存器了。devfs_register( )函數的作用是向Linux內核注冊設備驅動程序。
有了驅動的支持,在應用程序中就可以直接對硬件設備(S3C2410的GPB0和GPB1引腳)進行訪問了。
4 實驗結果及結論
圖4為示波器測得的B0、B1口的輸出。圖4的上方為B1,即SCLK_O;下方為B0,即SDATA_O。對SCLK_O信號,示波器每個所代表的時間是2 μs,所得的時鐘周期是7μs,滿足系統所需要的送數速度;程序發送的串行數據SDATA_O為非周期性,所以使得B1輸出的信號也呈非周期性。經現場調試,該系統能滿足對提花機的實時控制要求。

基于ARM的電子提花機控制系統與采用PC或工控機進行現場控制的系統方案相比,有著穩定性高、成本低的明顯優勢。
評論