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