摘要:
本文在分析電腦橫機(jī)功能要求和控制系統(tǒng)的實(shí)現(xiàn)方式的基礎(chǔ)上,介紹一種基于嵌入式技術(shù)開發(fā)的全自動(dòng)電腦橫機(jī)控制系統(tǒng),提出采用32位處理器ARM和FPGA作為嵌入式全自動(dòng)橫機(jī)的主控制和從控制,基于此設(shè)計(jì)思路的電腦橫機(jī)控制系統(tǒng)性價(jià)比和集成度都比較高,具有較好的使用價(jià)值。
關(guān)鍵字: 電腦橫機(jī) ARM FPGA
全自動(dòng)電腦橫機(jī)是針織行業(yè)中技術(shù)含量較高的機(jī)械,它集成了大量的數(shù)字開關(guān)量控制、電子驅(qū)動(dòng)、機(jī)械機(jī)構(gòu)、電機(jī)驅(qū)動(dòng)等技術(shù),可以編織非常復(fù)雜的手搖橫機(jī)無法完成的衣片組織 。隨著電腦針織的普及,具有高性價(jià)比和高集成度的電腦橫機(jī)越來越受到青睞,隨之,此類產(chǎn)品的需求量也越來越大。但是目前市場(chǎng)上的電腦橫機(jī)控制器大多數(shù)采用單片機(jī)做主處理器或者以工業(yè)控制計(jì)算機(jī)為基礎(chǔ)開發(fā)而來,還有采用32位處理器ARM和群組單片機(jī)組成的控制系統(tǒng)。采用單片機(jī)做主處理器,有集成度不高、穩(wěn)定性不好等缺點(diǎn)。以工業(yè)控制計(jì)算機(jī)為基礎(chǔ)開發(fā)而來的電腦橫機(jī)控制系統(tǒng),主程序在工控機(jī)上運(yùn)行,處理速度快,運(yùn)行穩(wěn)定,但正常工作時(shí),由于前端控制點(diǎn)所需要的信息量很大,要求反應(yīng)時(shí)間極短,控制精度不高,體積龐大等缺點(diǎn)也相應(yīng)的暴露出來并且成本較高。采用32位處理器ARM和群組單片機(jī)組成的控制系統(tǒng),雖然簡(jiǎn)化了電腦橫機(jī)控制系統(tǒng)的結(jié)構(gòu),使用了多種外圍芯片集于一體的ARM芯片,提高了系統(tǒng)的穩(wěn)定性和可靠性,但多單片機(jī)的協(xié)調(diào)工作問題及工業(yè)場(chǎng)合的抗干擾問題一直未得到很好的解決,系統(tǒng)的平均無故障時(shí)間仍有待于進(jìn)一步提高。我們?cè)诜治鲭娔X橫機(jī)功能要求和控制系統(tǒng)的實(shí)現(xiàn)方式的基礎(chǔ)上,提出采用32微處理器ARM和FPGA作為該控制系統(tǒng)的主控制和從控制,基本解決了上述問題。在該系統(tǒng)中ARM作為上位機(jī)主要實(shí)現(xiàn)加工數(shù)據(jù)的管理,F(xiàn)PGA解釋并執(zhí)行上位機(jī)送來的命令及監(jiān)控個(gè)子系統(tǒng)的運(yùn)行情況,發(fā)現(xiàn)異常時(shí)向上位機(jī)報(bào)警。
控制系統(tǒng)框架如圖1所示
[align=center]

