<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于FPGA的同步FIFO在大幅面高速彩色噴繪機噴頭數據傳輸中的應用

基于FPGA的同步FIFO在大幅面高速彩色噴繪機噴頭數據傳輸中的應用

作者: 時(shí)間:2017-06-05 來(lái)源:網(wǎng)絡(luò ) 收藏

隨著(zhù)社會(huì )生產(chǎn)與研究設計對噴繪產(chǎn)品高速化的需求與日俱增,傳統的數字噴墨式印刷機已經(jīng)不能滿(mǎn)足這種需求。而大幅面高速無(wú)論是在數據的傳輸速度還是在打印的質(zhì)量上都超過(guò)了傳統的數字噴墨式印刷機。但是,大幅面高速的技術(shù)并不是十分成熟,還有許多的地方可以改進(jìn)。

近年來(lái),隨著(zhù)微電子設計技術(shù)與工藝的發(fā)展,數字集成電路從電子管、晶體管、中小規模集成電路、超大規模集成電路逐步發(fā)展到今天的專(zhuān)用集成電路(ASIC)。ASIC的出現降低了產(chǎn)品的生產(chǎn)成本,提高了系統的可靠性,縮小了電路的物理尺寸,推動(dòng)了社會(huì )的數字化進(jìn)程[1]。數字電路設計當中用來(lái)實(shí)現FIFO的功能可以更好地解決并行性和實(shí)時(shí)性問(wèn)題,而且用實(shí)現的FIFO更容易修改和測試,可以降低成本和縮短開(kāi)發(fā)周期。

1 像素數據傳輸定時(shí)分析


像素數據傳輸時(shí)序如圖1所示,像素數據傳輸在CLK的同步下進(jìn)行,每次傳送256×2 bit,使用256個(gè)CLK時(shí)鐘。在傳輸開(kāi)始前和傳輸結束后,CLK應該保持在高電平。每次傳輸完后,等待3個(gè)連續的像素時(shí)鐘(PIXELCLK),即點(diǎn)火信號,3個(gè)點(diǎn)火信號使存儲在噴頭中的像素數據完成點(diǎn)火輸出。第一個(gè)點(diǎn)火脈沖有數據鎖存的功能,在該脈沖過(guò)后,前次接收的數據完成鎖存,可以開(kāi)始下一次的數據移位輸入工作,盡管此時(shí)上一次輸入的像素數據還沒(méi)有消耗完。因此,可實(shí)現數據傳輸和點(diǎn)火同時(shí)進(jìn)行。在第一個(gè)點(diǎn)火脈沖到來(lái)期間,像素數據和像素時(shí)鐘應該保持不變。


2 像素數據格式

本文引用地址:http://dyxdggzs.com/article/201706/349006.htm

 像素數據分為點(diǎn)火和不點(diǎn)火兩種,點(diǎn)火的(噴出的)像素其數據要求為D2D1D0(D6D5D4)=111,不點(diǎn)火的(不噴出的)像素要求D2D1D0(D6D5D4)=000。因此,實(shí)際傳輸時(shí)可采用兩條信號線(xiàn),一條負責D2D1D0的像素,另一條負責D6D5D4的像素,而在數據進(jìn)入噴頭之前,將輸入的1信號展開(kāi)成111,0信號展開(kāi)成000即可。這樣可用兩條信號線(xiàn)實(shí)現6條信號線(xiàn)的功能。

每次傳送,一個(gè)噴頭所需要的數據為512 bit,其中,第0和第511 bit必須為0,實(shí)際完成510孔數據的傳送,但是數據傳送使用的是256個(gè)CLK時(shí)鐘,每時(shí)鐘傳送2 bit。分作兩條信號線(xiàn)傳輸,一條是D2D1D0負責256~511孔的數據傳送,D6D5D4負責0~255孔的數據傳送。這就要求有一種電路,先緩沖256~511孔的數據,再將0~255孔的數據與之合并后同時(shí)傳送到噴頭。

如考慮圖像的存儲格式,噴頭應該倒置,即510孔的位置在前,0孔的位置在后,即實(shí)際的像素數據的順序號與噴頭的孔號相反,噴頭的像素數據如表1所示。


3 總體實(shí)現

3.1 噴頭接口模塊

噴頭接口模塊接收來(lái)自于上位機的打印圖像數據,在噴頭數據時(shí)鐘clk的同步下,向噴頭送出噴頭數據。依據運動(dòng)控制模塊傳出的當前位置和自身存儲的打印位置,送出點(diǎn)火信號fire。

由于噴頭要求將0~255噴孔和256~511噴孔的數據同時(shí)送出,因此,噴頭接口應該至少能存儲512個(gè)噴孔的數據,每噴孔1 bit數據,共64 B,32個(gè)半字(16 bit)。為保證實(shí)時(shí)性,這些數據應該通過(guò)緩沖與上位機接口,最好的緩沖就是FIFO。其設計原理圖如圖2所示。


3.2 移位控制器

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


3.3 波形驗證

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

隨著(zhù)圖像逐步向大格式方向發(fā)展,無(wú)論研究還是生產(chǎn)都對上位機和打印機之間的數據傳輸速度要求越來(lái)越高。因此,不僅要利用FIFO作為緩沖來(lái)解決噴頭和上位機存在的像素數據方向相反的問(wèn)題,而且要利用異步FIFO用不同時(shí)鐘驅動(dòng)讀寫(xiě)的特性,使其自動(dòng)讀取USB芯片內的數據,從而大大提高數據傳輸速度,解決數據傳輸的實(shí)時(shí)性問(wèn)題。該設計已經(jīng)應用于實(shí)際開(kāi)發(fā)項目中,并使大幅面高速的數據傳輸速率和圖像正確性得到了極大的改善。



關(guān)鍵詞: 同步FIFO 彩色噴繪機 FPGA

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>