《電子技術(shù)應用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應用 > FPGA在大幅面高速彩色噴繪機噴頭接口中的應用
FPGA在大幅面高速彩色噴繪機噴頭接口中的應用
來源:微型機與應用2011年第23期
劉 晉,劉 峰
(遼寧師范大學 計算機與信息技術(shù)學院,遼寧 大連 116081)
摘要: 研究了基于FPGA的同步FIFO和移位寄存器,利用同步FIFO作為大幅面高速彩色噴繪機噴頭與上位機之間數(shù)據(jù)傳輸以及接口數(shù)據(jù)傳輸?shù)木彺婺K。該設(shè)計在保證數(shù)據(jù)傳輸實時性的前提下,解決了噴頭和上位機像素數(shù)據(jù)格式方向不一致的問題,并消除了部分數(shù)據(jù)冗余。
Abstract:
Key words :

摘  要: 研究了基于FPGA同步FIFO移位寄存器,利用同步FIFO作為大幅面高速彩色噴繪機噴頭與上位機之間數(shù)據(jù)傳輸以及接口數(shù)據(jù)傳輸?shù)木彺婺K。該設(shè)計在保證數(shù)據(jù)傳輸實時性的前提下,解決了噴頭和上位機像素數(shù)據(jù)格式方向不一致的問題,并消除了部分數(shù)據(jù)冗余。
關(guān)鍵詞: FPGA;同步FIFO;移位寄存器;噴繪機

 隨著社會生產(chǎn)與研究設(shè)計對噴繪產(chǎn)品高速化的需求與日俱增,傳統(tǒng)的數(shù)字噴墨式印刷機已經(jīng)不能滿足這種需求。而大幅面高速彩色噴繪機無論是在數(shù)據(jù)的傳輸速度還是在打印的質(zhì)量上都超過了傳統(tǒng)的數(shù)字噴墨式印刷機。但是,大幅面高速彩色噴繪機的技術(shù)并不是十分成熟,還有許多的地方可以改進。
近年來,隨著微電子設(shè)計技術(shù)與工藝的發(fā)展,數(shù)字集成電路從電子管、晶體管、中小規(guī)模集成電路、超大規(guī)模集成電路逐步發(fā)展到今天的專用集成電路(ASIC)。ASIC的出現(xiàn)降低了產(chǎn)品的生產(chǎn)成本,提高了系統(tǒng)的可靠性,縮小了電路的物理尺寸,推動了社會的數(shù)字化進程[1]。數(shù)字電路設(shè)計當中用FPGA來實現(xiàn)FIFO的功能可以更好地解決并行性和實時性問題,而且用FPGA實現(xiàn)的FIFO更容易修改和測試,可以降低成本和縮短開發(fā)周期。
1 像素數(shù)據(jù)傳輸定時分析
 像素數(shù)據(jù)傳輸時序如圖1所示,像素數(shù)據(jù)傳輸在CLK的同步下進行,每次傳送256×2 bit,使用256個CLK時鐘。在傳輸開始前和傳輸結(jié)束后,CLK應該保持在高電平。每次傳輸完后,等待3個連續(xù)的像素時鐘(PIXELCLK),即點火信號,3個點火信號使存儲在噴頭中的像素數(shù)據(jù)完成點火輸出。第一個點火脈沖有數(shù)據(jù)鎖存的功能,在該脈沖過后,前次接收的數(shù)據(jù)完成鎖存,可以開始下一次的數(shù)據(jù)移位輸入工作,盡管此時上一次輸入的像素數(shù)據(jù)還沒有消耗完。因此,可實現(xiàn)數(shù)據(jù)傳輸和點火同時進行。在第一個點火脈沖到來期間,像素數(shù)據(jù)和像素時鐘應該保持不變。

