專利名稱:一種打印設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種打印設(shè)備。
由于通用處理器不但要進(jìn)行命令解釋和數(shù)據(jù)解壓縮等工作,而且要實(shí)時(shí)保持與主機(jī)的通訊并對(duì)打印硬件進(jìn)行管理和配置,同時(shí)還要負(fù)責(zé)內(nèi)存的管理,這使得通用處理器的工作負(fù)擔(dān)過大,需要較高的成本投入,才能滿足其性能上的要求。
為了達(dá)到上述目的,本發(fā)明所述的打印設(shè)備包括1.一種打印設(shè)備,所述打印設(shè)備包括打印機(jī)數(shù)據(jù)輸入接口、打印機(jī)接口協(xié)議模塊、端口仲裁模塊、SDRAM接口、SDRAM(同步隨機(jī)存儲(chǔ)器)、通用處理器、打印設(shè)備機(jī)芯接口及打印機(jī)機(jī)芯;所述打印機(jī)接口協(xié)議模塊負(fù)責(zé)將經(jīng)過打印驅(qū)動(dòng)程序、打印處理器程序、語言監(jiān)控器程序處理后形成的打印數(shù)據(jù)流輸入所述打印機(jī)數(shù)據(jù)輸入接口;所述端口仲裁模塊負(fù)責(zé)對(duì)輸入端口進(jìn)行管理,端口仲裁;所述數(shù)據(jù)流通過所述SDRAM接口存儲(chǔ)到所述SDRAM中;所述通用處理器通過所述SDRAM接口讀取存儲(chǔ)器的數(shù)據(jù)并進(jìn)行分析,根據(jù)文件內(nèi)容對(duì)機(jī)芯進(jìn)行初始化和必要的設(shè)置。
其特征在于,所述打印設(shè)備還包含一個(gè)裝置在所述打印數(shù)據(jù)流存入所述SDRAM前對(duì)所述打印數(shù)據(jù)的頁結(jié)束字符串進(jìn)行監(jiān)控,為所述存儲(chǔ)器管理模塊提供頁計(jì)數(shù);
其特征還在于,所述打印設(shè)備還包括一個(gè)存儲(chǔ)器控制模塊和一個(gè)命令解釋和數(shù)據(jù)解壓縮模塊;所述存儲(chǔ)器控制模塊用于對(duì)所述SDRAM進(jìn)行內(nèi)存管理;命令解釋和數(shù)據(jù)解壓縮模塊負(fù)責(zé)將頁內(nèi)的光柵化打印數(shù)據(jù)流經(jīng)命令解釋和數(shù)據(jù)解壓縮模塊處理還原成可打印的光柵化數(shù)據(jù);在適當(dāng)?shù)臅r(shí)候,所述通用處理器對(duì)打印作業(yè)的頭文件和頁頭文件完成分析,并且對(duì)打印機(jī)的機(jī)芯進(jìn)行設(shè)置后,所述命令解釋和數(shù)據(jù)解壓縮模塊獲得所述SDRAM的讀控制權(quán),讀取包含壓縮指令和壓縮數(shù)據(jù)的數(shù)據(jù)流,根據(jù)壓縮指令對(duì)壓縮編碼進(jìn)行還原;還原后的光柵化數(shù)據(jù)流由打印機(jī)機(jī)芯接口模塊按機(jī)芯相關(guān)的輸出格式進(jìn)行輸出。
更具體來說,所述存儲(chǔ)器控制模塊將所述SDRAM控制為一環(huán)形存儲(chǔ)器,該控制模塊包括三個(gè)內(nèi)存管理單元寫指針(lpWrite)、讀指針(lpRead)和當(dāng)前打印頁開始位置指針(lpCurrentJob);所述寫指針(lpWrite)指向數(shù)據(jù)流被寫入存儲(chǔ)器的位置,所述讀指針(lpRead)指向數(shù)據(jù)流被讀出存儲(chǔ)器的位置,所述當(dāng)前打印頁開始位置指針(lpCurrentJob)指向當(dāng)前打印頁開始位置的位置;所述存儲(chǔ)器管理模塊根據(jù)所述三個(gè)內(nèi)存管理單元的值及其相互關(guān)系確定對(duì)所述SDRAM進(jìn)行讀或?qū)懖僮鞯牡刂?,并指示所述SDRAM的狀態(tài)。
由于本發(fā)明采用了與通用處理器相分離的命令解釋和數(shù)據(jù)解壓縮模塊,因此能夠保證一定的解壓縮速度,而且能夠達(dá)到實(shí)時(shí)解壓縮實(shí)時(shí)打印的要求,從而避免了現(xiàn)有打印設(shè)備中打印數(shù)據(jù)需要多次存儲(chǔ)的現(xiàn)象。
另外,本發(fā)明還采用了獨(dú)立的存儲(chǔ)器控制模塊,用于對(duì)存儲(chǔ)頁面進(jìn)行簡單的控制,而不需要通用處理器對(duì)存儲(chǔ)器進(jìn)行管理,因此,減輕了通用存儲(chǔ)器的負(fù)擔(dān)。
由上述兩點(diǎn)有益效果可以看出,由于通用處理器無需再對(duì)打印數(shù)據(jù)進(jìn)行命令解釋和解壓縮,也無需對(duì)存儲(chǔ)器內(nèi)存進(jìn)行管理,因此對(duì)于通用處理器的性能要求將大大降低,從而降低了成本開銷。
控制對(duì)光柵化打印數(shù)據(jù)流的頁結(jié)束字符串進(jìn)行監(jiān)控,給多頁面環(huán)形存儲(chǔ)管理模塊提供頁計(jì)數(shù)。負(fù)責(zé)控制這一操作的可以是一個(gè)單獨(dú)的模塊,獨(dú)立于本設(shè)備的其他模塊,當(dāng)然,該功能也可以集成于其他模塊之中來實(shí)現(xiàn)。均不脫離本發(fā)明的本質(zhì)特征。
而后,該光柵化打印數(shù)據(jù)流進(jìn)入SDRAM進(jìn)行存儲(chǔ),存儲(chǔ)后的光柵化打印數(shù)據(jù)流由存儲(chǔ)器控制模塊進(jìn)行管理,當(dāng)存儲(chǔ)器中的數(shù)據(jù)流大于或等于一頁時(shí),通用處理器通過SDARM接口讀取存儲(chǔ)器的數(shù)據(jù)并分析作業(yè)頭文件和頁頭文件,根據(jù)文件內(nèi)容對(duì)機(jī)芯進(jìn)行初始化和必要的設(shè)置,之后啟動(dòng)精簡光柵化PCL解釋器和數(shù)據(jù)解壓縮模塊。精簡光柵化PCL解釋器和數(shù)據(jù)解壓縮模塊被啟動(dòng)后獲得SDRAM的讀控制權(quán),頁內(nèi)的光柵化打印數(shù)據(jù)流經(jīng)PCL解釋器和數(shù)據(jù)解壓縮模塊處理還原成可打印的光柵化數(shù)據(jù),當(dāng)一頁完成后將SDRAM的讀控制權(quán)釋放,由通用處理器作頁間的分析處理。重復(fù)這一處理過程直到通用處理器處理到光柵化打印數(shù)據(jù)流中的作業(yè)結(jié)束命令字符串后結(jié)束該打印過程。
還原后的光柵化數(shù)據(jù)流由打印機(jī)機(jī)芯接口模塊按機(jī)芯相關(guān)的輸出格式進(jìn)行輸出;在數(shù)據(jù)輸出簡單通用處理器可以同時(shí)與機(jī)芯保持通訊。
下面詳細(xì)介紹本發(fā)明的命令解釋和解壓縮過程。根據(jù)優(yōu)選的具體實(shí)施方案在簡單通用處理器完成作業(yè)的頭文件和頁頭文件分析、對(duì)機(jī)芯初始化設(shè)置后啟動(dòng)精簡光柵化PCL解釋器和數(shù)據(jù)解壓縮模塊,處理任務(wù)由該模塊進(jìn)行,該模塊在獲得SDRAM的讀控制權(quán)后讀取包含精簡光柵化PCL壓縮指令和壓縮編碼的數(shù)據(jù)流,根據(jù)壓縮指令對(duì)壓縮編碼進(jìn)行還原。為了提高壓縮編碼的效率采用了多種編碼技術(shù)共用的編碼,不同的編碼方法由PCL指令指示;編碼采用行內(nèi)編碼和行內(nèi)分段技術(shù),使壓漲(壓漲時(shí)用不壓縮指令)范圍限制到最小。一旦模塊完成當(dāng)前頁處理(遇到頁結(jié)束指令),模塊將SDRAM的讀控制權(quán)釋放。
該模塊能獨(dú)立完成頁內(nèi)光柵化PCL指令的解釋和數(shù)據(jù)解壓縮,能確保一定的解壓縮速度,保證實(shí)時(shí)解壓縮打印。
下面將對(duì)照?qǐng)D2詳細(xì)描述本發(fā)明優(yōu)選的存儲(chǔ)器管理方法。該方法是一種用于存儲(chǔ)打印數(shù)據(jù)流的內(nèi)存管理技術(shù)。將分配的一塊內(nèi)存視為環(huán)形存儲(chǔ)器,內(nèi)存管理模塊(硬件模塊)管理寫指針lpWrite指向數(shù)據(jù)流被寫入存儲(chǔ)器的位置、讀指針lpRead指向數(shù)據(jù)流被讀出存儲(chǔ)器的位置、當(dāng)前打印頁開始位置指針lpCurrentJob指向當(dāng)前打印頁開始的位置,三個(gè)指針像表針一樣作“順”時(shí)針旋轉(zhuǎn);lpWrite到lpCurrentJob的“順”時(shí)針間隔表示“空”內(nèi)存,這一區(qū)間可以接受新的數(shù)據(jù)流。若接收到‘作業(yè)開始’命令,lpCurrentJob=lpRead=lpWrite=0;當(dāng)數(shù)據(jù)流被寫入內(nèi)存時(shí)lpWrite計(jì)數(shù),此時(shí)lpWrite象表針作‘順’時(shí)針旋轉(zhuǎn),當(dāng)lpWrite達(dá)到該塊內(nèi)存的長度時(shí)lpWrite=0,象表針過‘12’后回零一樣。當(dāng)數(shù)據(jù)流被讀出內(nèi)存時(shí)lpRead計(jì)數(shù),此時(shí)lpRead也象表針作‘順’時(shí)針旋轉(zhuǎn),若一頁數(shù)據(jù)輸出后該頁面需要‘拷貝’多份,內(nèi)存管理模塊在接收到CopyCommand(拷貝命令)后,將lpCurrentJob賦給lpRead,就象把lpRead‘逆’時(shí)針撥到lpCurrentJob的位置,當(dāng)前頁面數(shù)據(jù)將被重復(fù)輸出一次。若當(dāng)前頁輸出完成或‘拷貝’達(dá)到要求的份數(shù)后,內(nèi)存管理模塊將收到CurrentPagePrintedCom(當(dāng)前頁打印完成命令),管理模塊將lpRead賦給lpCurrentJob,象把lpCurrentJob‘順’時(shí)針撥到lpRead的位置,接著可以進(jìn)行下一頁的打印,此時(shí)上一次的頁面數(shù)據(jù)將被遺棄。當(dāng)lpRead達(dá)到該塊內(nèi)存的長度時(shí)lpRead=0,同lpWrite一樣。該內(nèi)存管理模塊同時(shí)得到‘空’內(nèi)存的長度(若分配的內(nèi)存長度=2**N,MemoryEmptyLength=lpCurrentJob-lpWrite).N+1位自動(dòng)溢出。PC機(jī)可以通過相應(yīng)的命令獲取包含‘內(nèi)存狀態(tài)’的‘打印控制器狀態(tài)字符串’得到內(nèi)存狀態(tài)。
使用該環(huán)形存儲(chǔ)管理打印數(shù)據(jù)流時(shí)無須考慮‘頁面’格式,語言監(jiān)控器程序只需要通過‘獲取內(nèi)存狀態(tài)’命令得到‘空’內(nèi)存狀態(tài)(如是否有64k-bytede的‘空’內(nèi)存)來確定數(shù)據(jù)流的是否需要繼續(xù)傳輸,確保硬件通道不被阻塞,同時(shí)提高內(nèi)存的使用效率,存儲(chǔ)多個(gè)頁面的壓縮數(shù)據(jù)。
該方案內(nèi)存管理簡單,簡單通用處理器只需根據(jù)分析頁面頭文件結(jié)果及當(dāng)前頁輸出后發(fā)送‘作業(yè)開始’、‘拷貝’或‘當(dāng)前頁打印完成’等命令。
根據(jù)以上的描述,本領(lǐng)域的普通技術(shù)人員已經(jīng)可以容易的實(shí)施本發(fā)明所述的方法。當(dāng)然,上述發(fā)明可以在其它的特殊形式中得到具體實(shí)施,且并不背離所揭示的精髓或根本特征。
權(quán)利要求
1.一種打印設(shè)備,所述打印設(shè)備包括打印機(jī)數(shù)據(jù)輸入接口、打印機(jī)接口協(xié)議模塊、端口仲裁模塊、SDRAM接口、SDRAM、通用處理器、打印設(shè)備機(jī)芯接口及打印機(jī)機(jī)芯;所述打印機(jī)接口協(xié)議模塊負(fù)責(zé)將經(jīng)過打印驅(qū)動(dòng)程序、打印處理器程序、語言監(jiān)控器程序處理后形成的打印數(shù)據(jù)流輸入所述打印機(jī)數(shù)據(jù)輸入接口;所述端口仲裁模塊負(fù)責(zé)對(duì)輸入端口進(jìn)行管理,端口仲裁;所述數(shù)據(jù)流通過所述SDRAM接口存儲(chǔ)到所述SDRAM中;所述通用處理器通過所述SDRAM接口讀取存儲(chǔ)器的數(shù)據(jù)并進(jìn)行分析,根據(jù)文件內(nèi)容對(duì)機(jī)芯進(jìn)行初始化和必要的設(shè)置;其特征在于,所述打印設(shè)備還包含一個(gè)裝置在所述打印數(shù)據(jù)流存入所述SDRAM前對(duì)所述打印數(shù)據(jù)的頁結(jié)束字符串進(jìn)行監(jiān)控,為所述存儲(chǔ)器管理模塊提供頁計(jì)數(shù);其特征還在于,所述打印設(shè)備還包括一個(gè)存儲(chǔ)器控制模塊和一個(gè)命令解釋和數(shù)據(jù)解壓縮模塊;所述存儲(chǔ)器控制模塊用于對(duì)所述SDRAM進(jìn)行內(nèi)存管理;命令解釋和數(shù)據(jù)解壓縮模塊負(fù)責(zé)將頁內(nèi)的光柵化打印數(shù)據(jù)流經(jīng)命令解釋和數(shù)據(jù)解壓縮模塊處理還原成可打印的光柵化數(shù)據(jù);在適當(dāng)?shù)臅r(shí)候,所述通用處理器對(duì)打印作業(yè)的頭文件和頁頭文件完成分析,并且對(duì)打印機(jī)的機(jī)芯進(jìn)行設(shè)置后,所述命令解釋和數(shù)據(jù)解壓縮模塊獲得所述SDRAM的讀控制權(quán),讀取包含壓縮指令和壓縮數(shù)據(jù)的數(shù)據(jù)流,根據(jù)壓縮指令對(duì)壓縮編碼進(jìn)行還原;還原后的光柵化數(shù)據(jù)流由打印機(jī)機(jī)芯接口模塊按機(jī)芯相關(guān)的輸出格式進(jìn)行輸出。
2.如權(quán)利要求1所述的設(shè)備,其特征在于,所述存儲(chǔ)器控制模塊將所述SDRAM控制為一環(huán)形存儲(chǔ)器,該控制模塊包括三個(gè)內(nèi)存管理單元寫指針(lpWrite)、讀指針(lpRead)和當(dāng)前打印頁開始位置指針(lpCurrentJob);所述寫指針(lpWrite)指向數(shù)據(jù)流被寫入存儲(chǔ)器的位置,所述讀指針(lpRead)指向數(shù)據(jù)流被讀出存儲(chǔ)器的位置,所述當(dāng)前打印頁開始位置指針(lpCurrentJob)指向當(dāng)前打印頁開始位置的位置;所述存儲(chǔ)器管理模塊根據(jù)所述三個(gè)內(nèi)存管理單元的值及其相互關(guān)系確定對(duì)所述SDRAM進(jìn)行讀或?qū)懖僮鞯牡刂?,并指示所述SDRAM的狀態(tài)。
3.如權(quán)利要求2所述的設(shè)備,其特征在于,所述寫指針與所述當(dāng)前打印頁開始位置指針之間的存儲(chǔ)區(qū)域?yàn)榭捎脜^(qū)域;初始時(shí)所述三個(gè)內(nèi)存管理單元的值置零;當(dāng)數(shù)據(jù)流被寫入時(shí),所述寫指針進(jìn)行計(jì)數(shù),當(dāng)其值達(dá)到了該內(nèi)存區(qū)域的長度時(shí),將該寫指針置零;當(dāng)數(shù)據(jù)流被讀出時(shí),所述讀指針進(jìn)行計(jì)數(shù),當(dāng)其值達(dá)到了該內(nèi)存區(qū)域的長度時(shí),將該讀指針置零,同時(shí)將此段存儲(chǔ)區(qū)作為可用區(qū)域,將其值提交給所述存儲(chǔ)器管理模塊;若當(dāng)前頁的數(shù)據(jù)需要多次復(fù)制,則使所述讀指針的值等于所述當(dāng)前打印頁開始位置指針的值;當(dāng)前頁輸出完成或按照指定次數(shù)復(fù)制完成后,使所述當(dāng)前打印頁開始位置指針的值等于所述讀指針的值。
4.如權(quán)利要求2所述的設(shè)備,其特征在于,所述命令解釋和數(shù)據(jù)解壓縮模塊中的命令為精簡PCL指令集。
5.如權(quán)利要求4所述的設(shè)備,其特征在于,所述命令解釋和數(shù)據(jù)解壓縮模塊根據(jù)所述精簡PCL指令集中的指令所指示的壓縮編碼技術(shù)對(duì)相應(yīng)的數(shù)據(jù)進(jìn)行解壓縮。
6.如權(quán)利要求1所述的設(shè)備,其特征在于,所述通用處理器為簡單通用處理器,該簡單通用處理器負(fù)責(zé)對(duì)USB包協(xié)議進(jìn)行解釋,對(duì)PJL命令進(jìn)行解釋執(zhí)行,與主機(jī)進(jìn)行通訊,以及對(duì)打印硬件進(jìn)行配置。
7.如權(quán)利要求1所述的設(shè)備,其特征在于,所述對(duì)所述打印數(shù)據(jù)的頁結(jié)束字符串進(jìn)行監(jiān)控,并為所述存儲(chǔ)器管理模塊提供頁計(jì)數(shù)的裝置可以是一個(gè)單獨(dú)的裝置。
8.如權(quán)利要求1所述的設(shè)備,其特征在于,所述對(duì)所述打印數(shù)據(jù)的頁結(jié)束字符串進(jìn)行監(jiān)控,并為所述存儲(chǔ)器管理模塊提供頁計(jì)數(shù)的裝置可以是集成于某現(xiàn)有裝置上的。
9.如權(quán)利要求1所述的設(shè)備,其特征在于,當(dāng)所述SDRAM中的數(shù)據(jù)流大于或等于一頁時(shí),所述通用處理器通過所述SDRAM接口讀取存儲(chǔ)器的數(shù)據(jù)并分析作業(yè)頭文件和頁頭文件,根據(jù)文件內(nèi)容對(duì)機(jī)芯進(jìn)行初始化和必要的設(shè)置。
10.如權(quán)利要求1所述的設(shè)備,所述打印機(jī)數(shù)據(jù)輸入接口是IEEE1284端口、USB接口或其他協(xié)議端口;所述打印機(jī)接口協(xié)議模塊是IEEE 1284模塊、USB模塊或其他協(xié)議模塊。
全文摘要
本發(fā)明提供了一種打印設(shè)備,該設(shè)備包括打印機(jī)數(shù)據(jù)輸入接口、打印機(jī)接口協(xié)議模塊、端口仲裁模塊、SDRAM接口、SDRAM、通用處理器、打印設(shè)備機(jī)芯接口及打印機(jī)機(jī)芯;打印設(shè)備還包含一個(gè)裝置,在打印數(shù)據(jù)流存入SDRAM前對(duì)打印數(shù)據(jù)的頁結(jié)束字符串進(jìn)行監(jiān)控,為存儲(chǔ)器管理模塊提供頁計(jì)數(shù);還包括一個(gè)對(duì)SDRAM進(jìn)行內(nèi)存管理的存儲(chǔ)器控制模塊和一個(gè)將頁內(nèi)的光柵化打印數(shù)據(jù)流處理還原成可打印的光柵化數(shù)據(jù)的命令解釋和數(shù)據(jù)解壓縮模塊;通用處理器對(duì)打印作業(yè)的頭文件和頁頭文件完成分析并對(duì)打印機(jī)的機(jī)芯進(jìn)行設(shè)置后,命令解釋和數(shù)據(jù)解壓縮模塊獲得SDRAM的讀控制權(quán),讀取包含壓縮指令和壓縮數(shù)據(jù)的數(shù)據(jù)流,根據(jù)壓縮指令對(duì)壓縮編碼還原;還原后的光柵化數(shù)據(jù)流由打印機(jī)機(jī)芯接口模塊進(jìn)行輸出。
文檔編號(hào)G06F3/12GK1439957SQ03121289
公開日2003年9月3日 申請(qǐng)日期2003年3月31日 優(yōu)先權(quán)日2003年3月31日
發(fā)明者陳文先, 徐忠良 申請(qǐng)人:上海北大方正科技電腦系統(tǒng)有限公司