《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的織機(jī)遠(yuǎn)程監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
基于FPGA的織機(jī)遠(yuǎn)程監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
來源:微型機(jī)與應(yīng)用2012年第13期
聶銀燕,林曉煥,,石 娟,,周靖靖
(西安工程大學(xué) 電信學(xué)院,,陜西 西安 710048)
摘要: 選用FPGA來控制織機(jī)監(jiān)測(cè)系統(tǒng)的外圍電路,以Altera公司的Cyclone EP1C12Q240作為核心芯片,EPCS4作為系統(tǒng)的配置芯片,,在SoPC上集成了軟核CPU、鎖相環(huán),、存儲(chǔ)器,、I/O接口及可編程邏輯,并在Quartus II和Nios II IDE平臺(tái)上運(yùn)行,。通過在某紡織廠現(xiàn)場(chǎng)系統(tǒng)調(diào)試,,實(shí)現(xiàn)了對(duì)織機(jī)的實(shí)時(shí)監(jiān)測(cè),達(dá)到了預(yù)期的目的,。
Abstract:
Key words :

摘  要: 選用FPGA來控制織機(jī)監(jiān)測(cè)系統(tǒng)的外圍電路,,以Altera公司的Cyclone EP1C12Q240作為核心芯片,EPCS4作為系統(tǒng)的配置芯片,,在SoPC上集成了軟核CPU,、鎖相環(huán),、存儲(chǔ)器,、I/O接口及可編程邏輯,并在Quartus II和Nios II IDE平臺(tái)上運(yùn)行,。通過在某紡織廠現(xiàn)場(chǎng)系統(tǒng)調(diào)試,,實(shí)現(xiàn)了對(duì)織機(jī)的實(shí)時(shí)監(jiān)測(cè),達(dá)到了預(yù)期的目的,。
關(guān)鍵詞: 織機(jī),;監(jiān)測(cè)系統(tǒng);FPGA,;數(shù)據(jù)采集,;SoPC

 紡織業(yè)是勞動(dòng)密集程度高、對(duì)外依存度較高的產(chǎn)業(yè),,它對(duì)我國國民經(jīng)濟(jì)建設(shè)發(fā)揮著不可替代的支柱性作用,。紡織企業(yè)生產(chǎn)車間的特點(diǎn)是多機(jī)生產(chǎn),少則幾十臺(tái),,多則幾百臺(tái)織機(jī),,因此,,織機(jī)監(jiān)測(cè)系統(tǒng)具有不容忽視的意義。本設(shè)計(jì)針對(duì)某紡織廠目前的織機(jī)監(jiān)測(cè)現(xiàn)狀進(jìn)行了改進(jìn),,該廠目前采用單片機(jī)控制外圍電路,,然而單片機(jī)的時(shí)鐘頻率較低,很難滿足高速數(shù)據(jù)采集的需求,。經(jīng)分析研究,,若選用DSP來控制外圍電路,可以實(shí)現(xiàn)高速數(shù)據(jù)采集,,但成本頗高,。因此,采用FPGA作為主控芯片,,應(yīng)用Nios II處理器控制外圍電路,,在滿足高速數(shù)據(jù)采集和處理的同時(shí),有利于系統(tǒng)的不斷升級(jí),。
1 系統(tǒng)總體設(shè)計(jì)
 織機(jī)的遠(yuǎn)程監(jiān)測(cè)主要完成基本功能和輔助功能,。基本功能包括織機(jī)主要工作狀態(tài)參數(shù)的監(jiān)測(cè),;輔助功能主要由上位機(jī)完成,,包括友好美觀的人機(jī)界面、記錄每班的生產(chǎn)效率和織機(jī)各種狀態(tài)下的動(dòng)態(tài)變化,、能夠供管理員或用戶隨時(shí)查詢及打印報(bào)表,。
 系統(tǒng)工作過程為:上電后,首先對(duì)FPGA的主控模塊進(jìn)行初始化,,F(xiàn)PGA的主控模塊采集織機(jī)的各種狀態(tài)數(shù)據(jù)并進(jìn)行處理,。在這一過程中,織機(jī)自帶的顯示屏?xí)磿r(shí)顯示各工藝參數(shù),。當(dāng)上位機(jī)向CAN總線發(fā)送讀取每個(gè)節(jié)點(diǎn)織機(jī)狀態(tài)參數(shù)的命令后,,F(xiàn)PGA的主控模塊將織機(jī)機(jī)臺(tái)號(hào)、引緯率,、產(chǎn)量及停機(jī)時(shí)數(shù)等主要工作參數(shù)寫入CAN控制器的發(fā)送緩沖區(qū)內(nèi),,啟動(dòng)發(fā)送命令傳送給上位機(jī)進(jìn)行相應(yīng)處理??傮w系統(tǒng)結(jié)構(gòu)如圖1所示,。

