摘 要: 介紹了數(shù)字包裝印刷機(jī)系統(tǒng)的整體設(shè)計(jì)以及USB控制器CYUSB3014芯片的特性。通過對(duì)USB控制器固件程序和FPGA程序的設(shè)計(jì),實(shí)現(xiàn)了FPGA通過USB接口高速可靠的數(shù)據(jù)傳輸。
關(guān)鍵詞: USB 3.0; CYUSB3014; 數(shù)字包裝印刷機(jī)
隨著印刷行業(yè)的高速發(fā)展,數(shù)字包裝印刷機(jī)的應(yīng)用越來越廣泛。但是在快速化的數(shù)字包裝印刷的實(shí)時(shí)工業(yè)現(xiàn)場(chǎng), 以USB 2.0接口實(shí)現(xiàn)的信息傳輸已經(jīng)不能滿足工業(yè)生產(chǎn)對(duì)傳輸速度的要求,而USB 3.0接口技術(shù)的出現(xiàn)能很好地實(shí)現(xiàn)這個(gè)目標(biāo)。在2008年公布的USB 3.0協(xié)議[1]理論上可達(dá)到5 Gb/s的極限傳輸速度,雖然有傳輸協(xié)議的開銷和系統(tǒng)的設(shè)計(jì)開銷,但其仍然可以達(dá)到工業(yè)高速化的要求。
1 USB 3.0簡(jiǎn)介
由Intel、微軟、惠普、德州儀器、NEC、ST-NXP等業(yè)界巨頭組成的USB 3.0(SuperSpeed USB) Promoter Group 于2008年11月18日宣布,該組織負(fù)責(zé)制定的 USB 3.0標(biāo)準(zhǔn)接口與線纜樣品新一代USB 3.0標(biāo)準(zhǔn)已經(jīng)正式完成并公開發(fā)布[2]。USB 3.0中定義了8根信號(hào)線,較USB 2.0多了SSTX+、SSTX-、SSRX+、SSRX-4根數(shù)據(jù)線,這也是USB 3.0速度比USB 2.0大幅提升的原因之一。新規(guī)范使USB 3.0提供了十倍于USB 2.0的傳輸速度,可用于數(shù)字視頻信息的采集、數(shù)字導(dǎo)航、工業(yè)攝像等。新的USB 3.0在保持與USB 2.0兼容性的同時(shí),還提供了幾項(xiàng)增強(qiáng)功能,即:極大提高了帶寬——高達(dá)5 Gb/s全雙工(USB 2.0則為480 Mb/s半雙工);實(shí)現(xiàn)了更好的電源管理;能夠使主機(jī)為器件提供更多的功率;能夠使主機(jī)更快地識(shí)別器件;使數(shù)據(jù)處理的效率更高。
2 系統(tǒng)整體結(jié)構(gòu)設(shè)計(jì)
印刷機(jī)的打印分為兩種情況:一種是通過PC機(jī)直接控制打印的方式,稱為聯(lián)機(jī)打印模式;另一種是將圖像載入到存儲(chǔ)器中,不需要PC機(jī)的控制,直接由噴繪機(jī)的控制系統(tǒng)操控的打印模式,稱為脫機(jī)打印模式。
在聯(lián)機(jī)打印模式下,針對(duì)數(shù)字包裝印刷機(jī)系統(tǒng)的特點(diǎn),本系統(tǒng)可實(shí)現(xiàn)由一臺(tái)PC機(jī)作為上位機(jī)來控制運(yùn)行,采用IJA模式噴繪機(jī)噴頭,每噴頭510孔,物理精度為180 dpi。同時(shí),為了提高數(shù)字包裝印刷機(jī)的噴繪速度,采用壓電噴頭,三列噴口,支持多噴口同時(shí)噴墨。系統(tǒng)的主控制器由數(shù)據(jù)傳輸板與運(yùn)動(dòng)控制板組成,采用Cyclone Ⅱ系列EP2C8Q208C8作為首選芯片進(jìn)行設(shè)計(jì)[3],數(shù)據(jù)傳輸系統(tǒng)使用Cypress公司的CYUSB3014控制芯片。上位機(jī)發(fā)出控制命令和圖像信息,通過CYUSB3014接口芯片傳輸?shù)街骺刂破魃?主控制器通過運(yùn)動(dòng)控制模塊和噴頭控制模塊將噴頭需要的圖像數(shù)據(jù)信息傳輸?shù)絿婎^板上;FPGA負(fù)責(zé)USB的數(shù)據(jù)信息的接收、小車的運(yùn)動(dòng)控制、二級(jí)墨盒液位檢測(cè)、二級(jí)墨盒液泵控制、噴頭板的圖像數(shù)據(jù)格式轉(zhuǎn)換和傳輸以及噴頭位置和顏色點(diǎn)火順序的控制。
本文主要介紹上位機(jī)與數(shù)字包裝印刷機(jī)主控制器的數(shù)據(jù)傳輸。當(dāng)上位機(jī)發(fā)出控制信號(hào),經(jīng)USB芯片CYUSB3014解析后與FPGA進(jìn)行通信;系統(tǒng)主控制器檢測(cè)到上位機(jī)發(fā)出的控制命令之后,通過USB接口芯片CYUSB3014以異步從屬FIFO模式將數(shù)據(jù)由DDR2傳輸?shù)経SB內(nèi)部的FIFO中,最后傳輸?shù)紽PGA內(nèi)部的FIFO中;主控制器讀取USB傳輸過來的數(shù)據(jù),再分配給4色噴頭。控制系統(tǒng)的整體設(shè)計(jì)如圖1所示。
2.1 USB接口設(shè)計(jì)
數(shù)字包裝印刷機(jī)的噴印以行為單位,每行噴印過程中必須以恒定的速度噴印。在每行的行端,噴頭小車要進(jìn)行加減速和換向,要卷動(dòng)卷布輥進(jìn)布,以便進(jìn)行下一行的噴印。恒定速度的噴印必須有恒定的圖像數(shù)據(jù)傳輸率來保證。噴印速度要求越高,對(duì)圖像數(shù)據(jù)的傳輸速度要求也越高。
2.1.1接口芯片的選擇
在本通信系統(tǒng)中,選用CYUSB3014芯片,其采用的構(gòu)架是EZ-USB FX3。這是一款新的USB 3.0芯片,它集成了增強(qiáng)型的AEM926ej-s內(nèi)核,并采用了低功耗設(shè)計(jì),速度高達(dá)5 Gb/s,代表了業(yè)界的領(lǐng)先水平,是新一代符合USB 3.0高速控制器的構(gòu)架[4]。
2.1.2 接口芯片的設(shè)計(jì)
在傳輸控制系統(tǒng)中,傳統(tǒng)的數(shù)據(jù)接收方式一般是通過FX系列芯片內(nèi)部的CPU接收上位機(jī)傳輸?shù)臄?shù)據(jù)并進(jìn)行數(shù)據(jù)同步,然后經(jīng)過FPGA傳輸?shù)絿婎^,最后通過主控制器發(fā)出的點(diǎn)火命令實(shí)現(xiàn)噴頭的點(diǎn)火工作。這種方式在芯片內(nèi)部經(jīng)過了多個(gè)數(shù)據(jù)存儲(chǔ)器,易導(dǎo)致數(shù)據(jù)的傳輸速度不斷變慢,不能滿足工業(yè)現(xiàn)場(chǎng)對(duì)數(shù)據(jù)高速、實(shí)時(shí)傳遞的要求。
通過對(duì)數(shù)字包裝印刷機(jī)工作原理的研究,可以看出數(shù)據(jù)傳輸系統(tǒng)對(duì)傳輸?shù)臄?shù)據(jù)只是進(jìn)行了同步,然后通過FPGA傳輸?shù)絿婎^進(jìn)行打印操作,并不需要對(duì)圖像數(shù)據(jù)進(jìn)行復(fù)雜的處理。CYPRESS公司的FX3系列的芯片中提供一種加快數(shù)據(jù)傳輸?shù)膹膶貴IFO模式。這種模式在USB的主機(jī)與FPGA之間直接建立通道,從而旁路掉CPU,減少不必要的速度損耗,實(shí)現(xiàn)端點(diǎn)FIFO與外部數(shù)據(jù)的直接交換,提高數(shù)據(jù)的傳輸速度。
通過對(duì)數(shù)據(jù)傳輸系統(tǒng)的分析,采用一種將CPU旁路的方法提高速度。在USB 2.0傳輸?shù)臅r(shí)代,數(shù)據(jù)傳輸?shù)臉O限速度是60 MB/s,通常工業(yè)使用的速度大概在40 MB/s左右,因此只要通過芯片自帶的內(nèi)部端點(diǎn)FIFO就可以解決問題。而到了USB 3.0的時(shí)代,速度有了質(zhì)的提高,如果僅僅使用內(nèi)部FIFO進(jìn)行緩沖,可能出現(xiàn)丟失數(shù)據(jù)的情況。因此在數(shù)據(jù)傳輸系統(tǒng)上加上大存儲(chǔ)DDR2內(nèi)存,保證數(shù)據(jù)的傳輸更加安全、快速。該設(shè)計(jì)使數(shù)據(jù)不經(jīng)過CYUSB3014內(nèi)部CPU的處理直接傳輸?shù)紽PGA的FIFO中,然后通過主控制器的控制命令發(fā)送給各個(gè)噴頭進(jìn)行打印。
2.2 FPGA接口設(shè)計(jì)
選用CYUSB3014芯片作為USB 3.0的接口芯片,由于接口芯片的最大時(shí)鐘頻率遠(yuǎn)遠(yuǎn)低于FPGA的時(shí)鐘頻率,因此不能將接口芯片與主控制器總線直接相連,所以需要芯片接口和FPGA內(nèi)部總線進(jìn)行連接。由于兩個(gè)模塊的數(shù)據(jù)傳輸速度不同,因此在USB外部連接大容量的DDR2內(nèi)存,在FPGA內(nèi)部建立USB的數(shù)據(jù)FIFO緩沖區(qū),以便于數(shù)據(jù)的傳輸,保證在數(shù)據(jù)高速傳輸過程中的完整性和準(zhǔn)確性。同時(shí),F(xiàn)PGA作為Slave FIFO模式的外部控制邏輯,提供USB的片選、寫數(shù)據(jù)時(shí)鐘和端點(diǎn)選擇等信號(hào),實(shí)現(xiàn)對(duì)數(shù)據(jù)讀寫的控制[5]。
為保證實(shí)時(shí)性,這些數(shù)據(jù)應(yīng)該通過緩沖與上位機(jī)接口,最好的緩沖就是FIFO。由于CycloneⅡ EP2C8Q208C8的NiosⅡ內(nèi)核不支持USB 3.0協(xié)議,系統(tǒng)擴(kuò)展采用CYUSB3014 USB擴(kuò)展接口芯片,在 FPGA內(nèi)部設(shè)計(jì)與CYUSB3014 USB的接口。為了最大限度使用FPGA存儲(chǔ)單元,F(xiàn)IFO采用32 bit數(shù)據(jù)格式存儲(chǔ)??刂颇K從CYUSB3014中獲取數(shù)據(jù)并經(jīng)過USB_FIFO對(duì)數(shù)據(jù)進(jìn)行一級(jí)緩存,之后將一級(jí)緩存中的數(shù)據(jù)按C、M、Y、K四色每色依次分配512 bit的方式分配到FIFO_C、FIFO_M、FIFO_Y、FIFO_K 4個(gè)二級(jí)緩存當(dāng)中。這要求上位機(jī)給出圖像數(shù)據(jù)時(shí)嚴(yán)格按照C、M、Y、K四色各512 bit的大小給出數(shù)據(jù)塊并通過USB傳輸。二級(jí)緩存中的數(shù)據(jù)經(jīng)過移位控制按預(yù)定傳送方式將數(shù)據(jù)分別傳送給C、M、Y、K四色噴頭。
3 實(shí)驗(yàn)結(jié)果測(cè)試
數(shù)據(jù)傳輸系統(tǒng)的控制芯片變?yōu)镃YUSB3014,它提供了全新的接口方式和傳輸模式,由以前的半雙工傳輸變?yōu)槿p工傳輸。通過采用Slave FIFO的高速傳輸模式,使數(shù)字包裝印刷機(jī)的數(shù)據(jù)傳輸速度有了質(zhì)的提高,其數(shù)據(jù)傳輸速度比原來的42 MB/s提升了3倍,數(shù)據(jù)的穩(wěn)定傳輸速率可達(dá)到135 MB/s,有時(shí)突發(fā)速率可達(dá)270 MB/s左右。系統(tǒng)速度測(cè)試結(jié)果如圖2所示。
本文對(duì)數(shù)據(jù)傳輸系統(tǒng)進(jìn)行了重新設(shè)計(jì),采用了CYUSB3014全新的接口芯片和FPGA芯片,使整個(gè)數(shù)字包裝印刷機(jī)的數(shù)據(jù)傳輸速率和穩(wěn)定性得到了極大的改善,滿足了工業(yè)實(shí)施現(xiàn)場(chǎng)對(duì)數(shù)據(jù)傳輸速度的要求。
參考文獻(xiàn)
[1] NEC. Universal serial bus 3.0 specification[EB/OL].(2009-01-xx)[2012-07-24].http: //www.NEC.com.
[2] 劉妍秀.USB3.0體系結(jié)構(gòu)及發(fā)展前景[J].長(zhǎng)春大學(xué)學(xué)報(bào)2010,20(10):23-26.
[3] Altera. Cyclone Ⅱ EP2C8Q208C8[EB/OL].[2012-07-24].http:www.altera.com.cn/.
[4] Cypress semiconductor. CYUSB3014 Datasheet[EB/OL]. [2012-07-24]. http://www.cypress.com/.2012.
[5] 張平,劉晉. FPGA與USB技術(shù)在紡織品數(shù)字印刷機(jī)系統(tǒng)中的應(yīng)用[J].微型機(jī)與應(yīng)用, 2011,30(8):29-32.