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