基于DSP控制的USB接口速印機
1引言
速印機(也稱速印一體機)是指通過數字掃描,數碼熱敏頭制版成像的方式進行工作,從而實現印刷速度在每分鐘100張以上的印刷設備。速印機印速快、成本低、耗電少、維護方便,使其廣泛應用于經常大批量印刷的學校、機關中。所以近幾年來國內外對速印機的研究也在不斷升溫。本文提出了一種將圖像處理和電機控制功能集成于一片DSP芯片內,并支持電腦直接打印輸出功能的解決方案。
2 系統(tǒng)硬件組成
本文設計的速印機的控制系統(tǒng)主要組成部分有:面板控制器(選用80C51單片機)、DSP(選用TI公司的TMS320F2812)、FPGA(選用ALTERA公司的EP1C6Q240C8)、USB芯片(選用Cypress公司的CY7C68013)、CIS(接觸式圖像傳感器)、TPH(熱敏打印頭)、SDRAM、按鍵、液晶顯示器、電機、電磁開關、傳感器等。其硬件結構框圖如圖1所示 圖1 系統(tǒng)硬件結構框圖
3 工作原理
僅使用速印功能時,其工作流程可分為制版和印刷兩步。制版工作流程為:待制版鍵按下后,面板控制器將制版信號通過串口送至DSP(數字信號處理器),DSP通過中斷響應制版信號,并啟動掃描電機和DSP片上的ADC模塊,同時DSP通過握手信號告知FPGA(可編程邏輯門陣列)啟動CIS。FPGA產生CIS的時鐘信號CLK、選通輸入信號SI及各色光源選通信號,并通過這幾個信號產生的相應時序控制CIS通過模擬信號輸出引腳SIG向ADC模塊串行移位輸出對應像素的灰度。DSP把掃描到的圖像數據通過γ補償、濾波、二值化、數字半色調圖像處理后,把數據存放在SDRAM存儲器中,并通過握手信號通知FPGA從SDRAM存儲器中提取光柵數據并控制熱敏打印頭將其燒寫在版紙(也稱蠟紙)上,制版結束。
印刷工作流程為:印刷按鍵按下后,版紙牽引電機和壓版電機配合將版紙掛到滾筒上,此時油墨電機工作均勻上墨,待進紙電機把紙送到印刷區(qū)后,壓紙電機把紙貼到滾筒上,主電機帶動滾筒轉一圈后,分離電機開始工作將紙從滾筒上剝離?!〈垙堖M入出紙區(qū)后,出紙電機和負壓風機同時工作將紙送出,至此第一張紙印刷完成。印刷多張時就不用再制版了,直接印刷即可。
若使用電腦直接打印功能時,其工作流程為:電腦主機通過USB芯片把數據傳給FPGA,FPGA通過產生相應的時序信號將數據存至SDRAM存儲器中,然后FPGA按行將數據燒寫至版紙上。制版完成后,FPGA通過DSP的外部中斷引腳觸發(fā)DSP的外部中斷,在DSP的外部中斷服務程序中,進行印刷流程。
4基于DSP的電機控制
TI公司的數字信號處理器TMS320F2812片上集成了兩個事件管理器模塊(EVA,EVB)。每個事件管理器都包含通用目的定時器、全比較PWM單元、捕捉單元和正交脈沖編碼電路等,可同時方便的控制兩部電機,專為多軸運動控制應用而設計。[1] 在本系統(tǒng)中兩個事件管理器分別應用于控制三相無刷直流電機(主電機)和三相反應式步進電機(掃描電機)。
對三相無刷直流電機的控制采用了轉速電流雙閉環(huán)調速方式。其控制系統(tǒng)框圖如圖2 圖2 轉速電流雙閉環(huán)調速原理框圖
TMS320F2812的捕捉單元可以方便的捕捉編碼器的脈沖信號,以形成速度反饋。其ADC模塊可以將霍爾電流傳感器的模擬信號轉換為數字值,以形成電流反饋。TMS320F2812的全比較PWM單元使得產生SVPWM(空間矢量脈沖寬度調制)的操作大大簡化。雙閉環(huán)調速方式提高了主電機(三相無刷直流電機)的控制精度。
步進電機具有如下特點:
(1)角位移與輸入脈沖數成正比,無累積誤差,具有良好的跟隨性。
(2)動態(tài)響應快,易于起停、正反轉及變速。
(3)速度可在寬范圍內平滑調節(jié),低速下仍能獲得大轉矩。
(4)步進電機存在振蕩和失步現象,必須對控制系統(tǒng)和機械負載采取相應措施。三相反應式步進電機有三種工作方式:單三拍、雙三拍和六拍工作方式。單三拍工作方式即是按A-B-C方式循環(huán)通電;雙三拍循環(huán)通電順序為AB-BC-CA;六拍循環(huán)通電順序為A-AB-B-BC-C-CA(上述三種循環(huán)通電順序均為正轉方式)。[2] 三種工作方式中六拍工作方式相電流、轉矩最大,高頻性能最好,電磁阻尼大,不易產生振蕩。所以本系統(tǒng)采用三相六拍工作方式控制步進電機。另外為了使步進電機更加穩(wěn)定還使用了機械阻尼法,就是在電動機軸上加阻尼器。
5圖像處理
在僅使用速印功能時,其圖像處理過程可分為五步:模擬圖像數字化、γ校正、濾波、二值化和數字半色調處理。
模擬圖像數字化是由TMS320F2812片上集成的ADC模塊實現的。TMS320F2812的ADC模塊是一個16通道12位分辨率具有流水線結構的模數轉換器。它的16個通道可配置為兩個獨立的8通道,最快轉換時間為80ns。從CIS中輸出的模擬圖像的電流經過ADC模塊采樣,其數字值存放在對應通道的結果寄存器ADCRESULT中,等待TMS320F2812的CPU作進一步的處理。
圖像傳感器的輸入輸出特性一般都不是線性的,即入射光強度L和曝光量D或者是輸出電流I不是正比關系。輸入輸出關系可用以下公式表示: 。若γ為1時,輸入輸出為正比關系。但γ一般在0.4到0.8之間。對這種非線性關系進行校正,使其成為正比關系的 操作稱為γ校正??勺鲆粋€具有平均特性的速查表來進行γ校正。[3] 圖像中的邊緣和噪聲對應于傅里葉變換中的高頻部分,所以要削弱噪聲就需要減弱高頻分量部分。我們需要選擇一個合適的低通濾波器。理想低通濾波器(將高頻成份直接“截去”)可以削弱噪聲、平滑圖像,但容易產生模糊和振鈴現象。一階巴特沃思(Butterworth)低通濾波器可以平滑圖像、削弱噪聲,并且巴特沃思低通濾波器在高頻與低頻間的過渡比較光滑,所以不易出現振鈴現象。由于圖像邊緣部分也對應于傅里葉變換中的高頻部分,過分削弱高頻分量會使圖像模糊。所以選擇合適的截止頻率即能有效去除噪聲,又能使圖像不太模糊。品質要求較高時,也可再對圖像進行適當的銳化清晰處理。
圖像的二值化就是將灰度圖像變?yōu)橹挥袃蓚€灰度級的圖像。其過程非常簡單,就是確定一個閾值T,大于閾值的灰度值變?yōu)椋?,小于閾值的灰度值變?yōu)椋?。在一幅圖像的整體范圍內只取一個閾值來對圖像進行二值化處理的方法稱為全局閾值法。將圖像分成幾個子塊,在每個子塊中選取最佳閾值的方法為局部閾值法。在純文本速印方式時使用全局閾值法,在圖片速印方式時使用局部閾值法。本系統(tǒng)中采用最大方差比法計算閾值。
數字半色調處理過程就是創(chuàng)建復合點(也稱半色調單元)的過程。復合點(spot)是由打印機點(dot)組成的方塊網格,這些網格中的任何一個打印機點都是可以打開或關閉的(白色或黑色)。若要創(chuàng)建一個深色復合點,可以將該復合點內的打印機點多打開一些;若要創(chuàng)建一個淺色復合點,可以少打開一些打印機點。人眼具有低通特性,能將復合點看成具有灰度的點。[4] 這些復合點具有3個屬性:頻率、角度和形狀。本系統(tǒng)使用分辨率為400dpi*400dpi的打印機。網點頻率為50lpi(lines per inch),灰度色階數為65,采用45度方塊形網格。使用數字半色調處理技術,可以在二值輸出設備上輸出漂亮的灰度(連續(xù)色調)圖像。
6通訊接口
一般的串口通訊速率為幾Kb/s到幾十Kb/s,并口的速率為40Kb/s到1 Mb/s,USB接口有低速、全速和高速三種工作方式,低速模式的傳輸速率為1.5Mb/s,全速為12?。停猓?,高速可達480?。停猓?,特別適合像速印機這樣的需要大批量傳輸數據的設備。本速印機選用USB2.0全/高速接口作為與電腦主機的接口。
USB功能設備芯片選用Cypress公司EZ-USB FX2系列的CY7C68013。它包括1個增強型8051處理器、1個串行接口引擎(SIE)、1個USB收發(fā)器、8.5KB片上RAM、4?。耍隆。疲桑疲洗鎯ζ骷埃眰€通用可編程接口(GPIF)。它支持高速模式,兼容全速模式,性價比高,是USB2.0接口設計的主流芯片之一。[5] USB定義了四種傳輸方式:控制傳輸方式、等時傳輸方式、中斷傳輸方式和批量傳輸方式,以適應各種設備的需要。在開發(fā)USB設備時可通過設置相應寄存器使端點處于不同的工作方式??刂苽鬏斨饕脕磉M行查詢、配置端點和給設備發(fā)送命令。等時傳輸提供了確定的帶寬和間隔時間,它被用于時間嚴格并具有較強容錯性的流數據傳輸,或者用于要求恒定的數據傳送率的即時應用中。例如USB麥克風、音箱等使用等時傳輸是很好的選擇。中斷傳輸方式是PC機周期性的輪詢設備是否有數據要傳送的一種方式,該方式應用于少量的、分散的、不可預測的數據傳輸,比如鍵盤、鼠標、搖桿等。批量傳輸方式主要應用于無帶寬和間隔時間要求的大量數據的傳送和接收,打印機、掃描儀和USB硬盤等就屬于這種類型。在速印機系統(tǒng)中,USB芯片“大”端點2、4、6、8均配置為雙倍緩沖區(qū)批量傳輸方式。
CY7C68013有3種接口模式:端口模式、從屬FIFO模式和GPIF主控器模式。在端口模式中,所有I/O引腳都是通用I/O端口。從屬FIFO模式中,外部控制器可像普通FIFO一樣對FX2的多層緩沖FIFO直接進行讀寫。GPIF主控器模式下,可以編程讀寫控制波形,幾乎可以對任何8/16 位接口的控制器、存儲器和總線進行數據的主動讀寫,非常靈活。CY7C68013雖然可以用片上增強型8051單片機直接處理USB2.0數據,但這樣會受到單片機速度的限制而無法實現USB2.0的高速傳輸。從屬FIFO方式可以解決這一矛盾,在此種方式下,USB數據流并不經過CY7C68013的片上增強型8051單片機,而是直接在快速外部主設備與FIFO端點之間實現高速傳輸。
USB的軟件設計包括:固件程序、驅動程序和應用程序的設計。
(1)固件程序設計
固件程序由USB芯片集成的增強型8051單片機來處理,其主要工作是解析并執(zhí)行主機的命令。FX2的一個重要特性就是以“軟”為主,內部無ROM,僅有程序和數據RAM,所以需要通過主機將固件程序下載至RAM中運行。CYPRESS公司提供了EZ-USB?。疲兀补碳绦蚩蚣芤约铀俟碳绦虻拈_發(fā)?!。郏叮?
(2)驅動程序設計
本系統(tǒng)需要兩個驅動程序,即固件下載驅動程序和設備功能驅動程序。固件下載驅動程序負責在外部設備連接到USB總線后把特定的固件程序下載到FX2的RAM中,FX2模擬斷開與USB總線的連接以完成對固件的重新設置,并使用新的固件程序進行重枚舉。主機則根據新的設置來安裝設備功能驅動程序。設備功能驅動程序不必對具體硬件編程,它只需定義與應用程序的接口,定義與外部設備的通信接口和通信數據格式。應用程序調用設備功能驅動程序,設備功能驅動程序調用總線驅動程序把USB命令傳給硬件。CYPRESS公司提供了固件下載驅動程序范例,只需作少量修改即可作為本系統(tǒng)的固件下載驅動程序。為加速設備功能驅動程序的開發(fā),CYPRESS公司提供了EZ-USB通用設備驅動程序規(guī)范。此規(guī)范的目的是描述從用戶應用程序到設備驅動程序的接口方式。
(3)應用程序設計。
本速印機的應用程序使用了Windows操作系統(tǒng)提供的標準打印機應用程序插件。
7 結束語
本文提出了一種基于DSP和USB接口的速印機解決方案,并從電機控制、圖像處理和通訊接口三方面做了詳細的闡述。經測試,本系統(tǒng)打印品質良好,印速可達120r/min,并可實現電腦直接打印,拼接印刷,縮放印刷等功能。此解決方案使得硬件控制電路得到簡化,整體性能有所提高,圖像處理技術的升級更加方便,是一種優(yōu)化的解決方案。展望:可在此方案基礎上再增加掃描儀功能,使其功能更加強大。
霍爾傳感器相關文章:霍爾傳感器工作原理
霍爾傳感器相關文章:霍爾傳感器原理
評論