徐開蕓,劉蘭英,金永良
XU Kai-yun1,2,LIU Lan-ying1,2,JIN Yong-liang3
(1. 南京工程學(xué)院,南京 211167;2. 先進(jìn)數(shù)控技術(shù)江蘇省高校重點(diǎn)建設(shè)實(shí)驗(yàn)室,南京 211167;3. 常熟市金龍機(jī)械有限公司,常熟 215500)
針織機(jī)械包括手套機(jī)、襪機(jī)、橫機(jī)、圍巾機(jī)、提花機(jī)、圓緯機(jī)等。隨著生活水平的逐步提高,人們對針織產(chǎn)品的需求也有著相應(yīng)提高,針織產(chǎn)品款式和工藝的發(fā)展日新月異,針織企業(yè)對針織機(jī)械的需求呈現(xiàn)快速增長的趨勢。目前我國的針織企業(yè)中,手動(dòng)或半自動(dòng)針織機(jī)械仍占有相當(dāng)比例,這部分設(shè)備因不能滿足針織品日益復(fù)雜化、精細(xì)化的趨勢,將逐步被淘汰,取而代之的是功能強(qiáng)大、操作簡單、可靠性高的全自動(dòng)計(jì)算機(jī)控制針織機(jī)械。而對于全自動(dòng)針織機(jī)生產(chǎn),國內(nèi)企業(yè)大多局限于機(jī)械部分的設(shè)計(jì)與制造,核心控制系統(tǒng)主要依賴進(jìn)口。因此,自行研制具有自主知識產(chǎn)權(quán)的針織機(jī)械電氣控制系統(tǒng)一方面可以大大減少生產(chǎn)成本,另一方面也可以方便針織機(jī)械設(shè)備的使用和維護(hù)。另外,針織機(jī)械作為具有獨(dú)特結(jié)構(gòu)特點(diǎn)的一類專用機(jī)械具有很多相同的工作特性,針對這些共同之處進(jìn)行系統(tǒng)性研究,構(gòu)建相應(yīng)的的通用平臺具有重要的理論價(jià)值和現(xiàn)實(shí)意義。
針織機(jī)械的電氣控制系統(tǒng)與其它工業(yè)控制系統(tǒng)相比,具有如下顯著特點(diǎn)[1,2]:
1)開關(guān)量多
針織機(jī)械的機(jī)械結(jié)構(gòu)部分與電氣控制系統(tǒng)之間控制信號的執(zhí)行通常由電磁鐵完成。控制系統(tǒng)輸出開關(guān)量信號控制電磁鐵的開合,從而進(jìn)一步控制機(jī)械系統(tǒng)的動(dòng)作。針織機(jī)的機(jī)械系統(tǒng)與針板、紗線、剪刀等部件的機(jī)械運(yùn)動(dòng)直接關(guān)聯(lián),結(jié)構(gòu)相對復(fù)雜。因此針織機(jī)械控制系統(tǒng)中,用于控制各機(jī)械部件的電磁鐵數(shù)量通常都比較龐大。例如,全自動(dòng)電腦手套機(jī)需要將近20路輸出電磁鐵,而全自動(dòng)電腦橫機(jī)的輸出電磁鐵數(shù)量則在100路以上。通用微控制器如單片機(jī)、DSP等引腳功能相對固定,并且數(shù)量上也不足以控制數(shù)目如此巨大的輸出電磁鐵。為此,可以考慮使用多個(gè)微控制器組成控制陣列,從而提供足夠多的輸出/輸入引腳,但這種方案會增加成本,并且多個(gè)CPU之間的協(xié)調(diào)比較困難。
2)邏輯性強(qiáng)
一般來說,針織機(jī)電氣控制系統(tǒng)的輸出信號中很大部分都是開關(guān)量。這些開關(guān)量輸出用來控制電磁鐵。針織機(jī)的自動(dòng)運(yùn)作主要就是根據(jù)設(shè)計(jì)好的時(shí)序控制電磁鐵的吸合與斷開來操縱各個(gè)機(jī)械部件。任意一個(gè)電磁鐵的所有時(shí)序配合都不允許發(fā)生差錯(cuò),要做到與系統(tǒng)運(yùn)行節(jié)拍嚴(yán)格一致,否則都將導(dǎo)致整個(gè)產(chǎn)品生產(chǎn)失敗,甚至損壞機(jī)器。在針織機(jī)械設(shè)備中,對于各個(gè)電磁鐵動(dòng)作邏輯的精確度要求也非常高,有些電磁鐵要求在基準(zhǔn)脈沖波形上升沿或下降沿動(dòng)作的誤差也不允許過大,這樣才能保證編織速度的提高。所以,在針織機(jī)工作過程中,每個(gè)電磁鐵動(dòng)作都要保證與運(yùn)行節(jié)拍嚴(yán)格吻合,和其它電磁鐵之間的時(shí)序配合也不允許發(fā)生任何差錯(cuò)。
3)電磁鐵干擾嚴(yán)重
針織機(jī)中電磁鐵動(dòng)作時(shí)觸點(diǎn)的吸合與斷開會通過多種途徑對電氣控制系統(tǒng)的電源以及信號造成瞬時(shí)干擾。對于控制時(shí)序和數(shù)據(jù)流信號,受干擾后會造成控制邏輯混亂、運(yùn)算數(shù)據(jù)發(fā)生錯(cuò)誤或引起微型計(jì)算機(jī)死機(jī)。當(dāng)系統(tǒng)直流電源受到干擾時(shí),容易影響芯片工作狀態(tài)、導(dǎo)致存儲器中數(shù)據(jù)混亂或丟失,嚴(yán)重時(shí)甚至?xí)龤酒?。電磁鐵觸點(diǎn)動(dòng)作時(shí)產(chǎn)生的噪聲是一個(gè)瞬時(shí)的振蕩干擾,雖然持續(xù)時(shí)間很短,但也足以影響到系統(tǒng)的正常工作。
由于針織機(jī)械控制系統(tǒng)具有上述特點(diǎn),因此其控制核心可以考慮采用能夠提供大量IO端口的嵌入式控制芯片。嵌入式控制芯片與通用型控制芯片最大不同是嵌入式控制芯片一般適用于為特定用戶群設(shè)計(jì)的系統(tǒng)中,它們通常都具有低功耗、體積小、集成度高等特點(diǎn),能夠把通用CPU中許多由外圍芯片或板卡完成的任務(wù)集成在芯片內(nèi)部,從而使得嵌入式系統(tǒng)設(shè)計(jì)更趨于集成化。由于嵌入式控制系統(tǒng)中的絕大多數(shù)控制硬件均集成在一片控制芯片中,所以其抗干擾性遠(yuǎn)遠(yuǎn)優(yōu)于通用控制系統(tǒng)。若芯片具有資源動(dòng)態(tài)配置功能,那么同樣一片控制芯片在不同場合還能夠?qū)崿F(xiàn)不同功能。
隨著電子技術(shù)及半導(dǎo)體工藝的迅猛發(fā)展,片上系統(tǒng)(SoC, System on Chip)逐漸成為數(shù)字系統(tǒng)設(shè)計(jì)的發(fā)展方向。美國Cypress Semiconductor公司的可編程片上系統(tǒng)(PSoC, Programmable System on Chip)是一種基于通用IP模塊,資源可配置的微控制器[3,4]。芯片由基本的處理器內(nèi)核、存儲器以及用戶可自由選擇配置的模擬模塊和數(shù)字模塊組成,其中處理內(nèi)核M8C為是基于4百萬級8位構(gòu)架的微處理器。根據(jù)不同的應(yīng)用環(huán)境和供電要求,用戶可以通過固件編程來選擇M8C的處理器時(shí)鐘頻率,其范圍在93.7kHz-24MHz之間。M8C擁有一套豐富的指令集,支持匯編語言。M8C內(nèi)部包括5個(gè)寄存器:A(累加器)、X(索引寄存器)、PC(程序計(jì)數(shù)器)、SP(堆棧指針)、F(標(biāo)志寄存器),其中PC為16位寄存器,其他寄存器均為8位。不同型號PSoC內(nèi)部具有4~32kB程序FLASH存儲器、256~2kB數(shù)據(jù)存儲器。
PSoC除了具有處理器內(nèi)核和存儲器之外,還包括了豐富的模擬、數(shù)字模塊。其中模擬模塊包括各種模數(shù)轉(zhuǎn)換器(ADCs)、數(shù)模轉(zhuǎn)換器(DACs)、增益可配置放大器(gain stages)、濾波器(filter)等,數(shù)字模塊包括各種定時(shí)器(timer)、可配置計(jì)數(shù)器(counter)、串行通信(UART/SPI)模塊以及數(shù)字式脈寬調(diào)制(PWM)模塊、電可擦除存儲器(EEPROM)模塊等。與傳統(tǒng)單片機(jī)相比,使用PSoC芯片一方面可以省去用戶設(shè)計(jì)電路時(shí)所需的外圍器件,另一方面給予用戶極大的自由度,使用戶可以根據(jù)不同系統(tǒng)選擇自己所需模塊。模塊之間的連接、模塊與引腳的連接以及引腳的功能和狀態(tài)均可自由配置。所有PSoC器件的配置均具有動(dòng)態(tài)特性,設(shè)計(jì)人員可在不同的時(shí)間段配置同一模塊給不同管腳,以提高芯片的利用率。
由于一片PSoC芯片應(yīng)用在不同系統(tǒng)中,內(nèi)部硬件資源配置以及外部引腳的功能可以完全不同,因此從硬件角度來說,產(chǎn)品硬件系統(tǒng)很難被仿制,從而起到自主知識產(chǎn)權(quán)的保護(hù)作用。另一方面,PSoC程序編譯、鏈接形成目標(biāo)代碼時(shí),可以選擇部分或全部不可讀,相當(dāng)于“軟件加密”,從軟件角度有效地保護(hù)了控制程序。
PSoC的開發(fā)基于成熟而又豐富的用戶模塊,極大地減少甚至免除了設(shè)計(jì)者在成千上萬種外圍元器件中選擇的煩惱,節(jié)省了模擬量處理電路調(diào)試及修改的精力和時(shí)間,提高了系統(tǒng)設(shè)計(jì)的成功率、靈活性和可靠性。軟件設(shè)計(jì)方面,由于開發(fā)系統(tǒng)可以根據(jù)硬件電路的構(gòu)造自動(dòng)生成高質(zhì)量的可調(diào)用API函數(shù),編程者無須像以前那樣在底層驅(qū)動(dòng)程序上勞神費(fèi)力,而可將精力更多的放在應(yīng)用層程序的編制上,因而大大提高了開發(fā)效率。
由于PSoC采用了一種新的硬件架構(gòu),用戶通過可配置的數(shù)字及模擬模塊靈活地構(gòu)造出所需要使用的最小系統(tǒng),這是傳統(tǒng)的或是走傳統(tǒng)路線的單片機(jī)所不具備的。另外,PSoC可以動(dòng)態(tài)配置所需功能模塊的種類和數(shù)量,動(dòng)態(tài)地完成片上資源的重新分配,實(shí)現(xiàn)新的外圍元器件功能,保證了系統(tǒng)資源的最大化、最合理化和最經(jīng)濟(jì)化。從而實(shí)現(xiàn)了系統(tǒng)單片化的目標(biāo),減少了印制電路板的面積,提高了性價(jià)比。
圖1 PSoC系統(tǒng)與傳統(tǒng)微處理器系統(tǒng)的比較
如圖1所示為典型控制系統(tǒng)采用傳統(tǒng)微控制器設(shè)計(jì)方案和PSoC控制器設(shè)計(jì)方案的比較。內(nèi)部小虛線框中是傳統(tǒng)通用型微處理器所具備的功能,而外部大虛線框中是PSoC微控制器所具備的功能,PSoC除了核心控制功能外,同時(shí)具備了模擬信號和數(shù)字信號的可配置特性。由此可以發(fā)現(xiàn),PSoC完全不同于以往的傳統(tǒng)型微處理器。PSoC開發(fā)者不需要自己構(gòu)建ADCs、DACs和其他外圍設(shè)備,可通過PSoC的可配置性進(jìn)行資源調(diào)配,而且PSoC微控制器成功引入了動(dòng)態(tài)可重新配置功能,可以真正實(shí)現(xiàn)在線可編程??梢姡黄琍SoC微控制器可以代替一個(gè)單片機(jī)最小系統(tǒng)和部分外圍電路。
手套機(jī)是針織機(jī)械的典型代表之一,下面就以手套機(jī)為例,討論P(yáng)SoC芯片在手套機(jī)電氣控制系統(tǒng)中的配置和設(shè)計(jì)方案[5]。
目前,PSoC芯片共有四個(gè)系列二十余種,不同型號PSoC芯片的主要區(qū)別在于:1)可配置模塊的數(shù)量不同,總數(shù)從6個(gè)至28個(gè)不等;2)引腳(包括可用I/O引腳)數(shù)目不同,一般從8腳至100腳不等;3)存儲空間不同,空間最小的芯片有4k字節(jié)FLASH存儲器、256字節(jié)SRAM存儲器,而空間最大的芯片則擁有32k字節(jié)FLASH存儲器和2k字節(jié)SRAM存儲器。PSoC芯片型號的多樣性使其可以滿足不同復(fù)雜程度的系統(tǒng)、不同設(shè)計(jì)的要求。手套機(jī)控制系統(tǒng)需要40個(gè)以上的I/O引腳,約30kB程序存儲空間。根據(jù)這些特點(diǎn)和需求,可選用CY8C29666芯片。該型號芯片共有48個(gè)引腳(其中可用I/O引腳44個(gè)),32k字節(jié)FLASH程序存儲器空間,2k字節(jié)SRAM存儲空間,可同時(shí)配置12個(gè)模擬模塊和16個(gè)數(shù)字模塊。
根據(jù)手套機(jī)功能需求,可在CY8C29666芯片內(nèi)配置一個(gè)EEPROM模塊,兩個(gè)串行通信模塊和一個(gè)8位計(jì)數(shù)器模塊。其中,EEPROM模塊是在PSoC的FLASH存儲器中,運(yùn)用軟件機(jī)制來模擬硬件EEPROM電路,并且每個(gè)EEPROM模塊空間為64個(gè)字節(jié),系統(tǒng)選取EEPROM模塊可用于斷電后保存用戶設(shè)定的編織參數(shù)以及當(dāng)前的工作狀態(tài)。系統(tǒng)選用的兩個(gè)串行通信模塊中,一個(gè)用來與變頻器通信,通過變頻器控制電動(dòng)機(jī)的轉(zhuǎn)速[6];另一個(gè)用來與其它手套機(jī)進(jìn)行多機(jī)通信,構(gòu)成網(wǎng)絡(luò)體系[7]。8位計(jì)數(shù)器用來實(shí)現(xiàn)編織過程中的定時(shí)與計(jì)數(shù)功能。系統(tǒng)中模塊與引腳的配置以及各模塊之間的連接界面如圖2所示,圖中左上角的Counter8_1為計(jì)數(shù)器,EEPROM_1為電可擦除存儲器,UART_1和UART_2為RS-232C串行接口。
當(dāng)芯片內(nèi)部配置完畢后,需進(jìn)行外圍電路設(shè)計(jì)。由于系統(tǒng)主要控制功能均可由PSoC處理器內(nèi)核和片內(nèi)配置的模塊實(shí)現(xiàn),所以片外電路比較簡潔。只需要包括鍵盤矩陣、液晶顯示器、電源模塊以及輸入輸出接口電路即可。
PSoC提供的可用引腳均為沒有定義固定功能的標(biāo)準(zhǔn)IO引腳,很適合手套機(jī)等針織機(jī)械IO控制信號多的特點(diǎn)。雖然針織機(jī)械需要的標(biāo)準(zhǔn)IO引腳信號多,但在控制電路中也難免需要一些常用控制引腳,例如LCD的讀/寫控制信號、外接存儲器尋址用地址線和數(shù)據(jù)線等。這些控制引腳均需要用戶自行配置,而且由于其不提供固定輸出時(shí)序,因此用戶需要通過軟件程序來確定其工作控制時(shí)序。這種過程雖然煩瑣,但使用戶獲得了極大的支配權(quán)。手套機(jī)系統(tǒng)中沒有用到片外存儲器,所以不需要數(shù)據(jù)線、地址線和控制總線,用戶可以賦予引腳其它的功能,這也大大提高了芯片硬件資源的利用率。若本系統(tǒng)采用單片機(jī)(如MCS-51系列8032單片機(jī))為控制核心,則實(shí)現(xiàn)手套機(jī)電氣控制系統(tǒng)功能還需增加程序存儲器、數(shù)據(jù)存儲器、8255并口擴(kuò)展電路、地址鎖存器以及相關(guān)的門電路等[8]??梢?,與傳統(tǒng)的單片機(jī)控制系統(tǒng)相比,以PSoC為核心構(gòu)建控制系統(tǒng)可以使電路結(jié)構(gòu)得到簡化,有效降低了產(chǎn)品成本。
圖2 手套機(jī)控制系統(tǒng)中PSoC芯片內(nèi)部配置
針織機(jī)械的電磁鐵控制信號對時(shí)序邏輯要求非常嚴(yán)格,對于大型針織機(jī)械系統(tǒng)如橫機(jī)、大圓機(jī)等需要的控制信號數(shù)量更是遠(yuǎn)遠(yuǎn)超過手套機(jī)。對于這些控制系統(tǒng),除了采用多任務(wù)型控制軟件以外[9],PSoC提供的引腳數(shù)目已不能滿足需求,可以在PSoC系統(tǒng)中外接一片現(xiàn)場可編程門陣列(FPGA,F(xiàn)ield Programmable Gate Array)或復(fù)雜可編程邏輯器件(CPLD,Complex Programmable Logic Device)[10]。這兩種芯片與PSoC一樣,可由用戶自行配置片內(nèi)資源與片外引腳,且內(nèi)部硬件資源和外部引腳數(shù)目均超過PSoC。用戶可以用文本輸入或圖形輸入的方法對FPGA/CPLD內(nèi)部的門電路和邏輯單元(LE)進(jìn)行配置,從而將其設(shè)計(jì)成在特定系統(tǒng)中使用的具有特定功能的專用集成電路芯片。由于設(shè)計(jì)完成之后,芯片由已經(jīng)固化完畢的硬件實(shí)現(xiàn)軟件相應(yīng)的功能,所以不會受到外界的干擾。因此,F(xiàn)PGA/CPLD芯片通常被認(rèn)為是提高系統(tǒng)集成度、可靠性和技術(shù)保密性的最佳選擇之一。FPGA與CPLD內(nèi)部不包括任何確定的功能模塊如處理器核、計(jì)數(shù)器、串行接口等,所有功能均由用戶編程或設(shè)計(jì)電路圖實(shí)現(xiàn),給予用戶最大的設(shè)計(jì)自由度。但另一方面,由于現(xiàn)階段編程實(shí)現(xiàn)高效實(shí)用的處理器核的技術(shù)仍不夠成熟。因此FPGA/CPLD更多用作協(xié)處理器,與主控芯片共同完成控制任務(wù)。因此FPGA/CPLD與PSoC結(jié)合組成控制系統(tǒng)可以滿足更多種類的針織機(jī)械控制系統(tǒng)的需要。
本文提出的PSoC芯片具有的內(nèi)部硬件資源可配置功能可以大大提高系統(tǒng)的集成度,簡化了硬件電路;同時(shí)其高集成度也可以顯著提高系統(tǒng)的抗干擾性能及可靠性。此外,PSoC芯片和FPGA/CPLD芯片引腳由用戶自定義的特點(diǎn)也大大加強(qiáng)了系統(tǒng)的保密性,可以有效地保護(hù)自主知識產(chǎn)權(quán)。這種設(shè)計(jì)思路,值得在針織機(jī)械電氣控制系統(tǒng)中推廣應(yīng)用。
[1]汪木蘭,朱昊,左健民.CPLD/FPGA在手套機(jī)電氣控制系統(tǒng)中的應(yīng)用研究[J].針織工業(yè),2007(9):8-11.
[2]汪木蘭,朱昊,左健民.針織機(jī)械設(shè)備電氣控制系統(tǒng)抗干擾設(shè)計(jì)[J].紡織學(xué)報(bào),2007,28(4):111-115.
[3]何永義,郭帥,王文斌,等.PSoC片上系統(tǒng)原理與應(yīng)用[M].上海:上海大學(xué)出版社,2003.
[4]戴國駿,張翔,曾虹.PSoC體系結(jié)構(gòu)與編程[M].北京:中國科學(xué)技術(shù)出版社,2005.
[5]汪木蘭,朱昊,左健民.基于PSoC和FPGA的手套機(jī)電氣控制系統(tǒng)開發(fā)[J].紡織學(xué)報(bào),2007,28(10):103-107.
[6]汪木蘭,金永良,朱曉春,等.變頻器在全自動(dòng)手套機(jī)中的應(yīng)用[J].針織工業(yè),2008(8):1-4.
[7]汪木蘭,朱昊,金永良,等.全自動(dòng)手套機(jī)實(shí)用型網(wǎng)絡(luò)通信系統(tǒng)的構(gòu)建[J].紡織學(xué)報(bào),2008,29(12):103-107.
[8]朱昊,汪木蘭,左健民.電腦全自動(dòng)手套機(jī)控制系統(tǒng)設(shè)計(jì)[J].機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2006,19(5):130-131,143.
[9]朱昊,汪木蘭,左健民,等.全自動(dòng)手套機(jī)用多任務(wù)型控制軟件的開發(fā)[J].針織工業(yè),2008(1):24-27.
[10]任愛鋒,初秀琴,常存,等.基于FPGA的嵌入式系統(tǒng)設(shè)計(jì)[M].西安:西安電子科技大學(xué)出版社,2004.