国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

USB直接制版機(jī)高速發(fā)排卡的設(shè)計與優(yōu)化

2012-07-18 07:40蘇政偉陳科明
關(guān)鍵詞:傳輸速度固件驅(qū)動

蘇政偉,陳科明,馬 琪

(杭州電子科技大學(xué)微電子CAD研究所,浙江杭州310018)

0 引言

發(fā)排卡是一種用來連接印前設(shè)備和輸出設(shè)備的印刷業(yè)專用設(shè)備,主要功能是把PC機(jī)里的版面文件處理成點陣格式后發(fā)送給輸出設(shè)備[1]。按其采用的接口技術(shù)可以分為PCI發(fā)排卡、USB發(fā)排卡等。近年來,USB發(fā)排卡憑借發(fā)排速度快、通用性強(qiáng)、支持即插即用等優(yōu)勢,逐漸取代PCI發(fā)排卡成為主流。但是USB發(fā)排卡還是存在發(fā)排速度不高、穩(wěn)定性不夠、系統(tǒng)通用性和可擴(kuò)展性不足等問題。本文根據(jù)實際需求,設(shè)計了由FPGA專用硬件邏輯、USB2.0接口芯片及SDRAM存儲器構(gòu)成的USB發(fā)排卡系統(tǒng)結(jié)構(gòu),同時從軟硬件兩方面對發(fā)排卡的發(fā)排速度、系統(tǒng)穩(wěn)定性進(jìn)行了優(yōu)化,優(yōu)化后發(fā)排速度高達(dá)30MB/s,并且性能穩(wěn)定。

1 工作原理概述

直接制版機(jī)(Computer To Plate,CTP)是一種數(shù)字化印刷成像的光機(jī)電一體化設(shè)備,將文字、圖像轉(zhuǎn)變?yōu)閿?shù)字信號,用此信號驅(qū)動激光器在專用版材上掃描成像,再用顯影液顯影生成印版[2]。CTP設(shè)備主要應(yīng)用于大型印刷企業(yè),如報社印刷廠和商業(yè)印刷廠等等。

CTP系統(tǒng)如圖1所示,包括PC機(jī)、CTP控制系統(tǒng)、USB發(fā)排卡、LD驅(qū)動電路和激光器等。USB發(fā)排卡的主要功能是通過USB從PC機(jī)取得激光打點數(shù)據(jù),并轉(zhuǎn)發(fā)給LD驅(qū)動電路進(jìn)行激光打點。

圖1 CTP系統(tǒng)框圖

2 硬件設(shè)計

2.1 USB發(fā)排卡硬件結(jié)構(gòu)設(shè)計

USB發(fā)排卡硬件結(jié)構(gòu)如圖2所示,主要包括FPGA主控制器、USB接口、SDRAM存儲器、SPI通信接口、編碼器輸入和LD驅(qū)動接口等模塊,主控制器用Altera EP1C6Q240 FPGA芯片實現(xiàn)。

PC機(jī)發(fā)排軟件將版面數(shù)據(jù)發(fā)送到USB接口模塊,F(xiàn)PGA主控制器將版面數(shù)據(jù)放SDRAM中緩存。在激光掃描過程中發(fā)排卡的數(shù)據(jù)必須和CTP的機(jī)械運動相配合,因此將編碼器輸入的CTP系統(tǒng)行同步信號和位同步作為讀數(shù)據(jù)的時鐘,按照一定的時序關(guān)系將SDRAM中暫存的版面數(shù)據(jù)輸出至LD驅(qū)動接口模塊。為了提高傳輸速度,結(jié)構(gòu)設(shè)計中采用了面積換取速度的思想,用兩塊SDRAM進(jìn)行乒乓操作來輪流讀寫數(shù)據(jù)[3]。LD驅(qū)動接口模塊負(fù)責(zé)將輸出的并行數(shù)據(jù)轉(zhuǎn)換成高速的串行數(shù)據(jù),輸出到CTP的LD驅(qū)動電路。SPI通信模塊則負(fù)責(zé)發(fā)排卡與CTP控制系統(tǒng)的通信,完成信息的交互和握手信號的傳遞。

圖2 USB發(fā)排卡硬件結(jié)構(gòu)圖

2.2 FPGA主控制器的硬件邏輯設(shè)計

FPGA主控制器的硬件邏輯結(jié)構(gòu)如圖3所示,劃分為以下4個模塊:USB通信接口、SDRAM控制器、與CTP控制系統(tǒng)的SPI通信模塊、發(fā)排卡數(shù)據(jù)輸出時序控制模塊。在USB通信接口和SDRAM控制器之間,采用了一個1 024×16的FIFO作為輸入數(shù)據(jù)的緩沖;而在SDRAM控制器與數(shù)據(jù)輸出時序控制模塊之間,則采用了一個4 096×16的FIFO作為輸出數(shù)據(jù)的緩沖。

