摘 要: 選用FPGA來控制織機監(jiān)測系統(tǒng)的外圍電路,以Altera公司的Cyclone EP1C12Q240作為核心芯片,EPCS4作為系統(tǒng)的配置芯片,在SoPC上集成了軟核CPU、鎖相環(huán)、存儲器、I/O接口及可編程邏輯,并在Quartus II和Nios II IDE平臺上運行。通過在某紡織廠現場系統(tǒng)調試,實現了對織機的實時監(jiān)測,達到了預期的目的。
關鍵詞: 織機;監(jiān)測系統(tǒng);FPGA;數據采集;SoPC
紡織業(yè)是勞動密集程度高、對外依存度較高的產業(yè),它對我國國民經濟建設發(fā)揮著不可替代的支柱性作用。紡織企業(yè)生產車間的特點是多機生產,少則幾十臺,多則幾百臺織機,因此,織機監(jiān)測系統(tǒng)具有不容忽視的意義。本設計針對某紡織廠目前的織機監(jiān)測現狀進行了改進,該廠目前采用單片機控制外圍電路,然而單片機的時鐘頻率較低,很難滿足高速數據采集的需求。經分析研究,若選用DSP來控制外圍電路,可以實現高速數據采集,但成本頗高。因此,采用FPGA作為主控芯片,應用Nios II處理器控制外圍電路,在滿足高速數據采集和處理的同時,有利于系統(tǒng)的不斷升級。
1 系統(tǒng)總體設計
織機的遠程監(jiān)測主要完成基本功能和輔助功能。基本功能包括織機主要工作狀態(tài)參數的監(jiān)測;輔助功能主要由上位機完成,包括友好美觀的人機界面、記錄每班的生產效率和織機各種狀態(tài)下的動態(tài)變化、能夠供管理員或用戶隨時查詢及打印報表。
系統(tǒng)工作過程為:上電后,首先對FPGA的主控模塊進行初始化,FPGA的主控模塊采集織機的各種狀態(tài)數據并進行處理。在這一過程中,織機自帶的顯示屏會即時顯示各工藝參數。當上位機向CAN總線發(fā)送讀取每個節(jié)點織機狀態(tài)參數的命令后,FPGA的主控模塊將織機機臺號、引緯率、產量及停機時數等主要工作參數寫入CAN控制器的發(fā)送緩沖區(qū)內,啟動發(fā)送命令傳送給上位機進行相應處理??傮w系統(tǒng)結構如圖1所示。
2 系統(tǒng)硬件設計
FPGA的主控系統(tǒng)實際是一個基于Nios II處理器的SoPC系統(tǒng),主要完成數據采集工作,包括織機的產量、運轉率、引緯率和停機時數等。其硬件平臺主要以Altera公司的Cyclone系列EP1C12Q240 FPGA為核心芯片,由系統(tǒng)存儲設備SDRAM和Flash、系統(tǒng)時鐘、串行配置芯片、I/O口、FPGA配制接口組成等。系統(tǒng)硬件結構如圖2所示。其中,Flash存儲器采用4 MB的Am291V320D;SDRAM采用HY57V283220T;串行配置芯片采用Altera的EPCS4;具有JTAG接口和AS接口,通過AS接口直接對EPCS4器件進行快速編程;采用有源晶體振蕩電路產生50 MHz的系統(tǒng)時鐘;電源有5 V、3.3 V和1.5 V。
2.1 外部存儲器
2.1.1 Flash電路
在FPGA器件實現的Nios II嵌入式處理器可以使用Flash存儲器作為通用只讀存儲器和大容量非易失性存儲器,用戶可以將基于Nios II嵌入式處理器的應用程序通過編程器燒寫到Flash中,在程序運行前將Flash中的代碼復制到其他速度更快的非易失性存儲器SDRAM中,然后執(zhí)行。
本系統(tǒng)選用的Flash是Am291v320,它是1 M×16 bit的CMOS工藝的Flash存儲器,采用48腳TSOP封裝,其工作電壓為3.3 V。Flash存儲電路如圖3所示,其中10腳、11腳、13腳和24腳均接有4.7 k?贅上拉電阻,因此Am291v320不采用字節(jié)方式。
2.1.2 SDRAM接口電路
在SoPC系統(tǒng)實際應用中,由于FPGA片內的RAM容量一般不能滿足需要,都需要外接SDRAM。SDRAM成本低、容量大,但需要實現刷新操作、行列管理、不同延時和命令序列等邏輯。SDRAM的操作都是由時鐘作為同步,可以理解為一個電容,總是傾向于放電,為了避免數據丟失,必須定時刷新。因此,要在系統(tǒng)中使用SDRAM,就要求微處理器具有刷新控制邏輯,或在系統(tǒng)中另外加入刷新控制邏輯電路。
本系統(tǒng)中選用的SDRAM是HY57V283220T,存儲容量為1 M×32 bit×4 Banks,4個Bank間可以通過Bank地址來選擇,其工作電壓為3.3 V。一個片鎖相環(huán)常被用于SDRAM控制器核與SDRAM芯片之間的時鐘相位調整。SDRAM接口電路如圖4所示。
2.2 串行通信接口
UART是通用串行收發(fā)器,UART串行通信接口是嵌入式系統(tǒng)最常用的接口,完成與上位機或其他外部設備的數據通信。Altera公司的UART IP核至少有2個I/O口,即RXD和TXD。RXD為輸入引腳,用來接收數據;TXD為輸出引腳,用來發(fā)送數據。UART IP核可以通過配制來適應任意波特率的RS232口。
由于RS232C標準與Altera的FPGA系列器件I/O LVTTL標準所定義的高、低電平完全不同,前者在電氣上采用負邏輯方式,因此,兩者之間要進行通信,必須經過電平的轉換才可以實現。本系統(tǒng)選用SP3232E,參考電平為3.3 V。
2.3 配置電路
Cyclone FPGA的配制方式有主動配置模式(AS)、被動配置模式和JTAG配置模式。
(1)AS調試接口
在AS配制模式下,系統(tǒng)使用EPCS4串行配制器件對Cyclone FPGA進行配制。在FPGA配制期間,FPGA通過串行接口讀配制數據,解壓縮數據,然后配制SDRAM單元,在AS配制模式下,FPGA主動控制配制接口。
?。?)JTAG調試接口
JTAG是一種國際標準測試協議,主要用于芯片內部測試及對嵌入式系統(tǒng)進行仿真、調試。JTAG測試允許多個器件通過JTAG接口串聯在一起,形成一個JTAG鏈,能實現對各個器件分別測試。
根據IEEE1149.1-1990標準實現的JTAG接口有TCK、TDI、TDO、TMS和TRST 5個引腳,通常TRST閑置。將Byte Blaster II的下載電纜直接連接到JTAG接口,通過Quartus II軟件直接對FPGA進行配置。若采用AS方式和JTAG方式同時對FPGA進行配置,JTAG方式的優(yōu)先級高,停止AS方式配置。JTAG模式使用TCK、TDI、TDO和TMS 4個專門的信號引腳具體的接口電路連接關系如圖5所示。
3 系統(tǒng)軟件設計
本系統(tǒng)軟件設計的關鍵是SoPC數據采集與處理模塊程序,它們主要由單臺的織機控制來完成。FPGA的Nios II處理器收到上位機傳送的命令后會產生相應的中斷,將采集到的數據根據相應的幀格式向上位機發(fā)送。SoPC上集成了軟核CPU、鎖相環(huán)、存儲器、I/O接口及可編程邏輯,這部分在Quartus II和Nios II IDE平臺上運行。利用SoPC Builder創(chuàng)建和配置了Nios II軟核處理器及其外設,用VC++和VHDL語言完成程序編寫。
系統(tǒng)實際監(jiān)測效果如圖6所示。
本文分析了遠程監(jiān)測系統(tǒng)的現狀和發(fā)展動態(tài),根據紡織廠的實際要求,著重考慮了系統(tǒng)的實時性、靈活性及高速處理能力。因此,系統(tǒng)采用模塊化設計,用FPGA模塊即基于Nios II的SoPC系統(tǒng)代替單片機來控制外圍電路工作。經過詳細測試和驗證,本系統(tǒng)做到了及時采集織機動態(tài)數據,使管理層全面快速了解生產情況和歷史數據,實現了向上可以兼容紡織廠生產管理系統(tǒng),向下可以兼容不同設備的監(jiān)測系統(tǒng)。最后,通過在紡織廠的現場調試,成功與上位機進行通信,基本達到了初期設定的目標。
參考文獻
[1] 吳繼華,王誠.Altera FPGA/CPLD設計[M].北京:人民郵電出版社,2005.
[2] 褚鎮(zhèn)勇.FPGA設計及其應用[M].西安:西安電子科技大學出版社,2002.
[3] 任愛鋒,初秀琴,常存,等.基于FPGA的嵌入式系統(tǒng)設計[M].西安:西安電子科技大學出版社,2004.
[4] 張志剛.FPGA與SoPC設計教程——DE2實踐[M].西安:西安電子科技大學出版社,2007.
[5] 周潤景,圖雅,張麗敏.基于Quartus II的FPGA/CPLD數字系統(tǒng)設計實例[M].北京:電子工業(yè)出版社,2007.