国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      對打印頭驅(qū)動參數(shù)的控制的制作方法

      文檔序號:6414580閱讀:699來源:國知局
      專利名稱:對打印頭驅(qū)動參數(shù)的控制的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種打印機中的打印頭驅(qū)動參數(shù)的控制,該打印機帶有能夠與具有不同的物理特性的打印盒相互換的可拆下打印盒。
      在某些傳統(tǒng)的打印系統(tǒng)中,打印機具有單個的不可拆下的打印頭裝置,因而所要執(zhí)行的多數(shù)打印功能是固定的。其他傳統(tǒng)的打印系統(tǒng)利用了一種固定的多頭結(jié)構(gòu),因而打印參數(shù)是不變的。由于打印頭結(jié)構(gòu)是固定的,提供對打印頭驅(qū)動參數(shù)的控制是比較容易和節(jié)約的。
      然而,諸如噴墨或氣泡噴射型的串行打印機現(xiàn)在都具有多個可拆下的打印頭,因而頭的結(jié)構(gòu)是互換的且打印機功能隨著打印機上當前所安裝的打印頭的類型而改變。
      如果多個可拆下打印頭被安裝到打印機上,打印機控制根據(jù)當前所安裝的打印頭的類型而進行;因而當當前的打印頭結(jié)構(gòu)被不同的打印頭結(jié)構(gòu)所取代時,控制也改變。其結(jié)果,需要對隨著打印數(shù)據(jù)的產(chǎn)生和存儲而變化很大的打印機功能進行控制,并控制打印頭的運動和用于實現(xiàn)圖象和文字打印的信號。例如,把黑色的墨打印頭改變成彩色打印頭要求不同的打印數(shù)據(jù)、不同的打印數(shù)據(jù)存儲、不同的傳送到打印頭的信號、不同的打印頭操作表等等,從而使打印機中的打印機控制更為復雜且打印機變得更為昂貴。另外,當打印頭技術(shù)和打印要求改變時,對打印機進行修正以把新型的打印頭連接到其上,是困難而昂貴的。因此,需要一種打印控制設(shè)置,它使得能夠在不受打印機的結(jié)構(gòu)變得復雜的情況下對打印機上的可拆下打印頭盒進行改變。而且,當新的盒-它具有新的墨或新的頭(例如噴嘴大小、噴嘴設(shè)置或加熱方法不同于當前的打印機所用的頭)-得到開發(fā)時,需要在不改變打印機的硬件的情況下對新的盒進行控制。
      本發(fā)明的目的,是提供一種打印控制,它克服了現(xiàn)有技術(shù)系統(tǒng)中的前述缺點,并提供了用于不同的打印模式的各種打印裝置結(jié)構(gòu)。
      本發(fā)明的另一目的,是提供用于打印機的靈活硬件。
      根據(jù)本發(fā)明的一個方面,在一種具有至少一個可拆下打印裝置的打印機中的一種打印控制器把表示當前安裝的可拆下打印裝置的特性的數(shù)據(jù)送到一種主處理器,并從該主處理器接收命令。響應(yīng)于接收的命令,打印控制器根據(jù)相連的打印裝置的特性控制打印機功能。接收的命令包括與相連的打印裝置的特性相應(yīng)的打印頭驅(qū)動參數(shù)。
      根據(jù)本發(fā)明的另一方面,主處理器包括用于具有至少一個可拆下打印裝置的打印機的打印機驅(qū)動程序。該打印機驅(qū)動程序從打印機接收表示當前連接的打印裝置的特性的數(shù)據(jù),并把命令送到打印機以根據(jù)連接的打印裝置的特性控制打印功能。這些命令包括與連接的打印裝置的特性相應(yīng)的打印頭驅(qū)動參數(shù)。
      根據(jù)本發(fā)明的又一個方面,打印控制器把表示打印機存儲器的存儲區(qū)的數(shù)據(jù)送到兩個打印機驅(qū)動器,以用于產(chǎn)生命令。
      根據(jù)本發(fā)明的再一個方面,當打印機與主處理器在其接通狀態(tài)下連接且可拆下打印裝置改變時,可拆下打印裝置的的特性被打印機送到打印機驅(qū)動器,根據(jù)本發(fā)明的又一個方面,打印機是這樣的打印機,即其連接有多個打印頭且命令被從打印機驅(qū)動程序送來,以根據(jù)連接的打印頭的打印頭驅(qū)動特性在選定的打印模式下控制打印。
      借助前述設(shè)置,具有多個可拆下打印頭的打印機的控制可根據(jù)與打印機相連的打印頭結(jié)構(gòu)而得到改變,而不需要具有復雜結(jié)構(gòu)的打印機,且不同類型的打印頭結(jié)構(gòu)可容易地得到提供,以利用簡單而經(jīng)濟的打印機結(jié)構(gòu)來進行各種打印模式。
      根據(jù)本發(fā)明的另一方面,具有至少一個可拆下打印裝置的打印機中的一個打印機控制器接收來自一個外部裝置的影響打印頭驅(qū)動參數(shù)的命令。響應(yīng)于接收的命令,打印機控制器根據(jù)至少一個可拆下打印裝置的特性控制打印機的功能。這些命令能夠定義當新的盒(它現(xiàn)在可被用于打印機而不必改變硬件)出現(xiàn)時適合于控制功能的參數(shù)。
      以上提供了簡要的描述,以使得能夠迅速地理解本發(fā)明的性質(zhì)。通過以下結(jié)合附圖對本發(fā)明的最佳實施例所進行的一定詳細描述,可以獲得對本發(fā)明的更為完整的理解。


      圖1顯示了與本發(fā)明的打印機一起采用的計算設(shè)備的立體圖。
      圖2是圖1顯示的打印機的正視立體圖。
      圖3是圖1的打印機的后視立體圖。
      圖4是圖1的打印機的正視切去立體圖。
      圖5是圖1的打印機的后視切去立體圖。
      圖6A和6B分別顯示了與本發(fā)明結(jié)合使用的盒接收部分的正視和后視圖。
      圖7顯示了用于本發(fā)明的可隨意處理的墨盒的一個例子。
      圖7A和7B顯示了用于本發(fā)明的第二類型的墨盒的一個例子。
      圖8顯示了用于本發(fā)明的打印頭的頭結(jié)構(gòu)的頂視圖。
      圖9顯示了本發(fā)明的打印機打印的點結(jié)構(gòu)。
      圖10是框圖,顯示了與本發(fā)明的打印機接口的主處理器的硬件結(jié)構(gòu)。
      圖11顯示了圖10顯示的打印機和主處理器的功能框圖。
      圖12是框圖,顯示了圖10顯示的選通電路陣列的內(nèi)部結(jié)構(gòu)。
      圖13顯示了本發(fā)明的打印機的存儲器結(jié)構(gòu)。
      圖14顯示了本發(fā)明的打印機的操作的總體系統(tǒng)流程圖。
      圖15是流程圖,顯示了打印機響應(yīng)于本發(fā)明的打印機的用戶操作。
      圖16是流程圖,顯示了根據(jù)本發(fā)明的打印控制流程。
      圖17是流程圖,顯示了本發(fā)明中的掃描參數(shù)的設(shè)定。
      圖18是一個表,顯示了打印期間的命令流。
      圖19是流程圖,顯示了用于本發(fā)明的打印機的硬加電序列。
      圖20是流程圖,顯示了本發(fā)明的打印機的軟加電序列。
      圖21是流程圖,顯示了本發(fā)明的打印機的軟去電序列。
      圖22顯示了包括一個Centronics接口任務(wù)的各種任務(wù)的循環(huán)處理程序。
      圖23是流程圖,顯示了根據(jù)用于控制定時操作的循環(huán)處理機的控制器定時器控制。
      圖24顯示了圖1顯示的打印機的詳細立體圖,其中該打印機的排放托盤為操作而進行了設(shè)定。
      圖25顯示了圖24的排放托盤的詳細立體圖。
      圖25A是包括在圖25中的排放托盤上采用的活板上的斜削邊緣的一個例子的立體圖。
      圖25B和25C顯示了圖25A顯示的活板,用于說明該斜削邊緣。
      圖26顯示了圖24的排放托盤上的活板的連接的詳細立體圖。
      圖27顯示了圖24的排放托盤的另一詳細立體圖。
      圖28顯示了圖1的打印機的底視圖。
      圖29A至29D顯示了圖24的排放托盤的操作。
      圖29E是本發(fā)明的紙排放托盤的第二實施例的立體圖。
      圖30A和30B顯示了本發(fā)明的打印機中的盒接收部分的操作。
      圖31A和31B顯示了安裝在圖30A和30B的盒接收部分中的墨盒。
      圖32顯示了用在圖1的打印機上的墨清洗裝置的結(jié)構(gòu)。
      圖33A和33B顯示了安裝在圖1的打印機中的各個打印頭的墨清洗。
      圖34是流程圖,顯示了主處理器中的打印頭命令數(shù)據(jù)的補償。
      圖35是流程圖,顯示了根據(jù)本發(fā)明進行的時基清洗。
      圖36是流程圖,顯示了本發(fā)明的打印機保持推移的時間排定的步驟。
      圖37、38、39和40是流程圖,顯示了本發(fā)明的打印機進行的自動清洗序列。
      圖41是流程圖,顯示了根據(jù)本發(fā)明的墨盒頭更換。
      圖42顯示了當紙被裝載到本發(fā)明的打印機上和開始自動清洗序列時執(zhí)行的步驟。
      圖43是時序圖,顯示了根據(jù)本發(fā)明的清洗方案。
      圖43A是流程圖,用于描述打印機噴嘴驅(qū)動時間的控制。
      圖43B顯示了存儲在打印機中的加熱系數(shù)表和驅(qū)動時間表的分解圖。
      圖43C是流程圖,用于描述噴嘴發(fā)射序列和滴大小的控制。
      圖43D至43F顯示了各種打印條件下頭使用與打印緩存器使用之間的相關(guān)性。
      圖43G顯示了各種打印條件下的噴嘴加熱序列。
      圖43-1A至43-1E顯示了從主處理器至打印機中的打印緩存器的數(shù)據(jù)傳送。
      圖43-2A至43-2E顯示了一個向前掃描之后的一個向后掃描過程中的打印數(shù)據(jù)傳送。
      圖43-3A至圖43-3F顯示了單個打印頭在打印介質(zhì)上的向前掃描期間打印數(shù)據(jù)的傳送。
      圖43-4A至圖43-4F顯示了本發(fā)明的替換實施例中的向前掃描期間的打印數(shù)據(jù)傳送。
      圖43-5A至圖43-5F顯示了在已經(jīng)進行了向前掃描之后的向后掃描期間的打印數(shù)據(jù)傳送。
      圖43-6A至圖43-6F顯示了單個的打印頭的向前掃描期間的打印數(shù)據(jù)傳送。
      圖43-7A至圖43-7L顯示了在一對打印頭的向前方向的打印數(shù)據(jù)傳送。
      圖44A顯示了一對打印頭的向前方向的打印數(shù)據(jù)傳送。
      圖44B顯示了一對打印頭的向后方向的打印數(shù)據(jù)傳送。
      圖44C至44M是流程圖,顯示了從主處理器中的打印數(shù)據(jù)存儲器至打印機的打印緩存器的打印數(shù)據(jù)傳送。
      圖44N顯示了兩個框圖,顯示了打印系統(tǒng)中的移位緩存器技術(shù)的可能應(yīng)用。
      圖45是示意圖,用于說明各個不同的頭的不同分辨率的打印輸出的好處。
      圖45A是流程圖,顯示了主處理器中的打印機驅(qū)動器執(zhí)行的處理步驟,以便獨立地控制各個打印頭的打印分辨率,并命令打印輸出。
      圖46顯示了與本發(fā)明的打印機相關(guān)的用戶接口。
      圖46A是示意圖,用于說明以不同分辨率的打印頭進行打印的好處。
      圖46B是流程圖,顯示了主處理器中的打印機驅(qū)動器執(zhí)行的處理步驟,以便控制打印頭的打印分辨率,并命令打印輸出。
      圖47是流程圖,顯示了打印機進行的用于獨立打印分辨率設(shè)定的處理步驟。
      圖48是流程圖,用于描述墨選擇的方法。
      圖49顯示了用于確定黑目標象素是否位于不同顏色的區(qū)中的一個區(qū)。
      圖49A是流程圖,顯示了CMYK黑墨或顏料黑墨的選擇。
      圖50A、50B和50C顯示了黑區(qū)與不同顏色區(qū)之間邊界的相鄰區(qū)的打印。
      圖51是流程圖,用于描述打印黑區(qū)與不同顏色區(qū)之間邊界的相鄰區(qū)的方法。
      圖52是流程圖,用于描述打印黑區(qū)與不同顏色區(qū)之間邊界的相鄰區(qū)的方法。
      圖53A、53B和53C顯示了用于根據(jù)黑區(qū)與不同顏色區(qū)之間邊界的相鄰區(qū)的打印數(shù)據(jù)打印數(shù)據(jù)的方法。
      圖54顯示了根據(jù)本發(fā)明的一個實施例的顏色處理。
      圖54A和54B顯示了根據(jù)本發(fā)明的一個實施例的象素的二分。
      最佳實施例的描述被分成以下的部分1.0機械1.1結(jié)構(gòu)1.2功能1.2.1手動清洗1.2.2盒更換1.3墨盒1.4打印頭結(jié)構(gòu)1.5打印模式2.0電氣2.1系統(tǒng)結(jié)構(gòu)2.2系統(tǒng)功能2.3控制邏輯2.4一般操作3.0打印機軟件的結(jié)構(gòu)3.1操作系統(tǒng)
      3.2初始化3.3任務(wù)3.4中斷處理程序3.5循環(huán)處理程序3.6往來于主處理器的命令3.6.1控制命令3.6.2設(shè)定命令3.6.3維護命令3.7往來于打印機引擎的命令4.0紙排放托盤4.1第一實施例4.2第二實施例5.0墨清洗裝置6.0存儲打印機狀況參數(shù)7.0計劃打印頭的清洗7.1清洗方案處理7.2自動清洗處理7.3打印頭的清洗8.0設(shè)定和修正打印頭驅(qū)動參數(shù)9.0打印緩存器操作9.1單個打印緩存器9.2緩存器控制的一般描述10.0不同分辨率的多頭打印11.0不同墨的選擇11.1CMYK黑或顏料黑的選擇11.2邊界區(qū)打印11.3用不同墨以不同分辨率的打印1.0機械本部分描述含有本發(fā)明的打印機的機械設(shè)計和功能。
      1.1結(jié)構(gòu)圖1顯示了與本發(fā)明結(jié)合使用的計算設(shè)備的外形。計算設(shè)備20包括主處理器23。主處理器23包括一個個人計算機(以下稱為PC),較好地是具有窗口環(huán)境(例如微軟的Windows95)的IBMOPC兼容機。與計算設(shè)備20一起設(shè)置的有包括彩色監(jiān)視器等的顯示屏22、用于輸入文本數(shù)據(jù)和用戶命令的鍵盤26、以及指點裝置27。指點裝置27較好地是包括用于指點和操作顯示在顯示屏22上的物體的鼠標器。
      計算設(shè)備20包括一個計算機可讀取的存儲介質(zhì),諸如計算機硬盤25,以及軟盤接口24。軟盤接口24提供了使計算設(shè)備20能夠存取諸如存儲在軟盤上的數(shù)據(jù)、應(yīng)用程序等的信息的裝置。計算設(shè)備20可設(shè)置有一個類似的CD-ROM接口(未顯示),通過它計算設(shè)備20能夠存取存儲在CD-ROM上的信息。
      磁盤25,除了其他的功能之外,存儲使主處理器23產(chǎn)生文件、操縱這些文件并把這些文件存儲在盤25上、把這些文件中的數(shù)據(jù)經(jīng)過顯示屏22提供給操作者以及借助打印機30打印這些文件中的數(shù)據(jù)的應(yīng)用程序。磁盤25還存儲一個操作系統(tǒng),該系統(tǒng)較好地是諸如Windows95的窗口操作系統(tǒng)。設(shè)備驅(qū)動程序也被存儲在磁盤25中。至少一個這些驅(qū)動程序包括一個打印機驅(qū)動程序,它提供了至打印機30中的固件的軟件接口。以下更詳細地描述主處理器23與打印機30之間的數(shù)據(jù)交換。
      在本發(fā)明的最佳實施例中,打印機30是多頭的串行打印機。因此,雖然在此描述的本發(fā)明不限于采用這種打印機,但將結(jié)合這種打印機對本發(fā)明進行描述。
      在此方面,圖2和3分別顯示了打印機30的關(guān)閉狀態(tài)下的正視和后視立體圖。如這些圖中所示,打印機30包括外殼31、檢修門32、自動饋送器34、自動饋送調(diào)節(jié)器36、手動饋送器37、手動饋送調(diào)節(jié)器39、介質(zhì)排放端口40、排放托盤41、托盤接收部分42、指示燈43、電源按鈕44、恢復按鈕46、電源47、電源線49、以及并行端口連接器50。
      外殼31寬約498毫米且深約271毫米且高約219毫米,且容納了打印機30的內(nèi)部裝置,包括以下描述的在記錄介質(zhì)上打印圖象的打印引擎。外殼31上包括有檢修門32。檢修門32是可以手動打開和關(guān)閉的,從而允許用戶對打印機30的內(nèi)部裝置進行檢修,尤其是能夠?qū)Π惭b在打印機30內(nèi)部的打印盒進行檢修。為此,打印機30還包括一個檢測器(未顯示),它檢測檢修門32的打開和關(guān)閉。一旦檢測到檢修門32已經(jīng)被打開,以可釋放的方式把盒保持在打印機30內(nèi)的盒接收部分被移動到與打開的檢修門32相應(yīng)的一個位置。這種特征的細節(jié)在下面給出。
      在檢修門32的頂部設(shè)置有一個前面板,它包括指示燈43、電源按鈕44和恢復按鈕46。電源按鈕44是一個控制器,借助它用戶能夠啟動和關(guān)閉打印機30。然而,電源按鈕44也可具有其他的功能。例如,通過使電源按鈕44保持被按下直到打印機30上的一個揚聲器(未顯示)發(fā)出諸如蜂鳴的聲音,可以選擇一種測試打印功能。響應(yīng)于這些測試打印功能,打印機30打印出一個測試圖案。
      恢復按鈕46提供了一種控制,借助它操作者能夠在發(fā)生了錯誤之后恢復打印。另外,恢復按鈕46可被用來激活其他的功能。例如,通過使恢復按鈕46保持被按下直到打印機30上的一個揚聲器發(fā)出蜂鳴聲,可以激活一種打印頭清洗功能。
      在此方面,打印機30能夠提供各種連續(xù)的蜂鳴聲。這些聲音每一個都包括了不同類型的錯誤,諸如無紙、卡紙等等。
      指示燈43由單個的燈管、綠發(fā)光二極管(以下稱為LED)和一個橙色LED構(gòu)成。指示燈43給用戶提供了對打印機30的操作狀態(tài)的指示。具體地,當指示燈43滅時,表示打印機30關(guān)閉。當指示燈43發(fā)出綠光時(即綠LED被激活時),表示打印機30電源接通并可準備打印。當指示燈43為綠并閃爍時,表示打印機的操作狀態(tài),諸如打印機當前處于電源接通。
      指示燈43還可借助橙色LED發(fā)出橙色光。當指示燈43發(fā)出橙色光時,表示打印機30中發(fā)生了可恢復的錯誤,即操作者呼叫錯誤??苫謴湾e誤包括無紙、卡紙、安裝在打印機30中的缺陷盒、盒正在被更換等等。可以根據(jù)打印機30的揚聲器發(fā)出的蜂鳴聲的數(shù)目來區(qū)分可恢復錯誤的類型。通過在指示LED持續(xù)發(fā)橙色光時對這些蜂鳴聲進行計數(shù),用戶能夠確定發(fā)生了哪一種錯誤并采取相應(yīng)的行動。
      當指示燈43為橙色且閃爍時,表示打印機30發(fā)生了嚴重的錯誤,即維修呼叫錯誤??梢詢H通過對橙色光閃爍的次數(shù)計數(shù)來區(qū)分嚴重錯誤的類型。
      如圖2和3所示,自動饋送器34也被包括在打印機30的外殼31中。自動饋送器34限定了打印機30的一個介質(zhì)饋送部分。即,自動饋送器34存儲打印機30在其上打印圖象的打印介質(zhì)。在此方面,打印機30能夠在各種記錄介質(zhì)上打印圖象。這些類型包括但不限于普通紙、高分辨率紙、透明片、光紙、光膜、背面打印膜、織物、T恤衫轉(zhuǎn)印物、氣泡噴射紙、賀卡、手冊紙、標簽紙、厚紙等。
      自動饋送器34能夠容納約13毫米厚的一疊記錄介質(zhì)。這意味著自動饋送器34能夠保持約130張密度為64g/m2的紙或約15個信封。在打印期間,疊置在自動饋送器34中的各個紙從自動饋送器34得到饋送而通過打印機30。具體地,打印機30中的輥(在下面描述)把各個介質(zhì)從自動饋送器34拉入打印機30中。這些各個介質(zhì)隨后沿著一個J型通路被饋送過這些輥而到達圖2中顯示的排放端口40。
      自動饋送器34包括自動饋送調(diào)節(jié)器36。自動饋送調(diào)節(jié)器36橫向運動,以在自動饋送器34中容納不同的介質(zhì)尺寸。自動饋送器34還包括支撐部分55,它可延伸以支撐保持在自動饋送器34中的記錄介質(zhì)。當不使用時,支撐部分55被存放在自動饋送器34中的一個開口中,如圖2所示。延伸的支撐部分55的一個例子在圖24中給出。
      各個紙也經(jīng)過圖3顯示的手動饋送器37而通過打印機30,手動饋送器37也限定了打印機30的一個介質(zhì)饋送部分。在最佳實施例中,手動饋送器37可容納具有至少64g/m2與550g/m2之間的密度并具有0.8毫米的厚度的介質(zhì)。通過手動饋送器37送進的紙通過打印機30中的輥而被饋送到排放端口40。與自動饋送器34的情況一樣,手動饋送器37包括手動饋送調(diào)節(jié)器39。通過橫向滑動手動饋送調(diào)節(jié)器39,用戶能夠改變手動饋送器37能夠容納的介質(zhì)。
      利用手動饋送器37和自動饋送器34,打印機30能夠在具有不同尺寸的介質(zhì)上打印圖象。這些尺寸包括但不限于信件、法律、A4、A3、A5、B4、B5、小報、10號信封、DL信封、標簽、寬標簽、和LTRfull bleed。用戶定義的記錄介質(zhì)也可被用于打印機30。
      如上所述,介質(zhì)被送過打印機30并從排放端口40排放而進入排放托盤41。如在部分4.0中所更詳細顯示的,排放托盤41包括由彈簧偏置的活板-它支撐從打印機30排放的介質(zhì),且它在更多的介質(zhì)堆積在其上時向下移動。當不使用時,排放托盤41被存放在打印機30的托盤接收部分42中,如圖2所示。
      電源線49把打印機30與外部交流電源相連。電源47被用來轉(zhuǎn)換來自外部電源的交流電,并把轉(zhuǎn)換的電力提供給打印機30。并行端口50把打印機30連接到主處理器23。并行端口50較好地是包括一個IEEE1284雙向端口,通過它可在打印機30與主處理器23之間傳送諸如以下在部分3.0中描述的數(shù)據(jù)和命令。
      圖4和5分別顯示了打印機30的后和正視切去立體圖。如圖5所示,打印機30包括輥60,用于把介質(zhì)從自動饋送器34或手動饋送器37通過打印機30而傳送到介質(zhì)排放端口40。輥60在介質(zhì)傳送期間沿著逆時針方向轉(zhuǎn)動,如圖5中的箭頭60a所示。
      行饋送電機61控制輥60的轉(zhuǎn)動。行饋送電機61包括一個96階的2-2相脈沖電機并響應(yīng)于從電路板62接收的命令而受到控制。行饋送電機61由具有四級電流控制的電機驅(qū)動器驅(qū)動。
      在最佳實施例中,行饋送電機61能夠使輥60轉(zhuǎn)動,從而使記錄介質(zhì)以120毫米/秒的速度被送過打印機30。在打印機30的操作的主要模式下,行饋送分辨率是(1/720)英寸/脈沖(2-2相),且在1440dpi模式下,線分辨率為(1/1440)英寸/脈沖(1-2相)。打印模式在下面得到更詳細的描述。
      如圖4所示,打印機30是一個雙盒打印機,它利用兩個打印頭(即每個盒一個頭)來打印圖象。具體地,這些盒由盒接收部分64a和64b并排地保持,從而使盒上的各個打印頭彼此水平地偏離。圖5顯示的滑架電機66,響應(yīng)于從電路板62接收的命令,控制盒接收部分64a和64b的運動。具體地,滑架電機66控制帶67的運動,后者又控制盒接收部分64a和64b沿著滑架69的運動。在此方面,滑架電機66提供了帶67的雙向運動,因而提供了盒接收部分64a和64b的雙向運動。借助這種特征,打印機30能夠從右向左和從左向右打印圖象。
      滑架電機66包括一個96階2-2相脈沖電機-它具有(9/360)英寸/脈沖的滑架分辨率?;茈姍C66由一個具有四級電流控制的電機驅(qū)動器驅(qū)動。當打印機30在360dpi模式下進行打印時,滑架電機66得到驅(qū)動以使盒接收部分64a和64b以459.32毫米/秒(10KHz)的缺省速度沿著滑架69移動。相比之下,當打印機30以720dpi模式打印時,滑架電機66得到驅(qū)動而使盒接收部分64a和64b沿著滑架69以229.66毫米/秒(5.0kHz)的缺省速度移動。打印速度也可減小到3.26kHz,如在部分3.6.2中描述的。
      圖6A是圖4的盒接收部分64b的詳細立體圖。盒接收部分64a和64b在結(jié)構(gòu)上是相同的,只是只在盒接收部分64b上包括有自動對準(AA)檢測器。因此,為了簡化,在此只詳細描述盒接收部分64b。
      盒接收部分64b被用來保持打印機30中的墨盒(它包括一個打印頭并能夠包括用于存儲墨的一或多個可拆下墨罐)。在此方面,圖7A和7B顯示了可裝在盒接收部分64b中(見圖4)的墨盒300b的結(jié)構(gòu)。如圖7A和7B所示,墨盒300b包括打印頭80,墨罐83、盒電路觸頭81、和孔90。此時,應(yīng)該注意的是,本發(fā)明也可采用不包含可拆下墨罐而是把所有墨存儲在內(nèi)部的墨盒。
      墨罐83可從墨盒300b上拆下并存儲打印機30用來打印圖象的墨液。具體地墨罐83被插入墨盒300b中并可沿著箭頭85的方向被拉出而卸下,如圖7B所示。墨罐83可存儲彩色(例如青、品紅和黃)墨液和/或黑墨液,如下面所詳細描述的。打印頭80包括多個噴嘴(未顯示),這些噴嘴在打印期間從墨罐83排放墨液。盒電路觸頭81被打印機30用來觸發(fā)墨盒清洗,如下面所述。盒孔90與盒接收部分64b上的銷93匹配,以使墨盒300b保持定位。
      再看圖6A,盒接收部分64b包括在其底部的開口79。安裝的盒的一個打印頭,諸如打印頭80,通過開口79伸出。借助這種結(jié)構(gòu),盒的打印頭能夠與打印機30中的記錄介質(zhì)接觸。盒接收部分64b還包括桿72和艙73。如以下的部分5.0中所詳細描述的,桿72相對于存儲在盒接收部分64b中的墨盒的墨罐作樞軸運動,從而使桿72在墨罐的至少一部分上延伸,并沿著離開墨罐的方向作樞軸運動從而允許用戶對墨罐進行檢查。
      艙73把墨盒(包括打印頭和墨罐)保持在盒接收部分64b中并能夠響應(yīng)于桿72的樞軸運動在盒接收部分64b中作橫向運動。在此橫運動期間,艙73上的指282與靜止部分502上的套284相滑動接觸。借助這種橫向運動,盒電路觸頭,諸如墨盒300b上的盒電路觸頭81,與盒接收部分64b上的一個電路觸頭即裝置電路觸頭71相接觸和分離。該過程被用來輸出一個信號,該信號促成了打印頭的清洗,并將在下面得到詳細描述。
      圖6B顯示了盒接收部分64b的結(jié)構(gòu)的后視圖。圖6B顯示了艙73、桿72、后件501以及靜止部分502(用雙點/劃線表示)的互連。在此方面,桿72包括指507-它與后件501上的相應(yīng)的孔504相連。借助這種設(shè)置,當桿72沿著圖6B所示的箭頭A1的方向向下樞軸運動時,后件501沿著圖6B中的箭頭A2的方向向上運動。相反地,當桿72沿著箭頭B1的方向向上作樞軸運動時,后件501沿著箭頭B2的方向向下運動。后件501的這種向上和下的運動控制了所述艙73的橫向運動。
      為此,后件501包括凸輪表面509-它當桿/后部件組件被安裝到靜止部分502上時與彈簧加載的推桿510相互作用。具體地,該桿/后部件組件經(jīng)過指508和相應(yīng)的孔506而與靜止部分502相連。當以這種方式相連時,后件501的凸輪表面509與艙73背面的彈簧加載推桿510相接觸。這種連接使得艙73在桿72作樞軸運動時作橫向運動。
      更具體地說,由于凸輪表面509包括具有角度的側(cè)面511和直的側(cè)面512,當凸輪表面509向上運動(即當桿72沿著箭頭A1的方向向著艙73作樞軸運動時,使后件501因而凸輪表面509沿著箭頭A2的方向向上運動),推桿510沿著箭頭A4的方向而受到凸輪表面509的帶角度的側(cè)面511的推動。這種運動使艙73沿著圖6B顯示的箭頭A3的方向移動。
      相反地,當凸輪表面向下運動時(即當桿72沿著箭頭B1的方向作離開艙73的樞軸運動,使后件501從而使凸輪表面509沿著箭頭B2的方向向下運動時),推桿510不再與帶角度的側(cè)面511相接觸。相反地,凸輪表面509的運動使得推桿510與直的側(cè)面512相對應(yīng)。在此位置,彈簧513-它被設(shè)置在艙73之下并相對于靜止部分502對艙73施力,使艙73沿著圖6的箭頭B3的方向移動。
      如圖6B所示,桿72還包括凸緣287-它與艙/靜止部分組件上的臺肩286相接觸。如下面所詳細描述的,這種接觸減小了桿72與盒接收部分64b中的墨罐和/或盒相接觸的機會。
      如圖6A所示,盒接收部分64b包括自動對準檢測器82。自動對準檢測器82檢測打印機30形成的點模式的位置。這種信息被用來對準打印機30上的所有打印頭。與盒接收部分64a和64b相連的,還有一個初始位置檢測器(未顯示),它被用來檢測盒接收部分64a和64b何時處于相對于滑架69的初始位置。初始位置的該位置和意義將在下面得到詳細描述。
      再看圖4,打印機30包括刮片84a和84b以及墨清洗裝置86。墨清洗裝置86被設(shè)置在初始位置87并包括一個轉(zhuǎn)動泵(未顯示)和打印頭連接蓋88a和88b。打印頭連接蓋,在打印頭清洗期間和其他時間-諸如當打印機30被關(guān)斷時,與安裝在盒接收部分64a和64b中的盒的打印頭分別相連,從而保護打印頭。
      行饋送電機61驅(qū)動墨清洗裝置86的轉(zhuǎn)動泵,以從與打印頭連接蓋88a相連的打印頭中抽吸過量的墨。如在部分5.0中所詳細描述的,墨液只從用戶指定的一或多個盒中得到抽吸。用戶指定將在下面得到詳細描述。
      刮片84a和84b可包括由滑架電機66驅(qū)動的刮片等等,以刮去盒打印頭上的過量的墨。具體地,刮片84a和84b在預定的條件發(fā)生之后得到提升,以與打印頭接觸。例如,刮片84a和84b可在打印頭打印了預定數(shù)目的點之后得到提升。
      1.2功能打印機30包括各種可經(jīng)過檢修門32和打印機30的前面板而獲得的功能和特征。以下是對這些功能的描述。
      1.2.1手動清洗打印機30包括手動清洗功能,該功能可經(jīng)過其前面板而得到啟動。具體地,手動清洗是通過按下恢復按鈕46直到打印機30發(fā)出一個兩秒長的蜂鳴聲而得到啟動。為了表示手動清洗已經(jīng)得到啟動,指示燈43閃爍。在打印過程中的任何介質(zhì)隨后被從排放端口40排放。墨清洗裝置86隨后清洗-例如抽吸和刮除-存儲在盒接收部分64a和64b中的墨盒的打印頭的墨液,且抽吸和刮下的墨液被存儲在一個廢墨存儲區(qū)。隨后,指示燈43停止閃爍并在沒有錯誤發(fā)生的情況下被點亮。在發(fā)生廢墨錯誤(例如廢墨存儲區(qū)快滿)的情況下,指示燈43被橙色LED照亮,且打印機30將發(fā)出六聲蜂鳴聲。
      1.2.2盒更換。
      打印機30在檢修門32打開時進入盒更換模式,除非發(fā)生以下情況打印機30被關(guān)斷,記錄介質(zhì)被從一個紙饋送器送進,打印機30正在打印或已經(jīng)接收到了來自主處理器23的數(shù)據(jù),發(fā)生了無紙錯誤或卡紙,打印機30中的打印頭的溫度太高,或者發(fā)生了嚴重錯誤。
      在此方面,盒更換模式通常是在安裝整個墨盒或墨罐的打印機設(shè)定時進入,或者在打印機的壽命期間為更換用過的或有缺陷的盒或墨罐時進入。在打印機初始設(shè)定期間,在盒接收部分64b或64a之一中沒有墨盒或墨罐。為了表明這點,指示燈43閃爍,為了安裝盒或墨罐,用戶打開檢修門32,從而使盒接收部分64a和64b沿著滑架69移向一個中心位置。在此位置,用戶可簡單地通過提起盒接收部分64a和64b的桿72,把盒-首先是打印頭一降入盒接收部分64a和64b中,并關(guān)閉桿72,而安裝一個墨盒。更換空或缺陷的墨盒的過程與在此描述的相同。為了更換墨罐,用戶可把缺陷或空的墨罐從盒拉出,并插入新的墨罐。
      為了結(jié)束盒更換模式,用戶只需要關(guān)閉檢修門32。一旦更換模式被結(jié)束,打印機30檢查新安裝的盒以判定它是否得到正確安裝。如果盒或墨罐得到正確安裝,打印機30時盒接收部分64a和64b移動到初始位置87。另一方面,如果盒或墨罐的安裝不正確,或者由于某些理由而不能被使用(例如有缺陷),則指示燈43發(fā)出橙色光。另外,打印機30發(fā)出三個蜂鳴聲,以表示盒接收部分64b中的墨盒有問題,并發(fā)出四聲蜂鳴聲以表示盒接收部分64a中的墨盒有問題。
      1.3墨盒在此描述的打印機可使用包括可更換墨罐以存儲不同類型墨液的墨盒。這種盒的一個例子在圖7A和7B中顯示。然而,如上所述,本發(fā)明也可用于不包含可更換墨罐而是把所有的墨液存儲在內(nèi)部的一次性墨盒。這種盒的一個例子在圖7中得到顯示。
      一般地,打印機30能夠采用不同類型的盒。例如,打印機30可采用存儲染料基黑墨并具有沿著縱向延伸的128個噴嘴的盒。這種盒的一個例子是Canon BC-20盒。也可采用一種類似的盒,它存儲顏料黑墨。在此方面,一般地說,染料基黑墨對于記錄介質(zhì)具有高穿透性。另一方面,顏料基的黑墨對于記錄介質(zhì)一般具有低穿透性(且在某些情況下不具有穿透性)打印機30還可采用彩色墨盒。例如,打印機30能夠采用存儲青、品紅、黃和黑墨的墨盒,且它包括136個沿著縱向延伸的噴嘴。在這種盒中,24個噴嘴用青墨打印,24個噴嘴用品紅墨打印,24個噴嘴用黃墨打印,且64個噴嘴用黑墨打印。這種盒的一個例子是Canon BC-21(e)盒。
      可用于打印機30的墨盒的另一個例子存儲有光學密度較小(如“照片”)的墨,并包括沿著縱向排列的136個噴嘴。這種盒也具有與上述彩色盒相同的噴嘴結(jié)構(gòu)。
      1.4打印頭結(jié)構(gòu)至于本發(fā)明可采用的盒的打印頭的物理構(gòu)造,圖8顯示了其中打印機30包括具有幾乎縱向排列的128個噴嘴的打印頭98的情況下的噴嘴結(jié)構(gòu)的視圖,其中各個噴嘴與相鄰的噴嘴相距緊密。這種排列對于單色(例如黑)打印是較好的。噴嘴較好地是排列在略微傾斜的斜面上,從而在打印頭在記錄介質(zhì)上移動時,可以迅速地相繼地使噴嘴發(fā)射,而不是同時地發(fā)射,從而打印縱向線??焖傧嗬^地發(fā)射噴嘴的功率和控制要求比同時發(fā)射時大大地降低了。斜角的較好設(shè)置是在360dpi分辨率下每16個縱向噴嘴對應(yīng)于一個象素的水平改變。
      打印頭99具有136個噴嘴,其中24個噴嘴較好地是用于黃墨,24個噴嘴較好地是用于品紅墨,24個噴嘴用于青墨,且64個噴嘴用于黑墨,并以相對于縱向略微傾斜的角度一個在另一個之上地排列。各個顏色的噴嘴組與相鄰組之間隔有對應(yīng)于8個噴嘴的縱向空隙。略微傾斜的角度也在360dpi下提供了每16個縱向噴嘴一個象素的水平改變。
      1.5打印模式在其操作期間,打印機30包括不同的模式,這些模式可借助主處理器23(見圖1)向打印機30發(fā)出的命令而得到設(shè)定。在這些模式中,安裝在打印機30上的盒可排放出不同尺寸的墨滴,從而形成具有不同分辨率的圖象。是否可獲得打印機30的一定模式,部分地取決于安裝在打印機30中的盒的類型。即,在某些類型的盒上的打印頭能夠排放不同尺寸的滴,例如大或小的墨滴,而在其他類型的盒上的打印頭可排放具有單一尺寸的滴。
      如上所述,在不同的打印機操作模式下采用不同的墨滴尺寸以形成具有不同分辨率的圖象。更具體地說,噴墨打印機通過在紙上形成墨滴來產(chǎn)生圖象。所形成的圖象的分辨率部分地對應(yīng)于形成的墨滴的數(shù)目且部分地對應(yīng)于這些墨滴形成的排列。在本發(fā)明的打印機中,利用上述大或小的墨滴可形成不同分辨率的圖象。
      在此,應(yīng)該注意的是,打印期間的墨滴分配和排列是部分地受到打印所用紙類型的限制的。具體地,普通紙在360dpi象素下可吸收約最多四個小滴,而高分辨率(以下稱為HR-101)在360dpi象素下可吸收最多6個小滴。
      因此,圖9顯示了利用常規(guī)(即非照片)墨和任何類型的紙在180水平(H)乘180縱向(V)柵化中各個象素的滴排列。如圖9所示,這種排列提供了三級,并能夠用大的滴實現(xiàn)360(H)乘360(V)dpi的打印輸出。
      2.0電氣如上述的部分1.0所述,打印機30可采用不同組合的多個打印頭,諸如黑-黑、黑-彩色、彩色-彩色、或彩色-照片,從而可以在不同的分辨率(例如180dpi、360dpi、720dpi)下執(zhí)行幾種打印模式。另外,打印頭組合在不同的打印模式下可得到改變,諸如文本、文本和彩色、彩色和高質(zhì)量彩色。其結(jié)果,不同模式的打印任務(wù)要求復雜的操作,而這些操作隨著打印頭組合、記錄介質(zhì)和打印質(zhì)量而變。在圖1的信息處理系統(tǒng)中,與打印頭結(jié)構(gòu)、打印頭排列等等有關(guān)的打印機參數(shù)被存儲在打印機30中并根據(jù)打印機30獲得的數(shù)據(jù)而被送到主處理器23。相應(yīng)地,主處理器23中的打印機驅(qū)動程序進行打印數(shù)據(jù)的復雜處理和為各種打印模式的打印機設(shè)定并把命令序列送到簡化打印執(zhí)行的打印機。有利地簡化了打印機的結(jié)構(gòu),而在主處理器23上進行打印處理的需要對主處理器23的操作沒有或幾乎沒有影響。
      2.1系統(tǒng)結(jié)構(gòu)圖10是框圖,顯示了主處理器23和打印機30的內(nèi)部結(jié)構(gòu)。在圖10中,主處理器23包括一個中央處理單元100,諸如與計算機總線101接口的可編程微處理器。與計算機總線101耦合的,還有用于與顯示器22接口的顯示接口102、用于通過雙向通信線路106與打印機30接口的打印機接口104、用于與軟盤107接口的軟盤接口24、用于與鍵盤26接口的鍵盤接口109、以及用于與指點裝置27接口的指點裝置接口110。盤25包括用于存儲操作系統(tǒng)111的操作系統(tǒng)部分、用于存儲應(yīng)用程序112的應(yīng)用程序部分、以及用于存儲打印機驅(qū)動程序114的打印機驅(qū)動程序部分。
      一個主隨機存取存儲器(以下稱為RAM)116與計算機總線101接口,以為CPU 100提供至存儲器的存取。具體地,當執(zhí)行存儲的應(yīng)用程序指令序列-諸如與存儲在盤25的應(yīng)用程序部分112中的應(yīng)用程序相關(guān)的序列-時,CPU 100把這些應(yīng)用程序指令序列從盤25(或其他的存儲介質(zhì),諸如經(jīng)過網(wǎng)絡(luò)或軟盤驅(qū)動器24存取的介質(zhì))裝載到隨機存取存儲器(以下稱為RAM)116中并執(zhí)行RAM 116中存儲的程序指令序列。RAM 116提供了根據(jù)本發(fā)明的打印機驅(qū)動程序114所用的打印數(shù)據(jù)緩存器,如將在下面所詳細描述的。應(yīng)該注意的是,在窗口操作系統(tǒng)下的標準盤交換技術(shù)允許存儲器的段-包括上述打印數(shù)據(jù)緩存器-被換入或換出盤25。在主處理器23上的只讀存儲器(以下稱為ROM)存儲不變的指令序列,諸如啟動指令序列或基本輸入/輸出操作系統(tǒng)(BIOS)序列,用于操作鍵盤26。
      如圖10所示,且如上所述,盤25存儲用于窗口操作系統(tǒng)和諸如圖形應(yīng)用程序、繪制應(yīng)用程序、桌面出版應(yīng)用程序等的應(yīng)用程序的程序指令序列。另外,盤25還存儲彩色圖象文件,諸如可在指定的應(yīng)用程序的控制下由顯示器22顯示或由打印機30打印的圖象。盤25還存儲在其他驅(qū)動部分119中的彩色監(jiān)視器驅(qū)動程序,該部分119控制著如何把多級RGB彩色基色值提供給顯示接口102。打印機驅(qū)動程序114控制打印機30的黑白和彩色打印并根據(jù)打印機30的結(jié)構(gòu)提供用于打印輸出的打印數(shù)據(jù)。打印數(shù)據(jù)被傳送到打印機30,且控制信號通過與路線106相連的打印機接口104而在打印機驅(qū)動程序114的控制下在主處理器23與打印機30之間進行交換。其他裝置的驅(qū)動程序也被存儲在盤25上,用于向與主處理器23相連的各種裝置-諸如網(wǎng)絡(luò)裝置、傳真裝置等-提供適當?shù)男盘枴?br> 通常,存儲在盤25上的應(yīng)用程序和驅(qū)動程序需要先由用戶從其他的計算機可讀取介質(zhì)-其上存儲有這些程序和驅(qū)動程序-安裝到到盤25上。例如,通常的作法是由用戶購買其上存儲有打印機驅(qū)動程序的復本的軟盤或其他的計算機可讀取介質(zhì)(例如CD-ROM)。用戶隨后借助眾所周知把打印機驅(qū)動器復制到盤25上的技術(shù),把打印機驅(qū)動程序安裝到盤25上。同時,還可以由用戶通過調(diào)制解調(diào)器接口(未顯示)或經(jīng)過網(wǎng)絡(luò)(未顯示)下載打印機驅(qū)動器,諸如通過從文件服務(wù)器或從計算機化的公告板上下載。
      再看圖10,打印機30包括CPU 121-諸如包括可編程定時器和中斷控制器的8位或16位的微處理器、ROM 122、控制邏輯124、和與總線126相連的I/O端口單元127。與控制邏輯124相連的還有RAM129??刂七壿?24包括用于行饋送電機61、RAM 129中的打印圖象緩存、加熱脈沖發(fā)生和頭數(shù)據(jù)的控制器??刂七壿?24還提供了用于打印引擎131的打印頭130a和130b中的噴嘴、滑架電機66、行饋送電機61、和用于打印頭130a和130b的打印數(shù)據(jù)的控制信號,并通過I/O端口單元127從打印引擎131接收用于打印頭130a和130b對準的信息。EEPROM 132與I/O端口單元127相連,以提供用于諸如打印頭結(jié)構(gòu)和打印頭對準參數(shù)的打印機信息的非易失性存儲器。EEPROM 132還存儲識別打印機、驅(qū)動器、打印頭、打印頭的對準、以及盒中的墨的狀態(tài)等的參數(shù)-它們被送到主處理器23的打印機驅(qū)動程序114以把打印機30的操作參數(shù)通知主處理器23。
      I/O端口單元127與打印引擎131相耦合,在打印引擎131中一對打印頭130a和130b(它們分別被存儲在盒接收部分64a和64b中)通過在利用來自RAM 129中的打印緩存器的打印數(shù)據(jù)進行打印的同時在記錄介質(zhì)上進行掃描,而在記錄介質(zhì)上進行記錄??刂七壿?24也經(jīng)過通信線路106而與主處理器23的打印機接口104相耦合,用于交換控制信號并接收打印數(shù)據(jù)和打印數(shù)據(jù)地址。ROM 122存儲字型數(shù)據(jù)、用于控制打印機30的程序指令序列、以及用于打印機操作的其他不變數(shù)據(jù)。RAM 129在打印機驅(qū)動程序114限定的打印緩存器中存儲用于打印頭130a和130b的打印數(shù)據(jù)和用于打印機操作的其他信息。
      打印引擎131的打印頭130a和130b與分別存放在盒接收部分64a和64b中的墨盒相對應(yīng)。用134總體表示的檢測器被排列在打印引擎131中,以檢測打印機狀態(tài)并測量溫度和影響打印的其他量。盒接收部分64中的一個光檢測器(例如圖6A中顯示的自動對準檢測器82)測量打印密度和點位置,以進行自動對準。檢測器134也被設(shè)置在打印引擎131中以檢測其他的狀態(tài),諸如檢修門32的打開或關(guān)閉、記錄介質(zhì)是否存在等等。另外,包括熱敏電阻的二極管檢測器被設(shè)置在打印頭130a和130b中,以測量打印頭溫度,該溫度數(shù)據(jù)被傳送到I/O端口單元127。
      I/O端口單元127還接收來自諸如電源按鈕44和恢復按鈕46的開關(guān)133的輸入,并把控制信號送到LED 135以照亮指示燈43、送到蜂鳴器128、以及分別經(jīng)過行饋送電機驅(qū)動器61a和滑架電機驅(qū)動器66a而送到行饋送電機61和滑架電機66。如上所述,蜂鳴器128可包括一個揚聲器。
      雖然圖10以彼此分離的形式顯示了打印機30的各個部件,較好的是這些部件中的某些是結(jié)合的。例如,控制邏輯124可與I/O端口單元127結(jié)合成一個ASIC,以簡化打印機30的功能所需的互連。
      2.2系統(tǒng)功能圖11顯示了一個高級功能框圖,它顯示了主處理器23與打印機30之間的作用。如圖11所示,當打印指令從存儲在盤25的應(yīng)用程序部分112中的圖象處理應(yīng)用程序112a發(fā)出時,操作系統(tǒng)111向打印機驅(qū)動程序114發(fā)出圖形裝置接口調(diào)用。打印機驅(qū)動程序114通過產(chǎn)生與打印指令相應(yīng)的打印數(shù)據(jù)進行響應(yīng)并把該打印數(shù)據(jù)存儲在打印數(shù)據(jù)存儲部分136中。打印數(shù)據(jù)存儲部分136可位于RAM 116或盤25中,或者可通過操作系統(tǒng)111的盤交換操作而被初始存儲在RAM 116中并換入或換出盤25。隨后,打印機驅(qū)動程序114從打印數(shù)據(jù)存儲器136獲得打印數(shù)據(jù)并將打印數(shù)據(jù)通過打印機接口104傳送到雙向通信線路106,并通過打印機控制器140傳送到打印緩存器139。打印緩存器139位于RAM 129中且打印機控制器140位于圖10的控制邏輯124和CPU 121中。打印機控制器140,響應(yīng)于從主處理器23接收的命令,處理打印緩存器139中的打印數(shù)據(jù),并在存儲在ROM122(見圖10)的指令的控制下執(zhí)行打印任務(wù),以提供適當?shù)拇蛴☆^和其他控制信號給打印引擎131,從而在記錄介質(zhì)上記錄圖象。
      打印緩存器139具有用于存儲將要由打印頭130a和130b之一進行打印的打印數(shù)據(jù)的第一部分,且用于存儲將要由打印頭130a和130b中的另一個進行打印的打印數(shù)據(jù)的第二部分。各個打印緩存器部分都具有與相關(guān)的打印頭的打印位置的數(shù)目相應(yīng)的存儲單元。這些存儲單元由打印機驅(qū)動程序114按照選定的打印分辨率來確定。各個打印緩存器部分還包括額外的存儲單元,用于在打印頭130a和130b提升(ramp)至打印速度期間傳送打印數(shù)據(jù)。打印數(shù)據(jù)從主處理器23中的打印數(shù)據(jù)存儲器136被傳送到被打印機驅(qū)動程序114所尋址的打印緩存器139的存儲單元。其結(jié)果,用于下一個掃描的打印數(shù)據(jù)可在提升期間和當前掃描的打印期間被插入到打印緩存器139中的空白存儲單元中。
      2.3控制邏輯圖12顯示了圖10的控制邏輯124和I/O端口單元127。如上所述,I/O端口單元也可以被包括在控制邏輯124中。在圖10中,用戶邏輯總線146與打印機總線126相連,用于與打印機CPU 121進行通信。總線146與主計算機接口141相耦合,而接口141與雙向通信線路106相連以進行諸如IEEE-1284協(xié)議的雙向通信。相應(yīng)地,雙向通信線路106還與主處理器23的打印機接口104相耦合。主計算機接口141與總線146相連并與DRAM總線仲裁器/控制器144相連,以控制包括打印緩存器139的RAM 129(見圖10和11)。數(shù)據(jù)解壓器148連接在總線146與DRAM仲裁器/控制器144之間,以在處理時對打印數(shù)據(jù)解壓。與總線146相連的還有與圖10的行饋送電機驅(qū)動器61a相連的行饋送電機控制器147、為各個打印頭130a和130b提供串行控制信號和打印數(shù)據(jù)信號的圖象緩存器控制器152、以及為各個打印頭130a和130b提供塊控制信號和模擬加熱脈沖的加熱脈沖發(fā)生器154?;茈姍C控制是由CPU 121通過I/O端口單元127和滑架電機驅(qū)動器66a進行的,因為行饋送電機61和滑架電機66可同時運行。
      控制邏輯124進行操作以接收來自主處理器23的用于CPU 121的命令,并通過主計算機接口141和雙向通信線路106把打印機狀態(tài)和其他響應(yīng)信號送到主處理器23。打印數(shù)據(jù)和用于從主處理器23接收的打印數(shù)據(jù)的打印緩存器存儲器地址經(jīng)過DRAM仲裁器/控制器144而被送到RAM129中的打印緩存器139,且來自打印緩存器139的被尋址的打印數(shù)據(jù)通過控制器144傳送到打印引擎131,以借助打印頭130a和130b進行打印。在此方面,加熱脈沖發(fā)生器154產(chǎn)生打印打印數(shù)據(jù)所需的模擬加熱脈沖。
      圖13顯示了打印機30的存儲器結(jié)構(gòu)。如圖13所示,EEPROM132、RAM129、ROM 122和用于控制邏輯124的臨時存儲器161形成了具有單個尋址設(shè)置的存儲器結(jié)構(gòu)。參見圖13,被顯示為非易失存儲部分159的EEPROM132存儲主處理器23用的參數(shù)和識別打印機和打印頭、打印頭狀態(tài)、打印頭對準、以及其他打印頭特性的參數(shù)。EEPROM132還存儲其他參數(shù),諸如清洗時間、自動對準檢測器數(shù)據(jù)等等,這些參數(shù)為打印機30所使用。被顯示為存儲部分160的ROM 122存儲用于打印機操作的不變信息,諸如用于打印機任務(wù)的程序序列和用于控制噴嘴加熱脈沖的產(chǎn)生的打印頭操作溫度表等等。一個隨機存取存儲器部分161存儲用于控制邏輯124的臨時操作信息,且與RAM129相應(yīng)的存儲部分162包括用于打印機任務(wù)的可變操作數(shù)據(jù)的存儲區(qū)和打印緩存器139。
      2.4一般操作圖14是流程圖,顯示了圖10的框圖顯示的信息處理系統(tǒng)的一般操作。當在步驟S1401接通了打印機30的電力之后,打印機30在步驟S1402得到初始化。在初始化中,如在部分3.2中所詳細描述和在圖19和20中顯示的,CPU 121、控制邏輯124和系統(tǒng)定時器都被置于初始狀態(tài)。另外,打印機30的ROM 121、RAM 139和EEPROM 132得到檢查且CPU 121中的中斷請求級在把打印機30的電力接通時得到指定。當打印機30被置于其接通狀態(tài)時,EEPROM 132被打印機驅(qū)動程序114所讀取,控制器任務(wù)被打印機CPU 121所啟動,諸如復位打印機、根據(jù)系統(tǒng)定時器判定是否應(yīng)該進行打印頭清洗等等。在步驟S1402的初始處理,還選定一個數(shù)據(jù)壓縮模式,用于打印頭130a和130b的加熱脈沖得到確定,緩存器控制得到確定,打印緩存器139得到清除,且消息得到顯示以指明打印機30的狀態(tài)。
      隨后,步驟S1403得到執(zhí)行。在步驟S1403,如果判定打印頭結(jié)構(gòu)已經(jīng)改變,打印機驅(qū)動程序114從由打印機CPU 121獲得的數(shù)據(jù)根據(jù)與頭結(jié)構(gòu)和對準相關(guān)的打印機測量結(jié)果計算打印機參數(shù)。該對準系統(tǒng)在標題為“打印裝置的自動對準系統(tǒng)”的、于1997年7月28日遞交的美國專利申請08/901,560號中得到了更詳細描述,且該文件在此被作為參考文獻。
      在步驟S1403之后,處理進行到步驟S1404,在此判定打印機30是否聯(lián)機。一旦判定打印機30聯(lián)機,處理進行到步驟S1405,在那里計算出的打印機參數(shù)被寄存到打印機EEPROM 132中。
      具體地,當判定打印機30聯(lián)機時,存儲在EEPROM 132中的打印機參數(shù)在步驟S1405被打印機驅(qū)動程序114所寄存。這些參數(shù)隨后在步驟S1405被CPU 121送出以存儲在主處理器23中,從而使打印機驅(qū)動程序114能夠產(chǎn)生用于打印機操作的適當命令。這樣的命令在圖14的虛線框中的步驟中得到表示,并考慮到了打印機30的當前識別、打印頭結(jié)構(gòu)、打印頭對準和盒墨狀態(tài)。
      按照步驟S1405的用于發(fā)送參數(shù)的一種方法包括把表示當前的頭結(jié)構(gòu)的打印機參數(shù)的數(shù)據(jù)送到主處理器。在主處理器中的一個打印機驅(qū)動程序根據(jù)相連的打印裝置的特性產(chǎn)生用于控制打印機功能的命令,并把產(chǎn)生的命令送到打印機控制器。這些命令包括與相連的打印裝置的特性相應(yīng)的參數(shù),允許對多種打印裝置結(jié)構(gòu)的打印機操作進行控制。打印機參數(shù)數(shù)據(jù)至主處理器中的打印機驅(qū)動程序的傳送和命令的產(chǎn)生和傳送,在部分6.0中得到更詳細的描述。
      至于打印頭清洗,清洗可以被安排在打印機操作期間的各種時間,諸如在步驟S1405A。用于根據(jù)步驟S1405A安排打印頭清洗的方法包括從一個外部源接收實時/日期(時間和/或日期)信息、把該實時/日期信息存儲在一個易失存儲器中、在一個非易失RAM中存儲噴墨打印機中的至少一個打印頭的一個最后清洗時間、以及通過減去存儲的實時/日期信息和存儲的最近清洗時間來計算已過時間。該方法進一步包括把計算的已過時間與預定的已過時間進行比較、當計算的已過時間大于或等于預定的已過時間時控制該至少一個打印頭以進行清洗處理、并在非易失存儲器中存儲最新的用于清洗該至少一個打印頭的最近時間。當計算的已過時間小于預定的已過時間時,該方法進行等候,以根據(jù)已過內(nèi)部時間、下一個下載時間的比較、或諸如更換打印頭的清洗事件的發(fā)生而進行清洗。打印頭清洗的計劃在以下的部分7.0中得到了詳細描述。
      在步驟S1405中寄存的參數(shù)被用來控制打印頭操作。根據(jù)步驟S1405的用于控制具有至少一個打印頭的圖象打印裝置的打印頭的方法,包括獲得該至少一個打印頭(該頭包括在步驟S1405寄存的參數(shù))的特征信息。該方法包括把該狀況參數(shù)存儲在一個非易失RAM中,并在得到請求時把該特征信息輸出到與圖象打印裝置相連的主處理器。該主處理器利用該打印頭特征信息來產(chǎn)生補償參數(shù)-這些參數(shù)補償將要從主處理器送到打印頭以進行打印的打印信息。該方法在部分8.0中得到了更詳細的描述。
      在步驟S1405的打印機參數(shù)信息寄存之后,步驟S1405A中的清洗計劃、各個打印頭盒300a和300b(見圖4)的狀態(tài),在步驟S1406得到檢查。這是通過確定檢修門32是否已經(jīng)被打開和關(guān)閉并檢測一或多個墨盒或墨罐是否已經(jīng)被改變,而得到進行的。如果盒或墨罐已經(jīng)被改變,則在相應(yīng)的打印頭上進行清洗操作,其中該打印頭的噴嘴得到清洗。
      在步驟S1406用于在墨罐/盒改變期間清洗打印頭的裝置包括一個盒接收部分-它安裝在一個支架上以可釋放地接收具有打印頭和至少一個可拆下墨罐的盒。該接收部分包括一個樞軸桿,它允許拆下至少一個墨罐。該桿在該至少一個墨罐的至少一部分上延伸,從而防止對至少一個墨罐的接觸直到桿作離開該至少一個墨罐作樞軸運動。當桿作離開至少一個墨罐的樞軸運動且隨后樞軸運動到該至少一個墨罐的至少一部分上時,輸出了一個信號,該信號提示對打印頭的清洗。打印頭清洗設(shè)置在部分5.0中得到更詳細的描述。
      在步驟S1406中進行的盒改變處理之后,處理進行到步驟S1407。在步驟S1407,判定打印機30是否請求了一個中斷以進行諸如打印頭加熱器控制的操作。響應(yīng)于這種中斷請求,被請求的打印機操作在步驟S1408得到進行。隨后,處理返回到步驟S1406。
      如果打印機未在步驟S1407請求中斷,處理進行到步驟S1409。在步驟S1409,判定打印機驅(qū)動程序114是否請求了一個命令序列。在圖10的系統(tǒng)中,打印機30的任務(wù)由來自打印機驅(qū)動程序114的命令控制,這些命令是根據(jù)從打印機30接收的參數(shù)和狀態(tài)信息而產(chǎn)生的。當用戶接口序列得到選擇時,進入到步驟S1414且執(zhí)行圖15顯示的處理。
      在選擇用戶接口時,在步驟S1501,通過雙向通信線路106從打印機30請求并接收打印機30的當前狀態(tài)。隨后,在步驟S1502,判定打印機30是否具有新的打印頭。當檢測到新的打印頭時,在步驟S1503進行自動對準,且在步驟S1504打印機30的狀態(tài)信息被存儲在打印機驅(qū)動程序114中,否則,在步驟S1505為用戶獲得最新的打印機驅(qū)動程序信息。在兩種情況下,然后在步驟S1506判定所要打印的頁是用于頭更換和/或?qū)实膶嵱庙撨€是文件的首頁。當實用頁得到選擇時,當前的頭結(jié)構(gòu)在步驟S1507得到顯示且用戶在步驟S1508選擇是啟動還是禁止打印機30。隨后進入選擇步驟S1509且用戶可借助步驟S1510選擇對準、借助步驟S1510和步驟S1511進行頭更換和對準并隨后在步驟S1512存儲打印機狀態(tài)信息、借助步驟S1513進行恢復操作以清洗打印頭130a和130b、或者在步驟S1514取消用戶接口。一旦在步驟S1509選擇的任務(wù)得到進行,控制返回到圖14的步驟S1409。
      當在圖15的步驟S1506選擇了打印模式時,當前的頭結(jié)構(gòu)被顯示給用戶(步驟S1515)。在步驟S1516操作了使能/禁止按鈕之后,用戶可在步驟S1517選擇打印、介質(zhì)類型、介質(zhì)尺寸、目標圖象、自選頁設(shè)定、實用或取消操作。介質(zhì)類型(步驟S1518)、介質(zhì)尺寸(步驟S1519)、目標圖象(步驟S1520)(即文本和彩色或照片-彩色)、自選頁尺寸(步驟S1521)、以及自選設(shè)定頁(步驟S1522)的選擇,使得信息被存儲在打印機驅(qū)動程序114中,而打印機驅(qū)動程序114控制著所要執(zhí)行的打印序列的打印機參數(shù)和打印數(shù)據(jù)。在借助用戶接口顯示器上的鍵盤和指點器輸入的用戶選擇完成時,控制返回到步驟S1409并被引向使用打印命令序列步驟S1410。
      如果在步驟S1409選擇了打印序列,處理進行到步驟S1410。在步驟S1410,打印機驅(qū)動程序114根據(jù)打印頭結(jié)構(gòu)、打印頭對準、介質(zhì)類型和尺寸以及存儲在其中的目標圖象信息,產(chǎn)生命令序列。這些命令被送到打印機30中的打印機控制器140(見圖11)。在打印機中,打印機控制器140接收這些命令和來自打印機ROM 122的固件并使得命令任務(wù)在打印引擎131中得到執(zhí)行。
      該打印命令序列包括把打印數(shù)據(jù)從打印機驅(qū)動程序114傳送到由各個打印任務(wù)定義的打印緩存器139。該打印數(shù)據(jù)傳送是在沒有打印機30中的接收緩存器的情況下進行的。在當前掃描中打印頭的提升期間用于下一個掃描的打印數(shù)據(jù)被發(fā)送到打印緩存器139中的當前掃描的空存儲單元中。
      簡要地說,在步驟S1410中命令被傳送至的打印緩存器包括與各個打印頭的當前掃描的打印位置相應(yīng)的一組存儲單元。打印機驅(qū)動程序識別打印緩存器中當前掃描的空存儲單元并在打印頭的當前掃描的提升期間把打印頭的下一個掃描的打印數(shù)據(jù)傳送到識別的空存儲單元。根據(jù)本發(fā)明的打印命令序列中的打印數(shù)據(jù)傳送,將在部分9.0中得到更詳細的描述。
      步驟S1410的命令序列包括設(shè)定打印頭130a和130b的打印分辨率的命令。這些命令,通過根據(jù)存儲在用于打印頭的打印緩存器中的數(shù)字數(shù)據(jù)和打印數(shù)據(jù)從用于該打印頭的打印緩存器被讀取的順序而對墨滴大小進行的控制,而得到設(shè)定。具體地,用于控制具有第一和第二打印頭的打印機中的打印分辨率的方法包括彼此獨立地控制第一和第二頭的分辨率。對于根據(jù)存儲在打印緩存器中的數(shù)字數(shù)據(jù)排放墨滴的噴墨型打印頭,分辨率是通過控制墨滴大小和控制從打印緩存器的讀出順序而得到控制的,其中各個打印頭的墨滴大小和讀出順序是彼此獨立地得到控制的。打印分辨率的控制在部分10.0中得到了更詳細的描述。
      在步驟S1410的打印命令序列中,進一步地,打印機驅(qū)動程序114根據(jù)對相鄰象素的多級圖象數(shù)據(jù)的分析,來選擇將要用于打印目標象素的墨的類型。作為一個例子,對于一個圖象中被彩色象素所圍繞的黑目標象素可選擇染料基的墨,而對于被黑象素所圍繞的黑目標象素可選擇顏料基的墨。
      總之,根據(jù)本發(fā)明的用于控制與多級圖象對應(yīng)的象素的打印的方法,包括根據(jù)目標象素的多級圖象數(shù)據(jù)和用于與該目標象素相鄰的象素的多級圖象數(shù)據(jù),確定該目標象素是應(yīng)該用染料基墨打印還是應(yīng)該用顏料基墨打印,在確定目標象素應(yīng)該采用染料基墨打印的情況下命令打印機用染料基墨打印目標象素,并在確定目標象素應(yīng)該用顏料基墨打印的情況下命令打印機用顏料基墨打印目標象素。象素打印的控制在部分11.0中得到了更為詳細的描述。
      在完成了一頁的打印時,流程進行到圖14的步驟S1411,在那里該頁響應(yīng)于一個紙排放命令而被從打印機30輸出。打印機30隨后把該頁排放到由彈簧以可調(diào)節(jié)的方式定位在一個托盤上的一對具有角度的可縮回活板上,如在部分4.0中所描述的。當在打印期間移到該托盤上時,一頁滑行到前面排放的頁上的高度,通過活板的向下運動而得到保持,從而使頁不會在打印頭區(qū)中發(fā)生彎曲。這種彎曲可造成所打印的圖象的失真。另外,紙排放托盤具有便于存放和設(shè)定的結(jié)構(gòu)。
      為此,本發(fā)明的該方面是打印機的一種排放托盤,它具有限定一個介質(zhì)饋送部分和一個介質(zhì)排放端口的外殼,其中該外殼適合于容納一個用于在記錄介質(zhì)上進行打印的打印引擎。該排放托盤包括一個基座,而該基座可滑動地位于打印機的外殼上與介質(zhì)排放端口沿著橫向相距的一個位置上。該基座包括至少一對沿著基座的滑動方向延伸的凹槽。在該排放托盤中還包括有一對活板。該對活板每一個都具有與基座與排放端口之間的橫向距離相對應(yīng)的至少一個寬度部分。各個活板絞接到基座的相應(yīng)凹槽中并經(jīng)過一個彈簧而被向上施力-這提供了活板相對于基座的轉(zhuǎn)動運動。在基座向外殼外滑動時,活板沿著向上離開凹槽的方向被施力而到達與介質(zhì)排放端口的位置相應(yīng)的一個高度。
      圖16是流程圖,它更詳細地顯示了打印機驅(qū)動程序114產(chǎn)生的用于打印和操作打印機30的命令序列。在圖16中,打印命令序列由一個打印機初始化命令在步驟S1601啟動,該命令被送到打印控制器140,以復位打印機操作。隨后一個載紙命令(步驟S1602)被提供給打印機控制器140,而打印機控制器140在選擇步驟S1603選擇一個加紙操作并執(zhí)行一個啟動紙裝載(步驟S1604)。當打印機控制器140在步驟S1605檢測到加紙結(jié)束時,一個表示結(jié)束加紙的信號被送到打印機驅(qū)動程序114,且在步驟S1606為打印頭130a和130b的第一掃描準備好打印數(shù)據(jù)。打印機控制器140被告知這種掃描準備。打印機驅(qū)動程序114中的打印數(shù)據(jù)的準備在1997年7月28日遞交的標題為“用于彩色打印機的打印驅(qū)動器”的美國專利申請第08/901,719得到了更為詳細的描述。如果在確定步驟S1607沒有確定用于掃描的打印數(shù)據(jù),在步驟S1608在打印機驅(qū)動程序114中進行一個虛擬跳過。當在步驟S1609未檢測到頁完成時,控制返回到步驟S1607。當檢測到頁完成時,步驟S1610至步驟S1614和步驟S1608得到進行。
      在步驟S1610,打印機驅(qū)動程序114向打印機控制器140提供一個實際的跳過命令,以打印正確的打印數(shù)據(jù)。打印機控制器140選擇該實際的跳過操作(步驟S1603)并執(zhí)行該實際跳過(步驟S1615)。隨后在打印機驅(qū)動程序114中進行掃描設(shè)定(步驟S1611),且打印機控制器140得到通知。隨后,在打印機驅(qū)動程序114中產(chǎn)生的打印數(shù)據(jù)和用于該打印數(shù)據(jù)的打印緩存器地址被傳送到打印機控制器140,而打印機控制器140將這種信息存儲在打印緩存器139中(步驟S1612)。隨后在打印機驅(qū)動程序114中準備下一個掃描,且打印機控制器140得到通知(步驟S1613)。隨后,在打印機驅(qū)動程序114中產(chǎn)生的一個打印命令被送到打印機控制器140。作為響應(yīng),打印機控制器140在步驟S1619選擇一個打印操作并在步驟S1614執(zhí)行該打印任務(wù)。隨后由打印機驅(qū)動程序114在步驟S1608執(zhí)行一個虛擬跳過以跟蹤正在打印的頁的行。當在判定步驟S1609判定了頁完成時,打印機驅(qū)動程序114把一個頁排放命令送到打印機控制器140,而打印機控制器140選擇一個頁排放操作(步驟S1616)并開始頁排放(步驟S1617)。在頁排放完成時(步驟S1618),打印機驅(qū)動程序114被告知頁排放的完成且控制進行到圖14的步驟S1409。
      圖17是流程圖,顯示了在圖16的當前掃描的掃描設(shè)定步驟S1611中采用的一組命令。參見圖17,一個[SPEED]命令在步驟S1701被發(fā)出以設(shè)定掃描速度,一個[DROP]被發(fā)出(步驟S1702)以設(shè)定一個打印頭(A)的墨滴大小且另一個[DROP]被發(fā)出(步驟S1703)以設(shè)定另一打印頭(B)的墨滴大小。在步驟S1704和步驟S1705,發(fā)出了一個[SELECT_PULSE]以設(shè)定用于打印的加熱脈沖且一個[PCR]命令被發(fā)出以設(shè)定用于溫度表調(diào)節(jié)的脈沖控制比值。[SELECT_CONTROL]命令在步驟S1706和步驟S1707被發(fā)出以選擇各個打印頭的緩存器控制,以確定打印頭噴嘴的排放時間。[DEFINE_BUF]命令在步驟S1708和步驟S1709被發(fā)出,以定義各個打印頭130a和130b的打印緩存器。相應(yīng)地,打印機操作的各個方面,諸如掃描設(shè)定,由主處理器打印機驅(qū)動程序114在考慮到打印頭結(jié)構(gòu)和打印模式的情況下進行控制。打印機30執(zhí)行的任務(wù)因而被打印機驅(qū)動程序114所詳細定義,從而使打印機的結(jié)構(gòu)得到了大大的簡化且費用得到了降低。
      圖18中的表A給出了從主處理器23至打印機30以在彩色模式下用兩個彩色打印頭打印一頁的命令序列的一個例子。開始時,如表所示,當前時間由一個[UCT]命令設(shè)定且打印機30被一個[RESET]命令所復置。數(shù)據(jù)壓縮得到選擇,以借助一個[COMPRESS]命令來壓縮打印數(shù)據(jù)。用于打印頭130a和130b的打印緩存器由[DEFINE_BUF]命令定義。打印頭結(jié)構(gòu)的彩色模式的加熱脈沖和緩存器控制表由[DEFINE_PULSE]和[DEFINE_CONTROL]命令定義。
      在打印機任務(wù)由前述初始化命令執(zhí)行之后,裝載頁或其他打印介質(zhì)的加紙命令[LOAD]和跳過第一打印頭掃描的打印位置的柵跳過命令[SKIP]被送到打印機30,且第一掃描的打印頭130a和130b的打印方向和打印邊緣得到設(shè)定。一個命令環(huán)隨后被送出以為頁中各行的打印控制打印機任務(wù)。對于各行該環(huán)的第一部分中,行的掃描參數(shù)如圖17所述地得到設(shè)定。在選擇緩存器控制表命令[SELECT_CONTROL]的打印機任務(wù)完成之后,打印數(shù)據(jù)塊由[BLOCK]命令選擇,且打印色根據(jù)打印頭130a和130b的確定的打印區(qū)而由重復的選擇色[COLOR]和數(shù)據(jù)傳送[DATA]命令選擇。
      隨后由[DIRECTION]和[EDGE]命令設(shè)定第二掃描的方向和第二掃描的打印區(qū)的左和右邊緣。此時,一個[PRINT]命令被從主處理器23傳送到打印機30,以執(zhí)行第一掃描的打印,且一個[SKIP]命令得到傳送以跳到第二掃描的打印位置。當最后一行已經(jīng)被打印時,頁排放命令被提供給打印機30,以執(zhí)行紙排放。
      如從用于設(shè)定的掃描操作的命令序列和根據(jù)本發(fā)明的打印操作的例子可見,本發(fā)明的各個方面,諸如掃描設(shè)定或打印,由打印機驅(qū)動程序114在考慮打印頭結(jié)構(gòu)和打印模式的情況下進行控制。將要由打印機30進行的任務(wù)因而由打印機驅(qū)動程序114所詳細地定義,從而使打印機的結(jié)構(gòu)得到了簡化且費用得到降低。
      參見圖17,當在步驟S1409確定了一個打印機狀態(tài)請求時,流程進行到步驟S1412。在步驟S1412,一個打印機狀態(tài)命令序列得到執(zhí)行。提供打印機狀態(tài)信息請求的狀態(tài)命令在部分3.6中得到了更為詳細的描述。一般地,各個狀態(tài)命令從主處理器23被送到打印機30,以請求有關(guān)打印機操作的信息或存儲在打印機30中的信息。例如,一個基本狀態(tài)命令[BASE_STATUS]請求打印機的當前狀態(tài)。作為響應(yīng),打印機30送回表示以下之一的一個數(shù)據(jù)字節(jié)打印狀態(tài)、打印緩存器139能夠還是不能夠接收數(shù)據(jù)、打印機30是否忙于執(zhí)行啟動、盒更換、打印頭清洗、測試打印等等、以及是否檢測到了誤差或警報。一個[HEAD]命令請求打印返回頭結(jié)構(gòu)且一個[DATA_SEND]命令請求將EEPROM返回至主處理器23。在請求的數(shù)據(jù)在步驟S1412的返回之后,控制返回到步驟S1406。
      3.0打印機軟件的結(jié)構(gòu)打印機30的功能的控制是由在CPU 121上執(zhí)行的單個程序?qū)崿F(xiàn)的。各個程序包括初始化步驟-諸如在接通時執(zhí)行的步驟、中斷從主處理器23接收的命令的任務(wù)、諸如處理實時硬件中斷的處理程序的中斷處理程序、以及處理循環(huán)處理的循環(huán)處理程序一諸如控制與主處理器23的雙向通信的處理程序。
      打印機CPU 121進一步執(zhí)行一個操作系統(tǒng),從而協(xié)調(diào)各個程序的執(zhí)行(即初始化程序、任務(wù)、中斷處理程序、以及循環(huán)處理程序)。該操作系統(tǒng)通過消息傳送等而進行程序間的通信,以及程序間的切換,從而在適當時從一個程序至另一個程序地切換執(zhí)行。以下是操作系統(tǒng)的細節(jié)。
      3.1操作系統(tǒng)該操作系統(tǒng)是一個實時操作系統(tǒng)(或“核”或“監(jiān)測機”),是為了分解打印機控制程序和便利維護、繼承和擴展而產(chǎn)生的。該實時操作系統(tǒng)是提供搶先多任務(wù)軟件環(huán)境的系統(tǒng)軟件,其中當前執(zhí)行的程序可被暫停,以有利于向另一具有更高優(yōu)先級的程序的切換。
      該操作系統(tǒng)允許四種不同類型的程序,其每一個都由該操作系統(tǒng)根據(jù)其具體的類型而執(zhí)行。這些類型是初始化例程、任務(wù)、中斷處理程序、以及循環(huán)處理程序。初始化例程是為打印機30被復置之后但在操作系統(tǒng)初始化其自身之后立即由操作系統(tǒng)調(diào)度的程序。任務(wù)是依次執(zhí)行的通常的連續(xù)處理程序(有時被稱為“執(zhí)行單元”)。因此,任務(wù)是由操作系統(tǒng)以多編程或多處理環(huán)境中由CPU 121執(zhí)行的工作的單元形式的一或多個指令序列。操作系統(tǒng)通過在各個任務(wù)單元中調(diào)度處理,而產(chǎn)生了同時處理的假象。
      中斷處理程序是程序單元(通常是短的),它由操作系統(tǒng)在接收到硬件中斷時立即激活。循環(huán)處理程序與中斷處理程序類似,但不是由硬件中斷激活,而是由操作系統(tǒng)的定時器中斷激活。
      當打印機30被復置時,操作系統(tǒng)的執(zhí)行是由CPU 121執(zhí)行的第一個軟件。CPU寄存器按照預定的要求而得到設(shè)定,且隨后用戶定義的初始化例程(如果有的話)得到執(zhí)行。隨后,控制返回到操作系統(tǒng),激活系統(tǒng)中的各個任務(wù)。一個這種任務(wù)是啟動任務(wù)。在啟動任務(wù)開始之后,操作系統(tǒng)每當系統(tǒng)調(diào)用發(fā)出或發(fā)生中斷時得到激活。在執(zhí)行了系統(tǒng)調(diào)用或處理了中斷之后,執(zhí)行返回到操作系統(tǒng),而操作系統(tǒng)調(diào)度任務(wù)從而執(zhí)行具有最高優(yōu)先級的可執(zhí)行任務(wù)。
      調(diào)度任務(wù)涉及在同時有若干可執(zhí)行任務(wù)的情況判定執(zhí)行哪一個任務(wù)。任務(wù)是按照一個分配的優(yōu)先級而調(diào)度的,其中較高優(yōu)先級的任務(wù)在所有其他優(yōu)先級較低的任務(wù)之前得到執(zhí)行。可執(zhí)行但由于其優(yōu)先級較低而當前沒有執(zhí)行的任務(wù)根據(jù)它們的優(yōu)先級而被置于一個就緒排隊中。
      隨著各個任務(wù)變得可執(zhí)行,它被置于就緒隊列的末尾。隨后當從一個任務(wù)發(fā)出的系統(tǒng)調(diào)用返回或當從中斷處理返回到一個任務(wù)時進行調(diào)度,這兩種安排都能夠造成新的任務(wù)進入隊列或造成已經(jīng)存在于隊列中的任務(wù)的優(yōu)先級的改變。調(diào)度按照各個任務(wù)的優(yōu)先級來把任務(wù)排列在任務(wù)隊列中,并使具有最高優(yōu)先級的任務(wù)成為當前可執(zhí)行的運行任務(wù)。如果在就緒隊列中有兩或多個具有相同優(yōu)先級的任務(wù),哪一個任務(wù)應(yīng)該得到選擇的確定是根據(jù)哪一個任務(wù)首先進入隊列而確定的。
      該操作系統(tǒng)用信號燈作為任務(wù)之間的通信的基本手段并用于任務(wù)的控制或同步。任務(wù)還能夠利用消息在它們之間通信和傳送數(shù)據(jù)。消息由一個任務(wù)送到郵箱,且需要接收該消息的任務(wù)向郵箱發(fā)出一個接收請求,從而獲得該消息。
      該操作系統(tǒng)進一步采用事件標記來同步任務(wù)。希望根據(jù)一定的事件而從等候狀態(tài)得到釋放的任何任務(wù)可寄存一個事件標記模式,在其發(fā)生時操作系統(tǒng)將把該任務(wù)從等候狀態(tài)釋放。
      操作系統(tǒng)的中斷管理是由一個中斷處理程序和中斷允許級設(shè)定提供的。時間管理由操作系統(tǒng)根據(jù)系統(tǒng)定時器對中斷處理程序的致動而提供。
      循環(huán)處理程序,根據(jù)操作系統(tǒng)寄存的循環(huán)處理程序,在每一個指定的時間間隔進行處理。通常,循環(huán)處理程序是一個短程序,它指定在各個指定的時間間隔執(zhí)行的任務(wù)。
      對打印機30較好的初始化例程、任務(wù)、中斷處理程序和循環(huán)處理程序在下面得到描述。
      3.2初始化在加電時,執(zhí)行初始化功能以初始化打印機30,諸如初始化控制邏輯124、檢查ROM 122、檢查RAM 129和檢查EEPROM 132。
      圖19和20分別顯示了硬加電序列和軟加電序列。在此方面,應(yīng)該注意的是只要電力被提供到打印機30、CPU 121就執(zhí)行軟件,而不論電源按鈕44的狀態(tài)如何。因此,“硬加電”表示對打印機30的初始供電。隨后,用戶激活電源按鈕44只是造成軟加電或軟去電。這種設(shè)置是較好的,因為它允許打印機30即使在打印機30“關(guān)斷”時也能夠監(jiān)測正在進行的事件(諸如時間的推移)。
      參見圖19,它顯示了硬加電序列,在初始電力接通時,步驟S1901進行存儲器檢查,諸如ROM檢查、RAM檢查以及EEPROM檢查。步驟S1902初始化軟件任務(wù),且在步驟S1903,CPU 121進入空循環(huán),等候一個軟加電。
      圖20顯示了軟加電序列。步驟S2001進行打印引擎131的機械初始化,諸如至起始位置的復位,步驟S2002啟動包括Centronic通信任務(wù)的軟件控制任務(wù),且步驟S2003進入主處理模式。
      圖21詳細描述了軟去電序列。步驟S2101終結(jié)了所有軟件任務(wù),且步驟S2102進入一個閑循環(huán)-其中在步驟S2103打印機30等候下一個軟加電序列。
      3.3任務(wù)在本發(fā)明的最佳實施例中,打印機任務(wù)得到適當設(shè)計以隔離功能,從而使各個任務(wù)響應(yīng)于打印機控制的單個方面。一般地說,任務(wù)可被分成三個概念上的組,即引擎任務(wù)、控制器任務(wù)、以及雜項任務(wù)。
      對于與引擎有關(guān)的任務(wù),任務(wù)得到提供以控制滑架電機66以進行運送運動,控制行饋送電機61以使紙行進,并為打印頭130a和130b控制紙饋送和清洗操作,諸如墨抽吸、清洗、等等。其他任務(wù)把消息從打印引擎131傳送到其他任務(wù),并根據(jù)來自另一任務(wù)的消息控制打印機引擎131。
      對于控制任務(wù),任務(wù)得到提供以中斷從主處理器23接收的命令;這些命令在部分3.6中得到了詳細描述。與測試有關(guān)的任務(wù)在需要時可得到提供。
      對于雜項任務(wù),一個初始化任務(wù)(它在部分3.2中得到了描述),初始化打印機30。提供了其他的任務(wù)以控制打印機30上的顯示,以掃描與在打印機30的前面板上的按鈕相應(yīng)的鍵開關(guān)并檢測它們的狀態(tài),初始化與主計算機接口141和I/O端口單元127有關(guān)的硬件,控制Centronic輸出信號,并解譯這些信號和將這些信號傳送到其他的任務(wù)。提供了一個任務(wù)以控制引擎控制任務(wù)和通信任務(wù)。另外,這種任務(wù)初始化、暫停和恢復其他的任務(wù)。一個空閑任務(wù)基本上不作任何事情,并得到提供以在沒有其他任務(wù)排隊在等候狀態(tài)下時由操作系統(tǒng)使用。
      任務(wù)之間的接口和其他通信是通過使用郵箱-其中放置了消息-和信號燈而實現(xiàn)的,以協(xié)調(diào)消息通信。這種設(shè)置在圖22中得到顯示。圖22顯示的有控制器任務(wù)201、用戶接口任務(wù)202、雙向通信任務(wù)204、雜項任務(wù)205、以及引擎任務(wù)206。任務(wù)組中的各個任務(wù)具有相關(guān)的郵箱,這些在圖22中得到了示意顯示,其中210表示控制器任務(wù)201中的各個任務(wù)的郵箱,213表示用戶接口任務(wù)202中的各個任務(wù)的郵箱,215表示通信任務(wù)204中的各個任務(wù)的郵箱、217表示雜項任務(wù)205中的各個任務(wù)的郵箱,且219表示引擎任務(wù)206中的各個任務(wù)的郵箱。除了引擎任務(wù)206之外,送到郵箱或從郵箱獲取的消息的協(xié)調(diào)由信號燈控制。對于引擎任務(wù)206,沒有采用信號燈,因為檢測存儲器的使用就足夠了。
      各個郵箱得到適配以接收來自各個其他任務(wù)的消息并得到進一步的適配以把消息傳送到其相關(guān)的任務(wù)。因此,郵箱210能夠接收來自用戶接口任務(wù)202、通信任務(wù)204、雜項任務(wù)205、和引擎任務(wù)206中的任何一個的消息,且能夠把這些消息傳送到任務(wù)組201中其相關(guān)的任務(wù)。類似地,郵箱213得到適配以接收來自控制器任務(wù)201、通信任務(wù)204、雜項任務(wù)205、和引擎任務(wù)206中的任何一個的消息;并把這些消息傳送到用戶接口任務(wù)202中的相關(guān)任務(wù)。類似地,郵箱215得到適配以接收來自控制器任務(wù)201、用戶接口任務(wù)202、雜項任務(wù)205、和引擎任務(wù)206中的任何一個的消息;并把這些消息傳送到通信任務(wù)204。類似地,郵箱217得到適配,以接收來自控制器任務(wù)201、用戶接口任務(wù)202、通信任務(wù)204、以及引擎任務(wù)206中的任何一個的消息;并把這些消息傳送到雜項任務(wù)組205中的相關(guān)任務(wù)。最后,郵箱219得到適配,以接收來自控制器任務(wù)201、用戶接口任務(wù)202、通信任務(wù)204、以及雜項任務(wù)205中的任何一個的消息;并把這些消息傳送到引擎任務(wù)206中的相關(guān)任務(wù)。
      3.4中斷處理程序雖然操作系統(tǒng)能夠容納諸如用于定期時鐘中斷的處理程序這樣中斷處理程序,這種循環(huán)事件也能夠用循環(huán)處理程序來處理。
      3.5循環(huán)處理程序循環(huán)處理程序是為通信任務(wù)204和為用戶接口任務(wù)202提供的,如結(jié)合圖22所顯示和描述的。
      另外,為控制器定時器操作提供了一個循環(huán)處理程序。圖23是流程圖,顯示了根據(jù)這種循環(huán)處理程序的控制器定時器控制。如圖23所示,在接收到一個10毫秒的中斷時,副加熱器控制得到實現(xiàn)。副加熱器控制的目的是把打印機30中的各個打印頭(即打印頭130a和130b)的溫度提到一個目標溫度。這是通過根據(jù)計算出的頭溫度與一個目標頭溫度之差而設(shè)定一個副加熱器驅(qū)動時間得到實現(xiàn)的。
      圖23顯示的50毫秒的中斷根據(jù)施加到各個頭的頭驅(qū)動脈沖的量,計算各個頭的頭溫度。計算是根據(jù)預存儲在ROM 122中的表而進行的,該表提供用于根據(jù)頭發(fā)射計算溫度增加以及溫度降低的常數(shù)。
      50毫秒中斷進一步根據(jù)預存儲在ROM 122中的表來控制脈沖寬度調(diào)制控制,從而設(shè)定各個打印噴嘴的預加熱脈沖以及各個噴嘴的實際主脈沖寬度。這些脈沖參數(shù)隨后被送到控制邏輯124。
      50毫秒中斷進一步實現(xiàn)頭保護控制以保證預加熱的脈沖的寬度和主脈沖的寬度不超過可能損壞打印頭的限度。
      如圖23所示,500毫秒的中斷實現(xiàn)了主加熱控制。如圖23所示,該1秒中斷計算環(huán)境溫度,并隨后進行到根據(jù)計算出的環(huán)境溫度來更新目標溫度。
      應(yīng)該注意的是,10毫秒、50毫秒、500毫秒和1秒的持續(xù)時間只是說明性的,并可以被改變。
      3.6往來于主處理器的命令以下概述在雙向打印機接口104上往來于主處理器23的命令。一般地說,各個命令將包括一或多個參數(shù),而某些命令(諸如[DATA]圖象數(shù)據(jù)傳送命令)也包括數(shù)據(jù)。
      狀態(tài)請求命令[STATUS]是一個通用的命令,它引出了在雙向接口104上的來自打印機30的響應(yīng)。通過狀態(tài)請求命令的使用,主處理器23能夠獲得有關(guān)打印機30的詳細信息,諸如EEPROM 132的內(nèi)容、對準和密度檢測器結(jié)果等等。該狀態(tài)請求命令因而在下面得到更詳細的描述。
      在以下的部分中,各個命令的助記符用方括號“[]”括起。以下顯示的助記符只是例子。用于形成命令助記符的實際的字母序列和組合不是實質(zhì)性的,只要它們的使用在打印機側(cè)和在處理器側(cè)是一致的從而使由一方送出的命令能夠被另一方所理解就行。
      3.6.1控制命令控制命令用于控制打印機30的打印操作。以下是對各種控制命令的描述。紙裝載裝載命令造成紙裝載,但不排放當前裝載的記錄介質(zhì)。這種命令必須被送到打印機30,即使是當介質(zhì)已經(jīng)被手動裝載時。-紙排放該命令打印剩余在打印緩存器中的所有數(shù)據(jù),然后排放當前裝載的介質(zhì)。-打印執(zhí)行打印執(zhí)行命令使打印緩存器中的數(shù)據(jù)被打印到當前裝載的記錄介質(zhì)上。打印區(qū)域從以下描述的[EDGE]命令的左和右參數(shù)指定的各個打印緩存器的左邊緣至右邊緣延伸。-滑架運動滑架運動命令包括以列位置為單位指定滑架位置的位置參數(shù)。該命令被用于向前和向后的尋找。-柵跳過柵跳過命令用于使縱向打印位置行進由一個跳過參數(shù)指定的柵行數(shù)。-圖象數(shù)據(jù)發(fā)送該命令用于把黃(Y)、品紅(M)、青(C)或黑(Bk或K)位圖象數(shù)據(jù)以列圖象格式分別地傳送到打印機30。多個序列的這種命令可被發(fā)出,以構(gòu)成單個的掃描線。位圖象數(shù)據(jù)被存儲在由以下描述的塊[BLOCK]和顏色[COLOR]命令指定的區(qū)中。打印機30將在接收到[PRINT]命令時實際開始打印。
      3.6.2設(shè)定命令設(shè)定命令指定打印機30進行的打印操作的設(shè)定。一旦這些命令得到設(shè)定,它們就是有效的,直到設(shè)定被另一命令所改變。如果沒有為一個頁提供設(shè)定,這些設(shè)定將被復置到缺省設(shè)定。設(shè)定命令將在下面得到更詳細的描述。-打印機復置該模式參數(shù)定義了打印機復置命令并指定了復置模式。包括了缺省設(shè)定,以用于數(shù)據(jù)壓縮標記、緩存器大小、墨滴大小、打印速度、脈沖控制表、緩存器控制表等等。-選擇數(shù)據(jù)壓縮選擇數(shù)據(jù)壓縮命令的模式參數(shù)指定圖象數(shù)據(jù)是得到壓縮還是未得到壓縮,未得到壓縮的是缺省設(shè)定。-定義打印緩存器定義打印緩存器命令被用于定義各個頭A和B共同的存儲器大小和打印緩存器139的結(jié)構(gòu)。-選擇墨滴大小該命令用于指定各個打印頭的墨滴大小(大或小)。-選擇打印速度該命令用于指定打印速度。-設(shè)定打印方向該命令的方向參數(shù)指定打印是沿著向前方向(左向右)還是沿著向后方向(從右向左)。-設(shè)定打印邊緣設(shè)定打印邊緣命令指定以列位置為單位的打印位置的左邊緣和右邊緣;左邊緣必須小于右邊緣。-選擇打印塊該命令用于指定以從各個打印緩存器的頂部以列位置為單位的數(shù)據(jù)塊的左邊緣和右邊緣。[BLOCK]命令還指定[DATA]命令(如上所述)之后的位圖象被存儲在哪里。-選擇打印顏色該命令用于指定打印緩存器139中在[DATA]命令(如上所述)之后的位圖象數(shù)據(jù)被存儲處與顏色相應(yīng)的位置。-定義加熱脈沖表[DEFINE_PULSE]命令用于定義多個不同加熱脈沖塊表。該脈沖塊表必須在打印機30接收到[SELECT_PULSE]命令(它將在下面得到定義)之前得到定義。-選擇加熱脈沖表選擇加熱脈沖表命令用于從[DEFINE_PULSE]命令定義的多個表中選擇一個加熱脈沖塊表,該表是所有頭共同的。-定義緩存器控制表該命令用于定義多個不同打印緩存器控制表。該打印緩存器控制表必須在打印機接收到[SELECT_CONTROL]命令(在下面描述)之前得到定義。選擇緩存器控制表該命令用于從[DEFINE_CONTROL]命令中定義的多個表中為打印頭130a和130b的每一個選擇一個打印緩存器控制表。
      3.6.3維護命令維護命令用于保持打印機30的打印操作并在下面得到更為詳細的描述。-頭恢復接收到該命令使得打印機30進入頭恢復模式,諸如清洗和墨抽吸操作。-改變脈沖控制比值該命令用于改變脈沖控制表的比值。各個比值可被設(shè)定為從1至200,這意味著1%至200%。缺省設(shè)定是100,意味著100%。-國際定標時間該命令用于設(shè)定打印機30中的當前時間,且必須在打印任務(wù)開始時被送到打印機30。打印機30用該時間判定打印機30是否應(yīng)該恢復打印頭。該時間值被表示為按照主處理器23的系統(tǒng)時鐘從國際定標時間(UCT)1970年1月1日子夜(00:00:00)起過去的秒數(shù)。-掃描檢測器該命令用于讀取一個自動對準檢測器值并把結(jié)果送回主處理器23。掃描速度、方向、分辨率和區(qū)域分別由上述的[SPEED]、[DERECTION][DEFINE_BUF]和[EDGE]命令定義。-VN-RAM控制該命令用于從EEPROM 132讀取數(shù)據(jù)并將讀取的數(shù)據(jù)送回到主處理器23[STATUS]-狀態(tài)請求該命令被用作一個前綴命令以把狀態(tài)請求送到打印機30。請求可以是對基本設(shè)定、主狀態(tài)、和詳細狀態(tài)的。
      基本設(shè)定命令是主處理器23用于設(shè)定打印機30的命令且不一定要求來自打印機30的響應(yīng)。
      主狀態(tài)請求/響應(yīng)命令是用于獲得常規(guī)模式下的狀態(tài)信息的命令,并包括基狀態(tài)[BASE_STATUS]、回送命令[ECHO]、打印頭結(jié)構(gòu)[HEAD]、對準檢測器結(jié)果[SENSOR_RESULTS]、至主機的EEPROM數(shù)據(jù)傳送[DATA_SEND]、以及送到主機的移位緩存器大小[BUFFER_SIZE]。對于發(fā)出的各個主狀態(tài)請求/響應(yīng)命令,一個響應(yīng)被自動送回主處理器23。
      詳細的狀態(tài)請求/響應(yīng)命令被用于獲得詳細的狀態(tài)信息。這些命令包括詳細的任務(wù)狀態(tài)[JOB_STATUS]、詳細的忙狀態(tài)[BUSY_STATUS]、詳細的警告狀態(tài)[WARNING_STATUS]、詳細的操作員調(diào)用狀態(tài)[OPERATOR_CALL]、以及詳細的維修呼叫狀態(tài)[SERVICE_CALL]。象主要狀態(tài)請求/響應(yīng)命令一樣,對于所發(fā)出的各個詳細狀態(tài)請求/響應(yīng)命令,一個響應(yīng)被自動送回到主處理器23。
      3.7往來于打印機引擎的命令主處理器23和打印機30通過把消息插入郵箱219(見圖22)而把命令送到打印機引擎131。這些消息由引擎任務(wù)206進行處理4.0紙排放托盤簡要地說,本發(fā)明的這個方面是與在此描述的打印機一起使用的排放托盤。在結(jié)構(gòu)上,打印機包括限定了介質(zhì)饋送部分和介質(zhì)排放端口的外殼,其中該外殼適合于容納用于在記錄介質(zhì)上進行打印的打印引擎。排放托盤包括一個基座,該基座以可滑動的方式被接收在打印機的外殼中并處于與介質(zhì)排放端口沿著橫向方向相距的一個位置上。該基座包括至少一對沿著基座的滑動方向延伸的凹槽。在排放托盤中還包括一對活板。該對活板每一個都具有至少一個與基座與排放端口之間的橫向距離相當?shù)膶挾炔糠?。各個活板絞接到基座的相應(yīng)凹槽中并經(jīng)過一個彈簧而被向上施力-這提供了活板相對于基座的轉(zhuǎn)動運動。在基座向外殼外滑動時,活板沿著向上離開凹槽的方向被施力而到達與介質(zhì)排放端口的位置相應(yīng)的一個高度。
      如以下所述,前述的配置提供了紙排放托盤的方便的設(shè)定和存放。另外,前述的配置減小了從打印機排放的紙阻塞打印機的排放區(qū)的機會。
      4.1第一實施例圖24顯示了帶有為使用而設(shè)定的紙排放托盤41的打印機30的立體圖。此時,應(yīng)該注意的是,雖然本發(fā)明的紙排放托盤是結(jié)合圖1和24的打印機30描述的,但是本發(fā)明的紙排放托盤可用于接收從任何類型的設(shè)備(例如傳真機等等)排放的紙或其他類型的記錄介質(zhì)。在此方面,為了便于描述,將結(jié)合紙來描述本發(fā)明。
      圖25顯示了紙排放托盤41的詳細立體圖。如這些圖中所示,紙排放托盤41包括基座240,兩個活板241a和241b、彈簧242a和242b,以及托盤延伸部分244?;畎?41a和241b每一個都絞接到基座240的凹槽264a和264b之一的一個邊緣上,如以下所詳細描述的。另外,各個活板241a和241b分別經(jīng)過彈簧242a和242b而沿著相對于基座向上的方向而被施力。另外,彈簧242a和242b提供了活板241a和241b相對于基座240受控的向上和向下的轉(zhuǎn)動運動。
      圖26顯示了活板241b至基座240的連接的閉合側(cè)視圖。在此方面,活板241a和241b都以相同的方式絞接在基座240上。相應(yīng)地,在此只描述活板241b的連接。具體地活板241b經(jīng)過設(shè)置在其各個端部的銷246和247而得到絞接,且這些銷被置于基座240的凹槽264b上的相應(yīng)的接收孔(未顯示)中。這些銷形成了一個軸,活板241b繞著該軸相對于基座240轉(zhuǎn)動。
      包括在活板241b上的還有一個中心桿248,如圖26所示。彈簧242b繞在中心桿248上并與活板241b和基座240相連。當紙排放托盤41在外殼31之外時,彈簧242b的固有張力使活板241b沿著向上的方向到達凹槽264b之外。因此,當沒有向下的力加到活板241b上時,活板241b處于相對于基座240的一個初始角度。圖24中顯示了這初始角度的例子,標為249a和249b。在本發(fā)明的最佳實施例中,該初始角度小于30°。
      當向下的壓力被加到活板241a和241b上時,彈簧242a和242b被壓縮。然而,彈簧242a和242b,至少直到預定量的壓力被加到活板241a和241b上時,防止了活板241a和241b與基座240接觸。因此,當壓力被加到活板241a和241b上時,活板241a和241b向下向著基座240轉(zhuǎn)動,但是以一種受控的方式進行這種轉(zhuǎn)動。在此運動期間,各個活板241a和241b與基座240之間的角度從初始角度減小,如果壓力足夠大則角度最終減小到0°。在此方面,使各個活板241a和241b移動到0°所需的壓力是基于與彈簧242a和242b之一相應(yīng)的張力。
      較好地,活板241a和241b每一個都具有一個寬度部分,它大體相當于基座240與介質(zhì)排放端口40之間的橫向距離。為了顯示之點,圖27顯示了平貼在基座240上的活板241a和241b。具體地,如圖27所示,活板241a包括四個邊緣,即支撐從打印機30排放的紙的頂邊緣250、連接到基座240的底邊緣251、以及側(cè)邊緣254和252(即上述的寬度部分)。
      較好地,對著打印機30的各個活板的邊緣即用于活板241a的側(cè)邊緣252和用于活板241b的側(cè)邊緣252b,帶有斜角(即漸細)并如圖25所示地沿著離開打印機30的方向形成角度。更具體地說,由于邊緣252和252b是斜角形的,當這些邊緣與打印機30的外殼31接觸時,這些邊緣相對于外殼31滑動從而使活板241a和241b折疊。最終,活板241a和241b折疊到足夠的程度從而使橫向推力迫使打印機30從而進入托盤接收部分42。這種特征在下面得到更為詳細的描述。
      圖25A顯示了活板241b的邊緣252b的閉合圖。如上所述,且如圖25A所示,邊緣252b是斜角形的,意味著它相對于頂邊緣250b和基座240形成了角度。圖25B和25C進一步顯示了這種特征。在此方面,圖25B顯示了活板241b的閉合側(cè)視圖。圖25C顯示了在位置A-A沿著虛線63取的活板241b的剖視圖。因此,如圖25C所示,斜角形的緣252b相對于頂邊緣250b和基座240形成了角度。這種角度在圖25C中被標為255且在本發(fā)明的最佳實施例中大約為45°。
      因此,當排放托盤41被推向打印機30時,如在托盤41的存放期間的情況那樣,活板141a和141b的斜角形的緣與打印機30的外殼31接觸,具體是外部的緣272。響應(yīng)于這種接觸,且當額外的橫向推力被加上時,外部邊緣272與斜角形的緣之間的接觸迫使活板241a和241b向下移向基座240上的凹槽。如果施加了足夠的力,活板241a和241b被強迫向下足夠的程度從而滑動到外部緣272之下并進入托盤接收部分42。本發(fā)明的這種特征將在下面得到更為詳細的描述。
      側(cè)邊緣252還包括部分253(相應(yīng)側(cè)邊緣252b包括類似的部分253b),它較好地不是斜角形的或具有角度的。這種設(shè)置提供了平坦的表面,以使各個活板241a和241b經(jīng)過銷246與基座240相嚙合,從而增大嚙合的結(jié)構(gòu)強度。側(cè)邊緣253和253b裝入外部緣272之下因而不會對將排放托盤41存放到托盤接收部分42中產(chǎn)生不利的影響。
      對于側(cè)邊緣254,在所示的例子中該邊緣既不是具有角度的也不是斜角形的。然而,如果希望的話側(cè)邊緣254可具有角度并是斜角形的,以便利從打印機30拉出紙排放托盤41。
      對于頂邊緣250和底邊緣251,這些邊緣較好地是不彼此平行,從而減小排放的紙發(fā)生彎曲的可能。即,在本發(fā)明的最佳實施例中,頂邊緣250相對于底邊緣251和基座240略微地向上形成角度,從而便利所排放的紙向下的運動。因此,頂邊緣250與底邊緣251之間的距離在側(cè)邊緣252(斜角形的緣)與頂邊緣250之間的交點260處處于最小。這種距離在離開交點260時增大,從而使該距離在交點261即側(cè)邊緣254與頂邊緣250相交的點處于最大。頂邊緣250相對于底邊緣251的這種具有角度的結(jié)構(gòu),減小了紙在排放期間從活板241a和241b落下的機會。
      如上所述,基座240還包括凹槽264a和264b(見圖24和25),它們對應(yīng)于活板241a和241b中相應(yīng)的一個且它們沿著基座240的滑動方向延伸。在最佳實施例中,凹槽264a和264b中的每一個都具有與活板241a和241b中的相應(yīng)的一個的形狀相應(yīng)的形狀。借助這種配置,當一個活板(諸如活板241a)與基座240之間的角度大體為0°時,該活板能夠幾乎完全地裝入其相應(yīng)的凹槽中。當兩個活板都被如此裝入時,基座240的頂表面266-包括活板241a和241b-基本上是平面狀的,如圖27所示。這便利了紙排放托盤41至托盤接收部分42中的滑動,如下所述。
      更具體地說,如上所述,打印機30包括托盤接收部分42(見圖24)-它當打印機30未被使用時存放紙排放托盤41。圖28是打印機30的底視圖,它顯示了托盤接收部分42。如所示,托盤接收部分42較好地包括在打印機30的底側(cè)上的一個開口或類似的部分,紙排放托盤41(包括托盤延伸部分244)被裝入該開口。當活板241a和241b相對于基座240處于0°或基本上接近于0°時,紙排放托盤41能夠在托盤接收部分42內(nèi)滑動。在此方面,圖1顯示了存放在打印機30內(nèi)的紙排放托盤41的正視圖。
      紙排放托盤41還可包括上述的托盤延伸部分244。如圖24所示,托盤延伸部分244較好地滑入或出基座240內(nèi)的開口。這便利了紙排放托盤41在打印機30中的存放。另外,托盤延伸部分244包括手動止動器269。手動止動器269被用于把托盤延伸部分244滑入或滑出排放托盤41中的開口并防止排放的紙從紙排放托盤41落下。
      另外,手動止動器269能夠有助于設(shè)定和存放紙排放托盤41。即,如圖1所示,當紙排放托盤41被存放在托盤接收部分42中時,手動止動器269并未被完全地裝入托盤接收部分42,因而用戶仍然能夠?qū)ζ溥M行操作。通過握住手動止動器269并把手動止動器269從打印機30拉出,用戶能夠為操作設(shè)定紙排放托盤41。相反地,通過把手動止動器269推向打印機30,用戶能夠把紙排放托盤41存放到打印機30中。這些操作在下面將得到更為詳細的描述。
      在此方面,圖29A至29D顯示了紙排放托盤41在使用期間的操作。參見圖2和24,對紙排放托盤41的設(shè)定和存放進行描述。圖1顯示了不使用時的打印機30。在此配置中,紙排放托盤41被存儲在托盤接收部分42中。較好地是在打印機30不使用時把紙排放托盤存放起來,因為存放減小了紙排放托盤41受到損壞的可能性。
      為了設(shè)定紙排放托盤41,用戶只需要把紙排放托盤41從打印機30拉出,從而使紙排放托盤41從外殼31中的托盤接收部分42滑出。這通常是通過拉動手動止動器269而進行的,雖然拉在紙排放托盤41的其他部分上也能夠?qū)崿F(xiàn)相同的結(jié)果。在這種拉動中,活板241a和241b保持在相對地平貼在基座240上的狀態(tài),直到活板241a和241b脫離托盤接收部分42。
      一旦活板241a和241b脫離托盤接收部分42,活板241a和241b分別沿著向上離開凹槽264a和264b的方向受到施力,從而到達與介質(zhì)排放端口40的位置相應(yīng)的高度。即,當活板241a和241b脫離托盤接收部分42時,不再有任何作用把活板241a和241b保持在基座240上。結(jié)果,彈簧242a和242b使得活板241a和241b向上得到施力,從而使活板在向上看時呈現(xiàn)大體V形。如上所述,此時,各個活板241a和241b相對于基座240處于一個較好地是小于90°的角度。一旦活板241a和241b處于這種位置。打印機30可開始把紙排放到紙排放托盤41上。
      圖29A至29D顯示了為接收從打印機30排放的紙而設(shè)定的紙排放托盤41的正視圖。如圖29A所示,在上面被稱為初始角度的角度249a和249b相對于基座240小于90°。由于角度249a和249b小于90°,從活板241a和241b排放的紙的重量將使得活板向下移動,從而分別減小角度249a和249b。這在圖29B中得到了顯示。
      更具體地說,圖29B顯示了一種情況,其中紙排放托盤41已經(jīng)接收了幾張紙270一它們是從打印機30排放的。如所示,紙270的重量使活板241a和241b向下向著基座240運動。其結(jié)果,活板與基座之間的角度249a和249b從初始角度減小。圖29C顯示了一種情況,其中更多的紙被加到紙排放托盤41上,從而迫使活板241a和241b進一步向下,因而進一步減小了角度249a和249b。這種作用減小了打印機30操作期間從介質(zhì)排放端口40排放的紙阻塞介質(zhì)排放端口40的可能性。
      圖29D顯示了一種情況,其中活板241a和241b接收了更多的紙。在此情況下,活板241a和241b上的紙270的重量足以迫使活板241a和241b相對于基座240成約0°角。其結(jié)果,各個活板241a和241b將被強迫至凹槽264a和264b中相應(yīng)的一個上。因此,與其傳統(tǒng)的相應(yīng)打印機相比,打印機30能夠在基本上不阻塞介質(zhì)排放端口40的情況下打印更多的紙。
      如上所述,活板241a和241b響應(yīng)于施加的力而向下移動的程度取決于相對于基座240對活板241a和241b施力的彈簧242a和242b的張力。如上所述,在本發(fā)明的最佳實施例中,彈簧242a和242b具有一個張力,從而使活板241a和241b在沒有紙被排放到其上時被偏置到介質(zhì)排放端口40的高度。在本發(fā)明的一個特別好的最佳實施例中,所有的紙的排放位置都保持大體相同。
      另外,在本發(fā)明的最佳實施例中,活板241a和241b都具有大體相同的形狀,且如上所述地具有與基座240的相同連接。與活板241a和241b相結(jié)合的彈簧242a和242b還較好地具有大體相同的張力。借助這種對稱性,本發(fā)明能夠保持更多的紙并減少機械故障。在此方面,應(yīng)該注意的是,紙排放托盤41還可在活板241a和241b具有不同的形狀且彈簧242a和242b產(chǎn)生不同的施力的情況下進行操作。
      以下結(jié)合圖2和24描述紙排放托盤41在打印機30內(nèi)的存放。在此方面,如圖24所示,打印機30上的托盤接收部分42包括外部邊緣272。另外,活板241a和241b每一個都包括對著打印機30的一個側(cè)邊緣(即圖25和27顯示的側(cè)邊緣252和252b)-它沿著離開打印機30的方向形成一個角度且它是斜角形的,如以上結(jié)合圖25A、25B和25C所描述的,從而使該側(cè)邊緣大體上是平的并相對于頂邊緣和基座形成角度。如下所述,這些側(cè)邊緣即側(cè)邊緣252和252b具有這樣的構(gòu)造,從而便利了將紙排放托盤41存放在托盤接收部分42中。
      更具體地說,為了把紙排放托盤41存放在托盤接收部分42中,用戶只需要沿著橫向方向推動基座240(或托盤延伸部分269)。這種橫向推動迫使活板與外殼31共同作用,從而在回到外殼31的滑動時把活板折疊回到凹槽中。具體地,該橫向推動迫使托盤接收部分42之下的部分253和側(cè)邊緣252和252b貼在托盤接收部分42的外部邊緣272上。外部邊緣272以一個相等但相反的力作用在側(cè)邊緣上以進行“響應(yīng)”。由于側(cè)邊緣252和252b是斜角形和帶角度的(見例如圖25A),所以這種相等但相反的力包括了一種向下的分量-它迫使活板241a和241b向下移向基座240。當額外的橫向推力作用在排放托盤41上時,側(cè)邊緣252和252b貼著外部邊緣272滑動,迫使活板進一步向下移動。
      象上述情況一樣,當活板241a和241b向下運動時,活板241a和241b與基座240之間的角度減小。由于側(cè)邊緣的角度,當額外的力被加到側(cè)邊緣上時,活板241a和241b繼續(xù)沿著外部邊緣272滑動,從而迫使活板241a和241b進一步向下移動。最終,如果施加了足夠的橫向推力,活板241a和241b被強迫向下至這樣的程度,即它們在凹槽264a和264b內(nèi)折疊起來。因此,紙排放托盤41可方便地滑入托盤接收部分42。圖1顯示了存儲在打印機30的托盤接收部分42內(nèi)的紙排放托盤41。
      因此,與其傳統(tǒng)的相應(yīng)打印機不同,本發(fā)明提供了用于存儲紙排放托盤41的裝置-它不需要用戶進行太多的物理操縱。另外,由于活板241a和241b和外殼31的形狀首先是為了方便紙排放托盤41的存放的,所以紙排放托盤41上的額外的機械部件的數(shù)目減小了。
      此時,應(yīng)該注意的是,用于保持記錄材料的保持部件(例如活板)的形狀也可以是變化的。在此方面,本發(fā)明還可利用兩個以上的保持部件的單個的保持部件來實施。例如,本發(fā)明可利用單個的V形保持部件實施,其中一或多個施力彈簧位于保持部件的相對的臂之間。圖29E中顯示了可用于打印機2460的本發(fā)明的紙排放托盤的第二實施例。
      4.2第二實施例如圖29E所示,紙排放托盤2400包括一個單個的活板,即活板2410?;畎?410絞接在單個的凹槽2440之內(nèi)并由一個彈簧(未顯示)相對于凹槽2440進行施力?;畎?410以與上述第一實施例中類似的方式進行操作。因此,為了簡化在此省略了詳細描述。只要說當托盤2400被推向打印機2460時活板2410的頂表面2450與打印機2460共同作用從而使活板2410被折疊在凹槽2440之內(nèi),就足夠了。這使得活板2410能夠被存放在打印機2460中。類似地,當托盤2400被從打印機2460中拉出時,在活板2410之下的一個彈簧(未顯示)把活板2410偏置到一個大體上與打印機2460的介質(zhì)排放端口2465的高度相同的高度。
      在打印期間,活板2410以與上述第一實施例中的活板類似的方式進行操作。具體地,當紙被排放到活板2410上時,活板2410向下移向凹槽2440并最終在足夠的紙被排放時被移入凹槽2440。如在上述情況下那樣,活板2410的向下運動經(jīng)過一個彈簧(未顯示)-它相對于凹槽2440而對活板2410施力-而得到控制。
      最后,應(yīng)該注意的是,雖然本發(fā)明的紙排放托盤是對于單個的活板和一對活板進行描述的,本發(fā)明也可被用于多個活板。
      5.0墨清洗裝置簡要地說,本發(fā)明的該方面是一個盒接收部分,它被安裝在一個滑架上以便以可釋放的方式接收一個具有打印頭和至少一個可拆卸墨罐的盒。該接收部分包括一個樞軸杠桿-它允許拆下至少一個墨罐。該杠桿在至少一個墨罐的至少一部分上延伸,從而防止對至少一個墨罐的操作,直到杠桿離開至少一個墨罐作樞軸運動。當該杠桿離開至少一個墨罐作樞軸運動時,且隨后杠桿在至少一個墨罐的至少一部分上方進行樞軸運動時,一個信號得到輸出,該信號提示對打印頭的清洗。
      如結(jié)合圖4所描述的,打印機30包括盒接收部分64a和64b。對盒接收部分64a和64b中的墨盒(因而對這些盒中的墨罐)的操作是通過圖2中顯示的檢修門32而自動提供的。更具體地說,如上所述,打印機30包括一個檢測器,它檢測檢修門32的打開或關(guān)閉。響應(yīng)于這種檢測器對檢修門32已經(jīng)打開的檢測,滑架馬達66得到驅(qū)動從而使盒接收部分64a和64b大體向著滑架69的中心移動,即向著圖4顯示的位置移動。打印機30的該區(qū)域?qū)?yīng)于在檢修門32被打開時可進行操作的打印機30的內(nèi)部部分。因此,可以只通過打開檢修門32而對盒接收部分64進行操作。這種設(shè)置的意義將在下面得到更為詳細的描述。
      圖6A和6B顯示了盒接收部分64b的物理結(jié)構(gòu)。圖7A和7B顯示了墨盒300b的物理結(jié)構(gòu),而墨盒300b可被安裝到盒接收部分64b中。如上所述,圖6A和6B顯示的盒接收部分的電路觸頭和圖7A和7B顯示的墨盒被用于與墨清洗裝置的連接。更具體地說,根據(jù)本發(fā)明,盒接收部分上的一個電路觸頭響應(yīng)于盒接收部分的杠桿的打開和關(guān)閉而與在墨盒上的一個電路觸頭相接觸或脫離。
      圖6A和6B顯示的盒接收部分在操作中的正視圖在圖30A和30B中得到顯示。如圖30A和30B所示,盒接收部分64b包括艙73和杠桿72,和其他部分。杠桿72得到絞接從而使它能夠相對艙73作樞軸運動。這種樞軸運動允許用戶操作或拆下盒接收部分64b中的整個墨盒或只從盒上拆下墨罐。
      杠桿72還與艙73相連,從而當杠桿72進行樞軸運動(例如打開或關(guān)閉)時,艙73橫向移動,如結(jié)合圖6B所詳細描述的。更具體地說,當杠桿72從圖30B顯示的打開位置樞軸運動到圖30A顯示的閉合位置時,艙73沿著箭頭280(見圖30A)的方向在盒接收部分64b中橫向移動。這種運動造成艙73的側(cè)壁75與盒接收部分64b的側(cè)壁78相接觸。另一方面,當杠桿72從圖30A顯示的閉合位置移到圖30B顯示的打開位置時,艙73在盒接收部分64b中沿著箭頭281(見圖30B)的方向橫向移動。這種運動造成艙73的側(cè)壁75離開盒接收部分64b的側(cè)壁的運動。
      在上述運動即艙73在圖30A顯示的位置與圖30B顯示的位置之間的移動期間,艙73上的指282以可滑動的方式與套284相嚙合。如圖30A和30B所示,艙73包括臺肩286,且杠桿72包括凸緣287。因此,當杠桿72被關(guān)閉時,如圖30A所示,凸緣287與臺肩286接觸,而不與安裝的墨盒或墨罐接觸。借助這些特征,與杠桿72的無意接觸造成的盒運動可得到減小。
      圖31A和31B顯示了其中安裝有墨盒300b的盒接收部分64b。如圖31A所示,當杠桿72在墨罐83的一部分上樞軸運動時,即杠桿72處于關(guān)閉位置時,操作員不能對墨罐83進行操作。即,在此位置,墨罐83的頂部至少部分地被杠桿72掩蓋,從而限制了對其的操作。另外,在此位置,在墨盒300b上的盒電路觸頭81與盒接收部分64b上的裝置電路觸頭71相接觸。相反地,當杠桿72進行離開墨罐83的樞軸運動即杠桿72處于打開位置時,操作員能夠?qū)δ?3進行操作。在此位置,墨盒300b上的盒電路觸頭81與盒接收部分64b上的裝置電路觸頭71相脫離。
      因此,在以上結(jié)合圖30A和30B描述的艙64b的橫向運動期間,電路觸頭71和81相嚙合和脫離。具體地,電路觸頭71和81在杠桿72打開時脫離,且當杠桿72關(guān)閉時嚙合。電路觸頭的這種嚙合和脫離是用戶指定打印頭300b的清洗的手段,并使得一個信號得到輸出從而提示打印頭300b的清洗。打印機30中的一個控制器(諸如上述CPU 121)接收這種信號并啟動以下所述的清洗處理。
      在此方面,應(yīng)該注意的是打印機30中的一或兩個墨盒能夠以前述方式得到指定而進行清洗。進一步應(yīng)該注意的是,墨液清洗只是對以這種方式被指定的盒進行的。
      一旦墨盒得到了指定,墨清洗在檢修門32被關(guān)閉前不會實際進行。即,在墨盒指定期間,檢修門32必須被打開。在上述檢修門檢測器檢測到檢修門32被關(guān)閉前,將不會發(fā)生墨液清洗。在此方面,一旦檢測到檢修門32被關(guān)閉,盒接收部分64a和64b自動移到起始位置87,即與墨清洗裝置86相應(yīng)的位置。墨清洗裝置86隨后被用于從指定的盒的打印頭清洗(即抽吸)墨液。
      為此,墨清洗裝置86包括兩個打印頭連接蓋88aa和88b(見圖4)。各個這些打印頭連接蓋分別對應(yīng)于在盒接收部分64a和64b之一中的一個墨盒的打印頭。然而,只有一個打印頭連接蓋即蓋88a與從打印頭清洗(即抽吸)墨液的轉(zhuǎn)動泵相連。這種配置的一個例子被顯示在圖32中,其中打印頭連接蓋88a與泵294相連。
      因此,當檢修門32關(guān)閉時,被指定進行清洗的墨盒的打印頭與打印頭連接蓋88a相連。例如,如圖33A的框圖所示,如果墨盒300b已經(jīng)被指定進行清洗,墨盒300b被移動而與蓋88a接觸。另一方面,如果墨盒300a已被指定進行清洗,墨盒300a在檢修門32關(guān)閉時移到與蓋88a接觸的位置,如圖33B描述的框圖所示。在兩個墨盒都以上述方式被指定進行清洗的情況下,墨盒依次與蓋88a相連。
      一旦經(jīng)過上述的起始位置檢測器檢測到連接,墨液被泵294從噴嘴或盒的打印頭上的孔提取(即抽吸)。在此清洗操作之后,盒可隨后被用于打印。
      6.0存儲打印機狀況參數(shù)簡要地說,本發(fā)明的該方面是用于控制具有至少一個打印頭的圖象打印裝置的打印頭的一種方法。該方法包括獲得至少一個打印頭的特征信息、將該狀況參數(shù)存儲在一個非易失RAM中、在得到請求時把該特征信息輸出到與圖象打印裝置相連的主處理器,其中該主處理器利用了打印頭特征信息來產(chǎn)生對從主處理器送到打印頭以進行打印的特征信息進行補償?shù)难a償參數(shù)。
      詳細地說,當加上電力并進行硬加電時,打印機30進入離線模式。在此模式下,打印機30中的CPU 121從ROM 122獲取初始化軟件并執(zhí)行一種加電自測程序(POST)。在它執(zhí)行的很多自測和狀態(tài)檢查程序中,CPU121檢查打印頭130a和130b的狀態(tài)以確定一或兩個打印頭是否已經(jīng)被裝在打印機30中。CPU 121檢查這種狀態(tài)的一種方式,是通過確定檢修門32是否已經(jīng)被打開,且如果是則把存儲在EEPROM 132中的打印頭識別(ID)信息與當前打印頭的ID進行比較。如果新的打印頭已經(jīng)得到安裝,這種改變將與其他存儲的打印機狀況參數(shù)一起在EEPROM 132中得到注意,如下面所述。
      然而,在初始安裝和加電時,CPU 121收集有關(guān)打印機30的各種狀況參數(shù),作為其安裝程序的部分。例如,CPU 121將獲得打印機ID、打印頭ID信息(或者如果安裝了一個以上的打印頭,則獲得所有打印頭的打印機ID),以及打印機30和打印頭130a和130b的當前狀態(tài)(這種特征在任何隨后的加電以及指定的預定次數(shù)和事件之后也得到執(zhí)行,這將在下面得到更為詳細的描述)。
      一旦POST處理已經(jīng)得到執(zhí)行,打印機30進入在線模式且等候來自主處理器23的命令。如圖10所示,主處理器23把命令通過打印機接口104直接送到打印機30的控制邏輯124。來自主處理器23的對打印機30的EEPROM 132的讀/寫命令也通過打印機接口104和控制邏輯124。
      通常,在進入在線之后,主處理器23將經(jīng)過控制邏輯124把一個狀態(tài)請求命令[STATUS]送到打印機30。在接收到這種狀態(tài)請求命令時,打印機30的CPU 121將把存儲的打印機狀況參數(shù)從EEPROM 132、I/O端口單元127、以及控制邏輯124送到主處理器23。存儲在EEPROM 132中的指定區(qū)域并借助主處理器23寄存的打印機狀況參數(shù)的一個例子,被顯示在以下的表1中。
      表1
      前述的這些打印機狀況參數(shù)被主處理器23在打印操作期間用來補償打印頭命令數(shù)據(jù)。
      因此,結(jié)合圖34顯示的流程圖,在步驟S3401,在進行硬加電時,打印機30進入一種離線模式。在此離線模式下,在步驟S3402打印機30進行一種POST操作以收集狀態(tài)和功能性數(shù)據(jù),并檢查硬件或軟件故障。在初始化之后,在步驟S3403,打印機30的CPU 121判定是否已經(jīng)安裝了新的打印頭。當在安裝打印機30之后的初始加電期間遇到步驟S3403且一或多個分別具有一或多個打印頭的墨盒已經(jīng)被安裝的情況下,CPU 121從新插入的打印頭獲得信息并將該信息存儲在EEPROM 132中并在下一個軟加電時命令一個清洗處理。然而,如果打印機30只是由于用戶已經(jīng)打開了檢修門32并安裝了新的打印頭而處于離線,在步驟S3404CPU 121將收集打印頭ID并在EEPROM 132中設(shè)定一個標記,這表明打印頭已經(jīng)得到改變。該標記告訴主處理器23一個墨盒已經(jīng)被改變了。這種處理將在第一次安裝打印頭和打印頭隨后被改變時得到執(zhí)行。
      在此方面,EEPROM 132存儲了用主處理器23寄存的用于各種目的的多個打印機狀況參數(shù),諸如用于向主處理器23提供補償?shù)膮?shù)-這些參數(shù)又被用于補償打印頭和打印頭盒內(nèi)的墨液的物理特性。例如,如以下的表2所示,EEPROM 132除了打印頭對準和光學密度信息之外還存儲與廢墨量、打印頭改變計數(shù)、打印頭清洗次數(shù)、打印頭ID、打印頭類型等等有關(guān)的信息和參數(shù)。表2
      回到圖34,如果未安裝新的墨盒,在步驟S3405打印機30進入一種在線模式,其中打印機30能夠與主處理器23通信,且如果是網(wǎng)絡(luò)連接的,能夠與主服務(wù)器進行通信。一旦在線,打印機30等候接收來自主處理器23的命令。這些命令-有些已經(jīng)在前面列出-是能夠在打印機30在線時送到打印機30的通常的命令。在此方面,通常在進入在線之后,主處理器23將向打印機30輸出一個狀態(tài)請求[STATUS]命令,以獲得打印機離線時可能被改變的新的信息或參數(shù)。作為響應(yīng),在步驟S3406打印機30將把存儲在EEPROM 132中的打印機狀況參數(shù)傳送到主處理器23。在收到這些參數(shù)時,主處理器23將回顧這些參數(shù),特別是與打印頭有關(guān)的參數(shù),以確定打印頭是否已經(jīng)被改變。如果確定打印頭已經(jīng)被改變,在步驟S3407主處理器23將判定是否應(yīng)該請求一個測試圖案。通常,將打印一個測試圖案以能夠測量打印頭對準和打印的圖象的光學密度。如果打印頭已經(jīng)得到改變且要求一個測試圖案,在步驟S3408主處理器23通過打印機接口104和控制邏輯124把一或多個命令送到打印引擎131。例如,主處理器23能夠傳送一系列命令,如圖3所示。這些命令能夠與打印數(shù)據(jù)一起發(fā)送到打印引擎131從而打印所要掃描的測試圖案。
      表3測試圖案和掃描命令流程的例子BC-21×2、彩色模式、360dpi和8.5″打印緩存器139情況下的樣本命令流程如下[UCT] 世界定標時間(設(shè)定當前時間)[RESET] 打印機復位(軟件復位)[COMPRESS]選擇數(shù)據(jù)壓縮(字節(jié)壓縮模式)[DEFINE_BUF] 定義打印緩存器A(360dpi,12字節(jié)×3060列,……)[DEFINE_BUF] 定義打印緩存器B(360dpi,12字節(jié)×3060列,……)[DEFINE_PULSE]定義加熱脈沖表(16分區(qū))[DEFINE_CONTROL] 定義緩存控制表(BC-21彩色模式)[LOAD]紙裝載(函件大小的普通紙,8.5英寸×11英寸)[SKIP]第一掃描的至打印位置的柵跳過[DIRECTION] 為第一掃描設(shè)定打印方向[EDGE]為第一掃描設(shè)定頭A的左和右邊緣[EDGE]為第一掃描設(shè)定頭B的左和右邊緣循環(huán)1開始 重復直到[EJECT]命令[SPEED] 選擇第一掃描的打印速度(6.51kHz)[DROP]選擇第一掃描中頭A的墨滴大小[DROP]選擇第一掃描中頭B的墨滴大小[SELECT_PULSE] 選擇下一個掃描的加熱脈沖表[SELECT_CONTROL]選擇第一掃描中頭A的緩存器控制表[SELECT_CONTROL]選擇第一掃描中頭B的緩存器控制表循環(huán)2開始 對9塊(4.5英寸/0.5英寸)乘2頭(頭A和頭B)重復18次[BLOCK] 選擇打印塊循環(huán)3開始 為4顏色(黃、品紅、青、黑)重復4次[COLOR] 選擇打印顏色[DATA] 圖象數(shù)據(jù)發(fā)送(540字節(jié)/塊)循環(huán)3結(jié)束循環(huán)2結(jié)束[DIRECTION] 設(shè)定第二掃描的打印方向[EDGE] 設(shè)定第二掃描的頭A的左和右邊緣[EDGE] 設(shè)定第二掃描的頭B的左和右邊緣[PRINT] 執(zhí)行第一掃描的打印[SKIP] 至第二掃描的打印位置的柵跳過(24柵)[SCAN] 掃描測試圖案并在RAM中存儲數(shù)據(jù)[SENSOR_RESULTS]發(fā)送掃描結(jié)果[NVRAM] 把補償參數(shù)寫入EEPROM[EJECT] 紙排放(只進行排放)一旦打印了測試圖案,在步驟S3409主處理器23輸出一個掃描[SCAN]命令至打印機30,后者借助打印頭130a和130b上的檢測器82對打印的測試圖案進行掃描。具體地,在接收到[SCAN]命令時,各個打印頭130a和130b將返回到起始位置87-此時各個檢測器82的蓋被打開且測試圖案被打印在其上的紙被送進,從而使打印的測試圖案與檢測器82對準。
      各個檢測器82掃描打印的測試圖案的一個部分-該部分已經(jīng)被其相應(yīng)的打印頭所打印,并將所產(chǎn)生的測試圖案數(shù)據(jù)(即對準測量數(shù)據(jù))存儲在RAM 129中。這種測試圖案數(shù)據(jù)是從對檢測器82的輸出電壓電平進行的模擬-數(shù)字轉(zhuǎn)換獲得的8位數(shù)字化的數(shù)據(jù)。
      存儲在RAM 129中的測試圖案數(shù)據(jù)保持在那里,直到主處理器23把一個狀態(tài)請求[SENSOR_RESULTS]命令送到打印機30。在接收到該[SENSOR_RESULTS]命令時,在步驟S3410打印機30把存儲在RAM129中的測試圖案數(shù)據(jù)發(fā)送到主處理器23。當接收到該數(shù)據(jù)時,主處理器23從盤25獲取補償公式并把接收的數(shù)據(jù)用于這些公式以導出補償參數(shù)。一旦計算出了補償參數(shù),主處理器23把一個[NVRAM]控制命令送到打印機30,使得打印機30在步驟S3411把補償參數(shù)寫入到EEPROM 132中。
      如前所述,EEPROM 132為打印頭130a和130b分別存儲參數(shù)和測量結(jié)果,且補償參數(shù)是根據(jù)各個打印頭的對準和光學密度而分別計算和下載的。在以下的表4中顯示了由主處理器23下載補償參數(shù)的類型的一個例子。
      表4
      以上顯示的信息和參數(shù)與打印頭130a和130b的對準以及各個打印頭130a和130b打印的圖象的光學密度有關(guān)。主處理器23在打印操作中當把打印頭命令信號送到打印頭130a和130b時利用這種信息。
      回到圖34的流程圖,在步驟S3411,打印機30等候來自主處理器23的進一步的命令。
      在步驟S3413,主處理器23把一個狀態(tài)請求[DATA_SEND]命令送到打印機30且打印機狀況參數(shù)重新被主處理器23寄存。該[STATUS]命令可在指定的時間間隔或在諸如更換打印頭的指定打印機事件之后被送到打印機30。隨后,在步驟S3414主處理器23利用該打印機狀況參數(shù),以在把打印信息送到各個打印頭130a和130b時補償各個打印頭130a和130b以及與各個打印頭130a和130b相連的墨盒中的墨液的物理特性和變化。
      因此,打印機30記憶了分別來自主處理器23的特征。這使得另一個主處理器能夠從打印機30讀取寄存的特征以補償與打印機30有關(guān)的物理特性。
      7.0打印頭的計劃清洗簡要地說,在此實施例中公布的本發(fā)明的一個方面是一種噴墨打印機,它包括用于與主處理器相連并用于接收打印數(shù)據(jù)、打印命令和來自主處理器的實時/日期信息的一個接口、用于存儲該打印數(shù)據(jù)、打印命令和實時/日期的存儲器、用于根據(jù)該打印數(shù)據(jù)和打印命令打印圖象的打印引擎-該打印引擎控制至少一個打印頭以打印該圖象、以及用于根據(jù)經(jīng)過接口從主處理器接收的實時/日期信息以及根據(jù)與打印機有關(guān)的事件控制打印引擎的處理事件的處理器。
      更具體地說,由于吸入氣泡或干燥的墨而導致打印頭噴嘴堵塞,打印機30的打印頭130a和130b必須得到清洗。該清洗處理包括把打印頭移到其起始位置-在那里轉(zhuǎn)動泵294從打印頭抽吸墨液。所產(chǎn)生的廢墨被置于一個廢墨存儲區(qū)(諸如一個廢墨井),在那里廢墨最終逐漸蒸發(fā)。重要的是在預定的時間之后清洗打印頭130a和130b,該時間在本發(fā)明中被確定為最近的清洗過后73個小時。如果不這樣做,打印頭可能堵塞,從而對打印質(zhì)量產(chǎn)生不利影響。另外,為了保證噴墨打印機30的適當操作,各個打印頭130a和130b在墨盒安裝和每次更換墨盒時都得到清洗。
      如上所述,除了按照事件計劃的清洗之外,打印機30根據(jù)已過時間進行打印頭清洗。已過時間是通過確定從最近的清洗過去了多少時間而確定的。清洗操作的手動初始化的一個例子在部分5.0中得到了描述。已過時間是根據(jù)在每一個打印任務(wù)開始時從主處理器23下載的一個實時/日期印記而確定的。以此方式,打印機30將能夠跟蹤從最近的清洗處理過去多少時間。
      以下結(jié)合圖35的流程圖來更多詳細地描述前述的處理。在安裝和第一次把電力加到打印機30上時,在步驟S3501,硬加電開始對打印機30的清洗安排處理。在步驟S3502和步驟S3503,打印機30的CPU 121,通過執(zhí)行存儲在ROM 122中的處理步驟,進行其加電自測初始化程序。CPU121用這些程序檢查并定義各種硬件參數(shù)。在步驟S3504,CPU 121讀取存儲在EEPROM 132中的各種參數(shù)。這些參數(shù)已經(jīng)在上述的部分6.0中得到討論。為了本發(fā)明的這個方面,CPU 121只對為各個打印頭130a和130b列出的最近的清洗時間有興趣。正是這種信息是安排下一個清洗時間所需的。然而,如果EEPROM 132還沒有被初始化,最近的清洗時間將被設(shè)定為零。
      如上所述,EEPROM 132保持打印機30使用的所有打印頭的特征信息。EEPROM 132把打印頭130a和130b的最近清洗時間保持在單獨的存儲單元中。各個清洗時間還與一個檢查和值一起存儲。即清洗時間借助檢查和處理或CRC檢查處理而得到了數(shù)據(jù)誤差校正。清洗時間和檢查和被鏡象存儲在單獨的存儲單元或EEPROM 132中,以防止在意外的斷電時或在向EEPROM 132的寫入操作中間發(fā)生硬復位時可能發(fā)生的清洗時間的丟失。其結(jié)果,即使發(fā)生了意外也可保證至少一組清洗時間。
      在步驟S3505,CPU 121復位變量Delta T_A-它代表了從打印頭A(例如圖10的打印頭130a)最近被清洗之后過去的時間。該變量,在使能時,以一秒的間隔增加并在每次硬去電時被清除。類似地,CPU 121還復位打印頭B(例如圖10的打印頭B)的Delta T B。CPU 121此時復位其他的指示標記,諸如指示是否設(shè)定了一個實時的FlagRealTimeActive、指示是否復位了實時的FlagRealTimeReset、只在未設(shè)定實時時指示Delta T A值指示打印頭A的最近的清洗時間的FlagRecordYet A、以及表示來自打印頭B的類似信息的FlagReeordYet B。在本發(fā)明的清洗安排處理期間被設(shè)定和復位的這些變量和標記都被列在了表5中。表5
      >
      在步驟S3506,CPU 121判定各個打印頭的最近清洗時間是否等于零。在此方面,在打印機是新安裝的情況下,這些變量將被讀為零。因此,在步驟S3507,從清洗打印頭A過去的時間將被置為一個預定時間,如上所述,該時間為73小時。其結(jié)果,在進行軟加電時,打印機30將執(zhí)行對打印頭A的清洗操作。步驟S3508和步驟S3509對打印頭B進行類似的操作。
      在步驟S3510,CPU 121啟動清洗安排處理。在步驟S3511,CPU 121等候軟加電和來自主處理器23的命令。在初始安裝的情況下,在此步驟將對各個打印頭進行清洗處理。
      7.1清洗安排處理如上所述,在初始化之后,CPU 121在圖35的步驟S3510啟動清洗安排?,F(xiàn)在結(jié)合圖36的流程圖對保持已過時間安排的方式進行更為詳細的描述。在清洗處理已經(jīng)作為中斷處理而得到啟動的情況下,所顯示的處理是在每一秒鐘進行的。
      具體地,在步驟S3601,清洗安排處理得到啟動且對于打印頭A和B已過時間以每一秒增加。在步驟S3602,判定是否已經(jīng)設(shè)定了FlagRealTimeActive。該標記將表明已經(jīng)從主處理器23下載了實時。在該標記還未被設(shè)定的情況下,流程進行到步驟S3603,在那里判定從打印頭A最近的清洗過去的時間是否達到了預定的最大時間73小時或者其變化范圍的最大值。如果達到了,然后流程進到以下所討論的自動清洗過程。另外,如果DeltaT_A的值達到最大值,則它能夠被忽略或復位。這防止了在存儲器中數(shù)值溢出。
      如果從上次清洗起的時間還沒有達到最大時間,則在步驟S3604DeltaT_A增加一秒。由于在收到實時之前打印機30可能閑置超過73小時,故執(zhí)行這一過程。如果是這種情形,將根據(jù)來自打印機30內(nèi)部時鐘所經(jīng)過的時間執(zhí)行清洗,以后是在軟加電或自動清洗過程中執(zhí)行清洗。在步驟S3605和S3606對打印頭B執(zhí)行類似的過程。
      在已經(jīng)設(shè)置FlagRealTimeActive的情形下,這意味著主處理器23已經(jīng)下載時間/日期印記,在步驟S3607,判斷RealTime是否達到73小時這一最大值或在其可變范圍的最大值。如果已經(jīng)達到,則流程進到以下討論的自動清洗順序。另外,如果RealTime的值達到最大值,則它可能被忽略或復位。這防止了存儲器中數(shù)值溢出。另一方面,如果實時沒有達到最大值,則實時在步驟S3608增加一秒。
      在軟加電時,返回圖35的步驟S3511,流程進到圖37中的步驟S3701,該步驟等待軟加電。然后,在步驟S3702,CPU 121判斷用戶是否已經(jīng)請求軟加電。如果回答為是,則CPU 121在步驟S3703和S3704執(zhí)行軟件程序和打印機單元機械的初始化。在完成了初始化時,CPU 121在步驟S3705指示每一打印頭在需要時執(zhí)行自動清洗操作(將在以下更詳細討論自動清洗操作)。
      在執(zhí)行了自動清洗操作之后,打印機30在步驟S3706聯(lián)機,并等待或者來自主處理器23的打印命令,或者在步驟S3707由用戶輸入的軟去電。如果這些事件都沒有發(fā)生,則打印機30保持等待狀態(tài)等待來自主處理器23的命令。另一方面,如果已經(jīng)收到軟去電請求,則打印機30在步驟S3708基于打印機30的當前狀態(tài),通過進行狀態(tài)檢驗和更新EEPROM 132中的參數(shù)而執(zhí)行其軟去電過程。
      本發(fā)明中,打印機30等待來自主處理器23的命令,諸如打印測試模式的命令、掃描測試模式的命令等。打印機30尋找的一個命令是向打印機30提供時間/日期印記的世界定標時間(UCT)。UCT命令用來在打印機30中設(shè)置當前時間,并必須在打印工作啟動的開始發(fā)送給打印機30。打印機30使用該時間確定打印機30是否應(yīng)當恢復打印頭。根據(jù)主處理器23的系統(tǒng)時鐘,時間值表示為從世界定標時間(UCT)1970年1月1日午夜(00:00:00)計算所經(jīng)過的秒數(shù)。就此,UCT命令在打印命令的開始被下載,使得UCT命令領(lǐng)先于每一打印命令。然而應(yīng)當注意,只有在硬去電之后,才有必要存儲下載的時間/日期印記,因為由打印機30自己內(nèi)部時鐘增量的時間在硬去電時從存儲器清除。
      這樣,參照圖38的流程圖,在步驟S3801主處理器23發(fā)送UCT命令。在步驟S3802確定時間和日期是否有效。在此,下載的時間/日期印記可能是無效的,例如如果打印機30已經(jīng)連接到其內(nèi)部時鐘領(lǐng)先于主處理器23的實時時鐘的主處理器。在某些情形下,時間和日期可能比存儲在打印機30中的實際的最后時間和日期晚。如果時間/日期由于數(shù)據(jù)格式錯誤或數(shù)值超出范圍等而無效,則流將進到以下將詳細說明的自動清洗過程。另外,如果時間無效,則可能執(zhí)行錯誤處理程序,或可能忽略無效的時間。
      如果在步驟S3802確定當前時間和日期是有效的,則流程進到步驟S3803。在步驟S3803,確定實時是否實際上已經(jīng)存儲在打印機30。例如,可能沒有設(shè)置FlagRealTimeActive。當在打印機30中還沒有設(shè)置實時時,如通常在打印機30正在第一次使用且沒有打印工作被打印時,就是這種情形。如果還沒有設(shè)置FlagRealTimeActive,那么在步驟S3804把在打印工作開始時提供的當前時間和日期設(shè)置為實時。
      然后流程進到步驟S3805。在步驟S3805,在實時還沒有設(shè)置的情形下,CUP 121確定對于打印頭A(諸如圖10所見的打印頭130a)所經(jīng)過的時間是否對應(yīng)于打印頭A上次清洗的時間。如果確定了所經(jīng)過時間已經(jīng)被記錄,則在步驟S3806,打印機30通過從存儲的經(jīng)過時間減去實時而確定上次清洗時間。在步驟S3807,上次清洗時間寫入EEPROM 132,并在步驟S3808,為打印頭A重新設(shè)置FlagRecordYet A。在步驟S3809到S3812對打印頭B(諸如從圖10所見的打印頭130b)執(zhí)行類似的處理。這樣,上次清洗的時間和檢驗和被更新且對每一打印頭A和B分別在各自的存儲器單元寫入EEROM 132。
      返回步驟S3805,如果還沒有設(shè)置FlagRecordYet A和FlagRecordYet B,則流程進到步驟S3813,在此設(shè)置FlagRealTimeActive以便指示已經(jīng)設(shè)置實時。
      返回步驟S3803,如果已經(jīng)從先前的打印操作存儲了實時且確定為有效時間,則流程進到步驟S3814,在此先前下載的新的時間數(shù)據(jù)與實時數(shù)據(jù)進行比較。如果在步驟S3815新的時間數(shù)據(jù)和實時數(shù)據(jù)之間的差是可接受的,則在步驟S3818忽略這一差且流向前進行。
      另一方面,如果步驟S3815確定,由于主機實時時鐘中的改變或打印機內(nèi)部時鐘中的錯誤使得差不可接受,則在步驟S3816以新的時間數(shù)據(jù)重新設(shè)置實時。在步驟S3817,設(shè)置FlagRealTimeReset以便指示實時已經(jīng)復位。結(jié)果是,將使用新的時間數(shù)據(jù)來計算對于打印頭A和B應(yīng)當何時排定自動清洗。即使用戶偶然把主機實時時鐘復位到未來某遙遠時間執(zhí)行打印工作及[UCT]命令然后復位到實際的當前時間,也不進行清洗處理。
      7.2自動清洗過程圖39描述了自動清洗過程。如果清洗是由于最初使用打印機30或是排定時間清洗,則在步驟S3901確定打印機30中是否存在打印頭A。如果在步驟S3901打印頭A不存在,則CPU 121檢驗看是否已經(jīng)設(shè)置FlagRealTimeActive。如果為是,則流程進到步驟S3902以檢驗看FlagRealTimeReset是否已經(jīng)設(shè)置。如果沒有,則CPU 121通過從實時中減去存儲在EEPROM 132中的對于打印頭A的上次清洗時間而計算清洗時間。如果差大于73小時的預置的清洗時間,則在步驟S3905清洗打印頭A。然而,如果差小于預置的清洗時間,則流程進到步驟S3903且設(shè)置FlagRealTimeReset,使得新的時間數(shù)據(jù)復位為實時。這種情形下,打印頭A被強制清洗,因為在步驟S3817復位了實時。
      返回步驟S3902,如果沒有設(shè)置FlagRealTimeActive,則流程進到步驟S3906。在步驟S3906,打印頭A的經(jīng)過時間與清洗時間比較。如果從打印頭A清洗以來已經(jīng)經(jīng)過了大于或等于73小時,且沒有安裝打印頭B,則流程進到步驟S3913,在此復位時間FlagRealTimeReset。步驟S3913通常在打印機30從硬加電以來還沒有使用時執(zhí)行。
      在安裝了打印頭B的情形下,在步驟S3907到步驟S3912對打印頭B執(zhí)行類似的處理。
      7.3打印頭的清洗圖40是圖39的步驟S3905和S3911中執(zhí)行的操作更為詳細的描述。在步驟S4001,確定是否安裝了打印頭。如果在步驟S4001確定安裝了打印頭,則在步驟S4002執(zhí)行清洗操作。清洗操作由以下動作組成將打印頭移至一起始位置,使要被清洗的打印頭上的噴嘴對準打印頭連接帽88a(見圖4),從噴嘴吸取墨液,并在廢物槽存放廢棄的墨液。對從打印頭吸取的液滴的數(shù)目進行計數(shù),且如同以上所述對更新上次清洗時間相同的方式那樣,在EEROM 132中更新這一信息。
      在步驟S4003,確定是否設(shè)置了FlagRealTimeActive。在設(shè)置了該標志的情形下,在步驟S4004設(shè)置被清洗的打印頭上次清洗時間為實時。在步驟S4005,作為打印頭上次清洗時間實時被寫入EEROM 132。
      返回步驟S4003,如果沒有設(shè)置FlagRealTimeActive,由于過去73小時中UCT命令還沒有下載到打印機,故在步驟S4006設(shè)置已過時間為零,且在步驟S4007對特定的打印頭設(shè)置FlagRecordYet。這將指示,實時未在步驟S4007設(shè)置,且已過時間計數(shù)器重新啟動。
      如上所述,在打印頭或墨盒已經(jīng)替換的情形下將執(zhí)行打印頭的清洗。圖41是關(guān)于這種事件之后的打印頭清洗的詳細流程圖。
      在步驟S4101開始打印頭替換處理。在步驟S4102,CPU 121等待由用戶進行的打印頭替換的終止。在步驟S4103,替換過程終止。從而在步驟S4104,CPU 121檢驗看哪一個打印頭已經(jīng)除去;即哪一個打印頭已經(jīng)使電路接觸在其對應(yīng)的墨盒接收部分上或已經(jīng)從其取出。如果打印頭A已經(jīng)除去,則在步驟S4105清洗打印頭A。清洗是以對于圖40中的流程所述相同的方式執(zhí)行的。在步驟S4106和S4107對打印頭B執(zhí)行類似的處理。
      圖42中的流程圖描述了,當安排了自動清洗過程且紙張已經(jīng)加載到打印機30的打印位置時會發(fā)生什么。在紙張已經(jīng)加載到打印位置且已經(jīng)排定自動清洗的情形下,在步驟S4201紙張被一個命令排出,以便完成打印。一旦紙張被排出,則在步驟S4202執(zhí)行一個或多個打印頭的自動清洗。在自動清洗過程之后,在步驟S4203新的紙張加載到打印位置。在此,每當自動清洗之后不論紙張以前是否加載過,都將執(zhí)行步驟S4201和S4202。
      圖43是對于打印頭典型的清洗時間表,根據(jù)本發(fā)明該時間表按照以上所述圖35到42執(zhí)行。在說明典型的清洗時間表之前,應(yīng)當理解到,對于每一打印頭130a和130b,打印機30保有分開的清洗時間和清洗時間表。這樣作的原因在于,一個打印頭可能在另一打印頭的或該頭可能在73小時周期內(nèi)沒有使用之前就被替換。例如,當只打印文本文擋時,黑色打印頭將比彩色打印頭使用得多。因而,黑色打印頭將比彩色打印頭可能需要更頻繁地被清洗。這就是說,即使從上次清洗已經(jīng)多于73小時和發(fā)生了軟加電,直到打印之前也可能不必清洗彩色打印頭。這樣,能夠節(jié)省墨液。
      圖43是表示五個分開的時間周期(T1-T5)下載到打印機30的時間表。圖43所示的時間周期在打印機第一次安裝時的時間周期開始。
      在初始的硬加電時,打印機30執(zhí)行其初始化過程,并從EEPROM 132讀取上次清洗時間。因為是第一次加電,故所有的標記和變量被復位。如上所述,在軟加電時這一復位將啟動清洗過程。在圖43所示的例子中,因為軟加電是先于向打印機安裝打印頭執(zhí)行的,故直到打印頭安裝才執(zhí)行清洗。一旦安裝了打印頭,則對每一打印頭130a和130b執(zhí)行自動清洗。對所有的打印頭Delta T變量設(shè)置為0,且FlagRecordYet按以上討論的步驟S4006和S4007設(shè)置。
      一旦打印頭被清洗軟件已經(jīng)初始化,則打印機30聯(lián)機。在看到打印機30聯(lián)機時,主處理器23發(fā)送第一個打印工作及提供了當前的日期和時間印記的世界定標時間(UCT)命令。當?shù)谝淮问盏経CT命令時,設(shè)置FlagRealTimeActive,且新的時間設(shè)置為實時。在本例子中,由于從打印機安裝以來上次清洗小于73小時,故在T1不執(zhí)行自動清洗過程。
      在圖43中所示的時間表中,設(shè)置清洗時間的下一個時間是當打印頭在T2被替換時,并在這時不論經(jīng)過的時間如何都將發(fā)生清洗。
      如上所述,UCT命令是每一個打印命令的開始。因而,根據(jù)圖43所示的這一樣品時間表,打印命令在T3提供下一個新的時間數(shù)據(jù)。假設(shè)這是有效的時間并設(shè)置了FlagRealTimeActive,則計算新時間數(shù)據(jù)與實時數(shù)據(jù)之間的差。在圖43所示的情形下,T3和T2之間的差大于73小時,故執(zhí)行清洗。由于從先前日期印記起打印機30內(nèi)部的時鐘已經(jīng)被啟動,故經(jīng)過的實時應(yīng)當與打印工作開始時下載的新的實時相同。結(jié)果是,沒有必要存儲新下載的時間。
      在打印工作的打印之后,打印機30執(zhí)行清除了所有存儲時間的硬去電。隨后是硬加電及復位所有的標志和變量。硬加電之后是把打印機30置于聯(lián)機的軟加電。一旦聯(lián)機,主處理器就在T4發(fā)送以提供了當前時間和日期的UCT命令為開端的打印工作。如同對圖38所述那樣,由于還沒有設(shè)置FlagRealTimeActive,故存儲下載的實時為新的時間并設(shè)置FlagRealTimeActive。
      在這時,CPU 121確定打印頭139a和130b是否安裝,是否設(shè)置了FlagRealTimeActive,以及是否設(shè)置了FlagRealTimeReset。因為已經(jīng)通過主處理器23提供了新的時間,故計算實時和打印頭上次清洗時間之間的差。如圖43所示,時間T4和時間T3之間的差大于73小時。結(jié)果是在T4執(zhí)行清洗。
      在上次打印工作之后,發(fā)生了清除了存儲的時間的硬去電。下一個硬加電復位所有的變量和標記。如上所述,在硬加電后,已過時間變量以一秒的間隔增加。如圖43中的例子所示,在下一個軟加電之前經(jīng)過了73小時的周期。結(jié)果是執(zhí)行清洗。這一清洗是基于打印機30自身的內(nèi)部經(jīng)過時鐘執(zhí)行的,而不是下載的實時,因為打印機30已經(jīng)閑置超過73小時沒有收到打印工作。另外,內(nèi)部時鐘上經(jīng)過的73小時之后可能不需要打印頭的清洗,且可能對即將打印操作前重新排定打印頭的清洗。通過這樣推遲清洗到即將打印之前,能夠保存墨液。
      如上所述,EEPROM 132能夠以任何類型的非易失存儲器代替,諸如帶有電池后備的靜態(tài)RAM,或快閃存儲器等等。這種情形下,包括上述的上次清洗時間的信息能夠存儲在類似型的非易失存儲器裝置中。
      此外,ROM 122能夠以任何類型的可重寫存儲器裝置代替,諸如快閃存儲器等。這種情形下,這種存儲器裝置能夠接受通過打印機30的主處理器23和主計算機接口141下載到打印機30的程序代碼。還能夠使用存儲器裝置在存儲器專用區(qū)域中存儲所有信息,代替EEPROM 132。
      此外,雖然通信線路106是作為雙向說明的,但是對于本發(fā)明非雙向接口也可使用。更具體來說,雖然在以上的說明中采樣了IEEE-1284接口,但是如SCSI、USB(通用串行接口)、及IEEE-1394(高速串行總線接口)等任何類型的接口也可代替使用。
      最后,本發(fā)明是使用兩個打印頭說明的。然而應(yīng)當明白,這數(shù)目能夠增加或減小。類似地,EEPROM 132和RAM 129中的存儲器單元的數(shù)目能夠基于在打印機30中使用的打印頭的數(shù)目增加或減少。
      8.0設(shè)置及修改打印頭驅(qū)動參數(shù)因為打印頭130a和130b設(shè)計為對打印機30是可拆除和可替換的,并因為不同類型的墨盒(諸如具有不同噴嘴配置和不同的墨液特性的墨盒)能夠安裝到打印頭接收部分64a和64b上,故打印機30對于許多不同類型的打印頭預裝載了打印頭驅(qū)動參數(shù)。例如,用于分別驅(qū)動每一噴嘴以便噴出墨滴的脈寬序列與打印頭的溫度、墨液特性(例如,是彩色還是黑色,及是染料還是顏料)、周圍環(huán)境溫度、墨滴大小等等密切相關(guān)。因而,ROM 122包含預存儲的表,對各種打印頭/墨液/分辨率的組合規(guī)定了驅(qū)動脈沖序列。在ROM 122中預存儲的表概括了各種已經(jīng)知道的打印頭/墨液/分辨率組合,以及打印頭/墨液/分辨率預期的組合。
      類似地,用來進行諸如打印頭溫度的計算等內(nèi)部計算的參數(shù)也是與打印機的打印頭及噴嘴配置、墨液類型、及分辨率有關(guān)。于是由于同樣原因,打印機30在其ROM 122中包含了對打印頭/墨液/分辨率已知組合的加熱系數(shù)的各種表格、以及打印頭/墨液/分辨率的預期組合的加熱系數(shù)的各種表格。
      其中本發(fā)明人已經(jīng)認識到,不可能預期到打印頭、墨液、分辨率的所有可能的組合,且不可能對所有的組合預先存儲適用的表。其原因很簡單不知道在打印頭和墨液未來會出現(xiàn)什么新的發(fā)展。同時,希望以未來可能出現(xiàn)的打印頭、墨液、分辨率的任意組合使用打印機30,而無需ROM 122中對表的新的設(shè)置。特別地,新表將需要重新制造打印機,并更新程序,向現(xiàn)有顧客分發(fā)新的ROM。
      本發(fā)明通過來自主處理器23的命令提供對預存儲表中的數(shù)值的修改,并通過允許從主處理器23對打印頭控制參數(shù)的實時定義,來滿足這一愿望。借助于這些特點,通過使用來自主處理器23的命令而能夠定義打印頭的驅(qū)動參數(shù),它們適用于控制新開發(fā)的墨盒或其ROM 122中的預存儲表不能使用的其它墨盒的功能,這一般不需要改變ROM表或其它打印機硬件。
      簡而言之,根據(jù)本發(fā)明的這一方面,接收來自外部處理器的命令的打印機控制器,基于這些命令控制了具有可拆卸墨盒的打印機的處理功能。這些命令能夠定義新的墨盒驅(qū)動參數(shù),這些參數(shù)被改編以控制其預存儲的驅(qū)動參數(shù)在打印機中已經(jīng)不能使用的新墨盒的功能。例如這些參數(shù)包括加熱脈沖序列以便噴出墨滴的定時,對于這種加熱脈沖序列所需的用于計算打印頭溫度的加熱系數(shù),打印速度,墨滴大小,緩沖器讀出控制,噴嘴發(fā)射順序等等。
      圖43A是表示本發(fā)明的第一實施例的流程圖,其中為打印頭定義打印驅(qū)動控制參數(shù)的命令由一個命令組成,以便修改預先存儲的打印頭驅(qū)動條件的表中的數(shù)值。簡而言之,根據(jù)圖43A,在具有為多個可拆卸打印頭的至少一個定義了預存儲打印頭驅(qū)動條件的預存儲查找表的打印機中,為了控制打印頭驅(qū)動條件,一個外部主處理器發(fā)送修改預存儲查找表的命令,諸如通過乘以控制率修改。打印控制器從預存儲查找表獲得打印頭驅(qū)動條件,并修改打印頭驅(qū)動條件,以便獲得修改的打印頭驅(qū)動參數(shù)。然后修改的打印頭驅(qū)動參數(shù)繼而用于打印操作。
      詳細來說,在步驟S43101,打印機30接收命令,以便設(shè)置用于驅(qū)動打印頭脈寬序列的控制率。該命令由主處理器23發(fā)送(步驟S43102),并在沒有收到任何這種命令時,打印機30保持默認值100%。如以下步驟S43112中更充分說明的那樣,在步驟S43101收到的用于驅(qū)動的控制率是從ROM122中的一個預存儲表施加到查找表的一個因子。
      在步驟S43103,打印機30接收用于打印頭溫度計算的控制率的命令。該命令是從主處理器23收到的(步驟S43104),并在沒有這種命令時,打印機30保持默認值100%。用于打印頭溫度計算的控制率是作為一乘法因子對用于計算打印頭溫度加熱系數(shù)的預存儲數(shù)值施加,如以下與步驟S43115相關(guān)的更充分的說明那樣。
      步驟S43101到步驟S43104最好通過使用以上3.6節(jié)中定義的改變脈沖率命令([PCR])實現(xiàn)。如上所述,[PCR]命令用于改變脈沖控制表的比率,諸如用于計算打印頭溫度的加熱系數(shù)的比率,以及對打印頭130a和130b的各個噴嘴當從噴嘴噴射墨滴時,對脈寬驅(qū)動序列改變脈寬比率。
      在打印機30中從步驟S43106到S43115的流連續(xù)反復以周期間隔執(zhí)行,例如50毫秒,以便使實時對打印頭驅(qū)動參數(shù)保持最新當前數(shù)值。更具體來說,如以上圖23相關(guān)的說明,按50毫秒周期間隔執(zhí)行步驟S43106到S43115,以便計算打印頭溫度,并對所施加的脈寬序列導出脈寬定時以便從噴嘴噴射墨滴,這是與其它也是按50毫秒間隔執(zhí)行的任務(wù)一同執(zhí)行的。
      再來參見圖43A,步驟S43106從一未示出的打印機30內(nèi)的溫度計讀取當前環(huán)境溫度(Tenv)。當前環(huán)境溫度可能是從溫度計讀取的最近的當前值,或更好是從溫度計讀取的實際值通過低通濾波以平滑任何不規(guī)則成分,忽略溫度計壞的讀數(shù),消除噪聲,諸如模擬到數(shù)字采樣噪聲等等。
      基于在步驟S43106讀取的環(huán)境溫度Tenv,在步驟S43107計算目標溫度(Ttgt)。目標溫度是基于當前環(huán)境溫度對打印機的最佳工作溫度。一般來說,打印機30通過未示出在打印頭130a和130b內(nèi)的加熱器控制而達到目標溫度,如以上與圖23相關(guān)的說明按500毫秒中斷級。目標溫度是基于當前環(huán)境溫度對打印頭工作的最佳溫度。目標溫度與環(huán)境溫度之間的關(guān)系是逆反的,即是說,低的環(huán)境溫度導致相對比較高的目標溫度,而高的環(huán)境溫度導致相對比較低的目標溫度。例如,在諸如Tenv=5℃的非常低的環(huán)境溫度下,較好的目標溫度可能是Ttgt=35℃,而在諸如Tenv=35℃非常高的環(huán)境溫度下,較好的目標溫度可能是Ttgt=15℃。
      步驟S43109計算從打印頭130a和130b實際的墨滴噴射所引起的對打印頭溫度的效應(yīng)。更具體來說,在步驟S43106讀取的環(huán)境溫度是基于由安裝在打印頭130a和130b以外的溫度計讀取的環(huán)境溫度的。另一方面,對打印頭驅(qū)動參數(shù)適當控制更直接受到打印頭噴嘴附近墨液內(nèi)部溫度的影響。一般不考慮在這樣小的區(qū)域內(nèi)安裝溫度計的實際可能性。同時,已知激發(fā)的墨滴噴射將引起墨液溫度上升,且在沒有墨液噴射時,墨液溫度一般將降低。步驟S43109的目的是計算墨滴噴射所引起的對打印頭溫度的效應(yīng),以便進行這種計算。
      步驟S43109中打印頭溫度的計算部分地基于在諸如50毫秒的時間間隔上實際噴射的墨滴數(shù)。在預定的時間間隔內(nèi)墨滴的每一噴射被指定一個熱系數(shù)權(quán)重?;谠陬A定時間周期內(nèi)墨滴噴射的數(shù)目,能夠計算墨滴噴射對打印頭溫度的效應(yīng)。
      同時,知道這種加熱系數(shù)變化依賴于所使用的打印頭的具體型號、打印頭中所使用的墨液的特性、打印頭打印輸出的分辨率等等。打印頭/墨液/分辨率的每一種不同的組合要改變對應(yīng)于打印的墨滴數(shù)的加熱系數(shù)值。于是,ROM 122預存儲有加熱系數(shù)的表。這種情形示于圖43B中。
      如圖43B所示,ROM 122的一部分包括預存儲的加熱系數(shù)表701。該表包括多個表702a,702b等等,對于打印頭、墨液、分辨率的每一種不同的組合有一個表。多個表的每一個包含按表格訪問的系數(shù),諸如標記為1,2和3的系數(shù)(標號703,704和705),它們是通過查找操作基于在諸如50毫秒(如標號706所示)等任何一具體的間隔內(nèi)噴射的墨滴數(shù)訪問的。
      基于默認的選擇或基于命令的選擇(如以下與圖43C相關(guān)的說明),打印機30從存儲在701的表選擇一加熱表,然后從選擇的表中基于50毫秒周期內(nèi)噴射的墨滴數(shù)選擇加熱系數(shù)。
      通過在表701的查找操作獲得的系數(shù)用來計算墨滴噴射對打印頭溫度的效應(yīng)。一種適用的計算如下ΔTmain=(系數(shù)1*(噴射的黑色墨滴數(shù)))+(系數(shù)2*(噴射的彩色墨滴數(shù)))+(系數(shù)3*(加熱器額定周期))-系數(shù)4其中系數(shù)1是基于噴射的黑色墨滴數(shù)的加熱系數(shù),系數(shù)2是基于噴射的彩色墨滴數(shù)的加熱系數(shù),系數(shù)3是基于加熱器當前額定周期的加熱系數(shù),且系數(shù)4是實際表示基于不活動的打印頭冷卻下來的加熱系數(shù)。當然,所使用的實際系數(shù)和計算依賴于打印頭/墨液/分辨率的組合。例如,以上給出的計算適用于四色打印頭,而全黑色打印頭則使用不同的例如排除了對噴射的彩色墨滴數(shù)相關(guān)性的計算。
      使用環(huán)境溫度Tenv、目標溫度Ttgt、和打印頭溫度效應(yīng)ΔTmain,步驟S43110計算差ΔTdiff如下Tdiff=Ttgt-Tenv-ΔTmain步驟S43111基于溫差Tdiff訪問ROM 122中存儲了用于脈寬驅(qū)動序列的脈寬時間的查找表。如下所述,適用的表圖示于圖43B中。
      具體來說,如圖43B所示,ROM 122包括用于存儲驅(qū)動時間的查找表710。驅(qū)動時間是用于驅(qū)動噴嘴加熱器噴射墨滴的脈沖序列的脈寬。典型的脈沖序列示于圖43A中43311處,并包括寬Tpre的預熱脈沖、寬度Tint的靜止周期、及寬度為Tmain的主加熱脈沖。這種脈沖序列施加到打印頭130a和130b的每一噴嘴中的噴嘴加熱器,以便噴射供打印的墨滴。表710的目的是部分地基于在步驟S43110計算的溫差來計算Trep、Tint和Tmain。
      同時,認識到脈沖驅(qū)動序列的脈寬基于打印頭、墨液特性、分辨率等的具體組合而不同。于是,如圖43B所示,表710包括諸如712a、712b等各不同的表。每一個表712a、712b等是對于打印頭、墨液類型、分辨率具體的組合而制作的。如710處所示,每一表包含預熱脈沖Tpre寬度的項714、靜止區(qū)間Tint的寬度的項715、以及主加熱脈沖寬度Tmain的項716。任何一個具體的項是通過基于在步驟S43110計算的溫差Tdiff來訪問的。
      基于默認的選擇或基于命令的選擇(如以下與圖43C相關(guān)更充分的說明),打印機30從存儲在710的表選擇驅(qū)動時間的一個表。打印機30然后訪問選擇的表中的項,并查找預熱脈沖、靜止區(qū)間及主加熱脈沖的適當?shù)臅r間,所有都是基于在步驟S43110計算的溫差,及打印頭/墨液/分辨率的具體組合。
      參見圖43A,步驟S43112基于在步驟S43101收到的用于驅(qū)動的控制比率,修改從表710通過查找操作獲得的驅(qū)動時間。這一步驟的目的是要允許,考慮到安裝在打印機30中的實際的打印頭及存儲在表710中的打印頭組合,修改來自查找表710的預存儲數(shù)值。更詳細來說,并如前所述,雖然打印機30的ROM 122預存儲有驅(qū)動時間的多個表,每一表是對打印頭/墨液/分辨率具體的組合制作的,還是不能預料每一個每一種打印頭/墨液/分辨率組合。于是步驟S43112的修改,允許使用預先不知道或沒有存儲的打印頭/墨液/分辨率的組合。
      步驟S43112中的修改最好通過由步驟S43111中查找操作所獲得的驅(qū)動時間乘以步驟S43101中收到的控制比率。為此,默認控制率為100%。通過改變脈沖控制率命令[PCR]可命令的控制率限制在1%到200%之間,從而允許從實際可忽略的脈沖時間到兩倍于存儲在表710中的數(shù)值來修改脈沖時間。
      然后流程進到步驟S43114,其中打印機30查找用于打印頭溫度計算的加熱系數(shù)。如前面與圖43B的表701相關(guān)的說明,加熱系數(shù)是基于打印頭、墨液、分辨率具體的組合而獲得的,并基于每一具有大約50毫秒的持續(xù)時間的每周期打印的點數(shù),從表702a等之一查找的。
      步驟S43115基于在步驟S43103收到的控制率修改加熱系數(shù)。而且,這種修改的目的是要允許使用特定的、還沒有在表701中存儲的打印頭、墨液、分辨率組合。
      在步驟S43115中加熱系數(shù)的修改最好通過在步驟S43114通過查找操作獲得的系數(shù)乘以在步驟S43103收到的控制率。為此,默認控制率為100%。通過改變脈沖控制率命令[PCR]可命令的控制率限制在1%到200%之間,從而允許從實際可忽略的脈沖時間到兩倍于存儲在表701中的數(shù)值來修改加熱系數(shù)。
      在步驟S43116,打印機30基于在步驟S43112獲得修改的驅(qū)動時間控制噴嘴驅(qū)動,所有都響應(yīng)來自向打印機30發(fā)送打印數(shù)據(jù)的主處理器23的命令,及命令打印機30打印這種數(shù)據(jù)的命令(步驟S43117)。流如同前面以按50毫秒周期間隔執(zhí)行從步驟S43106到S43115重復進行,例如基于修改的驅(qū)動時間對噴嘴驅(qū)動進行控制,如步驟S43116所述按主處理器23的命令執(zhí)行。此外,應(yīng)當認識到,驅(qū)動的控制率以及打印頭溫度計算的控制率在任何時間可從主處理器23發(fā)送,并如以上步驟S43101和S43103所述由打印機30響應(yīng)。
      圖43C示出本發(fā)明的另一實施例,就此實施例,對具有可拆卸打印頭的打印機能夠定義打印頭驅(qū)動參數(shù)的命令,是從諸如主處理器23這一外部裝置向打印控制器發(fā)送的。圖43C所示的實施例中與圖43A所示的實施例的一個差別在于,不是響應(yīng)修改預存儲打印頭驅(qū)動參數(shù)的參數(shù),圖43C的實施例響應(yīng)實際打印頭驅(qū)動參數(shù)。一般來說,圖43C中收到的參數(shù)對打印緩沖器139中的數(shù)據(jù)控制讀出順序,對打印頭中各噴嘴控制噴嘴發(fā)射的順序,對從噴嘴噴射的墨滴控制墨滴大小,以及控制其它打印頭驅(qū)動參數(shù)。來自主處理器23的命令最好定義多組各緩沖器控制和噴嘴發(fā)射序列。這些緩沖器控制和噴嘴發(fā)射序列寄存在打印機30的RAM 129中。通過來自主處理器23的相繼的命令,可為在打印頭越過打印介質(zhì)的一特定的掃描、或多個掃描中的使用,選擇任何寄存的緩沖器控制或噴嘴發(fā)射序列組。
      詳細來說,在步驟S43351,主處理器23向打印機30發(fā)送緩沖器控制命令,并在步驟S43352打印機30接收緩沖器控制命令并如下適當?shù)仨憫?yīng)。在步驟S43351發(fā)送的緩沖器控制命令可能是兩種類型第一種類型定義緩沖器控制序列,第二種類型選擇已經(jīng)在打印機30中定義的多個緩沖器控制序列之一。對于定義緩沖器控制序列的第一種類型,主處理器23定義在由打印機30進行打印操作期間從打印緩沖器139讀出數(shù)據(jù)的緩沖器控制序列。響應(yīng)這種命令,緩沖器控制讀出順序由打印機30存儲在RAM 129中供以后選擇。為了定義緩沖器讀出控制順序,使用以上3.6節(jié)中所述定義緩沖器控制表命令([DEFINE_CONTROL])。
      一旦在RAM 129中寄存了多個緩沖器控制讀出順序,第二類型的緩沖器控制命令允許主處理器23選擇它們之一用于順序打印輸出操作。以上3.6節(jié)所定義的選擇緩沖器控制表([SELECT_CONTROL])命令最好用于這一操作。
      作為基于[DEFINE_CONTROL]命令可寄存在RAM 129中的緩沖器控制表的例子,圖43D示出兩個不同的緩沖器控制讀出順序。需要這種緩沖器控制讀出順序的原因在于,是為了適應(yīng)影響在打印操作期間數(shù)據(jù)必須如何從打印緩沖器139讀取的至少三種不同的因素。第一個這種因素是打印噴嘴在它們排布在打印頭上時傾斜度的調(diào)節(jié)。這一因素已在上述中結(jié)合圖8做了說明,該圖示出噴嘴最好處于稍微傾斜(偏斜)的方向,使得對每16個噴嘴有一象素/360 dpi、二象素/720 dpi、及四象素/1440 dpi的橫向位移。
      這些影響緩沖器讀出順序中的第二因素是打印頭的配置,及打印操作期間實際使用的噴嘴。這一因素參照圖43D、43E、43F解釋,這些圖表示出,對于不同的打印頭配置和噴嘴以及分辨率,緩沖器讀出順序的例子。
      圖43D示出一種可能的打印頭配置,其中對于黃色、品紅色、及青色墨液的每一種打印頭由24個噴嘴組成,垂直傾斜排布在64個噴嘴頂部,黑色在內(nèi)。對于四色打印,對應(yīng)于24個三種其它顏料的噴嘴,通常只使用全部64個這種黑色噴嘴中的24個黑色噴嘴。然而物理上,在用于打印的24個黑色噴嘴和最近相鄰的青色噴嘴之間有相當?shù)钠?。此外,由于以上參照圖8所解釋的噴嘴偏移長度,緩沖器讀出順序必須補償水平方向噴嘴偏移。
      緩沖器讀出順序?qū)τ谶@些效應(yīng)的補償如下。首先,實際噴嘴排布740是對于假設(shè)的標準定義的具有256噴嘴的打印頭。由于圖43D的打印頭實際具有如上所述的對于黃色、品紅色、青色和黑色墨液的24-24-24-64噴嘴排布,噴嘴的初始位置在打印緩沖器中比帶有256噴嘴打印頭應(yīng)當開始的單元低15字節(jié)的一個單元開始。這樣,噴嘴開始位置741定義為15字節(jié)。因而,對每一連序的噴嘴組定義了噴嘴偏移的字節(jié)單元。如742中所示,對于黃色、品紅色和青色墨液噴嘴偏移對應(yīng)于一個字節(jié)。因為上一個相鄰的青色噴嘴和供打印實際使用的第一個黑色噴嘴之間的間隙對于標準的256噴嘴打印頭對應(yīng)于六個字節(jié),故對于打印中實際使用的第一個黑色噴嘴定義了六的噴嘴的偏移。
      緩沖器讀出控制進而按字節(jié)定義了緩沖器數(shù)據(jù)高度743(這例子中,緩沖器數(shù)據(jù)高度為12字節(jié))及打印緩沖器高度744(這例子中,打印緩沖器高度為12字節(jié))。
      為了控制在補償噴嘴傾斜中的緩沖器讀出順序,對于打印緩沖器中的單元定義了起始位置745,其一部分設(shè)定在746。對應(yīng)于打印緩沖器中的單一的八位字節(jié)的八個噴嘴的每一相繼的偏移如在747處所示規(guī)定。在圖43D的例子中,對360 dpi打印規(guī)定了緩沖器讀出順序。在該分辨率下,噴嘴傾斜對應(yīng)于對十六個垂直噴嘴在水平方向的一個打印象素。于是,順序讀出打印緩沖器中頭兩個字節(jié)(對應(yīng)于16位,黃色墨液每頭十六個噴嘴的一個)。然而,在360 dpi分辨率下,黃色墨液的下一個噴嘴將實際被打印在水平方向離開先前的16個噴嘴的一個象素。為了補償這一水平偏移,提供了13字節(jié)的緩沖器偏移,使允許黃色墨液最后八個噴嘴的打印對先前的16個噴嘴處于正確的垂直關(guān)系。如圖8中所示,由于在黃色和青色墨液之間有對應(yīng)于八個噴嘴的物理間隙,故對于間隙中非現(xiàn)存的噴嘴沒有必要提供讀出數(shù)據(jù)。
      由于品紅色打印的第一噴嘴位于離開對黃色噴嘴上次打印緩沖器讀出的開始達16個噴嘴的物理距離,故必須對上一組黃色噴嘴與第一組品紅色噴嘴的打印之間提供額外的13字節(jié)偏移。類似地,對于其余的品紅色打印,和青色打印順序地提供正1字節(jié),正13字節(jié),正13字節(jié),正1字節(jié)和正13字節(jié)的偏移。
      對于黑色墨液打印,因為實際供打印使用的24個黑色噴嘴的位置對應(yīng)于因圖8所示的傾角所至的三象素的水平位移,并因為青色和黑色噴嘴之間的八個噴嘴,故對緩沖器讀出順序需要37字節(jié)的偏移。這也是在747處示出的。
      這樣,總的來說,緩沖器讀出順序受到打印頭上的噴嘴物理排布的影響,包括間隙和傾角,實際供打印使用的噴嘴,打印分辨率等等。于是規(guī)定緩沖器讀出順序的一種方法涉及了噴嘴起始位置、噴嘴偏移、打印緩沖器數(shù)據(jù)高度、打印緩沖器的高度及對應(yīng)于打印中所用噴嘴的打印緩沖器中的字節(jié)的字節(jié)偏移的說明。
      這一排布再次與表示按720 dpi打印的圖43D相關(guān)聯(lián)示出。由于打印頭配置沒有改變,噴嘴偏移等沒有必要不同。然而,由于按720 dpi圖8的傾角對應(yīng)于每16個垂直噴嘴兩個象素的水平偏移,故緩沖器偏移必須如749處所示改變。
      如何對打印頭配置(包括噴嘴在打印頭上的物理排布和噴嘴的傾角)、打印期間實際使用的噴嘴、及打印分辨率不同的組合規(guī)定緩沖器讀出順序的例子,在圖43E和43F中給出。例如圖43E示出使用圖43D中所示相同的打印頭的打印輸出,但只使用全部64個黑色噴嘴而不使用任何彩色噴嘴。這樣如750處所示,對于256噴嘴打印頭的假設(shè)標準,打印中所涉及的第一個噴嘴位置低24字節(jié)。于是,噴嘴起始位置751被適當?shù)馗淖?,如包含八個連續(xù)八位字節(jié)的噴嘴偏移752那樣。打印緩沖器數(shù)據(jù)高度如在754處那樣變?yōu)榘俗止?jié),雖然打印緩沖器高度755保持在12字節(jié)。覆蓋在物理打印緩沖器的746部分的緩沖器偏移756,指示對于從打印緩沖器每一字節(jié)適當?shù)淖x出順序的偏移。
      對以720 dpi分辨率打印的緩沖器偏移示于757。
      圖43F示出如圖8中98處所示,當使用由帶有傾角順序排布在打印頭上的128個黑色噴嘴組成的打印頭時緩沖器讀出順序的例子。這種噴嘴排布759不同于256噴嘴打印頭的假設(shè)標準以低16字節(jié)的一個噴嘴起始位置開始。噴嘴偏移761表示16個順序八位噴嘴組。如打印緩沖器高度764那樣,打印緩沖器數(shù)據(jù)高度762設(shè)置為16字節(jié)。緩沖器偏移765表示緩沖器讀出順序如何受到覆蓋到打印緩沖器的746部分上的打印頭傾斜的影響。
      對于以720 dpi分辨率打印,緩沖器偏移在766處示出。
      在影響讀出順序中的其它因素中的第三個因素是打印分辨率。具體來說,當以高分辨率打印時,使用比在以低分辨率打印時較慢的滑架速度。因為滑架的速度不同,以及差如何計入對打印噴嘴非傾斜排布的效應(yīng),故必須基于打印分辨率修改緩沖器讀出順序。
      這樣總的來說,步驟S43351向打印機30發(fā)送多個緩沖器控制表,其中它們在步驟S43352寄存。一個這種表是為在實際打印操作期間使用選擇的。
      在步驟S43354,主處理器23向打印機30發(fā)送噴嘴發(fā)射順序命令。從主處理器23發(fā)送的噴嘴發(fā)射順序命令在步驟S43355由打印機30接收并如下所述被適當處理。一般來說,步驟S43354發(fā)送兩種噴嘴發(fā)射順序命令之一定義了多個不同噴嘴發(fā)射順序的第一型,和其中選擇先前定義的噴嘴發(fā)射順序之一用于后繼的打印操作的第二型。對于第一型噴嘴發(fā)射順序命令,其中定義了多個噴嘴發(fā)射順序,主處理器23最好發(fā)送3.6節(jié)中所述的定義加熱脈沖表命令([DEFINE_PULSE])。對于由主處理器23定義的每一這種噴嘴發(fā)射順序,打印頭以在RAM 129中寄存噴嘴發(fā)射順序響應(yīng)。
      對于第二型噴嘴發(fā)射順序命令,主處理器23選擇多個先前寄存的噴嘴發(fā)射順序之一用于后繼的打印操作。主處理器23最好采用選擇3.6節(jié)中所述的加熱脈沖表命令([SELECT_PULSE])。在收到選擇加熱脈沖表命令時,打印機30從RAM 129檢索先前寄存的加熱脈沖表指定的一個,并將其用于后繼的打印操作,諸如打印頭130a和130b越過打印介質(zhì)的下一個掃描或多個掃描。
      不同的噴嘴加熱順序的例子示于圖43G中。需要不同的噴嘴發(fā)射順序的原因是因為實際的噴嘴發(fā)射順序與包括分辨率、掃描方向(即向前或向后)及噴嘴的傾角等許多因素有關(guān)。其它的因素也影響噴嘴發(fā)射順序。例如由于對于低分辨率的打印輸出,打印頭以高速穿越滑架運動,故分辨率影響噴嘴發(fā)射順序。這一速度這樣計算,使得在16個噴嘴被激發(fā)時,滑架對應(yīng)于噴嘴的傾角正好前進一個象素/360 dpi,兩個象素/720 dpi,或四個象素/1440 dpi。這結(jié)果是,如果噴嘴從上到下被順序激發(fā)則垂直線將被打印。另一方面,在低分辨率下,滑架速度降低。于是為了產(chǎn)生垂直線,必須每隔一個噴嘴順序激發(fā)。這樣,分辨率是影響噴嘴發(fā)射順序的一個因素。
      能夠理解的是,在其它影響噴嘴發(fā)射順序的因素中打印方向是另一個因素。具體來說,因為傾角的關(guān)系,在向前和向后打印之間噴嘴發(fā)射順序必須反向。
      圖43G示出能夠由主處理器23定義并寄存在打印機RAM 129中供后繼選擇順序的噴嘴發(fā)射順序的一些例子。如圖43E中所示,對四個不同的打印條件的每一個定義了對于1號到16號噴嘴的噴嘴發(fā)射順序前向的360dpi打印,反向的360 dpi打印,前向的720 dpi打印,反向的720 dpi打印。四個噴嘴發(fā)射順序的每一個由主處理器23定義,并傳送到打印機30,打印機30在RAM 129中寄存噴嘴發(fā)射順序。然后,主處理器23選擇適用于當前希望的打印條件的一個噴嘴發(fā)射順序,并將適用的選擇命令傳送給打印機30。打印機30通過選擇指定的噴嘴發(fā)射順序響應(yīng)該命令,并將其用于后繼的打印操作。
      這樣,總的來說,步驟S43354允許主處理器23定義多個不同的噴嘴驅(qū)動順序,其中之一指定用于后繼打印操作。在步驟S43355,打印機30通過在RAM 129中寄存多個噴嘴發(fā)射順序的每一個,并選擇寄存的噴嘴發(fā)射順序中指定的一個用于后繼打印操作,響應(yīng)來自主處理器23的命令。
      在步驟S43356,主處理器23發(fā)送以上3.6節(jié)中所述諸如[DROP]命令等墨滴尺寸命令,并在步驟S43357,打印機30通過選擇所命令的墨滴尺寸來響應(yīng)墨滴尺寸命令。然后以該墨滴尺寸實現(xiàn)打印。
      在步驟S43359,主處理器23發(fā)送打印數(shù)據(jù)(最好以[DATA]命令),并然后命令打印機30實現(xiàn)該數(shù)據(jù)的打印(以[PRINT]命令)。在步驟S43360到S43362打印機30通過以下進行響應(yīng),即通過基于在步驟S43352所選擇的緩沖器控制命令來控制從打印機緩沖器139讀出的順序,通過在基于在步驟S43355收到的噴嘴發(fā)射順序命令控制噴嘴發(fā)射順序,并通過在步驟S43357收到的墨滴尺寸命令控制墨滴尺寸。
      這樣,借助于上述處理,通過使用來自設(shè)置了用于驅(qū)動打印頭的參數(shù)的外部主處理器的命令,打印機能夠被控制而使用具有在設(shè)計時沒有考慮到的配置的打印頭。結(jié)果是,大大增加了打印機30在其隨不同的打印頭配置而發(fā)展時,接納新的打印頭的靈活性和其它的特性。
      9.0打印緩沖器的操作圖43-1A到43-1E示出用于前向打印的打印數(shù)據(jù)從主處理器23的打印數(shù)據(jù)存儲器136向打印緩沖器139的傳送(圖10和11中所示)。圖43-1A到43-1E中的打印傳送由在打印機驅(qū)動程序114中存儲的程序代碼和打印機30中存儲的程序代碼控制。在圖43-1A到43-1E中,單打印頭4330執(zhí)行越過記錄介質(zhì)的掃描,即通過從靜止位置向前提升到均勻掃描速度,越過記錄介質(zhì)掃描,及從勻速掃描下降到靜止位置。提升位置7標號4335指示,掃描區(qū)域由標號4338指示,且下降在4339指示。標號4320表示打印緩沖器139中存儲供當前掃描的打印數(shù)據(jù)的區(qū)域。區(qū)域4321是用于存儲對應(yīng)于打印頭傾角的打印數(shù)據(jù)而保留的打印緩沖器的額外區(qū)域。(在以上參照圖43D到43F,即對于上節(jié)關(guān)于緩沖器讀出順序的說明已經(jīng)說明對于打印緩沖器139中額外存儲的需要,是為了存儲對應(yīng)于打印噴嘴的傾角的數(shù)據(jù))。標號4325表示由打印機驅(qū)動程序114所驅(qū)動并存儲在主處理器23中的打印數(shù)據(jù)存儲器136中的打印數(shù)據(jù)。該打印數(shù)據(jù)用于下一個掃描。標號4315表示在打印介質(zhì)上打印的圖象,打印的圖象根據(jù)打印緩沖器4320中當前掃描數(shù)據(jù)被存儲的。
      如圖43-1A所示,在打印緩沖器的所有打印位置中有用于當前掃描的打印數(shù)據(jù),且在打印數(shù)據(jù)存儲器136的所有打印位置中有用于下一個掃描的打印數(shù)據(jù)。在提升周期4335期間,打印頭4330向前運動,在達到均勻掃描速度之前不進行任何打印。由于沒有打印,故在打印緩沖器4320中沒有任何打印數(shù)據(jù)的清空,因而在打印緩沖器4320中沒有空間從打印數(shù)據(jù)存儲器136傳送用于下一個掃描的打印數(shù)據(jù)。
      圖43-1B示出打印頭4330達到掃描速度并如4315所示已經(jīng)開始打印輸出的情形。因為用于當前掃描的打印數(shù)據(jù)已經(jīng)從打印緩沖器4320清空(或更精確地說,由于已經(jīng)被打印而不再需要),故用于下次掃描的打印數(shù)據(jù)的第一模塊能夠由打印機驅(qū)動程序114從打印數(shù)據(jù)存儲器4325傳送到打印緩沖器4320。在打印緩沖器4320中對于來自對于數(shù)據(jù)存儲器4325的額外的數(shù)據(jù)不再有可用的空間;于是,沒有進一步的數(shù)據(jù)傳送。
      打印機驅(qū)動程序114確定在打印緩沖器4320中存在空區(qū)域的一個機制,使用了來自打印機30的指示當前不能接收向打印機30的數(shù)據(jù)傳送的一個信號。這種信號的一個例子包括“忙”信號或“未就緒”信號等,且以下將稱為“忙信號”。忙信號將由打印機30產(chǎn)生并通過主計算機接口141傳送給主處理器23。具體來說,由于打印機30使用了步進電動機用于使其滑架步進越過打印介質(zhì),故打印機30在所有的時刻知道其打印頭4330的打印位置。打印機30進而知道打印機緩沖器4320中當前未打印區(qū)域的左和右邊緣。通過在打印頭4330的位置和打印緩沖器4320的左和右邊緣之間的比較,打印機30能夠確定,打印緩沖器中是否有存儲從打印機驅(qū)動程序114接收的數(shù)據(jù)的空區(qū)域。如果在打印緩沖器中沒有空區(qū)域,則打印機30向主處理器23產(chǎn)生忙信號。另一方面,如果在打印緩沖器4320中有空區(qū)域,則打印機30清除忙信號,指示準備接收打印數(shù)據(jù)。
      在圖43-1C到43-1E,越來越多的來自當前掃描的打印數(shù)據(jù)從打印緩沖器4320打印到記錄介質(zhì)上,如4315處所示。在每個連續(xù)塊的打印數(shù)據(jù)從緩沖器4320清空時,打印機驅(qū)動程序114從打印數(shù)據(jù)存儲器136的區(qū)域4325向打印緩沖器4320傳送用于下次掃描的后繼打印數(shù)據(jù)塊。這樣,如圖43-1C所示,第二打印數(shù)據(jù)塊從4325向4320傳送,在圖43-1D中,后繼的塊3至8從打印數(shù)據(jù)存儲器4325向打印緩沖器4320傳送,并在圖43-1E,用于下次掃描的第十六塊打印數(shù)據(jù)從打印數(shù)據(jù)存儲器4325向打印緩沖器4320傳送。在圖43-1E,如4315所示當前的全部掃描已經(jīng)打印,且打印頭4330開始其下降操作。明顯地,現(xiàn)在打印頭4330可以使用已經(jīng)存儲在打印緩沖器4320中的用于下次掃描的打印數(shù)據(jù)開始逆向打印,在這期間用于進一步后繼掃描的打印數(shù)據(jù)將由打印機驅(qū)動程序114從打印數(shù)據(jù)存儲器136向打印緩沖器139傳送。
      對逆向打印參照圖43-2A到43-2E說明如下。
      具體來說,圖43-2A表示與圖43-1A類似的情形,其中對于當前掃描的打印數(shù)據(jù)(存儲在打印緩沖器4320中)的大小與用于后繼掃描的打印數(shù)據(jù)(存儲在打印數(shù)據(jù)存儲器4325中)的大小相同或較大。標號4321表示打印緩沖器4320的額外的存儲,以便適應(yīng)補償打印頭4330上噴嘴傾角的緩沖器讀出順序。以下,這一區(qū)域?qū)⒎Q為“噴嘴偏移長度”。標號4315表示由前向掃描已經(jīng)在記錄介質(zhì)上打印的數(shù)據(jù)。在4339處所示的提升周期期間,打印頭從靜止位置向均勻掃描速度提升;沒有數(shù)據(jù)被打印且沒有從打印緩沖器4320清空。圖43-2B中,打印頭4330以勻速在反向運動,并已經(jīng)開始打印在打印緩沖器4320中對應(yīng)于當前掃描的打印數(shù)據(jù)的數(shù)據(jù)。被打印在記錄介質(zhì)上的數(shù)據(jù)在4316處表示。因為已經(jīng)由在記錄介質(zhì)上的打印輸出清空了打印緩沖器4320的足夠大的區(qū)域,故來自打印數(shù)據(jù)存儲器4325的第一數(shù)據(jù)塊由打印機驅(qū)動程序114傳送到打印緩沖器4320。
      隨著繼續(xù)的逆向打印,后繼的數(shù)據(jù)塊被打印到記錄介質(zhì)上,從而從打印緩沖器4320清空打印數(shù)據(jù)。這種情形示于圖43-2C和43-2D,其中第二和后繼塊3到8由打印機驅(qū)動程序114從打印數(shù)據(jù)存儲器4325傳送到緩沖器4320的清空區(qū)域。如同在圖43-1的情形,只要沒有從打印機30收到忙信號,則打印機驅(qū)動程序114向打印機30傳送數(shù)據(jù)。在圖43-2E中,打印數(shù)據(jù)最后的塊已經(jīng)從打印緩沖器4320打印到4316的記錄介質(zhì)上,從而允許從打印數(shù)據(jù)存儲器4325向打印緩沖器4320傳送用于下次掃描的打印數(shù)據(jù)的最后的塊。打印頭4330繼而從均勻掃描速度下降到4335處所示的靜止位置。
      圖43-3A到43-3F示出,存儲在打印緩沖器4320的當前打印數(shù)據(jù)小于存儲在主處理器23的打印數(shù)據(jù)存儲器4325中用于下次掃描的打印數(shù)據(jù)的情形下,在單打印頭4330越過記錄介質(zhì)的前向掃描期間,打印數(shù)據(jù)從主處理器23中的打印數(shù)據(jù)存儲器136向打印機30的打印緩沖器139的傳送。因為當前打印數(shù)據(jù)的量小于下次打印數(shù)據(jù)量,故即使在打印已經(jīng)開始時,在打印緩沖器4320中也有空區(qū)域。因而,通過向打印緩沖器4320已經(jīng)清空的區(qū)域傳送用于下次掃描的打印數(shù)據(jù),而能夠利用這種情形。這種處理在以下參照圖43-3A到43-3F說明。
      這種情形下,為了確定在向其存儲用于下次掃描的打印數(shù)據(jù)的打印緩沖器是否有空間,打印機驅(qū)動程序114不需要特別依賴于從打印機30忙/就緒信號的產(chǎn)生。具體來說,因為打印機驅(qū)動程序先前傳送用于當前掃描的數(shù)據(jù)存儲到特定的打印緩沖器單元,故打印機驅(qū)動程序無需來自打印機的任何反饋而能夠確定打印緩沖器中哪些單元應(yīng)當是空的,并準備接收用于下次掃描的打印數(shù)據(jù)。在打印機驅(qū)動程序傳輸打印數(shù)據(jù)期間,打印機30可能產(chǎn)生忙信號,但是忙信號將一般與打印緩沖器單元的空/滿狀態(tài)無關(guān)地產(chǎn)生(即打印機可能沒有準備接收新的數(shù)據(jù),因為它由諸如打印頭清洗等其它任務(wù)占用)。
      圖43-3A中,單打印頭4330通過從靜止位置提升到4338區(qū)的均勻掃描速度越過記錄介質(zhì)打印,以勻速穿越區(qū)域4338打印(或前向?qū)ふ蚁乱粋€打印區(qū)域),并然后從均勻掃描速度下降到4339的靜止位置。4320是指包含區(qū)域4320-1,4320-2和4320-3的打印緩沖器,其中只有后者的區(qū)域包含供當前掃描的打印數(shù)據(jù)。其余的區(qū)域是空的,指示在記錄介質(zhì)上對應(yīng)的位置沒有要打印的數(shù)據(jù)。4321是指打印緩沖器4320的噴嘴偏移區(qū)域。4325是指打印數(shù)據(jù)存儲器136中用于下次掃描的數(shù)據(jù),該數(shù)據(jù)有待從主處理器23傳送到打印機30。
      圖43-3B中,在打印頭4330的提升期間,由于在打印緩沖器4320中存在空單元,故信息的第一塊由打印機驅(qū)動程序114從第一數(shù)據(jù)存儲器4325傳送到打印緩沖器4320。類似地,在圖43-3C中,由于打印緩沖器4320-2是空的,故第二塊打印數(shù)據(jù)從打印數(shù)據(jù)存儲器4325傳送到打印緩沖器4320。在這點,打印頭4330已經(jīng)達到其均勻掃描速度,并開始向前尋找其對應(yīng)于打印緩沖器4320中的當前打印數(shù)據(jù)的第一打印區(qū)域。這一情形在圖43-3D中示出,其中被打印的數(shù)據(jù)4315由打印頭4330在記錄介質(zhì)上打印。此外,由于打印數(shù)據(jù)4315的打印清空了打印緩沖器4320中的區(qū)域,后繼的打印數(shù)據(jù)塊由打印機驅(qū)動程序114從打印數(shù)據(jù)存儲器4325傳送到打印緩沖器4320。在打印頭4330繼續(xù)在前向移動時,圖43-3E描繪了添加的打印數(shù)據(jù)在4315被打印的情形,且打印數(shù)據(jù)的后繼塊由打印機驅(qū)動程序114從打印數(shù)據(jù)存儲器4325傳送到打印緩沖器4320。在圖43-3F中,如4315處所示,打印頭4330已經(jīng)完成打印緩沖器4320中所有當前打印數(shù)據(jù)的打印,并開始向前尋找下次打印數(shù)據(jù)的端頭,這時這些打印數(shù)據(jù)已經(jīng)完全從打印數(shù)據(jù)存儲器4325傳送到打印緩沖器4320。當向前尋找完成時,打印頭4330在區(qū)域4339從其均勻掃描速度下降到靜止位置,并開始在逆向提升到用于現(xiàn)在所有存儲在打印緩沖器4330中的打印數(shù)據(jù)的打印的均勻掃描速度。
      反向打印一般沿圖43-2所示的線路前進,并涉及在提升期間下次掃描數(shù)據(jù)向打印緩沖器4320的空單元的傳送,以及在打印輸出期間打印緩沖器單元被清空時,打印數(shù)據(jù)塊向打印緩沖器的后繼的傳送。
      9.1單打印緩沖器在圖43-1的前向打印操作中,及圖43-2的逆向打印操作中,由于當前掃描的打印數(shù)據(jù)量等于或者大于后繼掃描的打印數(shù)據(jù)量,故不能事先從打印機存儲器4325向打印緩沖器4320傳送打印數(shù)據(jù)。于是由于在新的數(shù)據(jù)能夠從打印機驅(qū)動程序114向打印機30傳送之前,必須等待打印頭4330通過打印清空打印緩沖器4320中的數(shù)據(jù),故性能受到影響。
      相反在圖43-3的情形下,由于用于當前掃描的打印數(shù)據(jù)量小于用于后繼掃描的打印數(shù)據(jù)量,故即使在打印頭4330開始打印之前,打印機驅(qū)動程序114也能夠向打印緩沖器4320的空區(qū)域傳送用于后繼掃描的數(shù)據(jù)。這種配置提供了先進的處理速度。同時,當前掃描小于下次掃描的情形相對不那么頻繁發(fā)生,這是因為更為常見的是每一后繼掃描的打印數(shù)據(jù)與用于先前掃描的打印數(shù)據(jù)相同或接近相同。
      為了對所有掃描改進打印數(shù)據(jù)傳送性能本發(fā)明人已經(jīng)考慮到在打印緩沖器4320中提供對應(yīng)于打印頭4330提升周期的另外的區(qū)域。這添加的區(qū)域以下將稱為“位移區(qū)域”。對打印緩沖器4320添加的位移區(qū)域的提供意味著,對所有的時刻,即使當打印頭4330沒有打印時,在打印緩沖器4320中仍然將有空區(qū)域,打印機驅(qū)動程序114能夠為下次掃描向其填充打印數(shù)據(jù)。實際上,在打印頭4330提升期間或在其完成之前,打印機驅(qū)動程序114能夠向位移區(qū)域傳送打印數(shù)據(jù)。此外,打印機驅(qū)動程序無需特別依賴于打印機產(chǎn)生忙/讀信號,來確定打印機是否準備就緒向這一位移區(qū)域接收打印數(shù)據(jù);因為是打印機驅(qū)動程序本身指定用于當前掃描的和下次掃描的打印數(shù)據(jù)在打印緩沖器中存儲在何處,故打印機驅(qū)動程序能夠確定位移區(qū)域是否準備好接收打印數(shù)據(jù),一般無需來自打印機的反饋。
      圖43-4A到43-4F示出,在類似于圖43-1所示的情形下,即用于當前掃描的打印數(shù)據(jù)大約與一下次掃描的打印數(shù)據(jù)相同的情形前向打印期間,使用位移區(qū)域改進數(shù)據(jù)傳送效率。在圖43-4A中,打印緩沖器4320包括附加在區(qū)域4320-2的最前邊緣處的位移區(qū)域4320-1。4321是指補償噴嘴偏移長度的打印緩沖器中的區(qū)域。區(qū)域4320-2存儲用于當前掃描的打印數(shù)據(jù),位移區(qū)域4320-1為空,而打印數(shù)據(jù)存儲器4325存儲等待從打印機驅(qū)動程序114傳送的用于下次掃描的打印數(shù)據(jù)。與圖43-1所示不同,用于下次掃描的打印數(shù)據(jù)表示在從其實際打印位置的一個位移位置處,從其實際打印的位置的位移是由虛線表示的。這一位移的目的只是為說明之用,以便簡化說明數(shù)據(jù)向打印緩沖器4320的位移區(qū)域4320-1和區(qū)域4320-2的傳送。
      在沒有來自打印機30的忙信號情形下,打印機驅(qū)動程序114確定允許從打印數(shù)據(jù)存儲器4325向打印緩沖器4320傳送打印數(shù)據(jù)。這樣,如圖43-4B所示,在打印頭4330的提升周期4335期間,打印機驅(qū)動程序114從打印數(shù)據(jù)存儲器4325向打印緩沖器4320的位移區(qū)域4320-1傳送用于下次掃描的打印信息的第一塊。在位移區(qū)域已經(jīng)填充之后,打印機30產(chǎn)生使數(shù)據(jù)的進一步傳送停止的忙信號。圖43-4C中,打印頭4320已經(jīng)達到均勻掃描速度并通過打印輸出打印緩沖器4320的4320-2區(qū)域中的數(shù)據(jù),開始對當前掃描的打印數(shù)據(jù)的打印輸出。打印示于4315處。在打印緩沖器4320-2的區(qū)域已經(jīng)清空之后,打印機30釋放忙信號,向打印機驅(qū)動程序114指示它準備接收另外的數(shù)據(jù)。結(jié)果是,打印機驅(qū)動程序114從打印數(shù)據(jù)存儲器4325向打印緩沖器4320開始傳送用于下次掃描的打印數(shù)據(jù)的第二塊。
      在打印頭4330繼續(xù)前向打印時,打印緩沖器4320的后繼區(qū)域被清空打印數(shù)據(jù),從而為從打印數(shù)據(jù)存儲器4325接收用于下次掃描的打印數(shù)據(jù)釋放打印緩沖器4320中的這些單元。這種情形示于圖43-4D及圖43-4E,其中打印緩沖器4320的后繼區(qū)域被在4315的打印輸出清空打印數(shù)據(jù),且打印數(shù)據(jù)的后繼塊由打印機驅(qū)動程序114從打印數(shù)據(jù)存儲器4325傳送到打印緩沖器4320。
      圖43-4E中,用于下次掃描的打印數(shù)據(jù)的最后一塊已經(jīng)從打印數(shù)據(jù)存儲器4325傳送到打印緩沖器4320。然而,對當前掃描的打印還沒有完成,因為用于當前掃描的打印數(shù)據(jù)保留在打印緩沖器4320中沒有打印。這樣,如圖43-4F所示,打印頭4330繼續(xù)打印,釋放打印緩沖器4320另外的區(qū)域。打印緩沖器4320的另外釋放的區(qū)域?qū)τ糜谙麓螔呙璧拇蛴?shù)據(jù)是不需要的,因為如圖43-4E所示所有的打印數(shù)據(jù)已經(jīng)被傳送。因而,打印緩沖器4320新釋放的區(qū)域在反向打印期間重新分配給位移區(qū)域,這示于圖43-5A到43-5F。在任何情形下,在前向打印完成時,打印頭從均勻掃描速度下降到4339處的靜止位置。
      圖43-5A到43-5F表示用于下次掃描的打印數(shù)據(jù)從打印數(shù)據(jù)存儲器4325向打印緩沖器4320傳送,打印緩沖器在區(qū)域4320-2包含用于當前掃描的打印數(shù)據(jù)以及空的位移區(qū)域4320-1。這樣,圖43-5中所示的打印類似于圖43-2中所示的打印,即逆向打印。然而,圖43-5中所示的數(shù)據(jù)傳送不同于圖43-2中所示的數(shù)據(jù)傳送,主要是因為使用了提供了更為有效的數(shù)據(jù)傳送的4320-1處的位移區(qū)域。
      在提升區(qū)域4335打印頭完成從靜止位置向均勻掃描速度的提升周期之前,由于打印機30在其打印緩沖器4320具有空區(qū)域,故它向主計算機23指示一就緒信號。結(jié)果,打印機驅(qū)動程序114從打印數(shù)據(jù)存儲器4325向位移區(qū)域4320-1傳送用于下次掃描的第一塊打印數(shù)據(jù)。這示于圖43-5B,其中打印頭4330開始其向均勻掃描速度提升。在用于塊1的打印數(shù)據(jù)已經(jīng)從打印數(shù)據(jù)存儲器4325傳送到位移區(qū)域4320-1之后,打印機30產(chǎn)生一忙信號,指示打印機驅(qū)動程序114不要進一步傳送打印數(shù)據(jù)。
      在圖43-5C中,打印頭4330已經(jīng)達到均勻掃描速度并開始逆向打印。在4316處的逆向打印輸出已經(jīng)清空打印緩沖器4320中的一區(qū)域。從而,打印機30產(chǎn)生一就緒信號,指示打印機驅(qū)動程序114打印機30能夠接收打印數(shù)據(jù)。打印機驅(qū)動程序114繼而從打印數(shù)據(jù)存儲器4325向打印緩沖器4320傳送用于下次掃描的打印數(shù)據(jù)的塊2。
      圖43-5D到43-5E表示逆向繼續(xù)打印。這樣,在圖43-5D中,打印頭4330繼續(xù)逆向打印,從而清空打印緩沖器4320中的打印單元。響應(yīng)清空的打印單元,打印機驅(qū)動程序114向打印緩沖器4320的后繼清空的單元傳送用于下次掃描的后繼塊的打印數(shù)據(jù)。在圖43-5E中,用于下次掃描的最后的打印數(shù)據(jù)塊從打印數(shù)據(jù)存儲器4325向打印緩沖器4320傳送。然而,逆向打印還沒有完成,因為在打印緩沖器4320中還余留有未打印的數(shù)據(jù)。因而,如圖43-5E中所示,打印繼續(xù)在逆向進行,清空打印緩沖器4320中的后繼單元。清空的單元對用于下次掃描的任何打印數(shù)據(jù)是不需要的,因為所有的這種數(shù)據(jù)在圖43-5E中已經(jīng)被傳送。因而打印緩沖器4320清空的單元變?yōu)橛糜诤髞碓谇跋虼蛴≈械奈灰茀^(qū)域。
      借助于圖43-4和43-5所示的處理,通過使用位移區(qū)域使打印數(shù)據(jù)的傳送更有效率,其中位移區(qū)域在前向打印期間附加在打印緩沖器4320的前端,并在打印數(shù)據(jù)的當前行結(jié)束打印時在打印緩沖器4320的尾端生成。在打印緩沖器4320的尾端所生成的位移緩沖器用于逆向打印中相繼的掃描。從而,由于打印機驅(qū)動程序114已經(jīng)清空在打印頭提升期間向其傳送數(shù)據(jù)的打印緩沖器4320的單元,故增加了打印數(shù)據(jù)傳送的效率。
      圖43-6示出在以下意義下類似于圖43-3的情形的數(shù)據(jù)的傳送,即當前掃描打印數(shù)據(jù)的大小小于下次掃描打印數(shù)據(jù)的大小。然而在圖43-6所示的數(shù)據(jù)傳送中,位移區(qū)域4320-5是對應(yīng)于打印頭4330提升周期提供的,以便增加數(shù)據(jù)傳送的效率。
      在圖43-6中,打印緩沖器4320包括含有對于當前掃描的打印數(shù)據(jù)的區(qū)域4320-1。區(qū)域4320-2,4320-3,4320-4是不包含打印數(shù)據(jù)的空區(qū)域。區(qū)域4321是對于打印頭偏移長度提供的打印緩沖器4320的區(qū)域。區(qū)域4320-5是對應(yīng)于打印頭4330的提升周期的位移區(qū)域。
      如圖43-6A所示,當前存儲在主處理器23中的打印數(shù)據(jù)存儲器4325用于下次掃描的打印數(shù)據(jù)大于當前掃描的打印數(shù)據(jù)。于是,存在打印緩沖器4320的一個空的并即使在打印頭4330還沒有開始打印也能接收數(shù)據(jù)的區(qū)域。這種情形示于圖43-6B,在打印頭4330從靜止位置向均勻掃描速度提升完成之前,用于下次掃描的第一塊打印數(shù)據(jù)由打印機驅(qū)動程序114從打印數(shù)據(jù)存儲器4325向打印緩沖器4320傳送。打印數(shù)據(jù)存儲到位移區(qū)域4320-5和空區(qū)域4320-4。然后,如圖43-6C所示,打印頭4330已經(jīng)達到均勻掃描速度并開始向前尋找對應(yīng)于打印緩沖器4320的區(qū)域4320-1中的打印數(shù)據(jù)的第一打印位置。在這期間,由于在打印緩沖器4320中仍然有空區(qū)域,故打印機驅(qū)動程序114把用于下次掃描的打印數(shù)據(jù)的第二塊從打印數(shù)據(jù)存儲器4325傳送到打印緩沖器4320的空區(qū)域4320-2。
      圖43-6D中,打印頭4330已經(jīng)到達第一打印位置并開始如4315處所示打印示出。在打印頭4330繼續(xù)打印時,它清空了打印緩沖器4320的打印數(shù)據(jù),從而釋放打印緩沖器4320的這些區(qū)域以便接收用于下次掃描的打印數(shù)據(jù)。這樣,打印機驅(qū)動程序114從打印數(shù)據(jù)存儲器4325向打印緩沖器4320傳送用于下次掃描的打印數(shù)據(jù)的第三塊。
      在打印頭4330繼續(xù)前向打印時,它繼續(xù)清空打印緩沖器4320中的存儲單元。這種情形示于圖43-6E,其中打印頭4320已經(jīng)完成4315處當前掃描中所有打印信息的打印。打印機驅(qū)動程序114繼續(xù)向打印緩沖器4320的清空單元傳送用于下次掃描的打印數(shù)據(jù)后繼塊。同時,打印頭4330開始向前尋找用于下次掃描的打印數(shù)據(jù)的第一打印位置。在圖43-6F中,打印頭4330到達該位置并開始從均勻掃描速度下降到靜止速度,以便使掃描方向反向用于逆向打印。
      在下降并為逆向打印提升之前期間,現(xiàn)在區(qū)域4320-3可用作為逆向打印位移區(qū)域的空單元。于是,即使用于下次后繼掃描的打印數(shù)據(jù)與存儲在打印緩沖器4320中的打印數(shù)據(jù)大小相同或較大,在打印緩沖器4320中區(qū)域4320-3處仍然有空單元接收用于下次后繼掃描的打印數(shù)據(jù)。于是,增加了從打印機驅(qū)動程序114向打印緩沖器4320的打印數(shù)據(jù)的傳送。
      逆向打印一般沿圖43-2所示的線進行,并涉及在提升期間下次掃描數(shù)據(jù)向打印緩沖器4320的空單元的傳送,以及在打印輸出期間打印緩沖器單元被清空時打印數(shù)據(jù)塊向打印緩沖器的傳送。
      總的來說,為提高傳送打印數(shù)據(jù)的效率位移區(qū)域的使用涉及了對打印機驅(qū)動程序的控制和打印機側(cè)的控制之間的協(xié)調(diào)。在打印機驅(qū)動程序側(cè),打印機驅(qū)動程序監(jiān)視用于當前掃描(先前已經(jīng)傳送的)及下次掃描(待傳送的)的左和右邊緣。如果下次掃描的左邊緣小于當前掃描的左邊緣,則打印機驅(qū)動程序發(fā)送數(shù)據(jù)塊直到當前掃描左邊緣已經(jīng)達到。類似地,如果下次掃描的右邊緣大于當前掃描的右邊緣,則打印機驅(qū)動程序發(fā)送用于下次掃描的右側(cè)的數(shù)據(jù)塊,直到當前掃描右邊緣已經(jīng)達到。這一處理保證了在下次掃描大于當前掃描的情形下,盡可能有效地傳送數(shù)據(jù)。
      此外,對于下次掃描打印區(qū)域重疊到當前掃描打印區(qū)域的重疊區(qū)域,打印機驅(qū)動程序把重疊區(qū)域劃分為小塊。取決于從打印機收到的是忙信號還是就緒信號,打印機驅(qū)動程序以小塊為單位傳送重疊區(qū)域。如果當前掃描是前向的,則打印機驅(qū)動程序從左向右按小塊傳送下次掃描的重疊數(shù)據(jù);而如果的掃描是逆向的,則打印機驅(qū)動程序從右向左按小塊傳送下次掃描的重疊數(shù)據(jù)。
      在打印機側(cè),當對當前掃描的打印開始時,打印機保持對打印頭位置的監(jiān)視。如果收到的打印機數(shù)據(jù)的右邊緣小于當前掃描的左邊緣(由滑架移動的打印機監(jiān)測器更新),則打印機把收到的數(shù)據(jù)塊立即放入打印緩沖器。類似地,如果收到的打印機數(shù)據(jù)的左邊緣大于當前掃描的右邊緣(由滑架移動的打印機監(jiān)測器更新),則打印機把收到的數(shù)據(jù)塊立即放入打印緩沖器。對于重疊區(qū)域,即收到的塊重疊到當前掃描打印區(qū)域,打印機發(fā)出忙信號,以便停止任何來自打印機驅(qū)動程序的另外的打印數(shù)據(jù)傳送。當由滑架移動的打印機監(jiān)測器所更新的由打印機驅(qū)動程序規(guī)定的塊整個變?yōu)榭盏臅r,則打印機把收到的數(shù)據(jù)塊放入打印緩沖器,并釋放忙信號以向打印機驅(qū)動程序指示,打印機準備好接收另外的信息。
      在任何情形下,如果當前掃描是前向的,則打印機從打印緩沖器的位移區(qū)域的末端開始打印(如向前測量的那樣),而如果當前的掃描是后向的,則打印機從位移區(qū)域的末端開始打印(如向后測量的那樣)。
      這些推廣的過程示于圖43-7,該圖表示在當前打印數(shù)據(jù)小于用于下次掃描的打印數(shù)據(jù)的情形下,由使用每一帶有位移區(qū)域的兩個打印緩沖器的兩個打印頭打印。圖43-7中所示的打印是對于前向的,但是從以上總的概述能夠明白,逆向打印的打印和數(shù)據(jù)傳送是互補進行的。
      圖43-7A中,雙打印頭4330A和4330B以其間橫向間距4340配置,并被配置使得從靜止位置以均勻掃描速度打印,即通過4335處的提升周期到均勻掃描速度,通過在均勻掃描速度的打印區(qū)域4338,以及通過在4339從均勻掃描速度到靜止位置的下降周期。為每一個打印頭提供了一個打印緩沖器,打印緩沖器4320A提供給打印頭4330A,打印緩沖器4320B提供給打印頭4330B。每一打印緩沖器包括用于當前掃描的打印數(shù)據(jù),用于下次掃描的打印數(shù)據(jù)的大小大于用于當前掃描的打印數(shù)據(jù)的大小。這樣,對于打印緩沖器4320A,用于當前掃描的打印數(shù)據(jù)存儲在區(qū)域4320A-4,區(qū)域4320A-1,4320A-2,4320A-3為空。位移區(qū)域4320A-5附加在打印緩沖器4320A上,以便增加數(shù)據(jù)傳送的效率。4321表示對噴嘴偏移長度的存儲單元。
      類似地,對于打印緩沖器4320B,區(qū)域4320B-4包含用于當前掃描的打印數(shù)據(jù)。區(qū)域4320B-1,4320B-2,4320B-3為空。位移區(qū)域4320B-5領(lǐng)先于打印緩沖器4320B,以增加向打印緩沖器4320B的數(shù)據(jù)傳送效率,且4321指示對于噴嘴偏移的存儲單元。
      在主處理器側(cè),對每一打印頭提供了一個打印數(shù)據(jù)存儲器。這樣,數(shù)據(jù)存儲器4325A提供給打印頭4330A且存儲用于下次掃描的打印數(shù)據(jù);且打印數(shù)據(jù)存儲器4325B提供給打印頭4330B,并包含用于供打印頭4330B下次掃描的打印數(shù)據(jù)。
      在圖43-7B中,打印頭4330A和4330B開始從靜止位置提升到越過記錄介質(zhì)的均勻掃描速度速率。在沒有來自打印機30的忙信號的情形下,打印機驅(qū)動程序114基于先前傳送的打印數(shù)據(jù)而確定用于打印頭4330A的下次掃描數(shù)據(jù)的左邊緣小于對于當前打印數(shù)據(jù)的左邊緣,并繼而從打印數(shù)據(jù)存儲器4325A向打印緩沖器4320A發(fā)送存儲在位移區(qū)域4320-5和區(qū)域4320A-1中的第一打印數(shù)據(jù)塊。類似地,打印機驅(qū)動程序114確定,對于打印頭4330B的下次掃描數(shù)據(jù)的左邊緣小于對于打印頭4330B的當前掃描數(shù)據(jù)的左邊緣。于是,打印機驅(qū)動程序114從打印數(shù)據(jù)存儲器4325B向打印緩沖器4320B傳送用于打印頭4330B的一個打印數(shù)據(jù)塊。用于下次掃描的打印數(shù)據(jù)塊存儲在位移區(qū)域4320B-5和區(qū)域4320B-1。
      在圖43-7C中打印頭4330A和4330B已經(jīng)達到它們的均勻掃描速度并開始向前尋找對于打印頭4330A和4330B兩者之一的第一打印位置。打印機30仍然沒有發(fā)送忙信號,因為在打印緩沖器4320A和4320B中保留有空區(qū)域,且打印機驅(qū)動程序114沒有發(fā)送與用于當前掃描的現(xiàn)有打印數(shù)據(jù)重疊的數(shù)據(jù)。于是由于打印機驅(qū)動程序114推斷,打印機30準備好接收附加的打印數(shù)據(jù),故它適當?shù)貍魉痛蛴?shù)據(jù)。這種情形下,由于用于打印頭4330A的下次掃描數(shù)據(jù)的右邊緣大于用于當前掃描的打印數(shù)據(jù)的右邊緣,故打印機驅(qū)動程序114從打印數(shù)據(jù)存儲器4325A向打印緩沖器4320A傳送一打印數(shù)據(jù)塊。這種情形下,傳送的打印數(shù)據(jù)存儲在區(qū)域4320A-2。打印機驅(qū)動程序114可能試圖發(fā)送用于打印頭4330A的新的打印數(shù)據(jù),但是由于發(fā)送的數(shù)據(jù)將重疊到打印緩沖器中的非空單元中,故任何這種發(fā)送將引起打印產(chǎn)生忙信號。這時,打印機驅(qū)動程序114確定,對于打印頭4330A,用于下次掃描的左邊緣不小于當前掃描的左邊緣,且于下次掃描的右邊緣不大于當前掃描的右邊緣。于是,直到忙信號清除之前,不會有打印頭4330A的打印數(shù)據(jù)由打印機驅(qū)動程序傳送。
      另一方面,打印機驅(qū)動程序114確定,用于打印頭4330B的下次掃描數(shù)據(jù)的右邊緣大于當前掃描的打印數(shù)據(jù)的右邊緣。于是,一個打印數(shù)據(jù)塊從打印數(shù)據(jù)存儲器4325B向打印緩沖器4320B傳送。這種情形下,傳送的數(shù)據(jù)塊存儲在區(qū)域4320B-2。打印機驅(qū)動程序114可能試圖發(fā)送用于打印頭4330B的另外的打印數(shù)據(jù),但是由于發(fā)送的數(shù)據(jù)將重疊到打印緩沖器中的非空單元中,故任何這種發(fā)送將引起打印機產(chǎn)生忙信號。這時,打印機驅(qū)動程序114確定,對于打印頭4330B,用于下次掃描的左邊緣不小于當前掃描打印數(shù)據(jù)的左邊緣,且于下次掃描打印數(shù)據(jù)的右邊緣不大于當前掃描打印數(shù)據(jù)的右邊緣。于是,直到忙信號清除之前,不會有供打印頭4330B的打印數(shù)據(jù)傳送給打印驅(qū)動程序。
      這時,沒有進一步的數(shù)據(jù)從打印機驅(qū)動程序114向打印機30傳送。如果打印機驅(qū)動程序114要傳送用于打印頭4330A和4330B之一的打印數(shù)據(jù),打印機驅(qū)動程序?qū)⒁訹EDGE]命令領(lǐng)先于數(shù)據(jù),該命令向打印機指定了在打印緩沖器中相繼的打印數(shù)據(jù)塊應(yīng)當存儲的單元。基于在[EDGE]命令中所規(guī)定的單元,打印機將識別出任何來自驅(qū)動程序114的相繼的打印數(shù)據(jù)塊將重疊到打印緩沖器中非空單元。這時打印機發(fā)出忙信號,因為任何傳送的打印數(shù)據(jù)將是不能打印的打印數(shù)據(jù),且從而打印機30將不準備接收另外的打印數(shù)據(jù)。
      在圖43-7D中,通過打印頭4330A和4330B的繼續(xù)向前尋找,打印頭4330B已經(jīng)達到其第一打印位置。于是,如4315B處所示打印輸出開始,從而清空打印緩沖器4320B中的單元。已經(jīng)把下次掃描的打印區(qū)域分為小塊的打印機驅(qū)動程序114從打印數(shù)據(jù)存儲器4325B向打印緩沖器4320B傳送小塊的第一個?;诖蛴☆^4330B的當前單元檢測到4320B中緩沖器單元為空的打印機30,允許立即存儲傳送的塊。
      在圖43-7E中,在打印頭4330B繼續(xù)向前打印時,打印緩沖器4320B中的附加單元被清空,從而允許打印機驅(qū)動程序114從打印數(shù)據(jù)存儲器4325B向打印緩沖器4320B傳送數(shù)據(jù)。同時打印頭4330A已經(jīng)到達其第一打印位置(更精確地說,打印頭4330A已經(jīng)到達噴嘴偏移區(qū)域4321A中的第一打印位置)。從而打印通過打印頭4330A開始,并對打印頭4330B繼續(xù)進行。
      圖43-7F中,通過打印頭4330B在4315B繼續(xù)打印,在打印緩沖器4320B中的附加單元被清空。打印機驅(qū)動程序114從打印數(shù)據(jù)存儲器4325B向打印緩沖器4320B傳送用于下次掃描的附加的打印數(shù)據(jù)塊。由于這些單元是空的,打印機30允許立即存儲傳送的塊。
      同時,打印頭4330A如4315A處所示已經(jīng)開始打印,從而清空打印緩沖器4320A中的單元。結(jié)果,打印機驅(qū)動程序114從打印數(shù)據(jù)存儲器4325A向打印緩沖器4320A傳送用于下次掃描的打印數(shù)據(jù)塊。由于打印緩沖器4320A中的單元是空的且不包含重疊的數(shù)據(jù)(用于當前掃描的未打印數(shù)據(jù)),故打印機30允許立即向打印緩沖器4320A存儲傳送的數(shù)據(jù)。
      在圖43-7G和43-7H中,打印頭4330A和4330B繼續(xù)打印,分別如4315A和4315B處所示。隨著繼續(xù)打印,打印緩沖器4320A和4320B中的附加單元被清空。結(jié)果是,打印機驅(qū)動程序114從打印數(shù)據(jù)存儲器4325A和4325B,逐塊地分別向打印緩沖器4320A和4320B的空單元傳送用于下次掃描的附加打印數(shù)據(jù)。在這一處理及所有用于下次掃描的打印數(shù)據(jù)可從驅(qū)動程序114向兩個打印頭傳送的處理期間,驅(qū)動程序114確定哪一個打印頭將使數(shù)據(jù)首先傳送(即A先于B,或B先于A)?;谀囊粋€打印頭更可能要首先清空塊,基于重疊區(qū)域的相對位置,驅(qū)動程序作出這一判斷。這一處理以下將在圖44C到44J中說明,這些圖解釋了驅(qū)動程序決定對打印頭A先于B還是打印頭B先于A發(fā)送打印數(shù)據(jù)塊的過程。
      圖43-7I中,對于打印頭4330B已經(jīng)完成打印,從而對于打印緩沖器4320B清空最后的單元。于是,打印機驅(qū)動程序114從打印數(shù)據(jù)存儲器4325B向打印緩沖器4320B傳送用于下次掃描的最后余留的打印數(shù)據(jù)塊。同時,如4315A處所示對于打印頭4330A繼續(xù)打印輸出,清空打印緩沖器4320A中附加的單元。由于這些單元是空的,故打印機驅(qū)動程序114從打印數(shù)據(jù)存儲器4325A向打印緩沖器4320A傳送用于下次掃描的打印數(shù)據(jù)塊。
      圖43-7J和43-7K中,打印對打印頭4330A繼續(xù)進行,清空打印緩沖器4320A中附加的單元。由于這些單元是空的,故它們以用于下次掃描的由打印機驅(qū)動程序114從打印數(shù)據(jù)存儲器4325A逐塊向打印緩沖器4320A傳送的打印數(shù)據(jù)填充。圖43-7K中,對打印頭4330A當前打印數(shù)據(jù)的打印輸出完成,結(jié)果是最后的塊從打印數(shù)據(jù)存儲器4325A向打印緩沖器4320A傳送。然后打印頭4330A和4330B開始向前尋找,以到達用于下次掃描中打印數(shù)據(jù)的第一打印位置。
      圖43-7L中,在打印頭4330A和4330B到達下次掃描線的逆向打印的第一打印位置后,打印頭從均勻掃描速度下降到靜止位置。這時,區(qū)域4320A-3和4320B-3分別是緩沖器4320A和4320B中的空單元。因而在供當前存儲在打印緩沖器4320A和4320B中的現(xiàn)當前掃描打印數(shù)據(jù)的逆向打印的提升周期期間,這些空區(qū)域成為接收供下次后繼掃描接收打印數(shù)據(jù)的位移區(qū)域。
      9.2緩沖器控制的一般說明圖44C到44J的流程圖示出由主處理器23的CPU 100所執(zhí)行的作為打印機驅(qū)動程序114執(zhí)行的一部分的處理步驟,以便根據(jù)本發(fā)明的位移緩沖器控制,實現(xiàn)從打印數(shù)據(jù)存儲器136向打印緩沖器139對用于下次掃描線的打印數(shù)據(jù)的數(shù)據(jù)傳送。這些流程圖所示的處理步驟作為計算機可執(zhí)行的處理步驟存儲在計算機可讀介質(zhì)上,諸如盤25或RAM 116中,并由CPU 100執(zhí)行,以實現(xiàn)根據(jù)本發(fā)明的位移緩沖器控制。
      類似地,圖44K到44M的流程圖示出由打印機30的CPU 121執(zhí)行的處理步驟,以實現(xiàn)根據(jù)本發(fā)明的打印緩沖器控制。這些流程圖所示的處理步驟作為計算機可執(zhí)行的處理步驟存儲在計算機可讀介質(zhì)上,諸如ROM 122或在RAM 129中,由CPU 121執(zhí)行,以實現(xiàn)根據(jù)本發(fā)明的打印控制。
      根據(jù)這些流程圖所示的處理步驟,根據(jù)本發(fā)明的打印緩沖器控制定義了帶有附加在打印緩沖器上的位移區(qū)域的打印緩沖器,位移區(qū)域?qū)?yīng)于打印頭的前向提升周期。對于逆向打印,打印緩沖器包括附加在其末端的位移區(qū)域,位移區(qū)域?qū)?yīng)于打印頭在逆向打印期間的提升周期。用于前向打印的位移緩沖器是用于逆向打印的打印緩沖器的一部分,而用于逆向打印的位移緩沖器是用于前向打印的打印緩沖器的一部分。
      借助于這種位移緩沖器附加或附屬于打印緩沖器的配置,打印機驅(qū)動程序總具有用來在打印頭的提升周期期間,傳送用于下次掃描線的打印數(shù)據(jù)的單元。這樣,提高了從打印機驅(qū)動程序向打印機傳送用于下次掃描線的打印數(shù)據(jù)的效率。
      此外,由于位移區(qū)域?qū)?yīng)于提升周期,并由于前向位移緩沖器是用于在逆向打印的打印緩沖器的一部分,且反之也然,故無需提供大量的附加打印緩沖器單元,諸如傳統(tǒng)的使緩沖配置加倍,而能夠獲得打印數(shù)據(jù)傳送效率的提高。
      在說明圖44C到44J的流程圖,及圖44K到44M的流程圖之前,圖44A和44B將用來給出在這些流程圖中使用的一些變量的說明。這些變量對應(yīng)于打印機30上的物理距離,對應(yīng)于打印緩沖器內(nèi)的存儲單元,并對應(yīng)于打印緩沖器內(nèi)存儲單元及其在記錄介質(zhì)上打印輸出位置的對應(yīng)關(guān)系。
      圖44A提供了用于前向打印的變量標識。這樣,對于以打印頭4330A和4330B使用打印緩沖器4320A和4320B中的當前打印數(shù)據(jù),以及從打印數(shù)據(jù)存儲器4325A和4325B傳送下次掃描的打印數(shù)據(jù)而進行前向打印,定義了以下變量打印頭間隙4340定義了打印頭4330A和4330B之間的距離,打印頭位置A和打印頭位置B分別定義了打印頭A和B的滑架當前位置,BuffTop F和BuffEnd F對于前向打印定義了打印緩沖器4320A和4320B的頭和尾,EdgeL_Ac和EdgeR_Ac對打印頭4330A定義了當前掃描數(shù)據(jù)的左和右邊緣,EdgeL_Bc和EdgeR_Bc對打印頭4330B定義了當前掃描數(shù)據(jù)的左和右邊緣,ShiftLen定義了位移區(qū)域的長度,標號1203定義了補償打印頭中噴嘴的傾角的噴嘴偏移長度,EdgeL_An和EdgeR_An是指對打印頭4330A下次掃描數(shù)據(jù)的左和右邊緣,EdgeL_Bn和EdgeR_Bn對打印頭4330B定義了下次掃描數(shù)據(jù)的左和右邊緣,BlockLen定義了打印機驅(qū)動程序114劃分用于逐塊向打印緩沖器4320A和4320B傳送的下次掃描打印數(shù)據(jù)的塊寬度,以及BlockLeft和BlockRight指示當前考慮用于傳送的各塊的左和右地址。
      圖44B標出了對于由打印頭4330A和4330B逆向(或“反向”)打印的變量。這樣,對于以打印頭4330A和4330B使用打印緩沖器4320A和4320B中的當前打印數(shù)據(jù),以及從打印數(shù)據(jù)存儲器4325A和4325B傳送下次掃描的打印數(shù)據(jù)而進行逆向打印,定義了以下變量打印頭間隙4340定義了打印頭4330A和4330B之間的距離,打印頭位置A和打印頭位置B分別定義了打印頭A和B的滑架當前位置,BuffTop_B和BuffEnd_B對于逆向打印定義了打印緩沖器4320A和4320B的頭和尾,EdgeL_Ac和EdgeR_Ac對打印頭4330A定義了當前掃描數(shù)據(jù)的左和右邊緣,EdgeL_Bc和EdgeR_Bc對打印頭4330B定義了當前掃描數(shù)據(jù)的左和右邊緣,ShiftLen定義了位移區(qū)域的長度,標號1203定義了補償打印頭中噴嘴的傾角的噴嘴偏移長度,EdgeL An和EdgeR_An是指對打印頭4330A下次掃描數(shù)據(jù)的左和右邊緣,EdgeL_Bn和EdgeR_Bn對打印頭4330B定義了下次掃描數(shù)據(jù)的左和右邊緣,BlockLen定義了打印機驅(qū)動程序114劃分用于逐塊向打印緩沖器4320A和4320B傳送的下次掃描打印數(shù)據(jù)的塊寬度,以及BlockLeft和BlockRight指示當前考慮用于傳送的各塊的左和右地址。
      以上注釋的變量適當數(shù)值的表示例子如下對于打印緩沖器A和B長度為8英寸,1/2英寸小數(shù)據(jù)塊長度,21/2英寸打印頭A和B之間的間隙,752列位移緩沖器區(qū)域,以及32列噴嘴偏移長度。當前掃描區(qū)域和下次掃描區(qū)域的長度依賴于打印的實際數(shù)據(jù)。例如,參見圖43-7給出的例子,當前掃描打印數(shù)據(jù)的長度大約為3英寸,而下次掃描區(qū)域的長度為8英寸。
      現(xiàn)在參照圖44C到44J的流程圖,給出由打印機驅(qū)動程序114根據(jù)由主處理器23中的CPU 100執(zhí)行的存儲的程序指令序列所進行的處理的詳細說明。
      在步驟S4401起始,從主處理器23到打印機30的命令設(shè)置下次掃描方向(前向或逆向),并在步驟S4402定義當前掃描的打印數(shù)據(jù)的邊緣。打印緩沖器A中打印數(shù)據(jù)的左邊緣EdgeL_A設(shè)置為EdgeL_Ac(當前掃描打印數(shù)據(jù)的左邊緣)-噴嘴偏移長度。打印緩沖器A中打印數(shù)據(jù)的右邊緣EdgeR_A設(shè)置為EdgeR_Ac(當前掃描打印數(shù)據(jù)的右邊緣)+噴嘴偏移長度。打印緩沖器B中打印數(shù)據(jù)的左邊緣EdgeL_B設(shè)置為EdgeL_Bc(當前掃描打印數(shù)據(jù)的左邊緣)-噴嘴偏移長度。打印緩沖器B中打印數(shù)據(jù)的右邊緣EdgeR_B設(shè)置為EdgeR_Bc(當前掃描打印數(shù)據(jù)的右邊緣)+噴嘴偏移長度。如上所述,噴嘴偏移長度對應(yīng)于打印緩沖器中用于對應(yīng)于打印頭上噴嘴的傾斜的區(qū)域的存儲單元。
      在步驟S4404,打印機驅(qū)動程序114決定當前掃描是前向還是逆向。對于前向打印,流程進到確定下次掃描打印方向的步驟S4405。如果步驟S4405確定下次掃描的打印方向為逆向,則在步驟S4406通過添加對應(yīng)于在提升期間要被填充的每一打印緩沖器的存儲單元的位移區(qū)域的長度而調(diào)整邊緣EdgeL_A,EdgeL_B,EdgeR_A,EdgeR_B。
      步驟S4407到S4416對每一打印頭4330A和4330B確定,下次掃描的左邊緣是否小于當前掃描的左邊緣(意即在打印緩沖器的左邊緣存在空區(qū)域),如果是這樣,則從打印數(shù)據(jù)存儲器4335A和/或4335B向打印緩沖器4320A和/或4320B傳送用于下次掃描的打印數(shù)據(jù),以便在當前打印是前向時填充包含位移區(qū)域的緩沖器的左側(cè)。在步驟S4407到S4411對于左邊緣數(shù)據(jù)傳送處理打印緩沖器4320A。當確定用于下次掃描的打印數(shù)據(jù)的左邊緣EdgeL_An小于對應(yīng)于當前掃描的EdgeL_A時,則向打印機30發(fā)送塊選擇命令[BLOCK]和數(shù)據(jù)命令[DATA]。塊選擇命令與EdgeL_An(即下次掃描的左邊緣)的塊左邊緣地址及EdgeR_A-1(即當前掃描的左邊緣-1)的塊右邊緣地址一同發(fā)送。然后下次掃描EdgeL_An的左邊緣復位為Edge_A(S4411)。然后流前進對于左邊緣數(shù)據(jù)傳送可能性處理緩沖器4320B。
      應(yīng)當指出,圖44C和44D中的所有步驟是這樣設(shè)計的,使得打印機驅(qū)動程序114能夠確定打印機30的打印緩沖器中哪一個單元為空,并向這些空單元傳送數(shù)據(jù)。因而未必打印機30將發(fā)出指示打印機30沒有準備好接收數(shù)據(jù)的忙信號。然而,如果打印機30發(fā)出了忙信號(例如可能涉及諸如打印頭清洗等非打印操作),然后打印機驅(qū)動程序114停止傳送數(shù)據(jù),直到忙信號清除且打印機30再次準備好接收數(shù)據(jù)。
      然后在步驟S4412到S4416對于左邊緣數(shù)據(jù)傳送處理打印緩沖器4320B。當確定用于下次掃描的打印數(shù)據(jù)的左邊緣EdgeL_Bn小于對當前掃描設(shè)置的EdgeL_B時,則向打印機30發(fā)送塊選擇命令[BLOCK]和數(shù)據(jù)命令[DATA]。塊選擇命令與EdgeL_Bn(即下次掃描的左邊緣)的塊左邊緣地址及EdgeR_B-1(即當前掃描的左邊緣-1)的塊右邊緣地址一同發(fā)送。然后下次掃描的左邊緣EdgeL_Bn復位為Edge_B(S4416)。
      步驟S4417到S4426對每一打印頭4330A和4330B確定,下次掃描的右邊緣是否大于當前掃描的右邊緣(意即在打印緩沖器的右邊緣存在空區(qū)域),如果是這樣,則從打印數(shù)據(jù)存儲器4335A和/或4335B向打印緩沖器4320A和/或4320B傳送用于下次掃描的打印數(shù)據(jù),以便在當前打印是前向時填充緩沖器的右側(cè)。在步驟S4417到S4421對于右邊緣的數(shù)據(jù)傳送處理打印緩沖器4320A。當確定用于下次掃描的打印數(shù)據(jù)的右邊緣EdgeTR_An大于EdgeR_A時,則向打印機30發(fā)送塊選擇命令[BLOCK]和數(shù)據(jù)命令[DATA]。塊選擇命令與EdgeR_A+1(即當前掃描的右邊緣+1)的塊左邊緣地址及EdgeR_An(即下次掃描的右邊緣)的塊右邊緣地址一同發(fā)送。然后下次掃描的塊右邊緣EdgeR_An復位為EdgeR_A(S4421)。然后流前進對于右邊緣數(shù)據(jù)傳送可用性處理緩沖器4320B。
      然后在步驟S4425到S4426對于右邊緣數(shù)據(jù)傳送處理打印緩沖器4320B。當確定用于下次掃描的打印數(shù)據(jù)的右邊緣EdgeR_Bn大于對當前掃描設(shè)置的EdgeR_B時,則向打印機30發(fā)送塊選擇命令[BLOCK]和數(shù)據(jù)命令[DATA]。塊選擇命令與EdgeL_B+1(即下次掃描的右邊緣)的塊左邊緣地址及EdgeR_Bn(即下次掃描的右邊緣)的塊右邊緣地址一同發(fā)送。然后下次掃描的右邊緣EdgeR_Bn復位為EdgeR_B(S4426)。
      步驟S4405到S4426的上述操作在打印頭4330A和4330B的提升周期期間和之前執(zhí)行。根據(jù)本發(fā)明,確定打印緩沖器4320A和4320B中是否有空存儲單元,及在緩沖器的打印位置當前掃描之前打印數(shù)據(jù)是否從主處理器23發(fā)送到各打印緩沖器。
      步驟S4427到S4435示出在根據(jù)步驟S4405到S4426數(shù)據(jù)傳送之后在當前掃描期間打印數(shù)據(jù)的傳送。與打印數(shù)據(jù)傳送的速度有關(guān),如果在步驟S4405到S4426中的數(shù)據(jù)傳送是在提升周期結(jié)束之前完成的,則這些步驟的部分可能實際上在提升周期期間執(zhí)行。這些步驟確定,是否只在緩沖器4320A,還是只在緩沖器4320B中,或是在兩個緩沖器4320A和4320B中都有重疊數(shù)據(jù)。在兩個緩沖器4320A和4320B中都有重疊的情形下,這些步驟進一步確定緩沖器4320A的數(shù)據(jù)是否應(yīng)當先于緩沖器4320B的數(shù)據(jù),或者相反。
      當由打印機驅(qū)動程序114傳送的數(shù)據(jù)和打印機緩沖器136中未打印的數(shù)據(jù)之間可能有重疊時,執(zhí)行圖44E和44F所示的步驟。于是,由打印機驅(qū)動程序114傳送數(shù)據(jù)是以來自打印機30的忙信號為條件的。如果有忙信號,則打印機驅(qū)動程序114停止數(shù)據(jù)的傳送,直到忙信號清除且打印機30再次準備接收新的打印數(shù)據(jù)。
      這樣,在步驟S4427和S4429中,打印機驅(qū)動程序114檢測是否用于下次掃描的EdgeL_An小于用于下次掃描的EdgeR_An,但是用于下次掃描的EdgeL_Bn不小于用于下次掃描的EdgeR_Bn。如果這些條件滿足,則只在4320A中有重疊的數(shù)據(jù)。于是,從塊的左塊地址到右塊地址向打印緩沖器4320A發(fā)送一個預定的小的打印數(shù)據(jù)塊(步驟S4431;參見圖44G)。然后重新進入步驟S4427以便傳送下一個小塊傳送的打印數(shù)據(jù)。
      在步驟S4427和S4432中,打印機驅(qū)動程序114檢測是否用于下次掃描的EdgeL_An不小于用于下次掃描的EdgeR_An,但是用于下次掃描的EdgeL_Bn小于用于下次掃描的EdgeR_Bn。如果這些條件滿足,則只在4320B中有重疊的數(shù)據(jù)。于是,從塊的左塊地址到右塊地址向打印緩沖器4320A發(fā)送一個預定的小的打印數(shù)據(jù)塊(步驟S4434;參見圖44H)。然后重新進入步驟S4427以便傳送下一個小塊傳送的打印數(shù)據(jù)。
      在步驟S4427和S4429中,打印機驅(qū)動程序114還檢測是否用于下次掃描的EdgeL_An小于用于下次掃描的EdgeR_An,并且用于下次掃描的EdgeL_Bn小于用于下次掃描的EdgeR_Bn。如果這些條件滿足,則在兩個緩沖器4320A和4320B中都有重疊的數(shù)據(jù)。然后,步驟S4430確定緩沖器S4320A的數(shù)據(jù)是否先于緩沖器4320B的數(shù)據(jù),或反過來。
      具體來說,步驟S4430確定EdgeL_Bn是否大于或等于EdgeL_An+打印頭4330A和4330B之間的間隙。如果是這樣,則用于緩沖器4320A的數(shù)據(jù)先于用于緩沖器4320B的數(shù)據(jù)。于是,一個小的用于打印緩沖器4320A的預定的打印數(shù)據(jù)塊從主處理器23的打印數(shù)據(jù)存儲器136發(fā)送到打印緩沖器4320A(步驟S4431)。另一方面,在步驟S4430中的“否”判定指示著用于緩沖器S4320B的數(shù)據(jù)先于用于緩沖器4320A的數(shù)據(jù)。于是,一個小的用于打印緩沖器4320B的預定的打印數(shù)據(jù)塊從主處理器23的打印數(shù)據(jù)存儲器136發(fā)送到打印緩沖器4320B(步驟S4434),且控制返回步驟S4427。
      當在步驟S4427和S4432中判定EdgeL_An不小于EdgeR_An且EdgeL_Bn不小于EdgeR_Bn時,則數(shù)據(jù)傳送完成且在步驟S4435,向打印機30發(fā)送用于下個掃描線的打印命令[PRINT]。
      再來參見圖44C,當步驟S4404判定當前掃描是逆向的,則步驟S4445判定下次掃描的打印方向。如果步驟S4445確定下次掃描為前向,則在步驟S4446通過減去在提升周期期間要被填充的每一打印緩沖器的存儲單元的位移區(qū)域的長度而調(diào)整邊緣EdgeL_A,EdgeL_B,EdgeR_A,EdgeR_B。
      步驟S4447到S4466對每一打印頭4330A和4330B確定,下次掃描的右邊緣是否大于當前掃描的右邊緣(意即在打印緩沖器的右邊緣存在空區(qū)域),如果是這樣,則從打印數(shù)據(jù)存儲器4325A和/或4325B向打印緩沖器4320A和/或4320B傳送用于下次掃描的打印數(shù)據(jù),以便在當前打印是逆向時填充包含位移區(qū)域的緩沖器4320A和/或4320B的右側(cè)。在步驟S4447到S4451對于右邊緣數(shù)據(jù)傳送處理打印緩沖器4320A。當確定用于下次掃描的打印數(shù)據(jù)的右邊緣EdgeR_An大于對應(yīng)于當前掃描的EdgeR_A時(步驟S4447),則向打印機30發(fā)送塊選擇命令[BLOCK]和數(shù)據(jù)命令[DATA]。塊選擇命令與EdgeR_A+1(即當前掃描的右邊緣+1)的塊左邊緣地址及EdgeR_An(即下次掃描的右邊緣)的塊右邊緣地址一同發(fā)送。然后下次掃描的右邊緣EdgeR_An復位為EdgeR_A(S4451)。
      然后在步驟S4452到S4456對于右邊緣數(shù)據(jù)傳送處理打印緩沖器4320B。當確定用于下次掃描的打印數(shù)據(jù)的右邊緣EdgeR_Bn大于對應(yīng)于當前掃描的EdgeR_B時,則向打印機30發(fā)送塊選擇命令[BLOCK]和數(shù)據(jù)命令[DATA]。塊選擇命令與EdgeR_B+1(即當前掃描的右邊緣+1)的塊左邊緣地址及EdgeR_Bn(即下次掃描的右邊緣)的塊右邊緣地址一同發(fā)送。然后下次掃描的右邊緣EdgeR_Bn復位為EdgeR_B(S4456)。
      步驟S4459到S4456對每一打印頭4330A和4330B確定,下次掃描的左邊緣是否小于當前掃描的左邊緣(意即在打印數(shù)據(jù)存儲器4325A和/或4325B到打印緩沖器4320A和/或4320B的左邊緣存在空區(qū)域),以便在當前打印是逆向時填充緩沖器4320A和/或4320B的左側(cè)。在步驟S4457到S4461對于左邊緣打印數(shù)據(jù)傳送處理打印緩沖器A。當確定用于下次掃描的打印數(shù)據(jù)的左邊緣EdgeL_An小于對應(yīng)于當前掃描的EdgeL_A時(步驟S4457),則向打印機30發(fā)送塊選擇命令[BLOCK]和數(shù)據(jù)命令[DATA]。塊選擇命令與EdgeL_An(即下次掃描的左邊緣)的塊左邊緣地址及EdgeL_A-1(即當前掃描的左邊緣-1)的塊右邊緣地址一同發(fā)送。然后下次掃描的塊左邊緣EdgeL_An復位為EdgeL_A(S4461)。
      然后在步驟S4462到S4466對于左邊緣打印數(shù)據(jù)傳送處理打印緩沖器4320B。當確定用于下次掃描的打印數(shù)據(jù)的左邊緣EdgeL_Bn小于對應(yīng)于當前掃描的EdgeL_B時,則向打印機30發(fā)送塊選擇命令[BLOCK]和數(shù)據(jù)命令[DATA]。塊選擇命令與EdgeL_Bn(即下次掃描的左邊緣)的塊左邊緣地址及EdgeR_B-1(即當前掃描的左邊緣-1)的塊右邊緣地址一同發(fā)送。然后下次掃描的左邊緣EdgeL_Bn復位為EdgeL_B(S4466)。
      上述步驟在打印頭4330A和4330B的提升期間和之前執(zhí)行。步驟S4467到S4475示出在根據(jù)步驟S4445到S4466數(shù)據(jù)傳送之后在當前掃描期間數(shù)據(jù)的處理。與打印數(shù)據(jù)傳送的速度有關(guān),如果在步驟S4445到S4466中的數(shù)據(jù)傳送是在提升周期末尾之前完成的,則這些步驟的部分可能實際上在提升周期期間執(zhí)行。這些步驟確定,是否只在緩沖器4320A,還是只在緩沖器4320B中,或是在兩個緩沖器4320A和4320B中都有重疊數(shù)據(jù)。在兩個緩沖器4320A和4320B中都有重疊的情形下,這些步驟進一步確定緩沖器4320A的數(shù)據(jù)是否應(yīng)當先于緩沖器4320B的數(shù)據(jù),或者相反。
      這樣,在步驟S4467和S4469中,打印機驅(qū)動程序114檢測是否用于下次掃描的EdgeL_An小于用于下次掃描的EdgeR_An,而用于下次掃描的EdgeL_Bn不小于用于下次掃描的EdgeR_Bn。如果這些條件滿足,則只在4320A中有重疊的數(shù)據(jù)。于是,從塊的左塊地址到右塊地址向打印緩沖器4320A發(fā)送一個預定的小的打印數(shù)據(jù)塊(步驟S4471;參見圖44I)。然后重新進入步驟S4467以便傳送下一個小塊傳送的打印數(shù)據(jù)。
      在步驟S4467和S4472中,打印機驅(qū)動程序114檢測是否用于下次掃描的EdgeL_An不小于用于下次掃描的EdgeR_An,而用于下次掃描的EdgeL_Bn小于用于下次掃描的EdgeR_Bn。如果這些條件滿足,則只在4320B中有重疊的數(shù)據(jù)。于是,從塊的左到右地址向打印緩沖器4320B發(fā)送一個預定的小的打印數(shù)據(jù)塊(步驟S4474;參見圖44J)。然后重新進入步驟S4467以便傳送下一個小塊傳送的打印數(shù)據(jù)。
      在步驟S4467和S4469中,打印機驅(qū)動程序114還檢測是否用于下次掃描的EdgeL_An小于用于下次掃描的EdgeR_An,并且用于下次掃描的EdgeL_Bn小于用于下次掃描的EdgeR_Bn。如果這些條件滿足,則在兩個緩沖器4320A和4320B中都有重疊的數(shù)據(jù)。然后,步驟S4470確定用于緩沖器S4320A的數(shù)據(jù)是否先于用于緩沖器4320B的數(shù)據(jù),或反過來。
      具體來說,步驟S4470確定EdgeR_Bn減去打印頭4330A和4330B之間的間隙是否小于或等于EdgeR_An。如果是這樣,則用于緩沖器4320A的數(shù)據(jù)先于用于緩沖器4320B的數(shù)據(jù)。于是,一個小的用于打印緩沖器4320A的預定的打印數(shù)據(jù)塊從主處理器23的打印數(shù)據(jù)存儲器136發(fā)送到打印緩沖器4320A(步驟S4471)。如果在步驟S4470中獲得“否”判定,則用于緩沖器4320B的數(shù)據(jù)先于用于緩沖器4320A的數(shù)據(jù)。于是,一個小的用于打印緩沖器4320B的預定的打印數(shù)據(jù)塊從主處理器23的打印數(shù)據(jù)存儲器136發(fā)送到打印緩沖器4320B(步驟S4474),且控制返回步驟S4467。
      當在步驟S4467和S4472中判定EdgeL_An不小于EdgeR_An且EdgeL_Bn不小于EdgeR_Bn時,則數(shù)據(jù)傳送完成且在步驟S4475向打印機30發(fā)送用于下個掃描線的打印命令[PRINT]。
      圖44G和44H表示對于緩沖器4320A和4320B的用于左塊到右塊定址打印數(shù)據(jù)傳送的圖44E中步驟S4431和S4434的詳細流程圖。對于打印緩沖器4320A參見圖44G,在步驟S4476設(shè)置EdgeL_A為用于下次掃描的EdgeL_An加上預定的小塊長度。然后進入步驟S4477,其中判定用于下次掃描的EdgeR_An是否小于EdgeL_A。如果“是”,則塊命令與EdgeL_An的左塊地址和EdgeR_An的右塊地址一同向打印緩沖器4320A發(fā)送(步驟S4478),這樣定址的打印數(shù)據(jù)發(fā)送到打印緩沖器4320A(步驟S4479),且下次掃描的打印數(shù)據(jù)的左邊緣EdgeL_An設(shè)置為EdgeR_An(S4480)。如果在步驟S4477為“否”,則塊命令與EdgeL_An的左塊地址和EdgeR_A-1的右塊地址一同向打印緩沖器4320A發(fā)送(步驟S4481),這樣定址的打印數(shù)據(jù)發(fā)送到打印緩沖器4320A(步驟S4482),且下次掃描的打印數(shù)據(jù)的左邊緣EdgeL_An設(shè)置為EdgeL_A(S4483)。
      圖44H表示對于緩沖器4320B用于左塊到右塊定址打印數(shù)據(jù)傳送的圖44E的步驟S4434的詳細流程圖。參見圖44H,在步驟S4486設(shè)置EdgeL_B為用于下次掃描的EdgeL_Bn加上預定的小塊長度。然后進入步驟S4477,其中判定用于下次掃描的EdgeR_Bn是否小于EdgeL_B。如果“是”,則塊命令與EdgeL_Bn的左塊地址和EdgeR_Bn的右塊地址一同向打印緩沖器4320B發(fā)送(步驟S4488),這樣定址的打印數(shù)據(jù)發(fā)送到打印緩沖器4320B(步驟S4489),且下次掃描的打印數(shù)據(jù)的左邊緣EdgeL_Bn設(shè)置為EdgeR_Bn(S4490)。如果在步驟S4487為“否”,則塊命令與EdgeL_Bn的左塊地址和EdgeR_B-1的右塊地址一同向打印緩沖器4320B發(fā)送(步驟S4491),這樣定址的打印數(shù)據(jù)發(fā)送到打印緩沖器4320B(步驟S4492),且下次掃描的打印數(shù)據(jù)的左邊緣EdgeL_Bn設(shè)置為EdgeL_B(S4493)。
      圖44I和44J表示對于緩沖器4320A用于右塊到左塊定址打印數(shù)據(jù)傳送的圖44F的步驟S4471和S4474的詳細流程圖。對于打印緩沖器4320A參見圖44I,在步驟S4506設(shè)置EdgeR_A為用于下次掃描的EdgeR_An減去預定的小塊長度。然后進入步驟S4507,其中判定用于下次掃描的EdgeL_An是否小于EdgeR_A。如果“是”,則塊命令與EdgeL_An的左塊地址和EdgeR_An的右塊地址一同向打印緩沖器4320A發(fā)送(步驟S4508),這樣定址的打印數(shù)據(jù)發(fā)送到打印緩沖器4320A(步驟S4509),且下次掃描的打印數(shù)據(jù)的右邊緣EdgeR_An設(shè)置為EdgeL_An(S4510)。如果在步驟S4507為“否”,則塊命令與EdgeR_A+1的左塊地址和EdgeR_An的右塊地址一同向打印緩沖器4320A發(fā)送(步驟S4511),這樣定址的打印數(shù)據(jù)發(fā)送到打印緩沖器4320A(步驟S4512),且下次掃描的打印數(shù)據(jù)的右邊緣EdgeR_An設(shè)置為EdgeR_A(S4513)。
      圖44J表示對于緩沖器4320B用于右塊到左塊定址打印數(shù)據(jù)傳送的圖44F的步驟S4474的詳細流程圖。參見圖44J,在步驟S4516設(shè)置EdgeR_B為用于下次掃描的EdgeR_Bn減去預定的小塊長度。然后進入步驟S4517,其中判定用于下次掃描的EdgeL_Bn是否小于EdgeR_B。如果“是”,則塊命令與EdgeL_Bn的左塊地址和EdgeR_Bn的右塊地址一同向打印緩沖器4320B發(fā)送(步驟S4518),這樣定址的打印數(shù)據(jù)發(fā)送到打印緩沖器4320B(步驟S4519),且EdgeR_Bn設(shè)置為EdgeL_Bn(S4520)。如果在步驟S4517為“否”,則塊命令與EdgeR_B+1的左塊地址和EdgeR_Bn的右塊地址一同向打印緩沖器4320B發(fā)送(步驟S4521),這樣定址的打印數(shù)據(jù)發(fā)送到打印緩沖器4320B(步驟S4522),且下次掃描的打印數(shù)據(jù)的右邊緣EdgeR_Bn設(shè)置為EdgeR_B(S4523)。
      圖44K到44M是表示打印機30中用于打印數(shù)據(jù)傳送的處理的流程圖,這些流程圖對應(yīng)于在打印機30的ROM122中駐留的存儲的計算機可執(zhí)行程序代碼。一般來說,這些步驟對于打印機操作提供了以下功能(1)當當前掃描的打印開始時,打印機監(jiān)視滑架的位置和滑架運動的位置;(2)如果收到的塊的右邊緣小于當前掃描的左邊緣,則立即把數(shù)據(jù)塊放到打印機緩沖器。如果收到的塊的左邊緣大于當前掃描的右邊緣,則立即把數(shù)據(jù)塊放到打印機緩沖器;(3)如果由打印機驅(qū)動程序規(guī)定的塊重疊到當前掃描的打印區(qū)域上,則發(fā)出忙信號以便引起打印機驅(qū)動程序等待到規(guī)定的塊完全變?yōu)榭?。如果由打印機驅(qū)動程序規(guī)定的塊完全變空,則把數(shù)據(jù)塊放到打印機緩沖器并解除任何忙信號以便向打印機驅(qū)動程序表示打印機準備好接收數(shù)據(jù);(4)如果當前掃描是前向的,則打印機打印位移的緩沖器。如果當前掃描是逆向的,則打印機打印非位移的緩沖器。參見圖44K,當在步驟S4544收到來自打印機驅(qū)動程序114的命令時,判定步驟S4545,S4548,S4550,S4553及由虛線表示的其它判定步驟被順序執(zhí)行。如果在步驟S4545判定收到的命令為方向命令,則接收下次掃描方向(即前向或逆向)(步驟S4546),設(shè)置當前掃描方向和下次掃描方向(S4547)且控制進到步驟S4548。當在步驟S4548檢測到在步驟S4544收到的命令為塊命令時,則執(zhí)行步驟S4549的塊地址處理。以下將參照圖44L和44M更為詳細地說明塊地址處理。
      當在步驟S4550判斷出在步驟S4544收到的命令是數(shù)據(jù)命令時,在步驟S4551收到的打印數(shù)據(jù)輸入到指定的打印緩沖器(步驟S4552),且控制進到步驟S4553,在此判斷在步驟S4554收到的命令是否為打印命令。如果在步驟S4553為“是”,則在步驟S4554判斷當前掃描方向是否設(shè)置為前向。當設(shè)置的當前掃描方向為前向時,則從指定的對應(yīng)于位移區(qū)域之后打印頭的第一打印位置的打印緩沖器的頂端到指定的打印緩沖器的相對端執(zhí)行打印(步S4555)。對于逆向掃描,從對應(yīng)于打印頭最后打印位置的打印緩沖器的另一端到指定的打印緩沖器的頂端執(zhí)行打印。然后控制返回步驟S4544等待來自打印機驅(qū)動程序114的另一命令。
      圖44L和44M較詳細示出圖44K的步驟S4549的塊地址處理過程。參見圖44L,在步驟S4534接收塊命令中的塊左地址和塊右地址,并在步驟S4535確定當前掃描的打印數(shù)據(jù)是否保留在指定的打印緩沖器。如果在步驟S4535打印緩沖器沒有保留當前掃描的打印數(shù)據(jù),則控制進到圖44K中的步驟S4550以判斷是否已經(jīng)收到數(shù)據(jù)命令。否則,在步驟S4536判斷指定的打印緩沖器是打印緩沖器A還是打印緩沖器B,在步驟S4537和S4538之一適當設(shè)置變量X為A或B,且控制進到步驟S4539。在步驟S4539,指定的打印緩沖器X的左邊緣EdgeL_X設(shè)置為EdgeL_Xc(即指定緩沖器中用于當前掃描的打印數(shù)據(jù)的左邊緣)減去不能發(fā)生打印的噴嘴偏移長度。指定的打印緩沖器的右邊緣EdgeR_X設(shè)置為EdgeR_Xc(即指定緩沖器中用于當前掃描的打印數(shù)據(jù)的右邊緣)加上不能發(fā)生打印的噴嘴偏移長度。然后控制進到檢驗當前掃描方向的步驟S4540。
      當在步驟S4540當前掃描方向為前向時,設(shè)置指定的打印緩沖器的左和右邊緣提供下次掃描的打印數(shù)據(jù)的位移。于是,在步驟S4541將左邊緣EdgeL_X設(shè)置為EdgeL_X加上位移區(qū)域長度,且將右邊緣EdgeR_X設(shè)置為EdgeR_X加上位移區(qū)域長度。在當前掃描方向為逆向時,由于在打印緩沖器的底端沒有預先定義的位移區(qū)域,故不需要調(diào)節(jié)。在步驟S4542檢驗下一個掃描方向。如果在步驟S4542掃描方向為前向,則執(zhí)行步驟S4543,其中將塊左和塊右地址BlockLeft和BlockRight分別設(shè)置為BlockLeft加上位移區(qū)域長度和BlockRight加上位移區(qū)域長度,從而當插入到指定的打印緩沖器X時偏移下次掃描打印數(shù)據(jù)。
      然后通過連接線10-11從步驟S4543進入圖44M的步驟S4525。在判斷步驟S4525和S4526,判斷BlockRight地址是否小于EdgeL_X(即打印緩沖器X中打印數(shù)據(jù)的左邊緣),或BlockLeft地址是否大于EdgeR_X(即打印緩沖器X中打印數(shù)據(jù)的右邊緣)。如果這兩個條件之一為真,則要傳送到打印緩沖器的下次掃描的打印數(shù)據(jù)塊在包含打印數(shù)據(jù)的打印緩沖器X的區(qū)域之外,于是能夠立即進行傳送,且控制返回用于數(shù)據(jù)命令處理的圖44K的步驟S4550。
      當在兩個步驟S4525和S4526中的判斷都為“否”時,則在打印緩沖器X中下次掃描打印數(shù)據(jù)與當前掃描打印數(shù)據(jù)有重疊,且進入步驟S4527,在此判斷當前掃描方向是否為前向。如果在步驟S4527判斷為“是”,則判斷BlockRight地址是否小于或等于EdgeR_X(S4528)。響應(yīng)步驟S4528的“是”判斷,推遲返回圖44K用于數(shù)據(jù)命令的步驟S4550,直到BlockRight地址小于與打印緩沖器X相關(guān)的打印頭的位置HeadPos_X(步驟S4529),以便保證向打印緩沖器X的空區(qū)域插入塊打印數(shù)據(jù)。響應(yīng)步驟S4528的“否”判斷,推遲返回圖44K的步驟S4550,直到對于打印緩沖器X的打印頭結(jié)束打印當前打印位置(步驟S4530)。
      響應(yīng)步驟S4527中的逆向當前掃描,進入步驟S4531,在該步驟中判斷BlockLeft地址是否大于或等于EdgeL_X(步驟S4531)。響應(yīng)步驟S4531中的“是”判斷,推遲返回圖44K的步驟S4550,直到BloclLeft地址大于HeadPos_X(步驟S4532),以便保證向打印緩沖器X的空區(qū)域插入塊打印數(shù)據(jù)。響應(yīng)步驟S4531的“否”判斷,推遲返回圖44K的步驟S4550,直到對于打印緩沖器X的打印頭結(jié)束打印當前打印位置(步驟S4533)。
      根據(jù)本發(fā)明,在當前掃描期間從主處理器23到打印緩沖器139用于下次掃描的打印數(shù)據(jù)的傳送避免了需要與打印緩沖器139同樣大小的分開的接收緩沖器,并增加了打印數(shù)據(jù)的傳送效率。此外,位移區(qū)域的大小不是固定的,而是由[DEFINE_BUF]命令對于每一打印任務(wù)設(shè)置的,于是可以根據(jù)打印機30的存儲容量選擇位移區(qū)域的大小。
      此外,打印機緩沖器位移區(qū)域技術(shù)能夠適用于任何頂端處理器之間的任何數(shù)據(jù)傳送。圖44N在850示出這里所描述的實施例,其中位移緩沖器技術(shù)用于在打印機驅(qū)動程序和打印機控制器之間傳送打印數(shù)據(jù)。860示出位移緩沖器技術(shù)還能夠適用于在打印機控制器和打印引擎之間傳送打印數(shù)據(jù)。
      10.0多打印頭以不同分辨率打印因為打印機30具有多個打印頭,并因為影響分辨率的命令向每一打印頭分別發(fā)送的軟件體系結(jié)構(gòu),打印機30能夠打印并能夠被控制以便對每一個打印頭以不同分辨率打印,于是在對一頁的打印數(shù)據(jù)包括希望把高分辨率與適宜低分辨率的打印數(shù)據(jù)混合的打印信息的情形下提高整體打印效率。
      一般來說,本節(jié)描述了對具有至少第一和第二打印頭的打印機的控制,使得第一和第二打印頭的分辨率彼此獨立地控制。如以上1.0節(jié)所述,打印機30包含分別標記為130a和130b的兩個噴墨打印頭A和B;并如同3.0節(jié)所述軟件體系結(jié)構(gòu)包括從主處理器23發(fā)送的影響打印分辨率的命令。通過從主處理器23向打印機30中的打印緩沖器139傳送圖象數(shù)據(jù)(使用[DATA]命令)、并繼而傳送打印執(zhí)行命令[PRINT]而實現(xiàn)打印。對打印分辨率的控制通過傳送改變墨滴大小的命令([DROP]命令)、選擇打印速度的命令([SPEED]命令)、選擇噴嘴發(fā)射順序的命令([SELECT_PULSE])、及選擇用于從打印機緩沖器139讀出圖象數(shù)據(jù)的讀出順序的命令([SELECT_CONTROL]命令)而實現(xiàn)。
      每一打印頭打印的分辨率可由用戶人工輸入確定,或例如基于對打印頭130a和130b的相關(guān)頭結(jié)構(gòu)、打印數(shù)據(jù)的內(nèi)容、及記錄(或打印)介質(zhì)的類型而自動地確定。打印機驅(qū)動程序114中的用戶接口是為此目的提供的。
      從打印機觀點來說,打印機30接收命令對每一打印頭130a和130b獨立設(shè)置分辨率,并以選擇的分辨率實現(xiàn)打印輸出。
      圖45用來解釋對每一不同的打印頭以不同的分辨率打印輸出的好處。圖45中,400代表包含不同類型的混合打印信息的記錄介質(zhì)上的打印頁。區(qū)域402a、402b、402c和402d是主要由黑色和白色區(qū)域構(gòu)成的需要適當?shù)头直媛实奈谋緟^(qū)域。另一方面區(qū)域404表示需要高分辨率的非文本區(qū)域,諸如彩色圖象、圖形或線圖。這樣,如圖45中可見,打印輸出400由混合打印信息組成,其中一些需要以高分辨率打印,而其它需要低分辨率。打印信息在單一記錄介質(zhì)401上混合,并在某些情形下,諸如區(qū)域404和402b,在越過打印機30的掃描方向水平打印帶上混合。
      405是區(qū)域402a的部分的放大圖示。放大的圖示405描繪了配置不同的打印頭130a和130b。具體來說,打印頭130a包括垂直排布的黃色、品紅色、青色和黑色打印噴嘴,有24個黃色噴嘴、24個品紅色噴嘴、24個青色噴嘴及64個黑色噴嘴。打印頭130b包括128個全都是黑色的打印噴嘴。這樣,打印頭130a和130b在設(shè)置上是不同的,打印頭130a適于打印高分辨率彩色圖象,而打印頭130b只適于打印黑白圖象。當然,打印頭130a和130b其它的配置也是可能的,其結(jié)果的情形是一個打印頭適于高分辨率圖象,而另一個適于打印較低分辨率的圖象。
      因為區(qū)域402a是分辨率要求低的文本區(qū)域,故區(qū)域402的打印由打印頭130b實現(xiàn)。這種安排示于405處,其中出自打印頭130b的一個帶406以剖線強調(diào)示出。為了以這一分辨率打印,命令打印機30把打印頭130b置于大的墨滴噴射模式,并根據(jù)打印頭130b的設(shè)置且根據(jù)所選擇的分辨率,選擇打印數(shù)據(jù)從打印緩沖器139讀出的順序。
      與區(qū)域402a相反,區(qū)域404是需要高分辨率打印輸出的區(qū)域。這種情形在407處放大的區(qū)域描繪,該圖示出由打印頭130a只在帶409的打印輸出。如以下參照圖45A的流程圖更充分的說明那樣,為了實現(xiàn)在409處所示的帶的打印輸出,命令打印頭130a以小的墨滴噴墨,并根據(jù)打印頭130a的頭設(shè)置及所選擇的分辨率來選擇從打印緩沖器139數(shù)據(jù)讀出的順序。
      為了打印象402b這樣的、在打印頭130a和130b越過記錄介質(zhì)401的橫向掃描方向上混合的區(qū)域,采用兩步過程。在一步,由打印頭130a打印如409那樣的相繼的帶。被打印的相繼的帶的數(shù)目對應(yīng)于對于打印頭130a的帶中的打印噴嘴數(shù)目與對于打印頭130b的帶中的打印噴嘴數(shù)目之間的比率。在另一步,在區(qū)域402b中實現(xiàn)來自打印頭130b的單次通過。借助于這種兩步過程,能夠在單一方向上連續(xù)使記錄介質(zhì)401前向推進,而無需逆向給進,從而實現(xiàn)了區(qū)域402b的打印輸出。
      圖45A是表示由主處理器23中的打印機驅(qū)動程序114執(zhí)行的處理步驟的流程圖,以便獨立控制每一打印頭的打印分辨率,并命令以此實現(xiàn)打印輸出。一般來說,圖45A所示的處理步驟是存儲的程序指令序列,該序列通過獨立控制每一打印頭墨滴大小、并通過獨立控制從打印緩沖器139對每一打印頭的讀出順序而設(shè)置打印分辨率。
      更具體來說,在步驟S4501,主處理器23的用戶從應(yīng)用程序發(fā)出打印打印數(shù)據(jù)的命令,從而啟動打印機驅(qū)動程序114。打印機驅(qū)動程序114實際上執(zhí)行的功能要遠多于圖45余留部分指示的功能,但只說明與設(shè)置打印分辨率相關(guān)的那些功能。這樣,在步驟S4502,打印機驅(qū)動程序114確定,打印分辨率是否應(yīng)當由打印機驅(qū)動程序114自動指定,或打印分辨率還是應(yīng)當由用戶人工指定。在步驟S4502,向用戶顯示一用戶界面,諸如圖46中所示的典型的用戶界面。如這里所見,當用戶選擇410部分時,該部分提供自動指定打印分辨率。另一方面,當選擇411時,用戶人工指定打印分辨率??蓪Ψ俏谋緢D形以及文本規(guī)定不同的分辨率,用戶能夠?qū)γ恳晃谋竞头俏谋緟^(qū)人工設(shè)定高速(即低分辨率)或高質(zhì)量(即高分辨率)。
      參見圖45,如果選擇了自動指定,則流程分支到打印機驅(qū)動程序144為圖形自動選擇分辨率的步驟S4504,且然后到打印機驅(qū)動程序144為文本自動選擇分辨率的步驟S4505。為圖形和為文本選擇分辨率基于連續(xù)色調(diào)打印數(shù)據(jù),并根據(jù)圖形和其它非圖形信息的存在、文本信息的存在、為打印輸出選擇的記錄介質(zhì)類型、及打印頭130a和130b的打印頭相關(guān)設(shè)置作出。
      然后流程進到步驟S4506,在此打印機驅(qū)動程序判斷是否以人工或自動方式規(guī)定了雙分辨率。如果沒有規(guī)定雙分辨率,則流程分支到步驟S4507對兩個打印頭以一致的分辨率進行打印。另一方面,如果規(guī)定了雙分辨率,則流程分支到步驟S4509,以便獨立控制每一打印頭的打印分辨率并從而實現(xiàn)打印輸出。
      這樣,步驟S4509定義緩沖器控制表,其中一個表可對每一打印頭選擇,按照這表每一打印頭能夠?qū)Υ蛴?shù)據(jù)從其各個打印緩沖器的讀出確定讀出順序。采用哪一個緩沖器控制表的實際選擇直到過程的稍后才實行,而步驟S4509只是對每一分辨率并對每一打印輸出方向定義適當?shù)木彌_器控制表。最好使用上述3.6節(jié)中定義緩沖器控制表的命令[DIFINE_CONTROL]。
      類似地,步驟S4510定義適當?shù)募訜崦}沖表,通過該表對打印頭130a和130b中每一噴嘴控制發(fā)射順序。打印頭130a和130b所使用的實際的加熱脈沖表不在這時選擇,而是為稍后的選擇定義適當?shù)谋?。最好使用上?.6節(jié)中定義加熱脈沖表的命令[DIFINE_PULSE]。
      然后流程進到步驟S4511到S4530,這些步驟(步驟S4520和S4521除外)確定當前打印帶分辨率、設(shè)置諸如噴墨墨滴大小及緩沖器讀出順序等打印控制條件、發(fā)送打印數(shù)據(jù)、及命令打印輸出傳送的打印數(shù)據(jù)。
      更詳細來說,步驟S4511確定一個具體的帶或帶的一部分是為高分辨率還是低分辨率打印輸出。如果帶或帶的一部分為低分辨率打印輸出,則流程分支到為每一打印頭130a和130b設(shè)置適當?shù)膰娔未笮〉牟襟ES4512。使用圖45中的例子,把對于打印頭130b的墨滴大小設(shè)置為大的,而對打印頭130a的墨滴大小設(shè)置為小的。最好使用上述3.6節(jié)中定義的墨滴大小命令[DROP]。
      在步驟S4514,打印機驅(qū)動程序114選擇對應(yīng)于低分辨率的高打印速度。最好使用上述3.6節(jié)中定義的選擇速度命令[SPEED]。
      步驟S4516根據(jù)選擇的低分辨率為打印緩沖器139的讀出順序選擇偏移。具體來說,步驟S4516選擇以上步驟S4509中設(shè)置的緩沖器控制表之一。最好使用上述3.6節(jié)中定義的選擇緩沖器控制表的命令[SELECT_CONTROL]。
      如在上述3.6節(jié)中所述,步驟S4517從打印機驅(qū)動程序114到打印機30通過雙向接口逐塊傳送圖象數(shù)據(jù)。一旦打印數(shù)據(jù)的整個帶傳送到打印機30,打印機驅(qū)動程序114在步驟S4519通過傳送打印執(zhí)行命令[PRINT]啟動帶的打印輸出。然后步驟S4520根據(jù)流程返回步驟S4511還是流程在步驟S4521終止而確定是否需要打印另外的帶。
      返回步驟S4511,如果要傳送并打印打印信息的高分辨率帶,則在打印機驅(qū)動程序114中執(zhí)行步驟S4522到S4530,以便執(zhí)行與S4512到S4519的低分辨率步驟互補的步驟。這樣,步驟S4522設(shè)置小墨滴尺寸,步驟S4525設(shè)置對應(yīng)于高分辨率的低打印速度,步驟S4526選擇高分辨率噴嘴發(fā)射順序,步驟S4527通過選擇預定的緩沖器控制偏移表之一而選擇從打印緩沖器139的讀出順序,步驟S4529逐帶地向打印機30傳送高分辨率圖象數(shù)據(jù),以及步驟S4530啟動已全部傳送的帶的打印輸出。
      根據(jù)第二實施例,打印頭在打印機30的掃描方向按不同的分辨率打印水平打印帶的象素,而無需逆向的頁給進,從而提高了整個打印效率。
      雖然以下參照具有多打印頭的打印機說明這一實施例,應(yīng)當注意,當結(jié)合單打印頭打印使用時以下的實施例還提供了重要的優(yōu)點。
      如上所述,打印頭打印的分辨率可以由用戶手動輸入啟確定,或例如基于打印數(shù)據(jù)的內(nèi)容、記錄介質(zhì)的類型、或在多打印頭系統(tǒng)的情形下打印頭130a和130b相關(guān)的打印頭設(shè)置而自動地確定。
      打印機30最好接收對每一打印頭130a和130b獨立設(shè)置分辨率的命令,并以設(shè)置的分辨率實現(xiàn)打印輸出。
      圖46A是解釋以多分辨率控制打印頭打印輸出的優(yōu)點的示意圖。圖46A中,420表示記錄介質(zhì)421上具有各種打印信息的打印頁面。區(qū)域420a,420b,420c,420d是主要由黑白區(qū)域組成的文本區(qū)域。于是,包含在這些文本區(qū)域中的信息能夠以低分辨率滿意地打印。反之,區(qū)域424是非文本區(qū)域,諸如彩色圖象或圖形或線圖,為此最好要高分辨率。應(yīng)當注意,區(qū)域420b和區(qū)域424位于打印機30的掃描方向中公共的水平打印帶。
      425是區(qū)域420b部分放大的圖示。放大的圖示425描繪了打印頭130a和130b。每一打印頭130a和130b包括垂直排布的黃色、品紅色、青色和黑色打印噴嘴,有24個黃色噴嘴、24個品紅色噴嘴、24個青色噴嘴及64個黑色噴嘴。當然,打印頭130a和130b其它的配置也是可能的。
      因為區(qū)域420b是適于低分辨率文本區(qū)域,故如425處所示,區(qū)域420b的打印以低分辨率/高速模式進行。在區(qū)域425中,由打印頭130a和130b打印一低分辨率帶426,并由剖線條強調(diào)表示。為了以這一分辨率打印,命令打印機30把打印頭130a和130b置于大墨滴噴射模式,并根據(jù)選擇的分辨率來選擇從打印緩沖器139讀出打印數(shù)據(jù)。以下參照圖46B的流程圖更充分地說明這些步驟。
      與區(qū)域420b相反,區(qū)域424是需要高分辨率打印輸出的區(qū)域。這種情形在427處表示由打印頭130a和130b只在帶429處的打印輸出的放大區(qū)域中描繪。如以下參照圖46B的流程圖更充分的說明,為了實現(xiàn)429處所示的帶中的打印輸出,命令打印頭130a和130b以小墨滴噴墨,并根據(jù)選擇的分辨率來選擇從打印緩沖器139讀出數(shù)據(jù)。
      為了打印象420b和424這樣的、在打印頭130a和130b越過記錄介質(zhì)421的橫向掃描方向上混合的區(qū)域,采用兩步過程。在一步,由打印頭130a和130b打印如429那樣的相繼的帶。諸如429被打印的相繼的帶的數(shù)目對應(yīng)于在24這種情形下青色、品紅色、和黃色每一種墨液打印噴嘴的數(shù)目與在64這種情形下對于黑色所使用的打印噴嘴數(shù)目之間的比率。在第二步,實現(xiàn)來自打印頭130a和130b的單次通過,從而打印區(qū)域420b的帶。在第二通過期間,墨液以低分辨率從打印頭130a和130b的黑色噴嘴噴射。借助于這種兩步過程,記錄介質(zhì)420能夠在單一方向上推進,而無需逆向給進,從而實現(xiàn)了區(qū)域420b和424的變化分辨率的打印輸出。
      圖46B是表示由主處理器23中的打印機驅(qū)動程序114執(zhí)行的處理步驟的流程圖,以便控制每一打印頭的打印分辨率,并命令以此實現(xiàn)打印輸出。一般來說,圖46B所示的處理步驟是存儲的程序指令序列,該序列通過控制每一打印頭墨滴大小、并通過控制從打印緩沖器139對每一打印頭的讀出順序而設(shè)置打印分辨率。
      更具體來說,在步驟S4601,主處理器23的用戶從應(yīng)用程序發(fā)出打印打印數(shù)據(jù)的命令,從而啟動打印機驅(qū)動程序114。打印機驅(qū)動程序114實際上執(zhí)行的功能要遠多于圖46余留部分指示的功能,但這里只說明與設(shè)置打印分辨率相關(guān)的那些功能。這樣,在步驟S4602,打印機驅(qū)動程序114確定,打印分辨率是否應(yīng)當由打印機驅(qū)動程序114自動指定,或打印分辨率還是應(yīng)當由用戶人工指定。在步驟S4602,向用戶顯示一用戶界面,諸如圖46中所示的那種典型的用戶界面。如這里所見,當用戶選擇410部分時,該部分提供自動指定打印分辨率。另一方面,當選擇411時,用戶人工指定打印分辨率??蓪Ψ俏谋緢D形以及文本規(guī)定不同的分辨率,用戶能夠?qū)γ恳晃谋竞头俏谋緟^(qū)人工設(shè)定高速(即低分辨率)或高質(zhì)量(即高分辨率)。
      參見圖46B,如果選擇了自動指定,則流程分支到打印機驅(qū)動程序144為圖形自動選擇分辨率的步驟S4604,且然后到打印機驅(qū)動程序144為文本自動選擇分辨率的步驟S4605。為圖形和為文本選擇分辨率基于連續(xù)色調(diào)打印數(shù)據(jù),并根據(jù)圖形和其它非圖形信息的存在、文本信息的存在、為打印輸出選擇的記錄介質(zhì)類型、及打印頭130a和130b的打印頭相關(guān)設(shè)置作出。
      然后流程進到步驟S4606,在此打印機驅(qū)動程序114判斷是否以人工或自動方式規(guī)定了雙分辨率。如果沒有規(guī)定雙分辨率,則流程分支到步驟S4607對兩個打印頭以一致的分辨率進行打印。另一方面,如果規(guī)定了雙分辨率,則流程分支到步驟S4609,以便控制每一打印頭的打印分辨率并從而實現(xiàn)打印輸出。
      這樣,步驟S4609定義緩沖器控制表,其中一個表可對每一打印頭選擇,按照這表每一打印頭能夠?qū)Υ蛴?shù)據(jù)從其各個打印緩沖器的讀出確定讀出順序。采用哪一個緩沖器控制表的實際選擇直到過程的稍后才實行,而步驟S4609只是對每一分辨率并對每一打印輸出方向定義適當?shù)木彌_器控制表。最好使用上述3.6節(jié)中定義緩沖器控制表的命令[DIFINE_CONTROL]。
      類似地,步驟S4610定義適當?shù)募訜崦}沖表,通過該表對打印頭130a和130b中每一噴嘴控制發(fā)射順序。打印頭130a和130b所使用的實際的加熱脈沖表不在這時選擇,而是為稍后的選擇定義適當?shù)谋?。最好使用上?.6節(jié)中定義加熱脈沖表的命令[DIFINE_PULSE]。
      然后流程進到步驟S4611到S4630,這些步驟(步驟S4620和S4621除外)確定當前打印帶分辨率、設(shè)置諸如噴墨墨滴大小及緩沖器讀出順序的打印控制條件、發(fā)送打印數(shù)據(jù)、及命令打印輸出傳送的打印數(shù)據(jù)。
      更詳細來說,步驟S4611確定一個具體的帶或帶的一部分是高分辨率還是低分辨率打印輸出。如果帶或帶的一部分為低分辨率打印輸出,則流程分支到為每一打印頭130a和130b設(shè)置適當?shù)膰娔未笮〉牟襟ES4612。使用圖44中的例子,把對于打印頭130a和130b的墨滴大小設(shè)置為大的。最好使用上述3.6節(jié)中定義的墨滴大小命令[DROP]。
      在步驟S4614,打印機驅(qū)動程序114選擇對應(yīng)于低分辨率打印輸出的高打印速度。最好使用上述3.6節(jié)中定義的選擇速度命令[SPEED]。
      步驟S4616根據(jù)選擇的低分辨率為打印緩沖器139的讀出順序選擇偏移。具體來說,步驟S4616選擇以上步驟4509中設(shè)置的緩沖器控制表之一。最好使用上述3.6節(jié)中定義的選擇緩沖器控制表命令[SELECT_CONTROL]。
      如在上述3.6節(jié)中所述,步驟S4617從打印機驅(qū)動程序114到打印機30通過雙向接口逐塊傳送圖象數(shù)據(jù)。一旦打印數(shù)據(jù)的整個帶傳送到打印機30,打印機驅(qū)動程序114在步驟S4619通過傳送打印執(zhí)行命令[PRINT]啟動帶的打印輸出。然后步驟S4620根據(jù)流程返回步驟S4611還是流程在步驟S4621終止而確定是否需要打印另外的帶。
      返回步驟S4611,如果要傳送并打印打印信息的高分辨率帶,則在打印機驅(qū)動程序114中執(zhí)行步驟S4622到S4630,以便執(zhí)行與S4612到S4619的低分辨率步驟互補的步驟。這樣,步驟S4622設(shè)置小墨滴尺寸,步驟S4624設(shè)置適當大的緩沖區(qū)尺寸,步驟S4625設(shè)置對應(yīng)于高分辨率的低打印速度,步驟S4626選擇高分辨率噴嘴發(fā)射序列,步驟S4627通過選擇預定的緩沖器控制偏移表之一而選擇從打印緩沖器139的讀出順序,步驟S4629逐帶地向打印機30傳送高分辨率圖象數(shù)據(jù),以及步驟S4630啟動已全部傳送的帶的打印輸出。
      圖47是從打印機30的方面表示由打印機30對于獨立打印分辨率設(shè)置而執(zhí)行的處理步驟的流程圖。于是,在步驟S4701,打印機30接收控制命令以便使打印機30為每一打印頭準備高或低打印分辨率。如上所述,這些控制命令包括設(shè)置打印速度、噴嘴大小、噴嘴發(fā)射序列及打印緩沖器讀出順序的命令。
      在步驟S4702,從打印機驅(qū)動程序114接收打印數(shù)據(jù),隨之在步驟S4703是打印命令。此后,在步驟S4704根據(jù)所命令的是低還是高打印分辨率,在步驟S4702接收的打印數(shù)據(jù)按步驟S4701命令打印。這樣,如步驟S4705所示,對于高打印分辨率,打印數(shù)據(jù)以低速、小墨滴尺寸、高分辨率噴嘴脈沖序列表、以及高分辨率緩沖器控制讀出順序打印。類似地,在步驟S4706,對于低打印分辨率,打印輸出以高速、大墨滴尺寸、低分辨率噴嘴脈沖序列表、以及低分辨率緩沖器偏移讀出序列實現(xiàn)。在這兩種情形下,流程都進到步驟S4707等待下次打印命令序列。
      正如對圖46A和46B的說明,也能控制單打印頭利用在步驟S4705和步驟S4706中所述的打印特性設(shè)置,在單打印帶上在掃描方向打印打印數(shù)據(jù)。
      11.0可替換墨液的選擇如上所述,能夠配置打印機30向一種記錄介質(zhì)輸出幾種類型的墨液。這種特性的優(yōu)點是允許打印機30使用染料基黑色墨液及顏料基黑色墨液兩者打印一個圖象。
      在優(yōu)選實施例中,染料基黑色墨液與不同彩色的墨液配合使用以便于進行彩色打印。結(jié)果是,當在彩色圖象中用來打印黑色象素時,染料基的黑色墨液允許彩色圖象保持基本上一致的光學密度。
      反之,顏料基黑色墨液當用來在彩色圖象內(nèi)打印黑色象素時,與彩色圖象的其它區(qū)域形成鮮明對比,從而擾亂了彩色圖象的一致性。然而,有很多情形希望在黑色打印區(qū)域和不同彩色區(qū)域之間保持相當?shù)膶Ρ榷?。這些情形中最可注意的是在白色記錄介質(zhì)上黑色文本的打印。從而,顏料基黑色墨液最好用來打印文本數(shù)據(jù)。
      于是在上述的實施例中,基于圍繞黑色目標象素的圖象數(shù)據(jù)的內(nèi)容來選擇染料基黑色墨液還是顏料基黑色墨液打印黑色目標象素。更具體來說,在判定黑色目標象素對應(yīng)于圖象數(shù)據(jù)的不同彩色區(qū)域的情形下,使用染料基黑色墨液打印目標象素。如果不是這樣,則使用顏料基黑色象素墨液打印目標象素。判定黑色象素是否對應(yīng)于圖象數(shù)據(jù)的不同彩色區(qū)域的一個方法在以下參照圖49說明。這種判定最好基于多層次圖象數(shù)據(jù)進行,使得能夠達到對圖象內(nèi)容的精確刻劃。
      由于各種墨液的上述視覺性質(zhì)依賴于向記錄介質(zhì)滲透的程度,故在確定染料基、或其它高滲透性黑色墨液、或諸如顏料基墨液這種低滲透性黑色墨液更適合具體的打印工作中記錄介質(zhì)的類型起很大作用。
      例如普通紙張已顯示出不良的吸墨性,因而不能指望與高滲透性黑色墨液使用,因為該墨液不能有效結(jié)合到記錄介質(zhì)內(nèi)以產(chǎn)生穩(wěn)定可再現(xiàn)的色彩。另一方面,能夠使用有特別涂料的紙張,這種紙張對沉積在其中的各種色彩高滲透性墨液提供比較均勻的結(jié)合。但是這種有特別涂料的紙張不適合與低滲透性墨液一同使用。
      從以上可見,用來在記錄介質(zhì)上打印象素的墨液的類型最好與包含象素數(shù)據(jù)的圖象類型和墨液置于其上的記錄介質(zhì)兩者相關(guān)。
      圖48是用于描述基于記錄介質(zhì)類型和圖象內(nèi)容的墨液選擇方法的流程圖。一般來說,為了控制噴墨打印機使用第一墨液或第二墨液向記錄介質(zhì)上打印對應(yīng)于多層圖象數(shù)據(jù)的象素,要確定記錄介質(zhì)是否為普通紙張還是有特別涂料的紙張,并在確定了記錄介質(zhì)為有特別涂料的紙張的情形下,命令打印機使用第一種墨液打印目標象素。另一方面,在確定記錄介質(zhì)為普通紙張的情形下,要確定目標象素是否對應(yīng)于不同彩色區(qū)域。在目標象素對應(yīng)于不同彩色區(qū)域的情形下,指令打印機使用第一種墨液打印目標象素。反之,在目標象素不對應(yīng)于不同彩色區(qū)域的情形下,指令打印機使用第二種墨液打印目標象素。
      更詳細來說,流程在確定紙張類型的步驟S4801開始。如圖中所示,該優(yōu)選實施例考慮到普通紙張或有特別涂料的紙張的使用。有特別涂料的紙張最好是1.0節(jié)中所述的“高分辨率”紙張HR-101。
      在確定紙張類型為有特別涂料的紙張的情形下,流程進到步驟S4802,在其中確定應(yīng)該使用高滲透性墨液打印黑色象素數(shù)據(jù)。這一決定是基于假設(shè)高滲透性黑色墨液總是更適合于在有特別涂料的記錄介質(zhì)上打印黑色象素數(shù)據(jù),而不論圖象類型如何。
      如果在步驟S4801確定了紙張類型為普通的,則流程進到步驟S4803,在其中確定在要打印的圖象的彩色區(qū)域內(nèi)是否存在黑色目標象素。如果是這樣,則如上所述流程進到步驟S4802。如果不是這樣,則流程進到步驟S4804,在此確定使用低滲透性黑色墨液打印目標象素。
      根據(jù)優(yōu)選實施例,通過檢測圍繞目標象素的圖象象素作出步驟S4803的決定。圖49是用來說明這一具體實施例的圖示。
      圖49表示圖象數(shù)據(jù)的5×5網(wǎng)格416中的黑色目標象素415。網(wǎng)格416的每一子部分表示單獨的一個圖象象素。每一圖象象素最好由三個8位數(shù)值表示,每個8位數(shù)值表示圖象象素的紅色、綠色和藍色成分。為了確定黑色目標象素415是否位于不同彩色區(qū)域之內(nèi),使用以下方程式比較網(wǎng)格416中每一象素的紅色、綠色和藍色成分|R-B|<α;|B-G|<β;及|G-R|<γ,其中α,β,γ是相對小的數(shù)值。
      如果每一方程式對網(wǎng)格416內(nèi)每一象素滿足,則確定在不同彩色區(qū)域內(nèi)不存在黑色目標象素415。另外,步驟S4803可能要求網(wǎng)格416中的每一象素的紅色、綠色和藍色成分滿足方程式R=G=B,以便確定在不同彩色區(qū)域內(nèi)不存在目標象素。然而,這一替代的方法對圖象數(shù)據(jù)中由噪聲、不良的掃描等引起的差錯是敏感的。于是使用以上所示的α,β,γ對數(shù)據(jù)的差錯提供了小的容差。當然,在步驟S4803中可以使用其它方法確定在不同的彩色區(qū)域內(nèi)是否存在黑色目標象素415。
      在上述實施例中最好使用多層次數(shù)據(jù)確定不同彩色區(qū)域。反之,使用二進制數(shù)據(jù)確定不同彩色區(qū)域的系統(tǒng)可能錯誤地解釋原圖象數(shù)據(jù)的50%的灰色區(qū)域以由黑白象素的交替區(qū)域組成。結(jié)果是,可能使用不適當?shù)哪捍蛴 昂谏眳^(qū)域。
      應(yīng)當理解,雖然選擇可替換的墨液的上述說明具體集中在高分辨率黑色墨液和低滲透性黑色墨液,但是也可考慮與任何在顏色、滲透特性、或其它特性諸如黏性或密度彼此不同的第一和第二墨液結(jié)合使用上述方法。
      此外,雖然以上討論的是普通和有特別涂料的高分辨率紙張,確定適當?shù)哪嚎梢曰谌魏谓橘|(zhì)類型。其它可適用的介質(zhì)包括透明片、玻璃紙、玻璃膜、背打印膜、織物片、T恤衫轉(zhuǎn)印膜、噴泡紙、賀卡片、冊卡紙等。就此,紙張的類型可通過位于打印機30內(nèi)的紙張傳感器檢測,或由用戶通過顯示在顯示屏幕22上的用戶界面輸入,或通過位于打印機30上的按鈕輸入。
      還應(yīng)當注意,在優(yōu)選實施例中,打印機驅(qū)動程序114包含計算機可執(zhí)行的步驟以便執(zhí)行圖48的流程。當然,這些步驟可能全部包含在打印機30的ROM 122中,或可能聯(lián)合存儲在主計算機23和打印機30的計算機可讀存儲器內(nèi)。
      11.1 CMYK黑色或顏料黑色的選擇已經(jīng)注意到PCBk可以用來在記錄介質(zhì)上打印黑色象素。另外,顏料基的黑色墨液和染料基的黑色墨液也用于打印這種象素。通過提供可選擇的使用顏料基黑色墨液或青色、品紅色、黃色及黑色染料基墨液的組合的黑色象素打印,打印機30提供了附加功能。
      為此,最初要確定黑色目標象素是否對應(yīng)于不同彩色的區(qū)域。在確定了黑色目標象素不對應(yīng)于不同彩色區(qū)域的情形下,指令打印機使用顏料基黑色墨液打印黑色目標象素。否則,指令打印機使用染料基黑色墨液和每一相減基色的染料基墨液打印黑色目標象素。
      圖49A是用于具體說明上述特性的流程圖。在步驟S4901,確定黑色目標象素是否對應(yīng)于彩色區(qū)域。這一判定最好基于表示與黑色目標象素相鄰的區(qū)域的多層數(shù)據(jù)。在上面參照圖49詳細描述了這種方法,因而在此省略。
      在確定了彩色區(qū)域內(nèi)存在目標象素的情形下,流程進到步驟S4902,其中使用染料基黑色墨液和染料基青色、品紅色及黃色墨液的組合打印目標象素。在到達步驟S4904時,已經(jīng)確定目標象素在彩色區(qū)域內(nèi)不存在。結(jié)果是,使用顏料基黑色墨液打印目標象素。
      可注意的是,上述特性允許圖象的彩色區(qū)域中黑色象素呈現(xiàn)比使用PCBk所達到的更真切的黑色,同時使用各種染料基墨液的混合以便保持在彩色區(qū)域內(nèi)相對一致的輸出密度。此外,上述的可選擇性允許使用顏料基黑色墨液打印孤立的黑色象素,從而允許更精確再現(xiàn)這種黑色圖象數(shù)據(jù)。
      如對于上述實施例所述,打印機驅(qū)動程序114包含計算機可讀步驟以便執(zhí)行圖49A的流程。當然,這些步驟可以完全包含在打印機30的ROM122內(nèi),或聯(lián)合存儲在主計算機23和打印機30的計算機可讀存儲器內(nèi)。
      11.2邊界區(qū)域打印如上所述,傳統(tǒng)方式打印的黑色/彩色邊界區(qū)域有幾種缺陷。首先,這種區(qū)域常?;谠级鄬訄D象的二進制數(shù)據(jù)被識別。然而,二進制圖象數(shù)據(jù)常常不能精確地趨近實際的多層圖象數(shù)據(jù)。結(jié)果是,原始圖象中在不存在這種區(qū)域的位置可能“識別”出邊界區(qū)域。
      其次,用來打印黑色區(qū)域的低滲透性黑色墨液有可能混合到使用高滲透性墨液打印的相鄰的彩色區(qū)域中。已經(jīng)提出PCBk作為這種彩色區(qū)域與低滲透性黑色墨液之間的緩沖區(qū)。然而,如圖50A所示,這種緩沖區(qū)是不能令人滿意的,因為PCBk區(qū)域422和低滲透性黑色墨液區(qū)域424的不同的光學密度引起顯著的視覺不連貫性。
      還提出使用高滲透性黑色墨液和PCBk“緩沖區(qū)”打印黑色/彩色邊界區(qū)域。如圖50B所示,雖然PCBk區(qū)域426和高滲透性黑色墨液區(qū)域427的光學密度比圖50A中所示較為相似,但是由高滲透性黑色墨液產(chǎn)生的黑色不適于產(chǎn)生高質(zhì)量的實黑色區(qū)域。
      圖51是描述邊界區(qū)域打印方法的流程圖。一般來說,該方法包括檢測圖象的黑色區(qū)域和圖象的不同彩色區(qū)域之間的邊界,指令打印機使用工藝黑色在黑色并與邊界相鄰的區(qū)域內(nèi)打印黑色象素的第一區(qū)域,指令打印機使用高滲透性黑色墨液在黑區(qū)并與第一區(qū)域相鄰的區(qū)域內(nèi)打印黑色象素的第二區(qū)域,指令打印機使用低滲透性黑色墨液在黑區(qū)以及與第二區(qū)域相鄰的區(qū)域內(nèi)打印黑色象素的第三區(qū)域。
      具體來說,流程在步驟S5101開始,其中檢測圖象的黑色區(qū)域與圖象的不同彩色區(qū)域之間的邊界。參見圖50C,步驟S5101導致對不同彩色區(qū)域430和黑色區(qū)域432之間的邊界429進行檢測。如上所述,邊界檢測最好基于多層圖象數(shù)據(jù),以便比使用二進制圖象數(shù)據(jù)進行邊界檢測的系統(tǒng)能夠更精確地檢測黑色/不同彩色邊界。
      流程進到步驟S5102,其中指令打印機使用PCBk打印黑色象素的第一區(qū)域。如圖50C所示,第一區(qū)域431在黑色區(qū)域432內(nèi)并與邊界429相鄰。
      然后,在步驟S5103,指令打印機使用高滲透性黑色墨液打印黑色象素的第二區(qū)域。在圖50C中把第二區(qū)域描繪為區(qū)域434。第二區(qū)域434最好與第一區(qū)域431相鄰并在黑色區(qū)域432內(nèi)。
      最后,在步驟S5104指令打印機使用低滲透性黑色墨液打印黑色象素的第三區(qū)域。如圖50C所示,第三區(qū)域436與第二區(qū)域434相鄰并在黑色區(qū)域432內(nèi)。
      應(yīng)當理解,第一、第二和第三區(qū)域的大小可基于在黑色區(qū)域與不同彩色區(qū)域之間的邊界區(qū)域中所希望的PCBk象素數(shù)及所希望的高滲透性黑色象素數(shù)得以調(diào)節(jié)。
      作為圖51流程的結(jié)果,光學密度越過黑色區(qū)域和不同彩色區(qū)域之間邊界逐漸變化,減小了黑色區(qū)域和彩色區(qū)域之間的混合,并獲得了高質(zhì)量黑色區(qū)域。
      打印機驅(qū)動程序114能夠含有計算機可執(zhí)行步驟以便執(zhí)行圖51的流程。這些步驟也可包含于打印機30的ROM 122內(nèi),或可以聯(lián)合存儲在主處理器23與打印機30的計算機可讀存儲器內(nèi)。
      圖52表示用于打印黑色區(qū)域與不同彩色區(qū)域之間的邊界區(qū)域的更詳細的方法。
      一般來說,圖52描述了使用噴墨打印機控制對應(yīng)于圖象數(shù)據(jù)的象素的打印的系統(tǒng),該系統(tǒng)包括高滲透性墨罐、低滲透性墨罐、及生成工藝黑色的墨罐。根據(jù)該系統(tǒng),基于圖象數(shù)據(jù)確定與黑色目標象素相鄰的第一預定大小的第一區(qū)域是否包含不同彩色區(qū)域。在確定了該第一區(qū)域包含不同彩色區(qū)域的情形下,指令打印機使用工藝黑色打印目標象素。在定了該第一區(qū)域不包含不同彩色區(qū)域的情形下,基于圖象數(shù)據(jù)確定與目標象素相鄰的第二預定大小的第二區(qū)域是否包含不同彩色的區(qū)域,該第二區(qū)域大于第一區(qū)域。最后,在確定了該第二區(qū)域包含不同彩色區(qū)域的情形下,指令打印機使用高滲透性黑色墨液打印目標象素,否則指令打印機使用低滲透性黑色墨液打印目標象素。
      更具體來說,流程在步驟S5201開始,其中在原始圖象數(shù)據(jù)內(nèi)識別黑色目標象素。流程進到步驟S5202,其中確定與目標象素相鄰的第一區(qū)域是否包含不同彩色的區(qū)域。如果包含,則流程進到步驟S5204,在此指令打印機30使用PCBk打印目標象素。如果不包含,則流程進到步驟S5205。
      在步驟S5205確定與在步驟S5201識別出的目標象素相鄰的第二區(qū)域是否包含不同彩色區(qū)域??勺⒁獾氖?,第二區(qū)域大于在步驟S5202所分析的第一區(qū)域。于是,步驟S5205確定目標象素是否接近不同彩色區(qū)域。如果是,則流程進到步驟S5206,在此指令打印機30使用高滲透性黑色墨液打印目標象素。如果不是,則流程繼續(xù)到步驟S5208,在該步驟指令打印機30使用低滲透性黑色墨液打印目標象素。
      圖53A示出根據(jù)步驟S5202優(yōu)選實施例的第一不同彩色區(qū)域的檢測。圖53A表示不同彩色多層圖象數(shù)據(jù)的區(qū)域450和黑色多層圖象數(shù)據(jù)區(qū)域451。對于以上的解釋,在步驟S5201中識別的目標象素由象素數(shù)據(jù)單元452表示。此外,5×5區(qū)域454是在步驟S5202分析的第一區(qū)域。
      為了確定區(qū)域454是否包含不同彩色區(qū)域,以上對于圖49所描述的算法用于區(qū)域454內(nèi)的象素值。最好使用多層象素值以便精確地檢測區(qū)域454內(nèi)的黑色象素和不同彩色象素。由于區(qū)域454包含來自區(qū)域450的彩色值,故在步驟S5204指令打印機30使用PCBk打印目標象素4524。
      這一指令反應(yīng)在圖53C中,該圖是對應(yīng)于圖53A的圖象數(shù)據(jù)所打印的象素的表示。如圖53C中所示,表示象素單元452的打印象素456是使用PCBk打印的。在此應(yīng)當理解,表示象素單元459的打印象素457也是使用PCBk打印的。
      以下參照圖53B和53C更詳細地描述了步驟S5205到S5208。具體來說,對與象素數(shù)據(jù)單元461相鄰并大于第一區(qū)域454的第二區(qū)域460進行分析而確定它是否包含不同彩色的區(qū)域。于是,指令打印機30使用高滲透性黑色墨液打印對應(yīng)于象素數(shù)據(jù)單元461的象素462。
      從圖53B可見,與象素數(shù)據(jù)單元466相鄰的第二區(qū)域464不包含不同彩色區(qū)域。于是,根據(jù)步驟S5208,指令打印機30使用低滲透性黑色墨液打印對應(yīng)于象素數(shù)據(jù)單元466的象素467。
      作為圖52的流程的結(jié)果,獲得了諸如圖50C所示的邊界區(qū)域。具體來說,光學密度越過邊界區(qū)域逐漸變化,減小了黑色區(qū)域與不同彩色區(qū)域之間的混合,并使用低滲透性黑色墨液打印黑色區(qū)域。
      當然,基于所希望的PCBk象素數(shù),并基于黑色區(qū)域和不同彩色區(qū)域之間的邊界區(qū)域中所希望的高滲透性黑色墨液象素數(shù),第一區(qū)域和第二區(qū)域的大小是可調(diào)節(jié)的。
      如同對于以上實施例所討論,打印機驅(qū)動程序114可以包含計算機可執(zhí)行步驟以便執(zhí)行圖52的流程。這些步驟也可以包含在打印機30的ROM122中,或可以聯(lián)合存儲在主處理器23與打印機30的計算機可讀存儲器內(nèi)。
      11.3以不同墨液按不同分辨率打印圖54是表示根據(jù)另一實施例的處理的流程圖。如圖54中所示,在輸入諸如5×5象素區(qū)域416的象素數(shù)據(jù)時,在步驟S5402到S5407確定輸入象素數(shù)據(jù)中的目標象素是否在彩色區(qū)域內(nèi)。這一過程與以上對于圖49所述的過程相同。于是為了簡練,其說明在此從略。
      步驟S5409到S5412提供了顏色校正,即根據(jù)本發(fā)明所進行的黑色校正。具體來說,在步驟S5409,對目標象素執(zhí)行顏色校正,使得把象素從RGB數(shù)據(jù)變?yōu)镃MYK數(shù)據(jù)。然后,步驟S5410確定目標象素是否在彩色區(qū)域內(nèi)。如果目標象素不在彩色區(qū)域內(nèi),則處理進到步驟S5411。在目標象素不在彩色區(qū)域內(nèi)的情形下,設(shè)置顏料墨液(即K1墨液)形成象素。反之,在步驟S5410確定目標象素在彩色區(qū)域內(nèi)的情形下,由工藝黑色形成黑色,即青色、品紅色、和黃色墨液及染料基(即K2)黑色墨液形成黑色。
      然后,步驟S5413對象素數(shù)據(jù)進行輸出顏色校正。例如,在這步驟可進行灰度校正等。然后,處理進到步驟S5414到S5419。這些步驟提供根據(jù)本發(fā)明的二進制化。
      更具體來說,步驟S5414確定目標象素是否在彩色區(qū)域內(nèi)。在目標象素是在彩色區(qū)域內(nèi)的情形下,處理進到步驟S5418,在其中以2×2指數(shù)對目標象素二進制化,并進到步驟S5419,在其中按720×720分辨率以染料基黑色墨液打印象素(參見圖54A)。另一方面,在步驟S5414確定目標象素是不在彩色區(qū)域內(nèi)的情形下,處理進到步驟S5415,在其中以1×1指數(shù)對目標象素二進制化,并進到步驟S5417,在其中按360×360 dpi以顏料基黑色墨液打印象素(參見圖54B)。然后,處理結(jié)束。
      以上已經(jīng)對具體的示例性實施例描述了本發(fā)明。應(yīng)當理解,本發(fā)明不限于上述實施例,并在不背離本發(fā)明的精神和范圍的情形下業(yè)內(nèi)一般專業(yè)人員能夠作出各種變形和修改。
      權(quán)利要求
      1.用于具有至少一個可拆下打印裝置的打印機的打印機控制器,包括用于把代表至少一個可拆下打印裝置的特性的數(shù)據(jù)送到一個外部裝置的裝置;用于接收來自該外部裝置的命令的裝置;以及響應(yīng)于接收的命令用于根據(jù)該至少一個可拆下打印裝置的特性控制打印機的功能的裝置,其中接收的命令包括與送到外部裝置的至少一個可拆下打印裝置的特性相應(yīng)的參數(shù)。
      2.根據(jù)權(quán)利要求1的打印機控制器,其中當至少一個可拆下打印裝置被改變成具有不同的特性的打印裝置時,從外部裝置接收的用于控制打印機功能的命令參數(shù)得到改變以對應(yīng)于該不同的特性。
      3.根據(jù)權(quán)利要求1的打印機控制器,其中代表至少一個可拆下打印裝置的數(shù)據(jù)在把至少一個可拆下打印裝置安裝到打印機上時被送到了外部裝置。
      4.根據(jù)權(quán)利要求1的打印機控制器,其中代表至少一個可拆下打印裝置的特性的數(shù)據(jù)在把打印機連接到處于在線狀態(tài)的外部裝置時被送到該外部裝置。
      5.根據(jù)權(quán)利要求1的打印機控制器,其中該至少一個可拆下打印裝置是用于把墨排放到記錄介質(zhì)上的打印頭。
      6.根據(jù)權(quán)利要求5的打印機控制器,其中接收的命令是用于把加熱脈沖加到該至少一個打印頭上的命令。
      7.根據(jù)權(quán)利要求5的打印機控制器,其中接收的命令是用于設(shè)定該至少一個打印頭的打印速度的命令。
      8.根據(jù)權(quán)利要求5的打印機控制器,其中接收的命令是用于設(shè)定從至少一個打印頭排放的墨滴的大小的命令。
      9.根據(jù)權(quán)利要求1的打印機控制器,其中接收的命令是用于定義存儲至少一個打印頭的打印數(shù)據(jù)的打印緩存器的命令。
      10.根據(jù)權(quán)利要求9的打印機控制器,其中接收的命令是用于把該打印數(shù)據(jù)從外部裝置傳送到打印緩存器的命令。
      11.根據(jù)權(quán)利要求1的打印機控制器,其中接收的命令是用于從打印機請求至少一個打印裝置的信息的命令。
      12.用于具有至少一個可拆下打印裝置的打印機驅(qū)動器,包括用于接收來自打印機的代表該至少一個可拆下打印裝置的特性的數(shù)據(jù)的裝置;用于把命令送到打印機以根據(jù)至少一個可拆下打印裝置的特性控制打印機的功能的裝置,其中這些命令包括與至少一個可拆下打印裝置的特性相應(yīng)的參數(shù)。
      13.根據(jù)權(quán)利要求12的打印機驅(qū)動器,其中當至少一個可拆下打印裝置被改變成具有不同的特性的打印裝置時,該打印機驅(qū)動器改變用于控制打印機功能的命令參數(shù)以與不同的特性相應(yīng)。
      14.根據(jù)權(quán)利要求12的打印機驅(qū)動器,其中代表至少一個可拆下打印裝置的特性的數(shù)據(jù)是在把至少一個可拆下打印裝置安裝到打印機上時從打印機接收的。
      15.根據(jù)權(quán)利要求12的打印機驅(qū)動器,其中代表至少一個可拆下打印裝置的特性的數(shù)據(jù)是在把打印機耦合到處于在線狀態(tài)的外部裝置時從打印機接收的。
      16.根據(jù)權(quán)利要求12的打印機驅(qū)動器,其中至少一個可拆下打印裝置是用于把墨排放到記錄介質(zhì)上的打印頭。
      17.根據(jù)權(quán)利要求16的打印機驅(qū)動器,其中送到打印機的命令是用于把加熱脈沖加到至少一個打印頭上的命令。
      18.根據(jù)權(quán)利要求16的打印機驅(qū)動器,其中送到打印機的命令是用于設(shè)定至少一個打印頭的打印速度的命令。
      19.根據(jù)權(quán)利要求16的打印機驅(qū)動器,其中送到打印機的命令是用于設(shè)定從至少一個打印頭排放的墨滴的大小的命令。
      20.根據(jù)權(quán)利要求12的打印機驅(qū)動器,其中接收的命令是用于定義用于存儲至少一個打印頭的打印數(shù)據(jù)的打印緩存器的命令。
      21.根據(jù)權(quán)利要求20的打印機驅(qū)動器,其中接收的命令是用于把打印數(shù)據(jù)從外部裝置傳送到打印緩存器的命令。
      22.根據(jù)權(quán)利要求12的打印機驅(qū)動器,其中接收的命令是用于從打印機請求至少一個打印裝置的信息的命令。
      23.存儲在計算機可讀取介質(zhì)中的用于利用具有至少一個可拆下打印裝置的打印機形成圖象的計算機可執(zhí)行程序代碼,包括第一組計算機可執(zhí)行程序代碼,用于接收來自打印機的代表該至少一個打印裝置的特性的數(shù)據(jù);以及第二組計算機可執(zhí)行程序代碼,用于傳送用于根據(jù)至少一個可拆下打印裝置的特性而控制打印機的功能的命令,其中這些命令包括與至少一個可拆下打印裝置的特性相應(yīng)的參數(shù)。
      24.根據(jù)權(quán)利要求23的存儲在計算機可讀取介質(zhì)中的計算機可執(zhí)行程序代碼,其中,當該至少一個可拆下打印裝置被改變成具有不同的特性的打印裝置時,一個第三組計算機可執(zhí)行程序代碼改變用于控制打印機功能的命令參數(shù)以對應(yīng)于不同的特性。
      25.根據(jù)權(quán)利要求23的存儲在計算機可讀取介質(zhì)中的計算機可執(zhí)行程序代碼,其中代表該至少一個可拆下打印裝置的的特性數(shù)據(jù)是在該至少一個可拆下打印裝置被連接到打印機上時由第一組計算機可執(zhí)行程序代碼從打印機接收的。
      26.根據(jù)權(quán)利要求23的存儲在計算機可讀取介質(zhì)中的計算機可執(zhí)行程序代碼,其中代表該至少一個可拆下打印裝置的特性的數(shù)據(jù)是在該打印機與外部裝置相耦合時由第一組計算機可執(zhí)行程序代碼從打印機接收的。
      27.根據(jù)權(quán)利要求23的存儲在計算機可讀取介質(zhì)中的計算機可執(zhí)行程序代碼,其中該打印機是一個串行打印機且該至少一個可拆下打印裝置是用于把墨排放到記錄介質(zhì)上的打印頭。
      28.根據(jù)權(quán)利要求27的存儲在計算機可讀取介質(zhì)中的計算機可執(zhí)行程序代碼,其中送到打印機的命令是用于把加熱脈沖加到至少一個打印頭上的命令。
      29.根據(jù)權(quán)利要求27的存儲在計算機可讀取介質(zhì)中的計算機可執(zhí)行程序代碼,其中送到打印機的命令是用于設(shè)定至少一個打印頭的打印速度的命令。
      30.根據(jù)權(quán)利要求27的存儲在計算機可讀取介質(zhì)中的計算機可執(zhí)行程序代碼,其中送到打印機的命令是用于設(shè)定從至少一個打印頭排放的墨滴的大小的命令。
      31.根據(jù)權(quán)利要求23的存儲在計算機可讀取介質(zhì)中的計算機可執(zhí)行程序代碼,其中接收的命令是用于定義存儲用于至少一個打印頭的打印數(shù)據(jù)的打印緩存器的命令。
      32.根據(jù)權(quán)利要求23的存儲在計算機可讀取介質(zhì)中的計算機可執(zhí)行程序代碼,其中接收的命令是用于把打印數(shù)據(jù)從外部裝置傳送到打印緩存器的命令。
      33.根據(jù)權(quán)利要求23的存儲在計算機可讀取介質(zhì)中的計算機可執(zhí)行程序代碼,其中接收的命令是用于從打印機請求至少一個打印裝置的信息的命令。
      34.用于具有至少一個可拆下打印裝置的打印機的打印機控制器,包括用于接收來自一個外部裝置的命令的裝置;響應(yīng)于接收的命令用于根據(jù)至少一個可拆下打印裝置的特性控制打印機的功能的裝置,其中所述命令當使用新的、當前打印機不能獲得的盒時能夠在不改變所述控制裝置的硬件的情況下定義適合于控制該功能的參數(shù)。
      35.根據(jù)權(quán)利要求34的打印機控制器,其中當該至少一個可拆下打印裝置被改變成具有不同的特性的打印裝置時,從外部裝置收到的用于控制打印機功能的命令得到改變以對應(yīng)于該不同的特性。
      36.根據(jù)權(quán)利要求34的打印機控制器,其中在把該至少一個可拆下打印裝置連接到打印機上時代表該至少一個可拆下打印裝置的特性的數(shù)據(jù)被送到該外部裝置。
      37.根據(jù)權(quán)利要求34的打印機控制器,其中在把打印機連接到處于在線狀態(tài)下的外部裝置時代表該至少一個可拆下打印裝置的特性的數(shù)據(jù)被送到外部裝置。
      38.根據(jù)權(quán)利要求34打印機控制器,其中該至少一個可拆下打印裝置是用于向記錄介質(zhì)上排放墨的打印頭。
      39.根據(jù)權(quán)利要求38的打印機控制器,其中接收的命令是用于向該至少一個打印頭上施加加熱脈沖的命令。
      40.根據(jù)權(quán)利要求38的打印機控制器,其中接收的命令是用于設(shè)定至少一個打印頭的打印速度的命令。
      41.根據(jù)權(quán)利要求38的打印機控制器,其中接收的命令是用于設(shè)定從該至少一個打印頭排放的墨滴的大小的命令。
      42.根據(jù)權(quán)利要求34的打印機控制器,其中接收的命令是用于定義存儲用于該至少一個打印頭的打印數(shù)據(jù)的打印緩存器的命令。
      43.根據(jù)權(quán)利要求42的打印機控制器,其中接收的命令是用于從外部裝置向打印緩存器傳送打印數(shù)據(jù)的命令。
      44.根據(jù)權(quán)利要求34打印機控制器,其中接收的命令是用于從打印機請求至少一個打印裝置的信息的命令。
      45.用于具有至少一個可拆下打印裝置的打印機的打印機驅(qū)動器,包括用于向打印機傳送命令以根據(jù)該至少一個可拆下打印裝置的特性控制打印機的功能的裝置;用于發(fā)送圖象數(shù)據(jù)以使打印機根據(jù)由所述命令控制的條件而形成一個圖象的裝置,其中所述命令能夠定義一種參數(shù),該參數(shù)適合于在當前不能獲得的用于打印機的新的盒時在不改變打印機中的控制裝置的硬件的情況下控制該功能。
      46.根據(jù)權(quán)利要求45的打印機驅(qū)動器,其中當該至少一個可拆下打印裝置被改變成具有不同特性的打印裝置時,發(fā)送至打印機的用于控制打印機功能的命令參數(shù)得到改變以與不同特性相對應(yīng)。
      47.根據(jù)權(quán)利要求45的打印機驅(qū)動器,其中在至少一個可拆下打印裝置被連接到打印機上時代表至少一個可拆下打印裝置的特性的數(shù)據(jù)被送到打印機驅(qū)動器。
      48.根據(jù)權(quán)利要求45的打印機驅(qū)動器,其中在打印機被連接到處于在線狀態(tài)的打印機驅(qū)動器時代表至少一個可拆下打印裝置的特性的數(shù)據(jù)被送到打印機驅(qū)動器。
      49.根據(jù)權(quán)利要求45的打印機驅(qū)動器,其中至少一個可拆下打印裝置是用于向一個記錄介質(zhì)上排放墨的打印頭。
      50.根據(jù)權(quán)利要求49的打印機驅(qū)動器,其中發(fā)送的命令是用于向至少一個打印頭上施加加熱脈沖的命令。
      51.根據(jù)權(quán)利要求49的打印機驅(qū)動器,其中發(fā)送的命令是用于設(shè)定至少一個打印頭的打印速度的命令。
      52.根據(jù)權(quán)利要求49的命令,其中發(fā)送的命令是用于設(shè)定從至少一個打印頭排放的墨滴的大小的命令。
      53.根據(jù)權(quán)利要求45的打印機驅(qū)動器,其中發(fā)送的命令是用于限定存儲用于至少一個打印頭的打印數(shù)據(jù)的打印緩存器的命令。
      54.根據(jù)權(quán)利要求53的打印機驅(qū)動器,其中發(fā)送的命令是用于把打印數(shù)據(jù)從打印機驅(qū)動器傳送到打印緩存器的命令。
      55.根據(jù)權(quán)利要求45的打印機驅(qū)動器,其中發(fā)送的命令是用于請求來自打印機的至少一個打印裝置的信息的命令。
      56.存儲在計算機可讀取介質(zhì)中的用于利用具有至少一個可拆下打印裝置的打印機形成圖象的計算機可執(zhí)行程序代碼,包括第一組計算機可執(zhí)行程序代碼,用于把命令送到打印機以根據(jù)至少一個可拆下打印裝置的特性控制打印機的功能;以及第二組計算機可執(zhí)行程序代碼,用于發(fā)送圖象數(shù)據(jù)以使打印機根據(jù)由所述命令控制的條件形成圖象。
      57.根據(jù)權(quán)利要求56的存儲在計算機可讀取介質(zhì)中的計算機可執(zhí)行程序代碼,其中當至少一個可拆下打印裝置被改變成具有不同的特性的打印裝置時,一個第三組計算機可執(zhí)行程序代碼改變用于控制打印機功能的命令參數(shù)以與該不同的特性相對應(yīng)。
      58.根據(jù)權(quán)利要求56的存儲在計算機可讀取介質(zhì)中的計算機可執(zhí)行程序代碼,其中在至少一個可拆下打印裝置被連接到打印機時代表至少一個可拆下打印裝置的特性的數(shù)據(jù)被送到打印機驅(qū)動器。
      59.根據(jù)權(quán)利要求56的存儲在計算機可讀取介質(zhì)中的計算機可執(zhí)行程序代碼,其中當打印機被連接到處于在線狀態(tài)下的打印機上時代表至少一個可拆下打印裝置的特性的數(shù)據(jù)被送到打印機驅(qū)動器。
      60.根據(jù)權(quán)利要求56的存儲在計算機可讀取介質(zhì)中的計算機可執(zhí)行程序代碼,其中至少一個可拆下打印裝置是用于把墨排放到記錄介質(zhì)上的打印頭。
      61.根據(jù)權(quán)利要求60的存儲在計算機可讀取介質(zhì)中的計算機可執(zhí)行程序代碼,其中發(fā)送的命令是用于把加熱脈沖加到至少一個打印頭上的命令。
      62.根據(jù)權(quán)利要求60的存儲在計算機可讀取介質(zhì)中的計算機可執(zhí)行程序代碼,其中發(fā)送的命令是用于設(shè)定至少一個打印頭的打印速度的命令。
      63.根據(jù)權(quán)利要求60的存儲在計算機可讀取介質(zhì)中的計算機可執(zhí)行程序代碼,其中發(fā)送的命令是用于設(shè)定從至少一個打印頭排放的墨滴大小的命令。
      64.根據(jù)權(quán)利要求56的存儲在計算機可讀取介質(zhì)中的計算機可執(zhí)行程序代碼,其中發(fā)送的命令是用于定義存儲至少一個打印頭的打印數(shù)據(jù)的打印緩存器的命令。
      65.根據(jù)權(quán)利要求56的存儲在計算機可讀取介質(zhì)中的計算機可執(zhí)行程序代碼,其中發(fā)送的命令是用于把打印數(shù)據(jù)從打印機驅(qū)動器傳送到打印緩存器的命令。
      66.根據(jù)權(quán)利要求56的存儲在計算機可讀取介質(zhì)中的計算機可執(zhí)行程序代碼,其中發(fā)送的命令是用于請求來自打印機的至少一個打印裝置的信息的命令。
      全文摘要
      在具有至少一個可拆下打印裝置的打印機中的打印機控制器把代表當前安裝的可拆下打印裝置的特性的數(shù)據(jù)送到一個主處理器,并接收來自主處理器的命令。響應(yīng)接收的命令,打印機控制器根據(jù)相連的打印裝置的特性控制打印機功能。接收的命令包括與相連的打印裝置的特性相應(yīng)的打印頭驅(qū)動參數(shù)。該打印頭驅(qū)動參數(shù)可包括修正在制造時裝載到打印機中的預存儲打印頭驅(qū)動參數(shù)的值的參數(shù),或者打印頭驅(qū)動參數(shù)可包括為實際打印中打印機的使用而寄存的實際參數(shù)值。
      文檔編號G06K15/10GK1217502SQ98122480
      公開日1999年5月26日 申請日期1998年11月17日 優(yōu)先權(quán)日1997年11月17日
      發(fā)明者雅史鎌田, 明彥鋤柄, 和幸桝本, 弘光平林, 顕季山田 申請人:佳能商業(yè)機器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1