SDRAM控制器設(shè)計是FPGA主控制器硬件邏輯設(shè)計的難點。SDRAM的操作流程是:先初始化設(shè)置SDRAM工作模式,然后進(jìn)行數(shù)據(jù)讀寫,同時通過刷新保持電容的數(shù)據(jù)。SDRAM控制器狀態(tài)機(jī)如圖4所示。

圖3 FPGA主控制器邏輯結(jié)構(gòu)框圖

圖4 SDRAM控制器狀態(tài)機(jī)

由于USB發(fā)排卡的實際傳輸數(shù)據(jù)較大,設(shè)計中選擇SDRAM的頁猝發(fā)方式進(jìn)行讀寫。對于設(shè)計選用的SDRAM芯片MT48LC16M16A2,一次要連續(xù)寫入或讀取512個字。但是在USB發(fā)排卡傳輸版面數(shù)據(jù)的最后一行時會出現(xiàn)傳輸數(shù)據(jù)小于512字的情況。本設(shè)計利用預(yù)充電命令中斷猝發(fā)讀寫,可以解決這個問題。在版面數(shù)據(jù)傳輸結(jié)束時,把輸入緩沖FIFO中的讀地址傳入SDRAM控制器,即傳入SDRAM最后一行數(shù)據(jù)的大小N。寫入時,在發(fā)起寫入命令后的N-1個時鐘,對所有BANK預(yù)充電中斷頁猝發(fā)寫。讀出時,在讀取命令后的N+1個時鐘對所有BANK預(yù)充電中斷猝發(fā)讀。此外本文采用了集中刷新方式解決了刷新與讀寫數(shù)據(jù)的沖突。當(dāng)刷新定時器計數(shù)到時,若正好有數(shù)據(jù)傳輸,會先讓數(shù)據(jù)傳輸繼續(xù)。數(shù)據(jù)傳輸完成后,利用數(shù)據(jù)傳輸?shù)臅r間間隙再連續(xù)刷新多次,這樣能保證SDRAM中的數(shù)據(jù)不丟失。

3 軟件設(shè)計及優(yōu)化

本設(shè)計開發(fā)的軟件包括上位機(jī)發(fā)排軟件動態(tài)鏈接庫和USB固件程序。為了保證數(shù)據(jù)傳輸?shù)倪B貫性,發(fā)排卡輸入端USB的傳輸速度應(yīng)該大于發(fā)排卡輸出端LD驅(qū)動電路的傳輸速度。發(fā)排卡實際的數(shù)據(jù)傳輸速度由CTP系統(tǒng)的LD驅(qū)動電路和激光器的路數(shù)所決定,當(dāng)CTP系統(tǒng)采用更多路的激光器時,LD驅(qū)動電路數(shù)據(jù)傳輸速度就要求更快,USB的傳輸速度也要隨之提高。本設(shè)計從上位機(jī)軟件、USB驅(qū)動程序、USB固件等幾方面對USB傳輸速度進(jìn)行了優(yōu)化,最高傳輸速度能夠達(dá)到30MB/s,提高了發(fā)排卡的發(fā)排速度。

3.1 發(fā)排軟件動態(tài)鏈接庫的設(shè)計與優(yōu)化

發(fā)排軟件動態(tài)鏈接庫是在Microsoft Visual C++6.0開發(fā)環(huán)境下,使用CYPRESS提供的CYAPI.lib庫文件進(jìn)行設(shè)計,實現(xiàn)對USB設(shè)備的管理和控制[4]。本文在動態(tài)鏈接庫中設(shè)計了通用的USB數(shù)據(jù)傳輸函數(shù),屏蔽了USB傳輸?shù)募?xì)節(jié),發(fā)排軟件開發(fā)人員可直接調(diào)用,而不需要考慮數(shù)據(jù)傳輸?shù)念愋?。本設(shè)計還對動態(tài)鏈接庫中的函數(shù)進(jìn)行了優(yōu)化,以提高發(fā)排卡系統(tǒng)的性能。驅(qū)動程序中數(shù)據(jù)緩沖大小不足是造成USB傳輸慢的一個重要原因。本文通過將驅(qū)動程序緩沖大小設(shè)置為2MB,將USB傳輸速度由優(yōu)化前的 13MB/s,提高到 28MB/s。