2 像素數(shù)據(jù)格式
 像素數(shù)據(jù)分為點火和不點火兩種,點火的(噴出的)像素其數(shù)據(jù)要求為D2D1D0(D6D5D4)=111,不點火的(不噴出的)像素要求D2D1D0(D6D5D4)=000。因此,實際傳輸時可采用兩條信號線,一條負責D2D1D0的像素,另一條負責D6D5D4的像素,而在數(shù)據(jù)進入噴頭之前,將輸入的1信號展開成111,0信號展開成000即可。這樣可用兩條信號線實現(xiàn)6條信號線的功能。
 每次傳送,一個噴頭所需要的數(shù)據(jù)為512 bit,其中,第0和第511 bit必須為0,實際完成510孔數(shù)據(jù)的傳送,但是數(shù)據(jù)傳送使用的是256個CLK時鐘,每時鐘傳送2 bit。分作兩條信號線傳輸,一條是D2D1D0負責256~511孔的數(shù)據(jù)傳送,D6D5D4負責0~255孔的數(shù)據(jù)傳送。這就要求有一種電路,先緩沖256~511孔的數(shù)據(jù),再將0~255孔的數(shù)據(jù)與之合并后同時傳送到噴頭。
 如考慮圖像的存儲格式,噴頭應該倒置,即510孔的位置在前,0孔的位置在后,即實際的像素數(shù)據(jù)的順序號與噴頭的孔號相反,噴頭的像素數(shù)據(jù)如表1所示。

3 總體實現(xiàn)
3.1 噴頭接口模塊

 噴頭接口模塊接收來自于上位機的打印圖像數(shù)據(jù),在噴頭數(shù)據(jù)時鐘clk的同步下,向噴頭送出噴頭數(shù)據(jù)。依據(jù)運動控制模塊傳出的當前位置和自身存儲的打印位置,送出點火信號fire。
 由于噴頭要求將0~255噴孔和256~511噴孔的數(shù)據(jù)同時送出,因此,噴頭接口應該至少能存儲512個噴孔的數(shù)據(jù),每噴孔1 bit數(shù)據(jù),共64 B,32個半字(16 bit)。為保證實時性,這些數(shù)據(jù)應該通過緩沖與上位機接口,最好的緩沖就是FIFO。其設(shè)計原理圖如圖2所示。

3.2 移位控制器
 移位控制器負責從數(shù)據(jù)緩存FIFO1中讀出數(shù)據(jù),并按需要的順序裝入到FIFO2中,在FIFO2裝滿的同時讀取兩個數(shù)據(jù)緩存中的數(shù)據(jù)并進行移位操作??刂破鬟\轉(zhuǎn)的另一個條件是上一個裝入-點火周期完成,因此必須在檢測到點火信號變?yōu)榈碗娖胶蟛拍苡|發(fā)。其設(shè)計ASM圖如圖3所示。

 

 

3.3 波形驗證
 輸出控制器完成輸出數(shù)據(jù)的裝載和移位輸出的控制。具體要求是當數(shù)據(jù)向數(shù)據(jù)緩存FIFO1裝載已經(jīng)完成并到達點火邊緣時,自動進行256 bit數(shù)據(jù)的裝載和移位,達到0~511孔同時裝入數(shù)據(jù)的目的。然后等待點火信號,當?shù)谝粋€點火信號過后,就可重復裝入輸出。其波形驗證如圖4所示。

 隨著圖像逐步向大格式方向發(fā)展,無論研究還是生產(chǎn)都對上位機和打印機之間的數(shù)據(jù)傳輸速度要求越來越高。因此,不僅要利用FIFO作為緩沖來解決噴頭和上位機存在的像素數(shù)據(jù)方向相反的問題,而且要利用異步FIFO用不同時鐘驅(qū)動讀寫的特性,使其自動讀取USB芯片內(nèi)的數(shù)據(jù),從而大大提高數(shù)據(jù)傳輸速度,解決數(shù)據(jù)傳輸?shù)膶崟r性問題。該設(shè)計已經(jīng)應用于實際開發(fā)項目中,并使大幅面高速彩色噴繪機的數(shù)據(jù)傳輸速率和圖像正確性得到了極大的改善。
參考文獻
[1] 王誠,吳繼華,范麗珍,等.Altera FPGA/CPLD設(shè)計(基礎(chǔ)篇)[M].北京:人民郵電出版社,2005.
[2] 張延偉,楊金巖,葛愛學.Verilog HDL程序設(shè)計實例詳解[M].北京:人民郵電出版社,2008.
[3] 王開軍,姜宇柏.面向DPLD/FPGA的VHDL設(shè)計[M].北京:機械工業(yè)出版社,2006.
[4] 熊紅兵,陳琦.基于FPGA的異步FIFO設(shè)計與實現(xiàn)[J].微計算機信息,2006,2(17).
[5] Altera Corporation.QuartusIIVersion 6.0 Handbook[Z].2006.
[6] 任曉東,文博.CPLD/FPGA高級應用開發(fā)指南[M].北京:機械工業(yè)出版社,2005.

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