圖1控制系統(tǒng)框架圖[/align]
1電腦橫機(jī)控制系統(tǒng)的要求
電腦橫機(jī)控制系統(tǒng)主要包括,選針控制模塊、導(dǎo)紗控制模塊、三角控制模塊、密度調(diào)節(jié)控制模塊、機(jī)頭傳動(dòng)控制模塊、牽拉卷取控制模塊、壓腳控制模塊、橫移控制模塊、現(xiàn)場(chǎng)同步與故障信號(hào)預(yù)處理模塊等部分。而橫機(jī)控制系統(tǒng)的核心就是通過電磁鐵、步進(jìn)電機(jī)、交流伺服電機(jī)等執(zhí)行設(shè)備配合檢測(cè)單元產(chǎn)生的同步信號(hào)來完成編織所需的各個(gè)特定動(dòng)作的,因此其基本控制對(duì)象即為電磁鐵和電機(jī)。其中:被控制的電機(jī)包括2套交流伺服電機(jī)、18套步進(jìn)電機(jī)和8套直流卷布電機(jī):①1套交流伺服電機(jī)作為主傳動(dòng)電機(jī),通過皮帶帶動(dòng)機(jī)頭運(yùn)動(dòng);②1套交流伺服電機(jī)作為搖床電機(jī),針織過程中控制搖床動(dòng)作;③8套直流電機(jī),控制卷布牽拉機(jī)構(gòu);④8套步進(jìn)電機(jī),調(diào)節(jié)壓針密度;⑤4套步進(jìn)電機(jī)控制壓腳;⑥6套步進(jìn)電機(jī)用于完成剪刀剪線動(dòng)作;被控制的電磁鐵有160個(gè)之多,主要分為:①紗嘴選擇電磁鐵2組,每組8套電磁鐵;②三角控制電磁鐵4組,每組6套電磁鐵;③選針器控制器8組,每組10套電磁鐵。橫機(jī)控制信號(hào)如表1所示。
2硬件系統(tǒng)設(shè)計(jì)
電腦橫機(jī)控制系統(tǒng)是一個(gè)在線實(shí)時(shí)控制系統(tǒng),設(shè)計(jì)時(shí)要同時(shí)考慮控制的可靠性及其性價(jià)比。如前所述,由于單片機(jī)和工業(yè)控制計(jì)算機(jī)分別存在著諸如集成度不高、穩(wěn)定性不好和成本較高等方面的缺點(diǎn)。因此,我們選用ARM作為本系統(tǒng)的主處理器,由于電腦橫機(jī)共有265路輸入輸出信號(hào),對(duì)不同信號(hào)的處理要求遵循特定的時(shí)序和邏輯,并且系統(tǒng)有多路中斷信號(hào)和控制信號(hào),但是主處理器的I/O口資源有限,因此在ARM作為主處理器的基礎(chǔ)上擴(kuò)展了三片Cyclone系列FPGA芯片作為從處理器。
本系統(tǒng)選用SAMSUNG公司的S3C44BOX作為主處理器,這是一款16/32 位ARM 7TDMI RISC 處理器(66MHz) , 提供了豐富的內(nèi)部設(shè)置包括,8KB cache,內(nèi)部SRAM,LCD控制器,帶自動(dòng)握手的2通道UART,4通道DMA,系統(tǒng)管理器,代用PWM功能的5通道定制器等[2]。三片F(xiàn)PGA選用Altera公司Cyclone系列的EP1C6Q240,它采用0.13um的工藝制造,內(nèi)部具有鎖相環(huán)、RAM塊、邏輯容量為5980個(gè)LE,最大用戶I/O有185個(gè)。內(nèi)部RAM塊只有M4K一種,可以實(shí)現(xiàn)真正雙端口、簡(jiǎn)單雙端口和單端口的RAM,可以支持移位寄存器和ROM方式。共有8個(gè)內(nèi)部全局時(shí)鐘網(wǎng)絡(luò),支持DDR存儲(chǔ)器接口,支持高速LVDS接口[3]。
ARM作為主處理器負(fù)責(zé)LCD顯示及鍵盤處理實(shí)現(xiàn)良好的用戶界面,并且通過數(shù)據(jù)總線、地址總線和控制總線(包括中斷請(qǐng)求線和讀寫控制線)給FPGA寫入命令,傳輸/讀取數(shù)據(jù),同時(shí)FPGA收集外部眾多檢測(cè)信號(hào),進(jìn)行相應(yīng)的處理,并將重要的信號(hào)反饋給上位機(jī)進(jìn)行實(shí)時(shí)顯示。三片F(xiàn)PGA以從處理器的模式配合主處理器工作,作為主控制系統(tǒng)與底層執(zhí)行器的直接對(duì)話部分,實(shí)現(xiàn)對(duì)多路電機(jī)、電磁鐵的驅(qū)動(dòng)和控制。具體來說,F(xiàn)PGA(A)完成3路用戶輸入(啟動(dòng)、停止和點(diǎn)動(dòng))、8套直流電機(jī)、2套交流伺服控制及29路檢測(cè)信號(hào)的監(jiān)聽工作,包括8路位置傳感信號(hào)、7路故障報(bào)警信號(hào)、11路零位置傳感信號(hào)及3路位置計(jì)數(shù)信號(hào),充分反映了橫機(jī)當(dāng)前的工作狀態(tài);FPGA(B)、FPGA(C)用于控制18套步進(jìn)電機(jī)(密度控制、壓腳控制、剪刀控制)及160路電磁鐵(紗嘴選擇、三角控制、選針器控制)的吸合與彈開。
由于FPGA驅(qū)動(dòng)能力有限,因此我們使用LVC245來增強(qiáng)電路的驅(qū)動(dòng)能力,最大電流可達(dá)100毫安。另外,本控制系統(tǒng)有多路電源,強(qiáng)弱電信號(hào)必須經(jīng)過隔離,我們選用的是光電耦合器2501來實(shí)現(xiàn)隔離的功能。系統(tǒng)硬件結(jié)構(gòu)如圖2所示。
[align=center]