實際使用中還發(fā)現(xiàn)CY7C68013A芯片工作不穩(wěn)定,導(dǎo)致數(shù)據(jù)傳輸被中斷的現(xiàn)象。經(jīng)大量嘗試,發(fā)現(xiàn)對CY7C68013A進(jìn)行軟件復(fù)位能夠解決這個問題。本設(shè)計通過端點0對CY7C68013A的CPUCS寄存器先后寫入數(shù)據(jù)0x01和0x00來實現(xiàn)對芯片復(fù)位。

3.2 USB固件程序設(shè)計與優(yōu)化

USB固件程序完成芯片的初始化、處理各種USB標(biāo)準(zhǔn)設(shè)備請求、重列舉和電源管理。CYPRESS公司提供CY7C68013A固件程序的流程框架,設(shè)計中根據(jù)需求修改和添加固件框架中的描述符文件dscr.a51和外設(shè)功能文件periph.c中的代碼,即可實現(xiàn)USB特定設(shè)備的功能[5]。

本設(shè)計從數(shù)據(jù)包大小和端點緩沖區(qū)配置兩方面對固件程序進(jìn)行一定的優(yōu)化,以提高USB的傳輸速度。數(shù)據(jù)包大小的設(shè)置應(yīng)該在協(xié)議消耗和剩余帶寬之間取平衡。高速傳輸下,塊傳輸允許的數(shù)據(jù)包最大值為512Byte。而數(shù)據(jù)包設(shè)置多大能使傳輸速度達(dá)到最佳,取決于傳輸?shù)臄?shù)據(jù)量以及端點的配置,需要根據(jù)實際情況測得。本文通過大量實驗,測得在傳輸20MB數(shù)據(jù)時,數(shù)據(jù)包大小設(shè)置為480字節(jié),USB傳輸速度最快。端點緩沖區(qū)大小對USB傳輸速度也有一定影響。多重緩沖結(jié)構(gòu)可以在數(shù)據(jù)傳輸過程中有效提升數(shù)據(jù)帶寬,平滑帶寬抖動,減少傳輸?shù)却臅r間。本設(shè)計將端點緩沖區(qū)大小優(yōu)化后配置為3×512字節(jié),較原來的2×512字節(jié)的配置,USB傳輸速度有一定的提升。

4 結(jié)束語

本文設(shè)計了一種USB2.0高速發(fā)排卡,硬件上采用USB2.0+FPGA+SDRAM的設(shè)計結(jié)構(gòu),軟件上通過對發(fā)排軟件動態(tài)鏈接庫和USB固件程序進(jìn)行設(shè)計和優(yōu)化,能夠完成與主機(jī)的USB通信、版面數(shù)據(jù)的緩沖、與CTP控制系統(tǒng)的交互以及發(fā)排數(shù)據(jù)輸出的時序控制,具有可擴(kuò)展性強(qiáng)、傳輸速度高和傳輸連貫性好等優(yōu)點。經(jīng)過優(yōu)化,發(fā)排卡的傳輸速率由13MB/s提高到了30MB/s,系統(tǒng)穩(wěn)定性也有大幅提升。目前,發(fā)排卡已應(yīng)用于實際印刷制版中。

[1] 王玉麗.基于USB2.0的直接制版機(jī)高速發(fā)排卡的設(shè)計與實現(xiàn)[D].蘇州:蘇州大學(xué),2010.

[2] 于鵬.直接制版機(jī)控制系統(tǒng)和USB發(fā)排卡的設(shè)計與實現(xiàn)[D].蘇州:蘇州大學(xué),2008.

[3] 劉延飛,楊鐵阡,李琪,等.多總線地面測試設(shè)備中雙SDRAM控制器的設(shè)計[J].電訊技術(shù),2011,51(4):31-34.

[4] 何蘇勤,黃翠翠.基于USB2.0的異步數(shù)據(jù)傳輸和控制接口的設(shè)計[J].應(yīng)用天地,2010,29(3):79-83.

[5] 薛園園.USB應(yīng)用開發(fā)技術(shù)大全[M].北京:人民郵電出版社,2007:202-205.

猜你喜歡
傳輸速度固件驅(qū)動
基于模糊PI控制的驅(qū)動防滑仿真系統(tǒng)分析
屈宏斌:未來五年,雙輪驅(qū)動,砥礪前行
軌旁ATC系統(tǒng)門控柜接收/驅(qū)動板改造
SSD移動硬盤大降價,可以考慮了
基于固件的遠(yuǎn)程身份認(rèn)證
基于S3C6410的Wi-Fi驅(qū)動移植實現(xiàn)
提取ROM固件中的APP
電網(wǎng)中無線通信技術(shù)的應(yīng)用探析
一種通過USB接口的可靠固件升級技術(shù)
多路手機(jī)固件升級工具設(shè)計