2 系統(tǒng)硬件設(shè)計(jì)
 FPGA的主控系統(tǒng)實(shí)際是一個(gè)基于Nios II處理器的SoPC系統(tǒng),主要完成數(shù)據(jù)采集工作,,包括織機(jī)的產(chǎn)量,、運(yùn)轉(zhuǎn)率、引緯率和停機(jī)時(shí)數(shù)等。其硬件平臺(tái)主要以Altera公司的Cyclone系列EP1C12Q240 FPGA為核心芯片,,由系統(tǒng)存儲(chǔ)設(shè)備SDRAM和Flash,、系統(tǒng)時(shí)鐘、串行配置芯片,、I/O口,、FPGA配制接口組成等。系統(tǒng)硬件結(jié)構(gòu)如圖2所示,。其中,,F(xiàn)lash存儲(chǔ)器采用4 MB的Am291V320D;SDRAM采用HY57V283220T,;串行配置芯片采用Altera的EPCS4,;具有JTAG接口和AS接口,通過AS接口直接對(duì)EPCS4器件進(jìn)行快速編程,;采用有源晶體振蕩電路產(chǎn)生50 MHz的系統(tǒng)時(shí)鐘,;電源有5 V、3.3 V和1.5 V,。

2.1 外部存儲(chǔ)器
2.1.1 Flash電路

 在FPGA器件實(shí)現(xiàn)的Nios II嵌入式處理器可以使用Flash存儲(chǔ)器作為通用只讀存儲(chǔ)器和大容量非易失性存儲(chǔ)器,,用戶可以將基于Nios II嵌入式處理器的應(yīng)用程序通過編程器燒寫到Flash中,在程序運(yùn)行前將Flash中的代碼復(fù)制到其他速度更快的非易失性存儲(chǔ)器SDRAM中,,然后執(zhí)行,。
 本系統(tǒng)選用的Flash是Am291v320,它是1 M×16 bit的CMOS工藝的Flash存儲(chǔ)器,,采用48腳TSOP封裝,,其工作電壓為3.3 V。Flash存儲(chǔ)電路如圖3所示,,其中10腳,、11腳、13腳和24腳均接有4.7 k?贅上拉電阻,,因此Am291v320不采用字節(jié)方式,。
2.1.2 SDRAM接口電路
 在SoPC系統(tǒng)實(shí)際應(yīng)用中,,由于FPGA片內(nèi)的RAM容量一般不能滿足需要,,都需要外接SDRAM。SDRAM成本低,、容量大,,但需要實(shí)現(xiàn)刷新操作、行列管理,、不同延時(shí)和命令序列等邏輯,。SDRAM的操作都是由時(shí)鐘作為同步,可以理解為一個(gè)電容,總是傾向于放電,,為了避免數(shù)據(jù)丟失,,必須定時(shí)刷新。因此,,要在系統(tǒng)中使用SDRAM,,就要求微處理器具有刷新控制邏輯,或在系統(tǒng)中另外加入刷新控制邏輯電路,。
 本系統(tǒng)中選用的SDRAM是HY57V283220T,,存儲(chǔ)容量為1 M×32 bit×4 Banks,4個(gè)Bank間可以通過Bank地址來選擇,,其工作電壓為3.3 V,。一個(gè)片鎖相環(huán)常被用于SDRAM控制器核與SDRAM芯片之間的時(shí)鐘相位調(diào)整。SDRAM接口電路如圖4所示,。


2.2 串行通信接口

 


 UART是通用串行收發(fā)器,,UART串行通信接口是嵌入式系統(tǒng)最常用的接口,完成與上位機(jī)或其他外部設(shè)備的數(shù)據(jù)通信,。Altera公司的UART IP核至少有2個(gè)I/O口,,即RXD和TXD。RXD為輸入引腳,,用來接收數(shù)據(jù),;TXD為輸出引腳,用來發(fā)送數(shù)據(jù),。UART IP核可以通過配制來適應(yīng)任意波特率的RS232口,。
 由于RS232C標(biāo)準(zhǔn)與Altera的FPGA系列器件I/O LVTTL標(biāo)準(zhǔn)所定義的高、低電平完全不同,,前者在電氣上采用負(fù)邏輯方式,,因此,兩者之間要進(jìn)行通信,,必須經(jīng)過電平的轉(zhuǎn)換才可以實(shí)現(xiàn),。本系統(tǒng)選用SP3232E,參考電平為3.3 V,。
2.3 配置電路
 Cyclone FPGA的配制方式有主動(dòng)配置模式(AS),、被動(dòng)配置模式和JTAG配置模式。