圖2系統(tǒng)硬件結(jié)構(gòu)圖[/align]
3軟件系統(tǒng)設(shè)計(jì)
電腦橫機(jī)控制信息的流程一般可歸納如下:從輸入設(shè)備取得花型圖像,該花型圖像經(jīng)花型準(zhǔn)備系統(tǒng)處理后,轉(zhuǎn)換成花型數(shù)據(jù)文件,該文件不僅包含花型本身的信息,還包含選針數(shù)據(jù)和其他控制數(shù)據(jù),通過信息載體輸出到電腦橫機(jī)控制器的上位機(jī)模塊,經(jīng)上位機(jī)模塊的預(yù)處理,傳送給下位機(jī)各子模塊,由下位機(jī)各子模塊根據(jù)現(xiàn)場(chǎng)信號(hào)進(jìn)行實(shí)時(shí)處理,然后將控制信號(hào)輸出給各個(gè)子控制的執(zhí)行單元,從而完成整個(gè)控制任務(wù)。
通過對(duì)上述過程分析,該電腦橫機(jī)控制系統(tǒng)的軟件包括底層設(shè)備驅(qū)動(dòng)程序、應(yīng)用程序、工藝執(zhí)行程序等。針織控制程序基于設(shè)備驅(qū)動(dòng)接口實(shí)現(xiàn)針織過程的軟件控制。驅(qū)動(dòng)服務(wù)程序包括自動(dòng)配置和初始化子程序,服務(wù)于I/O請(qǐng)求的子程序和中斷服務(wù)子程序。由于工藝執(zhí)行部分有29路檢測(cè)信號(hào)接入到FPGA上,通過FPGA的中斷管理模塊進(jìn)行集中收集并向上位機(jī)申請(qǐng)中斷,當(dāng)應(yīng)中斷時(shí),中斷服務(wù)程序被執(zhí)行。服務(wù)于I/O請(qǐng)求的子程序,通過一系列入口函數(shù),控制電磁鐵和電機(jī)的動(dòng)作。
我們采用Borland C/C++進(jìn)行軟件開發(fā)。上位機(jī)程序包括初始化、主程序面板管理子程序、花型信息處理子程序、中斷服務(wù)子程序通訊子程序等。當(dāng)系統(tǒng)啟動(dòng)時(shí),設(shè)置一些參數(shù),對(duì)各種電機(jī)及電磁鐵電路自檢并復(fù)位,確保機(jī)頭在機(jī)器兩端,然后進(jìn)人花型信息處理程序的主控模塊。在編織之前,通過USB接口讀入U(xiǎn)盤中設(shè)計(jì)好的花型數(shù)據(jù)文件。然后設(shè)定針床原點(diǎn),再對(duì)輸入/輸出信號(hào)進(jìn)行測(cè)試,測(cè)試正確后,調(diào)用編織模塊中的試編織子模塊試編織一行數(shù)據(jù),最后才開始正式編織。
大多數(shù)復(fù)雜的嵌入式系統(tǒng)中都采用實(shí)時(shí)操作系統(tǒng),我們選用UC/OSⅡ作為該控制系統(tǒng)的操作系統(tǒng)。UC/OSⅡ是一種源碼開放(C 代碼) 的嵌入式實(shí)時(shí)操作系統(tǒng),簡(jiǎn)單易學(xué),提供了嵌入式系統(tǒng)的基本功能,其核心代碼短小精悍,如果針對(duì)硬件進(jìn)行優(yōu)化,還可以獲得更高的執(zhí)行效率[2 ] 。UC/OSⅡ在本控制系統(tǒng)中主要負(fù)責(zé)各個(gè)功能任務(wù)管理和調(diào)度,是整個(gè)控制系統(tǒng)的軟件運(yùn)行環(huán)境。利用UC/OSⅡ的任務(wù)調(diào)度和郵箱消息傳遞可實(shí)現(xiàn)各部分功能之間的通訊和任務(wù)級(jí)調(diào)度,實(shí)現(xiàn)橫機(jī)各個(gè)復(fù)雜部件控制的協(xié)調(diào)配合。
4結(jié)束語
本文所研究的是基于ARM和FPGA的新型電腦橫機(jī)控制系統(tǒng)。它具有處理速度快,運(yùn)行穩(wěn)定且實(shí)時(shí)性好等特點(diǎn),使得以單片機(jī)和工控機(jī)為處理器的橫機(jī)控制系統(tǒng)所帶來的問題得到了很好地解決。對(duì)比傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)方法,本課題設(shè)計(jì)的系統(tǒng)在縮短前端控制時(shí)間的基礎(chǔ)上提高了控制精度,也能使現(xiàn)龐大的控制系統(tǒng)的體積縮小。