江慧娜,王一鈞,王淑鴻,孫慧瑜
(北京石油化工學院 信息技術教學與實驗中心,北京 102617)
提花機是實現織物經紗提升控制的裝置,通過控制經紗提升與否從而形成織物圖案。傳統的機械式提花機需要將設計好的圖案變成控制織機的紋版,而紋版通常采用由沖壓機在硬紙板上打孔來存儲數據的方式獲得,該環節非常耗時且會造成紋版的大量消耗。電子提花機則取消了紋版的制作過程,可根據由紋織CAD軟件設計出的代表織物花型的數字化處理文件控制相關經紗的動作,配合提針結構實現高速無紋版提花功能。相對于機械式提花裝置而言,電子提花裝置可顯著提高生產效率[1-2]。在電子提花機中,需要將上位機設計的花型數據文件寫入到控制器中,花型數據的正確寫入和有效存儲決定了提針機構能否完成預定花型編織功能。本設計選用STC公司生產的8位低功耗高性能CMOS微控制器STC89C52RC作為主控芯片[3],采用串行通訊和FLASH存儲實現主控制器與上位機間的花型數據傳輸及存儲,能夠滿足提花機生產過程中花型數據的可靠傳輸及存儲要求。
電子提花控制系統總體構成如圖1。圖中虛線框內即為花型數據傳輸及儲存模塊,MCU1處理器采用串行通訊方式將上位機設計好的花型文件寫入FLASH存儲模塊,生產過程中MCU2處理器讀取FLASH存儲模塊中花型數據,再根據該數據文件控制選針器驅動模塊,有選擇地驅動電磁閥線圈,電磁閥吸,則經紗提升;電磁閥不吸,則經紗不提升。織機據此即可根據花型數據文件所提供的信息織出所需的提花花型,完成整個提花織造過程。本設計將針對圖1所示虛線框內花型數據傳輸及存儲部分的軟硬件設計實現進行介紹。
圖1 提花機控制系統框圖Fig.1 Structure diagram of the control system in jacquard machine
花型數據傳輸及存儲系統硬件部分主要由單片機模塊、RS232串口通訊電平轉換模塊、FLASH存儲模塊及其他輔助部分電路組成。
本設計中單片機選用8位低功耗高性能CMOS微控制器STC89C52RC,在實現單片機與上位機之間的串行通訊時,由于單片機給出的信號TXD/RXD為TTL電平,而上位機端串行通訊口為RS232電平,故需采用MAX232芯片實現兩者間的電平轉換[4]。由于RS232電平較高,接通時產生的高瞬時電涌可能會導致芯片損毀,所以在使用中應盡量避免熱插拔。
圖2 RS232電平轉換及單片機部分電路Fig.2 RS232 level conversion unit and microcontroller unit circuit
Flash存儲器具有低功耗、容量大且速度快的優點,同時也具備很強的電磁抗干擾能力與抗震能力[5],因而在嵌入式開發領域里作為數據存儲設備得到廣泛應用。在本設計中花型數據文件的存儲也采用非易失性 Flash存儲器來完成,由于其斷電后信息不會丟失,使得系統再次開機后可不需要經過上位機而直接從存儲模塊調出加工以方便生產。所選存儲空間的大小由花型文件的經紗和緯紗數決定,根據提花機的實際工作需要,要求存儲系統能滿足約2MB的花型數據存儲的生產要求,預留一定的擴展升級空間,擬定存儲系統存儲空間為4MB。綜合考慮存儲器讀取速度,穩定性以及經濟型指標,選擇SST公司推出的基于SuperFlash技術的NOR Flash系列存儲器SST39SF040作為存儲芯片,該存儲器屬于并行閃速存儲器系列,適用于需要程序在線寫入或大容量、非易失性數據重復存儲的場合。由于該存儲器單片容量為512KB,故本設計中采用8片SST39SF040以滿足4MB的存儲空間需求。
由SST39SF040存儲器構成的存儲模塊驅動電路如圖3所示(圖中僅給出兩片SST39SF040的接口電路),當需要進行花型存儲時,單片機將控制信號P1.6置高,使能譯碼器74HC138輸出,控制信號P1.3~P1.5的譯碼輸出結果Y0~Y7控制八片SST39SF040的片選端CE,選擇指定Flash存儲器進行讀寫操作。STC89C52RC單片機的數據端口P0、讀寫控制端口WR/RD可直接與SST39SF040的相對應端口直接相連。至于地址端口,由于該Flash存儲芯片容量為512KB,對應地址線為19位,超過了單片機的可尋址范圍,設計中單片機采用P1.2~P1.0作為頁面地址選擇位與存儲器的高3位地址端口A18~A17連接,同時由于該型單片機數據端口和地址端口低8位為復用端口,故在發送數據之前須用74HC573芯片將低8位地址鎖存。
系統軟件設計部分主要包含單片機Flash存儲讀寫程序實現、串口通訊實現以及上位機軟件界面設計。本文主要介紹Flash存儲讀寫及上位機軟件界面設計實現。
3.1.1 SST39SF040存儲器指令序列
SST39SF040的軟件指令包含普通讀指令和命令指令兩大類。普通讀指令與RAM的讀操作類似,當OE和CE信號同時為低電平時,即可從芯片讀取數據;芯片命令指令包括芯片ID識別、字節編程、扇區擦除以及整片擦除等。所有這些操作均可由如表1所列的軟件指令序列來實現,其中BA為待編程字節的地址,Data為字節編程數據,SAX為待擦除扇區的地址。所有指令中地址位只有低15位有效,高4位可任意設置[6]。
圖3 存儲模塊驅動電路Fig.3 Driver circuit of storage unit
SST39SF040的軟件操作命令序列實際上是由一個或多個總線寫操作組成的。以SST39SF040的扇區擦除為例,其操作過程包括3個步驟:首先開啟擦除方式,用表1中給出的第1至第5周期的總線寫操作來實現;然后裝載扇區擦除命令(30H)和待擦除扇區的地址,用其對應的第6周期的總線寫操作來實現;最后進行內部擦除,擦除時間最長為25 ms。
表1 SST39SF040存儲芯片軟件指令序列Tab.1 Software instruction sequence of storage chip SST39SF040
3.1.2 SST39SF040存儲部分軟件設計
SST39SF040存儲部分軟件設計主要工作為編寫單片機對該Flash存儲的操作功能實現代碼,包括ID讀取、扇區或整片擦除以及字節編程等。下面給出用C語言實現的ID讀取程序代碼,其他操作功能代碼可參照表1中軟件指令序列編寫。
//讀FLASH ID的函數,
//入口參數:FLASH的manuf_ID及device_ID,出口參數返回1或0
uchar Read_Id(uchar manuf_ID,uchar devi_ID)
{
Sst39vf040_Ce=1;
XBYTE[0x5555]=0xAA;
XBYTE[0x2AAA]=0x55;
XBYTE[0x5555]=0x90;
manufacturer_id=XBYTE[0x9000];
device_id=XBYTE[0x9001];
if((manufacturer_id==manuf_ID)&&(device_id==devi_ID))
return 1;
else
return 0;
XBYTE[0x5555]=0xAA;
XBYTE[0x2AAA]=0x55;
XBYTE[0x5555]=0xF0;
Delay10us();
Sst39vf040_Ce=0;
}
上位機軟件設計的主要功能為將紋織CAD軟件生成的花型文件通過串口通訊的方式將文件傳輸至單片機,與此同時,為保證數據傳輸的可靠性,要求對寫入到Flash存儲器中花型數據進行校驗。上位機程序采用C#語言編寫,該程序中可使用 MSComm(Microsoft Communication Control)控件與單片機通信[7],設計出的上位機軟件界面如圖4所示。
圖4 上位機軟件界面Fig.4 Interface chart of the control system
為了提高生產效率,必須在保證花型數據的正確傳輸和可靠存儲的同時盡可能縮短數據傳輸及校驗環節總體時間。為避免因個別字節數據傳輸錯誤導致校驗失敗而須重新寫入所有數據的情況,程序設計中采用分批傳送和傳送過程中增加CRC校驗字節的方式來保證數據有效性。具體實現方式為:當啟動寫入程序時,首先將讀取到的花型文件按照99個字節一組進行拆分后存入指定的花型數組中,同時對每組數據進行CRC16校驗,校驗生成的字節也存入指定校驗數組;文件分析及校驗完成后,將由99個花型數據和1個校驗字節數據傳遞給單片機,單片機接收到連續100個串口通訊數據后,對前99個花型數據也啟動CRC16校驗,將校驗結果與傳遞過來的校驗字節進行對比,結果一致則將該組花型數據寫入Flash存儲并給PC返回參數正確傳輸標志,要求進行下一組數據傳輸;反之則給PC返回數據傳輸失敗標志,要求重新傳送該組數據。
設計的基于低功耗高性能CMOS微控制器STC89C52RC和并行閃存SST39SF040的電子提花機花型傳輸和存儲系統,采用串口通訊方式實現了與上位機的數據交互,并通過數據分段傳輸和增加CRC校驗的方式保證了數據的可靠傳輸和正確存儲。該花型數據傳輸和存儲系統配合主控制器在某型電子提花機上的使用結果表明,該存儲系統工作可靠,能夠滿足實際應用需求。
[1]李祥.電子提花技術與產品開發[M].北京:中國紡織出版社,2000.
[2]蔡重凱.基于ARM的電子提花機控制器設計[D].杭州:浙江大學,2006.
[3]何偉剛,吳其琪.煤礦井下小型無線定位器的設計[J].煤礦機械,2013,34(10):154-156.HE Wei-gang,WU Qi-qi.Design of small coal mine wireless locator[J].Coal Mine Machinery,2013,30(10):154-156.
[4]向紅軍,雷彬.PC與便攜式儀表的串行通訊及數據處理程序設計[J].電子測量技術,2007,30(1):20-22.XIANG Hong-jun,LEI Bin.Design of serial port communication and data processing between PC and portable meter[J].Eelectonic Measurement Technology,2007,30(1):20-22.
[5]鄭文靜,李明強.Flash存儲技術 [J].計算機研究與發展,2010,47(4):716-726.ZHENG Wen-jing,LI Ming-qiang.Flash storage technology[J].Journal of Computer Research and Development,2010,47(4):716-726.
[6]萬方,汪世明.大容量NOR Flash與8位單片機的接口設計[J].單片機與嵌入式系統應用,2007(8):25-27.WAN Fang,WANG Shi-ming.Design of Interface between large capacity NOR flash and 8-bit microcontroller[J].Microcontroller&Embedded System,2007(8):25-27.
[7]章輝,葉建芳.基于MSComm控件串口通信的實現[J].電子測量技術,2011,34(8):126-129.ZHANG Hui,YE Jiang-fang.Realization of serial communica based on MSComm controls[J].Eelectonic Measurement Technology,2011,34(8):126-129.