基于ARM和μC/OS-II的人造提花毛皮機控制系統(tǒng)
人造提花毛皮機是生產(chǎn)人造提花毛皮的針織機械。人造提花毛皮廣泛用于服裝、玩具、裝飾等。隨著人民生活水平的不斷提高,市場對人造提花毛皮機的需求量也在大幅度上升。同時,對人造毛皮的質(zhì)量標準也愈加嚴格,這就要求進一步提高人造
提花毛皮機的控制精度和工作效率。ARM處理器具備高性能、低功耗、低成本等優(yōu)點,將其應(yīng)用于人造提花毛皮機控制系統(tǒng),可以提高人造提花毛皮機的處理速度和精度,結(jié)合μC/OS-II實時操作系統(tǒng),實現(xiàn)實時控制,并簡化設(shè)計系統(tǒng)軟件。
嵌入式的發(fā)展方向是32位內(nèi)核,因此結(jié)合LCD顯示及USB存儲技術(shù),設(shè)計基于ARM和μC/OS-II的人造提花機控制系統(tǒng)具有現(xiàn)實意義。
2 系統(tǒng)總體結(jié)構(gòu)
本系統(tǒng)主要由ARM微處理器、存儲器、USB接口、步進電機控制、選針器控制、D/A轉(zhuǎn)換電路和鍵盤及LCD顯示等模塊組成。系統(tǒng)啟動后,微處理器根據(jù)設(shè)定的針筒轉(zhuǎn)速參數(shù)、反饋針筒脈沖數(shù)以及梳理頭密度參數(shù)來控制提花過程,不斷檢測斷毛、斷線
等自停信號,并根據(jù)反饋的針筒脈沖來統(tǒng)計產(chǎn)量和定長自停。USB接口模塊主要用于輸入花型數(shù)據(jù)等參數(shù),LCD模塊用于顯示花型數(shù)據(jù)。串口通信模塊用于實現(xiàn)與人造提花機主機的通訊。其系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示。
3 硬件電路設(shè)計
在傳統(tǒng)提花機的基礎(chǔ)上,本系統(tǒng)更新了ARM模塊、USB模塊以及LCD顯示模塊,符合人造提花機的發(fā)展趨勢,滿足市場需求。
3.1 ARM微處理器系統(tǒng)
ARM微處理系統(tǒng)用于管理整個提花控制過程。本系統(tǒng)采用Samsung公司的S3C44BOX微處理器。S3C244BOX微處理器采用ARM7TDMI內(nèi)核,工作在66 MHz,集成有8 KB Cache、外部存儲器控制器、LCD控制器、71個通用I/O端口、8個外部中斷源等。此外,本系統(tǒng)采用專用復(fù)位器件IMP811實現(xiàn)準確、高效的復(fù)位。系統(tǒng)時鐘采用外接10MHz和32.768 kHz的晶體振蕩器同時工作,其中,10 MHz晶體振蕩器經(jīng)ARM內(nèi)部PLL倍頻轉(zhuǎn)換為66 M:Hz。32.768 kHz晶體振蕩器為ARM的RTC(實時時鐘)計時。OMO經(jīng)上拉電阻接高電平,OM1直接接地,確保OM[1:0]=01,從而確定nGCSO的總線寬度為16位。OM3,OM2同時接地,使得OM[3:2]=00,打開內(nèi)部PLL模式。PLL-CAD外接700 pF的系統(tǒng)時鐘環(huán)路電容;VDDRTC是RTC的電源接口,外接3 V電壓,為電池供電,不支持3.3 V電壓。VDD2外接2.5 V電壓,為內(nèi)核供電。ARM處理器基本系統(tǒng)電路如圖2所示。
3.2 USB接口模塊
本系統(tǒng)采用USB接口技術(shù),選用USB控制器SL811HS。SL811HS是Cypress公司可支持全速數(shù)據(jù)傳輸?shù)腢SB控制器,可作為USB主機或作為設(shè)備的接口控制器:提供全速和低速兩種USB總線速率:片上集成有SIE、單端口Hub、USB收發(fā)器以及256 Byte的RAM:3.3 V的工作電壓;硬件自動產(chǎn)生幀起始包SOF和CRC5/16校驗。采用S3C44BOX的nGCS5選通USB控制器SL811HS。SL811HS的其他
信號線與S3C344BOX的引腳對應(yīng)相連。CPU可從外部U盤提取花型數(shù)據(jù),具有即插即用功能,取代了傳統(tǒng)提花機中的串口通信模塊。USB接口硬件電路圖如圖3所示。
3.3 鍵盤及LCD顯示模塊
本系統(tǒng)采用TLC-VCT256/14G型控制器,可控制640480點陣彩色TFT液晶顯示屏,顯示256種顏色,實時效果好,CPU能隨時寫入顯示存儲器而不影響顯示效果。
4 系統(tǒng)軟件設(shè)計
軟件設(shè)計是指在μC/OS-II的支撐平臺上設(shè)計各硬件模塊電路的驅(qū)動程序,創(chuàng)建和啟動多項任務(wù),創(chuàng)建消息郵箱完成各任務(wù)間的通信,從而控制整個提花過程。
4.1 主程序設(shè)計
程序啟動后,跳轉(zhuǎn)至主函數(shù)開始執(zhí)行,調(diào)用函數(shù)ARMT argetInit()初始化ARM系統(tǒng),包括:建立相關(guān)參數(shù)和變量,配置ARM處理器中斷端口,設(shè)置中斷,并初始化各個器件等。調(diào)用函數(shù)OSInit()初始化μC/OS-II操作系統(tǒng)。 調(diào)用函數(shù)OSTask Create
(Main_Task,(void*)0,(OS_STK*)Main_Task_Stack[TASK_STACK_SIZE-1],Main_Task_PRIO),創(chuàng)建主任務(wù),并在主任務(wù)中創(chuàng)建各分任務(wù),完成整個系統(tǒng)控制。調(diào)用函數(shù)OSStait(),μC/OS-II開始運行,執(zhí)行主任務(wù)。
4.2 各分任務(wù)設(shè)計
分任務(wù)設(shè)計包括USB接口、步進電機控制、選針器控制、D/A轉(zhuǎn)換電路、鍵盤LCD顯示等模塊。由于各任務(wù)間不完全獨立,因此要創(chuàng)建信號量、消息郵箱、消息隊列來完成任務(wù)間通信,該操作通過調(diào)用OSSemCreate(),OSM-boxCreate(),OSQGreate()函數(shù)完成。鍵盤掃描圖分任務(wù)函數(shù)為OSTask Create (Task KEY,(void*)0,(OS_STK*)Task_KEY_Stack[TASK_STACK_SIZE-1],Task_KEY_PRIO)。創(chuàng)建其他任務(wù)函數(shù),驅(qū)動對應(yīng)硬件。而步進電機控制模塊、選針器控制模塊、D/A轉(zhuǎn)換電路模塊則延用傳統(tǒng)提花機設(shè)計,在此不做介紹,以下主要介紹改進的鍵盤LCD顯示和USB接口模塊。
4.2.1 鍵盤及LCD顯示
鍵盤用于管理顯示以及系統(tǒng)所需的其他操作。當LCD任務(wù)和讀取任務(wù)都掛起,讀取任務(wù)向LCD任務(wù)提供顯示所必要的數(shù)據(jù)。各任務(wù)間的通信通過對應(yīng)的信號量,消息隊列和消息郵箱來完成,任務(wù)流程如圖4所示。采用TLC-VCT256/14G控制器進行顯示,編程簡單。該控制器指令格式如表1所列。
其中,D3為保留位,DISP為顯示開關(guān)位,A16、A17、A18為第17、18、19位顯示地址,CMD2、CMD1、CMD0為組合選擇內(nèi)部寄存器通道位“000”時為地址低8位寄存器,“001”時為地址高8位寄存器,“010”為數(shù)據(jù)讀寫通道,“100”’時為4頁功能寄存器。
對于LCD任務(wù),首先創(chuàng)建LCD顯示任務(wù)函數(shù):OST askCreate(Task_LCD,(void*)0,(OS_STK*)Task_LCD_Stac [TASK_STACK_SIZE-l],Task_LCD_PRI-O)。任務(wù)掛起,等待讀取任務(wù)發(fā)送的消息隊列數(shù)據(jù),收到消息隊列后,LCD任務(wù)就緒,得到CPU控制權(quán),先調(diào)用地址寫入函數(shù)void write addr (U32 address);再調(diào)用數(shù)據(jù)寫入函數(shù)void write data(U8 color);最后
調(diào)用具體顯示函數(shù)實現(xiàn)屏幕顯示,顯示函數(shù)原型:void write_word(U16 rowi,U16 tier,U8 eolr1,U8 col-or2,U16 rel)。調(diào)用完成后返回,等待下一個消息的到來,以便執(zhí)行下一環(huán)節(jié)的顯示任務(wù)。
4.2.2 USB接口
USB接口主要用于傳輸花型數(shù)據(jù)。USB任務(wù)與中斷服務(wù)函數(shù)以及存儲任務(wù)同步執(zhí)行。USB插入后,產(chǎn)生中斷,中斷服務(wù)函數(shù)向USB任務(wù)發(fā)送OS-SemPost()信號量,告知USB任務(wù)CPU可與外部USB設(shè)備通信以及數(shù)據(jù)處理,USB任務(wù)接收該信號量后,獲得CPU的控制權(quán),開始執(zhí)行相關(guān)函數(shù)。當讀完USB設(shè)備中的數(shù)據(jù)后,需要將數(shù)據(jù)存儲,進而向存儲任務(wù)發(fā)送消息隊列OSOPost(),存儲任務(wù)開始把發(fā)送的數(shù)據(jù)進行存儲。USB數(shù)據(jù)讀取及存儲任務(wù)流程如圖5所示。
創(chuàng)建USB通信任務(wù)函數(shù):OSTaskCreate(Task-USB,(void*)0,(OS_STK*)Task_USB_Stack[TASK_STACK_SIZE-1],Task_USB_PRIO)。任務(wù)掛起,等待來自中斷處理函數(shù)的信號量:設(shè)計USB中斷處理函數(shù)(USB-INTRQ.C)負責發(fā)送設(shè)備命令,接收設(shè)備狀態(tài)信息,配置設(shè)備,供給電源;設(shè)計USB枚舉函數(shù)(USB_MU.C)實現(xiàn)硬件枚舉;設(shè)計Mass Storage類設(shè)備的枚舉函數(shù)(UJSB_MS.C)實現(xiàn)Mass Storage類協(xié)議中的命令操作,實現(xiàn)數(shù)據(jù)讀?。涸O(shè)計FAT文件系統(tǒng)操作函數(shù)(USB_FAT.C)操作文件系統(tǒng),對FAT表定位,搜索和讀/寫等操作;設(shè)計數(shù)據(jù)讀取函數(shù)(DAT.C),完成ARM處理器通過數(shù)據(jù)線,片選線及讀/寫控制線完成USBN9603數(shù)據(jù)的讀取。當檢測到USB設(shè)備接入(中斷來臨)時檢測設(shè)備狀態(tài),響應(yīng)設(shè)置命令,發(fā)送狀態(tài)信息,發(fā)送數(shù)據(jù)報告,主機開始識別這個外接設(shè)備,在確定了該設(shè)備為USB Mass Storage類的基礎(chǔ)上,主機得到USB閃存的介質(zhì)信息和文件系統(tǒng)信息,實現(xiàn)文件打開和讀寫操作。
5 結(jié)束語
人造提花毛皮機控制系統(tǒng)結(jié)合先進的ARM技術(shù)以及性能優(yōu)越的μC/OS-II嵌入式實時操作系統(tǒng),精度高,效率好。采用USB技術(shù)及LCD顯示技術(shù)取代傳統(tǒng)提花機中的串口通信和數(shù)碼顯示,符合當今市場發(fā)展趨勢,因此本提花控制系統(tǒng)具備良好的應(yīng)用前景。
評論