?。?)AS調(diào)試接口
 在AS配制模式下,,系統(tǒng)使用EPCS4串行配制器件對(duì)Cyclone FPGA進(jìn)行配制。在FPGA配制期間,,F(xiàn)PGA通過串行接口讀配制數(shù)據(jù),,解壓縮數(shù)據(jù),然后配制SDRAM單元,在AS配制模式下,,F(xiàn)PGA主動(dòng)控制配制接口,。
 (2)JTAG調(diào)試接口
 JTAG是一種國際標(biāo)準(zhǔn)測(cè)試協(xié)議,,主要用于芯片內(nèi)部測(cè)試及對(duì)嵌入式系統(tǒng)進(jìn)行仿真,、調(diào)試。JTAG測(cè)試允許多個(gè)器件通過JTAG接口串聯(lián)在一起,,形成一個(gè)JTAG鏈,,能實(shí)現(xiàn)對(duì)各個(gè)器件分別測(cè)試。
 根據(jù)IEEE1149.1-1990標(biāo)準(zhǔn)實(shí)現(xiàn)的JTAG接口有TCK,、TDI,、TDO、TMS和TRST 5個(gè)引腳,,通常TRST閑置,。將Byte Blaster II的下載電纜直接連接到JTAG接口,通過Quartus II軟件直接對(duì)FPGA進(jìn)行配置,。若采用AS方式和JTAG方式同時(shí)對(duì)FPGA進(jìn)行配置,,JTAG方式的優(yōu)先級(jí)高,停止AS方式配置,。JTAG模式使用TCK,、TDI、TDO和TMS 4個(gè)專門的信號(hào)引腳具體的接口電路連接關(guān)系如圖5所示,。

3 系統(tǒng)軟件設(shè)計(jì)
 本系統(tǒng)軟件設(shè)計(jì)的關(guān)鍵是SoPC數(shù)據(jù)采集與處理模塊程序,,它們主要由單臺(tái)的織機(jī)控制來完成。FPGA的Nios II處理器收到上位機(jī)傳送的命令后會(huì)產(chǎn)生相應(yīng)的中斷,,將采集到的數(shù)據(jù)根據(jù)相應(yīng)的幀格式向上位機(jī)發(fā)送,。SoPC上集成了軟核CPU、鎖相環(huán),、存儲(chǔ)器,、I/O接口及可編程邏輯,這部分在Quartus II和Nios II IDE平臺(tái)上運(yùn)行,。利用SoPC Builder創(chuàng)建和配置了Nios II軟核處理器及其外設(shè),,用VC++和VHDL語言完成程序編寫。
    系統(tǒng)實(shí)際監(jiān)測(cè)效果如圖6所示,。

 本文分析了遠(yuǎn)程監(jiān)測(cè)系統(tǒng)的現(xiàn)狀和發(fā)展動(dòng)態(tài),,根據(jù)紡織廠的實(shí)際要求,著重考慮了系統(tǒng)的實(shí)時(shí)性,、靈活性及高速處理能力。因此,系統(tǒng)采用模塊化設(shè)計(jì),,用FPGA模塊即基于Nios II的SoPC系統(tǒng)代替單片機(jī)來控制外圍電路工作,。經(jīng)過詳細(xì)測(cè)試和驗(yàn)證,本系統(tǒng)做到了及時(shí)采集織機(jī)動(dòng)態(tài)數(shù)據(jù),,使管理層全面快速了解生產(chǎn)情況和歷史數(shù)據(jù),,實(shí)現(xiàn)了向上可以兼容紡織廠生產(chǎn)管理系統(tǒng),向下可以兼容不同設(shè)備的監(jiān)測(cè)系統(tǒng),。最后,,通過在紡織廠的現(xiàn)場(chǎng)調(diào)試,成功與上位機(jī)進(jìn)行通信,,基本達(dá)到了初期設(shè)定的目標(biāo),。
參考文獻(xiàn)
[1] 吳繼華,王誠.Altera FPGA/CPLD設(shè)計(jì)[M].北京:人民郵電出版社,,2005.
[2] 褚鎮(zhèn)勇.FPGA設(shè)計(jì)及其應(yīng)用[M].西安:西安電子科技大學(xué)出版社,,2002.
[3] 任愛鋒,初秀琴,,常存,,等.基于FPGA的嵌入式系統(tǒng)設(shè)計(jì)[M].西安:西安電子科技大學(xué)出版社,2004.
[4] 張志剛.FPGA與SoPC設(shè)計(jì)教程——DE2實(shí)踐[M].西安:西安電子科技大學(xué)出版社,,2007.
[5] 周潤景,,圖雅,張麗敏.基于Quartus II的FPGA/CPLD數(shù)字系統(tǒng)設(shè)計(jì)實(shí)例[M].北京:電子工業(yè)出版社,,2007.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。