專利名稱:連接通用控制碼和設(shè)備專用控制碼的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及傳真機、打印機、多功能機、和具有打印機構(gòu)的其它機器。具體來說,本發(fā)明涉及打印控制器和用于這些機器的碼的開發(fā)。
在制造傳真機、打印機、多功能機、和具有打印機構(gòu)的其它機器期間,初始的設(shè)備制造者(OEM)要購買一個“核心部件”。這個核心部件一般包括打印頭驅(qū)動器、輸紙電機驅(qū)動器、托架電機驅(qū)動器、紙傳感器和標志、編程有基本功能和可改變數(shù)值以控制這些核心打印部件的控制器。然后OEM向核心部件添加某些部件和功能,于是,一個最終的產(chǎn)品誕生了。例如,不同的OME可能向它們的傳真機添加不同的功能塊和不同的紙路機構(gòu)。
OEM可能從一個銷售商購買這些核心部件的全部或者一部分。但最低限度,OEM一般要從銷售商購買打印控制器和打印只讀存儲器(ROM),因為這些部件控制這個核心打印設(shè)備的極基本的或者低水平的功能。其余的核心部件可以從打印控制器銷售商以外的來源購買。
打印ROM存儲用于控制打印機構(gòu)的控制碼??刂拼a包括通用可執(zhí)行碼和設(shè)備專用可執(zhí)行碼。
在碼的開發(fā)期間,銷售商產(chǎn)生控制碼。如果OEM從這個銷售商以外的來源購買了核心打印設(shè)備,那么,銷售商產(chǎn)生的設(shè)備專用碼可能會和OEM設(shè)計的特定紙路不同。
當前的作法是,銷售商向OEM提供源碼部分,讓OEM修改源碼并且確定與OEM的機器一起操作的最終功能和可變數(shù)值。如果缺省紙路不同于OEM使用的紙路,0EM就要修改銷售商提供的可變數(shù)值和紙路功能。一旦OEM開發(fā)出設(shè)備專用碼,OEM就要將這個經(jīng)過修改的設(shè)備專用源碼(包括經(jīng)過修改的可變數(shù)值和紙路功能)送到銷售商。然后,銷售商編譯整個源碼,并將編譯好的碼燒結(jié)在打印ROM中,然后將這個打印ROM傳回OEM。將打印ROM安裝在OEM的機器內(nèi)。
在這樣的碼開發(fā)中存在3個固有的問題。第一,銷售商向OEM提供通用源碼,并且OEM向銷售商提供設(shè)備專用源碼。這樣,每一方都向?qū)Ψ奖┞读俗砸训挠袃r值的知識產(chǎn)權(quán)。然而,這種情況下對于期望保護自已的源碼的一方,是不期望出現(xiàn)的。
第二,碼的開發(fā)是按照順序?qū)崿F(xiàn)的,這需要時間。平行地進行銷售商和OEM碼的開發(fā)可能會更加迅速和更加有效。
第三,銷售商為每個OEM定制它的打印ROM。向不同的OEM提供不同的打印ROM,對于銷售商來說,成本是高的。
本發(fā)明克服了這些問題。按本發(fā)明的一個方面,設(shè)備包括一個打印機構(gòu),打印機構(gòu)有一個第一控制器和暫時存儲器。暫時存儲器的一部分留作跳轉(zhuǎn)表。該設(shè)備進一步還包括一個第二控制器。在設(shè)備起動期間,第二控制器向打印控制器傳送可變數(shù)值和功能。打印控制器將可變數(shù)值寫到跳轉(zhuǎn)表的特定位置。打印控制器還將功能寫到暫時存儲器,并且將這些功能的起始地址寫到跳轉(zhuǎn)表的特定位置。打印控制器使用跳轉(zhuǎn)表訪問可變數(shù)值并執(zhí)行這些功能。于是,這個跳轉(zhuǎn)表就允許第二控制器與第一控制器共享這些可變數(shù)值和功能。這樣一種體系結(jié)構(gòu)允許更加有效地開發(fā)代碼。這種體系結(jié)構(gòu)還允許對于代碼進行保護,減少打印控制器的制造費用。
從以下結(jié)合附圖的詳細描述以及作為本發(fā)明原理的實例說明,本發(fā)明的其它方面和優(yōu)點都將變成顯而易見。
圖1表示按照本發(fā)明的一個傳真機;圖2表示用于傳真機的打印ROM和打印RAM的存儲器的映射;圖3表示在傳真機操作期間通用碼和設(shè)備專用碼的連接方法;圖4表示開發(fā)用于傳真機打印機構(gòu)的控制碼的方法;圖5表示按照本發(fā)明的另一個機器。
如用于說明的附圖所示,本發(fā)明是在一個傳真機中實施的,這個傳真機包括一個打印控制器、一個傳真控制器、和隨機存取存儲器。該打印控制器包括一個打印ROM,用于存儲通用碼。該傳真控制器包括一個傳真ROM,用于存儲設(shè)備專用碼。該打印控制器在隨機存取存儲器中產(chǎn)生一個跳轉(zhuǎn)表,用于連接通用碼和設(shè)備專用碼。銷售商開發(fā)通用碼和缺省的設(shè)備專用碼。OEM隨意使用缺省設(shè)備專用碼或開發(fā)它自已的設(shè)備專用碼。分割通用碼和設(shè)備專用碼,以便允許OEM修改設(shè)備專用碼而不需要知道通用碼的細節(jié)。因此,銷售商不需要向OEM提交它的通用源碼。而且,OEM也不需要向銷售商提交它的設(shè)備專用源碼。因而每一方都可以保護它的代碼。
此外,OEM和銷售商可以平行地開發(fā)代碼。因此,提高了代碼的開發(fā)效率,減小了代碼的開發(fā)時間。
這樣一種體系結(jié)構(gòu)允許銷售商產(chǎn)生可以分配給不同的OEM的一種打印ROM。銷售商不需要為每個OEM定制打印ROM;因此降低了制造成本。然而,OEM可以在這個打印控制器中嵌入這個打印ROM,這又進一步減小了制造成本。
圖1所示的傳真機8包括一個傳真機構(gòu)10和一個打印機構(gòu)12。傳真機構(gòu)10包括一個傳真控制器14和由傳真控制器14控制的各種傳真和掃描設(shè)備。傳真和掃描設(shè)備包括(但不限于)行接口單元16、掃描器18、自動文件供給器20、前面板22、傳真ROM24、傳真隨機存取存儲器(RAM)26。傳真控制器14可以在具有一個嵌入式處理器28的“應用特殊集成電路”(ASIC)上實現(xiàn)。
打印機構(gòu)12包括一個打印控制器30和各種核心打印設(shè)備,例如打印頭驅(qū)動器32、供紙電機驅(qū)動器34、托架電機驅(qū)動器36、和紙傳感器和標記38。打印控制器30包括一個嵌入式處理器40、嵌入式打印ROM42、和嵌入式打印RAM44。傳真控制器14和打印控制器30通過一個雙向鏈路46通信。
打印ROM42存儲通用可執(zhí)行碼54。傳真ROM26存儲傳真控制碼48和設(shè)備專用控制碼50、52,以用于核心打印設(shè)備。設(shè)備專用控制碼包括設(shè)備專用功能50和設(shè)備專用可變數(shù)值52。通用碼54調(diào)用設(shè)備專用功能50并且使用設(shè)備專用可變數(shù)值52來控制核心打印設(shè)備32-38。
打印RAM44的一部分留給了跳轉(zhuǎn)表,跳轉(zhuǎn)表包括一個連接可變數(shù)值表和一個連接功能表。打印控制器30建立跳轉(zhuǎn)表,并且使用跳轉(zhuǎn)表連接通用碼54和設(shè)備專用碼50、52。
現(xiàn)在參照圖2,圖2表示一個用于打印ROM42和打印RAM44的存儲圖的一個例子。打印ROM42和打印RAM44可以占用從16進制00000到16進制17FFF的一個連續(xù)的存儲地址空間,其中打印ROM42的大小是64千字節(jié)。連接可變數(shù)值表44a和連接功能表44b各占據(jù)RAM32的256個字節(jié)。打印RAM44的一個7424字節(jié)的部分44c可以留作設(shè)備專用功能50的復制。打印RAM44的其余的24個千字節(jié)和256個字節(jié)部分44d和44e可以用作打印處理器40的工作存儲器,以執(zhí)行通用碼54、并且執(zhí)行設(shè)備專用碼52、54的復制。
現(xiàn)在附帶參照圖3,圖3描述打印控制器30如何建立跳轉(zhuǎn)表并且使用跳轉(zhuǎn)表連接通用碼54和設(shè)備專用碼50、52。在傳真機8起動時(方塊100),打印控制器30執(zhí)行它的通用碼54,傳真控制器執(zhí)行它的傳真控制碼48(方塊102)。傳真控制器14經(jīng)鏈路46向打印控制器傳送一個數(shù)據(jù)塊(方塊104)。這個方塊包括設(shè)備專用碼50、52的復制。
打印控制器30知道如何分析這個方塊并將功能50和可變數(shù)值52存儲在打印RAM44中。設(shè)備專用可變數(shù)值52存儲在打印RAM44的預先指定的位,借此產(chǎn)生連接可變數(shù)值表44a(方塊106)。在傳真機8正常操作期間,通用碼54將指示打印處理器40在連接可變數(shù)值表44a中的這些設(shè)備專用可變數(shù)值的預先指定的位置去尋找這些設(shè)備專用可變數(shù)值。表1表示用于傳真機8的一個示例性的連接可變數(shù)值表的一部分。
表1
例如,在起動期間,打印控制器30在為彈出距離指定的打印RAM位置中存儲用于彈出距離的一個值。在正常操作期間,當打印控制器30需要知道電機驅(qū)動器34移動一張紙進入輸出盤所需的步數(shù)時,打印控制器30就要使用存儲在連接功能表44a中的彈出距離值。
打印控制器30在RAM44的指定部分44c存儲設(shè)備專用功能50(方塊108),并在連接功能表44b的預先指定的位置存儲功能50的起始地址(方塊110)。因為設(shè)備專用功能的存儲器要求可能發(fā)生變化(例如,OEM可能修改專用功能,因此增加了它的存儲器要求),所以打印控制器30要使用連接功能表44b來識別存儲在打印RAM44的指定部分44c中的功能的起始地址。在傳真機8的正常操作期間,通用碼54將要指示打印處理器40向連接功能表44b中指示的起始地址處的這些設(shè)備專用功能傳送控制。表2表示用于傳真機8的一個示例性連接功能表44b的一部分。
表2
例如,在起動期間,打印控制器30在打印RAM44的指定部分44c中存儲一個“讀出傳感器”功能。打印控制器30還要在為“讀出傳感器”功能指定的位置存儲在連接功能表44b中“讀出傳感器”功能的起始地址。不管何時通用碼54調(diào)用“讀出傳感器”功能,打印處理器40都要向在連接功能表44b的“入口”處指示的起始地址傳送控制。
在傳真機8正常操作期間,通用碼54指示打印處理器40在連接可變數(shù)值表44a中的設(shè)備專用可變數(shù)值的指定位置尋找設(shè)備專用可變數(shù)值(方塊112)。通用碼54還指示打印處理器40通過向連接功能表44b中的這個起始地址傳送控制來執(zhí)行設(shè)備專用功能(方塊112)。
因此,跳轉(zhuǎn)表允許傳真控制器14在傳真機8操作期間與打印控制器30共享設(shè)備專用功能50和可變數(shù)值52。然而,跳轉(zhuǎn)表還允許打印控制器30與傳真控制器14共享信息(方塊114)。傳真控制器14可以訪問打印控制器30寫入連接可變數(shù)值表44b的值。例如,傳真控制器30可以看見OOPS標記,以確定傳真機8是否缺紙。
現(xiàn)在參照圖4。在為傳真機8開發(fā)代碼期間,OEM一般要從銷售商那里購買打印控制器30(方塊202)。OEM可以從打印控制器30的銷售商那里或從打印控制器30的銷售商以外的來源購買其余的部件(方塊204)。
將打印控制器30和打印ROM42以及打印RAM44一起都嵌入一個ASIC中。銷售商向OEM提供缺省設(shè)備專用源碼(方塊206)。OEM可以隨意地使用這個缺省設(shè)備專用源碼。然而,如果OEM從不同的銷售商那里購買這些部件,則缺省設(shè)備專用源碼的功能和可變數(shù)值就不可能和這些混合的部件一起適當?shù)毓ぷ鳌?br>
因此,OEM可以任選地修改缺省設(shè)備專用源碼(方塊208)。在OEM已經(jīng)確定了設(shè)備專用源碼(修改過的或未經(jīng)修改的)后,OEM編譯這個設(shè)備專用源碼,并且將編譯的碼50、52“燒結(jié)”在打印ROM中(方塊210)。缺省源碼將顯示功能和可變數(shù)值在傳真ROM26中的存儲位置。如果OEM修改設(shè)備專用源碼50或52,則OEM將在和對應的缺省功能和可變數(shù)值相同的位置“燒結(jié)”修改過的功能和可變數(shù)值。從本質(zhì)上看,OEM將用修改過的功能和可變數(shù)值去代替缺省的功能和可變數(shù)值。這將允許打印控制器30去識別在傳真機8起動期間通過傳真控制器14傳送到打印控制器30的可變數(shù)值和功能。
如果OEM改變設(shè)備專用碼,則不必更新在打印ROM40中的銷售商的通用碼54。然而,OEM也不需要向打印控制器銷售商公開修改過的設(shè)備專用碼。OEM甚致于不需要通知打印控制器銷售商已經(jīng)修改過缺省設(shè)備專用碼。打印控制器銷售商不知道傳真機8是在執(zhí)行缺省設(shè)備專用碼還是在執(zhí)行修改過的設(shè)備專用碼。
打印控制器銷售商只需向OEM公開設(shè)備專用碼。而不需向OEM公開通用碼。因此,打印控制器銷售商能夠保護它的通用碼,OEM可以保護它的修改過的設(shè)備專用碼。
此外,在OEM修改它的設(shè)備專用碼50、52的同時,打印控制器銷售商可以修改它的通用碼54。任何一方都可以憑空改變它自己的代碼。因為碼的開發(fā)可以平行地進行,所以提高了碼的開發(fā)效率,并且減小了碼的開發(fā)時間。
銷售商可以產(chǎn)生一種打印ROM,將其分配給不同的OEM。銷售商不需要為每個OEM定制打印ROM 42;因此降低了制造成本。然而,OEM可以將打印ROM42嵌入打印控制器ASIC,這進一步減小了制造成本。
對于傳真機、打印機、或具有打印機構(gòu)的其它機器,可以使用相同的打印控制器30。因此,銷售商甚致于不需要為不同類型的機器定制打印控制器30。
雖然以上結(jié)合傳真機8描述了本發(fā)明,但本發(fā)明不限于此。本發(fā)明可以應用到任何具有打印機構(gòu)的機器上。圖5表示一個機器308,它包括核心打印設(shè)備332、打印ROM342、打印RAM344、和打印處理器340。打印ROM344存儲通用碼354。在一個計算機314的持久性存儲器336(如硬盤驅(qū)動器)中存儲設(shè)備專用碼350、352。對于一個計算機處理器348進行編程,以便可以經(jīng)一個通信端口向機器308發(fā)送設(shè)備專用碼350、352。打印處理器340在打印RAM344中產(chǎn)生跳轉(zhuǎn)表,并且在打印RAM344中存儲設(shè)備專用功能350的副本。跳轉(zhuǎn)表允許計算機314與機器308共享設(shè)備專用碼350、352。
以上結(jié)合打印ROM描述了打印機構(gòu)。然而,可以使用任何類型的持久性存儲器代替只讀存儲器。
本發(fā)明不限于以上描述的設(shè)備專用功能和可變數(shù)值。任何類型的信息都可以與這種打印控制器共享。
打印控制器已經(jīng)被描述為向RAM寫入設(shè)備專用碼的副本。然而,其它的控制器(如傳真控制器)也可以向非嵌入式打印RAM直接寫入副本。
因此,本發(fā)明不限于上述的實施例。相反,本發(fā)明被認為是符合下面的權(quán)利要求書。
權(quán)利要求
1.設(shè)備(8),包括一個包括打印控制器(30)的打印機構(gòu)(12);一個第二控制器(14);和暫時存儲器(44),它包括留作跳轉(zhuǎn)表(44a、44b)的一個部分;第二控制器(14)在設(shè)備(8)起動期間向打印控制器(30)傳送控制碼(50、52),控制碼(50、52)包括功能(50)和可變數(shù)值(52);打印控制器(30)向跳轉(zhuǎn)表的預先指定的位置(44a)寫入可變數(shù)值(52),打印控制器(30)向暫時存儲器(44)寫入功能(50),并且向跳轉(zhuǎn)表中的預先指定位置(44b)寫入功能(50)的起始地址;對打印控制器(30)進行編程,以便可以訪問跳轉(zhuǎn)表(44a)中的可變數(shù)值,并且還要對打印控制器(30)進行編程,以便可以使用跳轉(zhuǎn)表(44b)中的起始地址執(zhí)行存儲在暫時存儲器(44)中的功能;借此,跳轉(zhuǎn)表(44a、44b)允許第二控制器(14)與打印控制器(30)共享可變數(shù)值(52)和功能(50)。
2.權(quán)利要求1的設(shè)備,其特征在于還要對打印控制器(30)進行編程,以便可以向跳轉(zhuǎn)表(44a)寫入可變數(shù)值;并且,其特征在于還要對第二控制器(14)進行編程,以便可以訪問跳轉(zhuǎn)表(44a)中的可變數(shù)值。
3.權(quán)利要求1的設(shè)備,其特征在于打印控制器(30)包括第一處理器(40)和第一ROM(42),第一ROM(42)為第一處理器(40)存儲通用控制碼(54);其特征在于第二控制器(14)包括第二處理器(28)和第二ROM(24),第二ROM(24)為第二處理器(28)存儲控制碼,第二ROM(24)還存儲可變數(shù)值(52)和功能(50)。
4.權(quán)利要求3的設(shè)備,其特征在于第二控制器(14)是一個傳真控制器;其特征在于可變量(52)和功能(50)包括紙路可變數(shù)值和功能;其特征在于對于傳真控制器(14)進行編程,以便在設(shè)備起動期間能向打印控制器(30)傳送紙路可變量和功能;其特征在于對于打印控制器(14)進行編程,以便向跳轉(zhuǎn)表的指定位置(44a)寫入紙路可變數(shù)值(52);其特征在于對于打印控制器(14)進行編程,以便將紙路功能(50)寫入暫時存儲器(44c),并把紙路功能(50)的起始地址寫入跳轉(zhuǎn)表的指定位置(44b)。
5.權(quán)利要求3的設(shè)備,其特征在于第一ROM(42)和第一處理器(40)嵌入第一ASIC中。
6.權(quán)利要求1的設(shè)備,其特征在于跳轉(zhuǎn)表包括連接可變數(shù)值表(44a)和連接功能表(44b)。
7.權(quán)利要求1的設(shè)備,其特征在于打印控制器(340、342)包括第一處理器(340)和ROM(342),ROM(342)為第一處理器(340)存儲可執(zhí)行碼(354);其特征在于第二控制器(336、348)包括一個微處理器(348)和一個計算機(314)的持久性存儲器(336),持久性存儲器(336)為微處理器存儲可執(zhí)行碼,持久性存儲器還為打印機構(gòu)(332、340、342、344)存儲可變數(shù)值(352)和功能(350)。
全文摘要
一種傳真機(8),包括一個打印控制器(30)、一個傳真控制器(14)、和隨機存取存儲器(44)。通用碼(54)存儲在打印控制器(30)的ROM(42)中,紙路碼存儲在傳真控制器(14)的ROM(24)中。在傳真機(8)起動時,傳真控制器(14)向打印控制器(14)傳送紙路碼功能(50)和可變數(shù)值(52)的副本。打印控制器(14)還向隨機存取存儲器(44)的跳轉(zhuǎn)表(44a)寫入可變數(shù)值(52),向隨機存取存儲器(44)的指定部分(44c)寫入功能(50),并且向跳轉(zhuǎn)表(44b)寫入功能(50)的起始地址。在傳真機(8)操作期間,打印控制器(30)執(zhí)行通用控制碼(54),并且使用使用跳轉(zhuǎn)表(44a、44b)訪問可變數(shù)值(52)并執(zhí)行功能(50)。于是,跳轉(zhuǎn)表(44a、44b)允許打印控制器(14)連接通用控制碼(54)和設(shè)備專用可變數(shù)值(52)以及功能(50)。
文檔編號G06F3/12GK1300978SQ00124278
公開日2001年6月27日 申請日期2000年8月17日 優(yōu)先權(quán)日1999年12月17日
發(fā)明者L·H·恩古云 申請人:惠普公司