新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于ARM的智能電子提花機(jī)控制系統(tǒng)設(shè)計

基于ARM的智能電子提花機(jī)控制系統(tǒng)設(shè)計

——
作者: 時間:2007-10-18 來源:電子測量技術(shù) 收藏

  引 言

  提花就是在織物的織造過程中對經(jīng)線的升降加以控制,使其具有凹凸不平的立體感。隨著電子技術(shù)的發(fā)展,紡織提花技術(shù)由最初的機(jī)械選針方式發(fā)展到現(xiàn)在的電磁選針方式。電子提花與機(jī)械提花相比,結(jié)構(gòu)較為簡單,花型控制更為靈活可靠。電子提花又有基于工控機(jī)和基于嵌入式單片機(jī)兩種方案,后者比前者在可靠性、成本等方面更具有優(yōu)勢。

  1 電子提花機(jī)嵌入式控制系統(tǒng)硬件設(shè)計

  設(shè)計方案中,本文采用了核心板+底板的方式。在不修改核心板電路圖的情況下,只要改變底板的功能單元,就可以方便得對系統(tǒng)的外圍接口進(jìn)行擴(kuò)展。有利于二次開發(fā),核心板框和底板框圖如圖1、2所示。

  

  

  核心板上集成Samsung S3C2410處理器,32M的SDRAM以及8M的Flash。

  底板上提供了以下外設(shè)接口:一個15芯的和一個37芯的接口(用于實現(xiàn)對提花機(jī)進(jìn)行各種控制),2個四線RS232串口,2個USB HOST接口,一個10M/100M自適應(yīng)以太網(wǎng)接口,一個TFT LCD接口和一個觸摸屏接口。核心板和底板配合即構(gòu)成一個最小的完整的應(yīng)用系統(tǒng)。

  由于S3C2410提供了117路復(fù)用的IO口線,本文利用了其中的28路口線對提花機(jī)實現(xiàn)了各種控制。見表1和表2。

  

  

  2 電子提花機(jī)系統(tǒng)軟件設(shè)計

  電子提花機(jī)控制系統(tǒng)軟件主程序流程如圖3所示。

  

  開機(jī)以后,控制程序開始運行;讀取初始化的配置文件,該文件記錄了工作的任務(wù),磁鐵板的數(shù)量和過孔信息。根據(jù)工作任務(wù)文件,可以獲得花樣文件位置,將它讀入內(nèi)存中,并設(shè)置織造重復(fù)次數(shù)的數(shù)據(jù)變量。如果該操作不成功,則要求手動輸入。

  如果操作成功,就進(jìn)入硬件檢查部分。硬件檢查將通過CheckIO( )函數(shù),向磁鐵板上發(fā)送信息,并將信息讀回,以此判斷磁鐵板是否存在問題。

  如果硬件檢查沒有問題,就開始進(jìn)入控制送數(shù)的階段,該階段在SendData()中完成。

  SendData( )函數(shù)是控制流程中最重要的一個函數(shù),它控制著織造的整個過程。

  在SendData( )中也可能因各種情況而退出,如硬件錯誤,送數(shù)錯誤,工作單任務(wù)完成需要重新調(diào)配或者直接退出程序等;在退出SendData( )后,需要判斷退出的原因,對以上幾種情況分別做出處理:如果硬件錯誤或送數(shù)出錯,則會等待清除錯誤以及按鍵處理;如果是工作單完成,則等待操作人員的指示,可能是重新添加新的任務(wù),或者是重復(fù)原來的工作,也有可能是直接退出;在SendData( )內(nèi)也有可能因操作人員要求直接退出。

  3 驅(qū)動程序

  在嵌入式Linux中通過設(shè)計相應(yīng)的設(shè)備驅(qū)動程序來完成對的GPIO端口的訪問控制,進(jìn)而實現(xiàn)對提花機(jī)的各種控制。

  內(nèi)核內(nèi)部通過file結(jié)構(gòu)識別設(shè)備,通過file_operations數(shù)據(jù)結(jié)構(gòu)提供文件系統(tǒng)的入口點函數(shù),也就是訪問設(shè)備驅(qū)動的函數(shù)。file_operations是定義在中的函數(shù)指針表。

  以對磁鐵板發(fā)送串行數(shù)據(jù)為例,我們用S3C2410芯片GPB1引腳發(fā)送時鐘信號SCLK_O,GPB0引腳發(fā)送串行數(shù)據(jù)SDATA_O(見表1)。使用如下file_operations數(shù)據(jù)結(jié)構(gòu):

  

  其中ioremap函數(shù)的作用是把GPB的控制寄存器和數(shù)據(jù)寄存器的物理地址映射成I/O內(nèi)存,這樣我們就可以訪問I/O寄存器了。devfs_register( )函數(shù)的作用是向Linux內(nèi)核注冊設(shè)備驅(qū)動程序。

  有了驅(qū)動的支持,在應(yīng)用程序中就可以直接對硬件設(shè)備(S3C2410的GPB0和GPB1引腳)進(jìn)行訪問了。

  4 實驗結(jié)果及結(jié)論

  圖4為示波器測得的B0、B1口的輸出。圖4的上方為B1,即SCLK_O;下方為B0,即SDATA_O。對SCLK_O信號,示波器每個所代表的時間是2 μs,所得的時鐘周期是7μs,滿足系統(tǒng)所需要的送數(shù)速度;程序發(fā)送的串行數(shù)據(jù)SDATA_O為非周期性,所以使得B1輸出的信號也呈非周期性。經(jīng)現(xiàn)場調(diào)試,該系統(tǒng)能滿足對提花機(jī)的實時控制要求。

  

  基于的電子提花機(jī)控制系統(tǒng)與采用PC或工控機(jī)進(jìn)行現(xiàn)場控制的系統(tǒng)方案相比,有著穩(wěn)定性高、成本低的明顯優(yōu)勢。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