【摘要】本文介紹了一種基于USB(Universal Serial Bus)接口的計算機直接制版機數據接口卡的軟硬件設計,包括硬件設計,FPGA控制邏輯設計以及上位機發排軟件的設計。本接口卡以FPGA芯片為核心,通過USB2.0接口實現與PC端的通信,接收圖像數據并按照后端設備規定的時序輸出打印數據。經測試,該板卡的性能穩定,傳輸速度可達160Mb/s,滿足預期要求。
【關鍵詞】FPGA;USB;數據接口卡
1.引言
數據接口卡處于計算機端和輸出印刷設備之間,在印刷行業的設備中處于很重要位置[1]。多年來,CTP(computer-to-plate)設備使用的數據接口卡多數為PCI(Peripheral Computer Interface)發排卡。然而近10年來,隨著計算機硬件與軟件的不斷發展,以及設備使用過程中的經驗,使用PCI接口卡具有很多缺點,給企業的實際銷售或售后服務帶來很大的困擾,增加企業的成本:接口卡對計算機的主板有一定的要求、數據線太長容易產生與打印設備接觸不良的現象、卡與主板之間的驅動時有不兼容的現象。本設計根據實際需求,設計了一款通用性強,穩定性好的USB數據接口卡,滿足了企業的發展需求。
2.系統工作原理
CTP技術就是把計算機中的TIFF圖像中的數據信息通過掃描的方式打印到印版上,實現圖像文件的打印。
CTP主要由五部分構成:光學模塊、電路模塊、數據接口卡、計算機主機以及機械模塊。數據接口卡在印刷流程中起到的是數據傳輸的作用,它是把上位機圖像數據傳輸給后端打印設備,打印設備收到數據后根據一定的時序實現圖像的打印。由此可見,數據接口卡也可以說是計算機和印刷設備之間的橋梁,通常也稱之為發排卡。
圖1 系統硬件結構示意圖
3.系統硬件設計
3.1 系統硬件結構設計
系統總體的硬件結構如圖1所示,主要包括FPGA主控芯片、USB控制芯片、USB2.0接口和SDRAM外掛存儲芯片,本文中的主控芯片采用Altera EP1C6Q240C8 FPGA芯片,USB芯片為Cypress公司的68013芯片,外掛的兩片SDRAM存儲器的型號為MT48LC16M16A2TG-75。
首先,上位機發送Tiff圖像文件到USB接口模塊,通過Cypress68013芯片將數據傳送給FPGA,FPGA接收到數據后將數據幀結構進行處理,然后把數據存儲在兩片SDRAM中,同時根據后端CTP設備提供的打板行同步和位同步信號,將存儲在SDRAM中的圖像數據讀出并輸出給CTP設備。在實際打板過程中,必須保證SDRAM中一直有數據且不會因數據過多而被覆蓋,系統設計中對兩篇SDRAM進行乒乓操作,在讀其中一片的時候寫另外一片,保證所讀的SDRAM中是一直有數據的。
3.2 FPGA邏輯設計
FPGA的硬件邏輯設計結構主要分為五大模塊:數據幀有效及解析模塊、數據緩存模塊、SDRAM控制模塊、指令通信模塊和圖像打印模塊。
數據幀有效及解析模塊首先判斷收到的數據幀結構是否有效,若是有效幀,則進行數據幀的解析,提取出圖像數據。FPGA與USB的接口如圖2所示。
圖2 USB和FPGA接口示意圖
FPGA_ADR0和FPGA_ADR1為Cy68013芯片中FIFO的地址選擇,一共有4個通道,每個通道對應一片FIFO,每片緩存的數據為1K;FLAGA、FLAGB、FLAGC、FLAGD表示各個通道中FIFO的空滿狀態;PKTEND、SLRD、SLWR、SLOE表示通信的使能和方向信號,IFCLK為Cy68013的工作頻率。
圖3 SDRAM的工作流程圖
圖4 系統軟件流程圖
圖5 數據輸出示意圖
在數據幀有效模塊將數據信息解析出來后把數據存入緩存模塊中,緩存模塊分為前級緩存和后級緩存,緩存采用異步FIFO模塊,目的是為了解決不同時鐘域的問題。數據存儲完成后將寫入到SDRAM中,對于兩片SDRAM,一片寫,同時另一片讀,保證數據的連續性,當數據從后級SDRAM中讀出時,同時寫入到后端的SDRAM中去。若一片SDRAM還在讀,二另一片SDRAM已經寫滿,則通過上傳命令通道上傳指令通知上位機停止發送命令,存在后端FIFO中的數據根據后端打印設備的時序打印圖像數據。
SDRAM控制器的操作流程如圖3所示,首先延時200us,然后對所有L_BANK進行預充電,接著刷新8個時鐘周期進行模式寄存器的設置[2],設置完成后就可以對SDRAM進行讀寫操作了,在本設計中,SDRAM設置為頁讀寫模式,即一次讀寫256個字。
4.系統軟件設計及測試結果
本系統軟件流程圖如圖4所示。
用SignalTap抓取的數據輸出圖如圖5所示。
5.結束語
聯機調試表明,本文設計的USB2.0發排卡在傳輸圖像文件時沒有數據錯誤或丟失的情況,圖像完整,速度也達到設計要求,此外,發排卡性能穩定,對電腦配置要求不高,通用性較強,可以替代原有的老式發排卡。
參考文獻
[1]蘇政偉,陳科明,馬琪.USB接制版機高速發排卡的設計與優化[J].杭州電子科技大學大學學報,2012,5:41-44.
[2]李衛,王杉,魏急波.SDRAM控制器的FPGA設計與實現[J].電子工程師,2004,30(10):29-32.