專(zhuān)利名稱(chēng):一種具有打印驅(qū)動(dòng)功能的設(shè)備及實(shí)現(xiàn)打印驅(qū)動(dòng)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及記錄儀驅(qū)動(dòng)技術(shù),尤其涉及一種具有打印驅(qū)動(dòng)功能的設(shè) 備及實(shí)現(xiàn)打印驅(qū)動(dòng)的方法。
背景技術(shù):
銀行自助終端、超市等的票據(jù)打印和醫(yī)療電子產(chǎn)品中檢測(cè)結(jié)果的打印大多用的是熱敏打印。在這些產(chǎn)品中有些產(chǎn)品對(duì)打印的實(shí)時(shí)性和打 印的速度精度有嚴(yán)格要求,例如醫(yī)療產(chǎn)品中監(jiān)護(hù)議和心電圖機(jī)上ECG (心電)波形的打印,要求勻速打印(有兩種速度25mm/s和50mm/s), 速度精度要求在±5%內(nèi);有些產(chǎn)品要求高速打印,例如銀行的自助終端 和超市里的票據(jù)打印,為了減少顧客的排隊(duì)時(shí)間,要求打印的速度越快 越好,由此可見(jiàn),很多使用環(huán)境下對(duì)打印的速度和性能有高的要求?,F(xiàn)有記錄儀驅(qū)動(dòng)電路的實(shí)現(xiàn)方法主要有兩種方式方式(1)為兩 個(gè)CPU的系統(tǒng),即系統(tǒng)用了兩片CPU來(lái)實(shí)現(xiàn),其中一片是用于設(shè)備主控 的CPUO,另一片是用于控制記錄儀打印的CPUl,兩個(gè)CPU間如圖1所示, 通過(guò)某種方式(例如串口、并口等)進(jìn)行通訊。方式(2)為一個(gè)CPU 系統(tǒng),系統(tǒng)只有一個(gè)CPU,該CPU既完成主控又完成記錄儀的打印控制。 在方式(1)中兩個(gè)CPU系統(tǒng)的數(shù)據(jù)處理進(jìn)程如圖2所示, 一般常用的操 作方式如下CPUO將要打印的下行數(shù)據(jù)進(jìn)行壓縮處理,然后按照一定的 通訊協(xié)議將數(shù)據(jù)打包通過(guò)某種方式傳給CPU1 , CPU1收到數(shù)據(jù)按照約定 的協(xié)議格式解包,然后再對(duì)數(shù)據(jù)進(jìn)行解壓處理得到能打印點(diǎn)陣數(shù)據(jù)后才
能進(jìn)行打印。由此可見(jiàn),數(shù)據(jù)在傳送和接收時(shí)都必須經(jīng)過(guò)數(shù)據(jù)傳輸處理 這一過(guò)程,數(shù)據(jù)傳輸處理的復(fù)雜程度與兩個(gè)CPU間接口傳輸速率以及打 印的速度有關(guān),特別是如果兩個(gè)CPU間的通訊接口速度很低時(shí),要實(shí)現(xiàn) 速度較高的實(shí)時(shí)打印對(duì)數(shù)據(jù)的壓縮、解壓處理是必須的,這時(shí)如果直接 傳輸能打印的點(diǎn)陣數(shù)據(jù),將不能保證高速打印,例如對(duì)于fojitSU (富士通)型號(hào)為FTP-628mcl 101的熱敏點(diǎn)陣打印頭,它的熱敏加熱單元的尺 寸為8dots/mm,有效打印寬度為48mm,每行打印的點(diǎn)數(shù)是384dots/dotline (48Bytes),如果通過(guò)波特率為115.2kHz的串口來(lái)傳輸數(shù)據(jù)點(diǎn)陣,每次 傳輸每行打印點(diǎn)陣的時(shí)間為(48x11) / 115.2 = 4.58ms,每個(gè)點(diǎn)線的長(zhǎng) 度為0.125mm,那么最大的打印速度為27.3mm/s。而要做到較高的打印 速度時(shí),數(shù)據(jù)傳輸處理過(guò)程必定很復(fù)雜。因此方式(l)缺點(diǎn)是系統(tǒng) 的硬件復(fù)雜,通訊協(xié)議復(fù)雜,處理過(guò)程復(fù)雜,上位機(jī)、下位機(jī)軟件的開(kāi) 銷(xiāo)大,成本高。方式(2)雖然硬件系統(tǒng)簡(jiǎn)單,通訊協(xié)議筒單,成本低, 但是由于只有一個(gè)CPU,其即要完成主控又要完成熱敏打印的控制,顯 然很難保i正打印的實(shí)時(shí)性。因此,'現(xiàn)有技術(shù)(1)和(2)存在以下的缺點(diǎn)(1) 采用兩個(gè)CPU的系統(tǒng)硬件復(fù)雜、成本高,通訊協(xié)議復(fù)雜、軟 件開(kāi)銷(xiāo)大;(2) 采用單個(gè)CPU的系統(tǒng)CPU要處理多任務(wù),難以保證打印的實(shí) 時(shí)性。發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種具有打印驅(qū)動(dòng)功能的設(shè)備 及實(shí)現(xiàn)打印驅(qū)動(dòng)的方法,該設(shè)備和方法可以提高打印速度和性能,并降 低成本。 本發(fā)明為解決上述技術(shù)問(wèn)題所采用的技術(shù)方案為一種具有打印驅(qū)動(dòng)功能的設(shè)備,包括一 片至少可實(shí)現(xiàn)雙核功能的多核CPU芯片,其中一核為主控CPUO,用于所述i殳備的主控,另一核為 用于控制記錄儀打印的驅(qū)動(dòng)CPUl,所述驅(qū)動(dòng)CPU1連接打印驅(qū)動(dòng)電路, 且所述主控CPUO的中斷端連接所述驅(qū)動(dòng)CPUl的數(shù)據(jù)輸入輸出端,所 述驅(qū)動(dòng)CPUl的中斷端連接所述主控CPUO的數(shù)據(jù)輸入輸出端;還設(shè)置 一共享存儲(chǔ)器,所述主控CPUO和驅(qū)動(dòng)CPUl以中斷的方式通過(guò)直接讀 寫(xiě)所述共享存儲(chǔ)器進(jìn)行通訊。所述的設(shè)備,其中所述的共享存儲(chǔ)器是所述多核CPU芯片內(nèi)部的 RAM或先進(jìn)先出存儲(chǔ)器或雙口 RAM。所述的設(shè)備,其中所述的共享存儲(chǔ)器是外設(shè)的RAM或SDRAM 或先進(jìn)先出存^f渚器或雙口 RAM。所述的設(shè)備,其中所述多核CPU芯片采用現(xiàn)場(chǎng)可編程門(mén)陣列或?qū)?用集成電路實(shí)現(xiàn)。采用上述的設(shè)備實(shí)現(xiàn)打印驅(qū)動(dòng)的方法,包括以下步驟A、 多核CPU芯片中的主控CPUO將下行數(shù)據(jù)通過(guò)共享存儲(chǔ)器傳輸 給驅(qū)動(dòng)CPUl;所述驅(qū)動(dòng)CPUl將上行數(shù)據(jù)通過(guò)所述共享存儲(chǔ)器傳輸給 所述主控CPUO;B、 所述驅(qū)動(dòng)CPUl輸出驅(qū)動(dòng)打印it據(jù)。所述的方法,其中所述步驟A中主控CPUO向驅(qū)動(dòng)CPUl傳輸下 行數(shù)據(jù)的過(guò)程具體包括Al、所述主控CPUO將下行數(shù)據(jù)進(jìn)行處理和打包后,將其寫(xiě)入共享 存儲(chǔ)器中,并中斷通知所述驅(qū)動(dòng)CPUl接收;A2、所述驅(qū)動(dòng)CPU1響應(yīng)中斷,從共享存儲(chǔ)器中讀出數(shù)據(jù)包進(jìn)行解 包并處理;
所述步驟A中所述驅(qū)動(dòng)CPU 1向所述主控CPU 0傳輸上行數(shù)據(jù)的 過(guò)程具體包括Ar、所述驅(qū)動(dòng)CPU1將上行數(shù)據(jù)進(jìn)行處理和打包后,將其寫(xiě)入共 享存儲(chǔ)器中,并中斷通知所述主控CPUO接收;A2\所述主控CPUO響應(yīng)中斷,從共享存儲(chǔ)器中讀出數(shù)據(jù)包進(jìn)行 解包并處理。所述的方法,其中當(dāng)所述共享存儲(chǔ)器為雙口 RAM時(shí),所述主控 CPUO和驅(qū)動(dòng)CPU1分別向所述共享存儲(chǔ)器指定的位置寫(xiě)數(shù)據(jù)包,并在 寫(xiě)數(shù)據(jù)包的同時(shí)通知對(duì)方讀取數(shù)據(jù)包。所述的方法,其中所述步驟A1包括如下步驟All、所述主控CPUO將下行數(shù)據(jù)進(jìn)行處理和打包后,先通過(guò)查詢(xún) 第一緩沖區(qū)內(nèi)的第 一標(biāo)志,判斷所述第 一緩沖區(qū)內(nèi)是否還有未讀取的數(shù) 據(jù),如有則等待,否則轉(zhuǎn)入步驟A12;A12、所述主控CPUO將數(shù)據(jù)包寫(xiě)入共享存儲(chǔ)器的第一數(shù)據(jù)區(qū)中, 使能第一標(biāo)志的相關(guān)標(biāo)志位,并中斷所述驅(qū)動(dòng)CPUl,通知其接收;所述步驟A2包括如下步驟A21、所述驅(qū)動(dòng)CPU1響應(yīng)中斷,通過(guò)讀取第一標(biāo)志的標(biāo)志位判斷 第 一 數(shù)據(jù)區(qū)中是否有有效的數(shù)據(jù);A22、當(dāng)所述第一數(shù)據(jù)區(qū)中有有效的數(shù)據(jù)時(shí),所述驅(qū)動(dòng)CPU1讀取 有效數(shù)據(jù)并進(jìn)行處理;A23、所述驅(qū)動(dòng)CPU1清除所述第一標(biāo)志的標(biāo)志位,并中斷所述主 控CPUO通知其所述第一數(shù)據(jù)區(qū)中的數(shù)據(jù)已被讀取。本發(fā)明的有益效果為本發(fā)明由于采用了單個(gè)可實(shí)現(xiàn)多核功能的 CPU芯片,并讓其中的兩個(gè)CPU核(CPU0和CPU1)以中斷的方式通 過(guò)直接讀寫(xiě)共享存儲(chǔ)器進(jìn)行通訊,既完成主控又能完成高速高性能的
打印,大大提高了芯片的利用率,簡(jiǎn)化了硬件系統(tǒng)。并且由于*^套的通 訊協(xié)議很簡(jiǎn)單、操作很方便,因此上下位機(jī)軟件的關(guān)聯(lián)度大大降低,軟 件開(kāi)發(fā)的難度也大大降低,兩個(gè)CPU的軟件可由不同的人員來(lái)開(kāi)發(fā),大 大降低了軟件的開(kāi)銷(xiāo)和開(kāi)發(fā)周期。因此本發(fā)明是一種簡(jiǎn)單、高效、低成 本的記錄儀驅(qū)動(dòng)電路的實(shí)現(xiàn)方式。
圖1為現(xiàn)有技術(shù)采用兩個(gè)CPU實(shí)現(xiàn)記錄儀驅(qū)動(dòng)的原理框圖; 圖2為現(xiàn)有技術(shù)采用兩個(gè)CPU方案的數(shù)據(jù)處理進(jìn)程示意圖; 圖3為本發(fā)明實(shí)現(xiàn)記錄儀驅(qū)動(dòng)的原理框圖; 圖4為本發(fā)明的翁:據(jù)處理進(jìn)程示意圖; 圖5為雙口 RAM的組織方式示意圖;圖6為除雙口 RAM以外的其它常見(jiàn)的 memory的纟且織方式示意圖; 圖7為本發(fā)明在FPGA上的實(shí)現(xiàn)原理框圖。具體實(shí)施方式
下面根據(jù)附圖和實(shí)施例對(duì)本發(fā)明作進(jìn) 一 步詳細(xì)說(shuō)明 本發(fā)明設(shè)計(jì)了一種既能完成主控又能實(shí)現(xiàn)記錄儀控制的記錄儀驅(qū) 動(dòng)電路的實(shí)現(xiàn)方案,該方案無(wú)論是應(yīng)用在銀行自助終端、還是醫(yī)療電子 產(chǎn)品,只要是具有打印功能的設(shè)備都可以實(shí)現(xiàn)高速高性能的打印驅(qū)動(dòng)。具有打印功能的設(shè)備采用 一片可實(shí)現(xiàn)多核功能的多核芯片CPU,該 多核芯片內(nèi)能實(shí)現(xiàn)兩個(gè)或兩個(gè)以上的CPU功能,每個(gè)CPU既可以單獨(dú)的 工作,又可以協(xié)同工作,在協(xié)同工作時(shí),各CPU間可以通過(guò)共享memory 通訊。本發(fā)明在所述的多核芯片中用兩個(gè)CPU分別來(lái)實(shí)現(xiàn)設(shè)備的主控和 控制記錄儀打印,如圖3所示,其中一個(gè)核為主控CPUO,用于設(shè)備主控,
主要完成系統(tǒng)中除記錄打印以外的其它任務(wù),是系統(tǒng)的核心部分,另外 一個(gè)核為用于控制記錄儀打印的驅(qū)動(dòng)CPUl,該驅(qū)動(dòng)CPU1連接打印驅(qū)動(dòng)電路,是專(zhuān)門(mén)用來(lái)控制熱敏打印的CPU,主要完成打印數(shù)據(jù)的接收、解 包、處理以及打印狀態(tài)的上傳。且CPU0的中斷端連接CPU1的數(shù)據(jù)輸入 輸出端(IO端),CPUl的中斷端連接CPU0的IO端;還設(shè)置一共享存 儲(chǔ)器memory,兩個(gè)CPU間以中斷的方式通過(guò)直接讀寫(xiě)共享memory進(jìn)行 通訊。該方案利用單片支持多核的芯片,用其中的兩個(gè)CPU分別作為主 控CPU0和控制記錄儀打印的CPU1,使多核芯片既完成主控又能完成高 速實(shí)時(shí)的記錄打印,大大地提高了芯片的利用率,簡(jiǎn)化了硬件系統(tǒng),降 低了軟件開(kāi)銷(xiāo),降低了成本,提高了打印性能,是一種效率高、成本低 的實(shí)現(xiàn)方法。CPU0與CPU1之間數(shù)據(jù)處理進(jìn)程如圖4所示CPUO將不同目的下行 數(shù)據(jù)打成不同的包,將其寫(xiě)入共享memory中并中斷通知CPU1接收, CPU1響應(yīng)中斷,從共享memory中讀出數(shù)據(jù)包進(jìn)行解包,之后由CPU1輸 出驅(qū)動(dòng)打印數(shù)據(jù)給打印驅(qū)動(dòng)電路。CPU1以類(lèi)似的操作方式將信息傳給 CPUO,即CPU1將上行數(shù)據(jù)進(jìn)行處理和打包后,將其寫(xiě)入共享memory中, 并中斷通知CPUO接收;CPUO響應(yīng)中斷,從共享memory中讀出數(shù)據(jù)包 進(jìn)行解包并處理。高速記錄打印數(shù)據(jù)吞吐率一般只有幾Mbps,例如寬度 為216mm、速度為100mm/s的熱敏打印要求平均數(shù)據(jù)吞吐率為1.32Mbps, 本方案中的兩個(gè)CPU間以中斷的方式通過(guò)直接讀寫(xiě)共享memory來(lái)通訊, 共享memory的數(shù)據(jù)吞吐率一般能達(dá)到數(shù)十Mbps,因此只通過(guò)簡(jiǎn)單的數(shù) 據(jù)處理就可以實(shí)現(xiàn)高速實(shí)時(shí)打印,由于通訊協(xié)議和操作方式都很簡(jiǎn)單, 上下位機(jī)軟件的關(guān)聯(lián)度大大降低,軟件開(kāi)發(fā)的難度也大大降低,很適合 不同的開(kāi)發(fā)人員來(lái)同時(shí)開(kāi)發(fā),大大降低了軟件開(kāi)銷(xiāo)和開(kāi)發(fā)的周期。在實(shí)際應(yīng)用中,共享memory可以是芯片內(nèi)部的RAM、先進(jìn)先出存 儲(chǔ)器(FIFO)、雙口RAM等,或者是外部的RAM、 SDRAM (同步動(dòng)態(tài) 隨機(jī)存儲(chǔ)器)、FIFO、雙口RAM等,對(duì)于不同的memory有不同的組織 管理方式。其中優(yōu)選方案是采用雙口RAM,由于雙口RAM的同一存儲(chǔ) 空間可以同時(shí)^L不同的CPU讀寫(xiě),所以在圖5所示的構(gòu)架中,CPU0和 CPU 1可以不需要復(fù)雜的仲裁干預(yù),只需要每個(gè)CPU在向共享memory指 定的位置寫(xiě)數(shù)據(jù)包的同時(shí)通知對(duì)方讀取即可,因此相對(duì)來(lái)說(shuō)這種構(gòu)架是 最優(yōu)的,開(kāi)發(fā)難度也是最小的。圖6所示的是除了雙口RAM外其它常見(jiàn) 的memory的組織方式,由于這些memory不能同時(shí)被不同的CPU訪問(wèn), 因此CPUO和CPUl對(duì)這些共享memory的操作需要在某種復(fù)雜的仲裁機(jī) 制干預(yù)下才能完成。在本發(fā)明中,芯片可以是FPGA (現(xiàn)場(chǎng)可編程門(mén)陣列),還可以是 ASIC(專(zhuān)用集成電路),或者是其它可支持多核可提供管理共享memory 機(jī)制的芯片。當(dāng)前主流FPGA廠家都有自己的嵌入式處理器軟核,有一 些支持多CPU,比如Altera的基于Avalon總線的NIOS2CPU、 Xilinx的基 于IBM內(nèi)部總線技術(shù)的MicroBlaze處理器。例如Altera的cyclone II,在它 內(nèi)部可以生成兩個(gè)或多個(gè)Nios2 CPU, Nios2 CPU既可以單獨(dú)工作又可以 通過(guò)共享memory來(lái)協(xié)同工作,本發(fā)明的電路可以在這些芯片中驗(yàn)證。圖7是本發(fā)明在FPGA中實(shí)現(xiàn)的原理框圖,對(duì)共享memory的仲裁機(jī)制 釆用的是mailboxes,當(dāng)共享memory為任何一種存儲(chǔ)器時(shí),都可以采用這 種仲裁機(jī)制。在這種仲裁機(jī)制下,CPU0與CPU1采用如下步驟進(jìn)行通訊步驟1、 CPUO將下行數(shù)據(jù)進(jìn)行處理和打包后,要給CPU1發(fā)送信息 時(shí),先通過(guò)查詢(xún)共享memory的第 一緩沖區(qū)Buffer A內(nèi)的第 一標(biāo)志flag A 來(lái)判斷BufferA內(nèi)是否還有未讀取的數(shù)據(jù),如果還有就繼續(xù)等待,否則 轉(zhuǎn)入步驟A12;步驟2、 CPUO將數(shù)據(jù)信息寫(xiě)入共享存儲(chǔ)器的第一數(shù)據(jù)區(qū)data A中, 使能flag A的相關(guān)標(biāo)志位,并中斷CPU1通知其接收數(shù)據(jù);步驟3、 CPU1響應(yīng)中斷,通過(guò)讀取flag A的標(biāo)志位判斷data A中 是否有有效的數(shù)據(jù)信息;步驟4、當(dāng)data A中有有效的數(shù)據(jù)時(shí),CPU1讀取有效數(shù)據(jù)并進(jìn)行 處理;步驟5、 CPU1清除所述flagA的標(biāo)志位,并中斷CPUO通知其數(shù)據(jù) 已被讀取。步驟6、 CPU1以類(lèi)似的方法步驟向CPU0發(fā)送消息。本發(fā)明利用單片多核芯片來(lái)實(shí)現(xiàn)記錄儀驅(qū)動(dòng)電路,在硬件系統(tǒng)和協(xié) 議上可以做到和現(xiàn)有單個(gè)CPU方案的一樣簡(jiǎn)單,但是在打印速度和實(shí)時(shí) 性等性能上要遠(yuǎn)遠(yuǎn)高于現(xiàn)有的兩種方案。其中單片的多核芯片既完成主 控又能完成高速高性能的熱敏打印,大大提高了芯片的利用率,筒化了 硬件系統(tǒng)。高速熱敏打印數(shù)據(jù)吞吐率一般只有幾Mbps,例如寬度為 216mm、速度為100mm/s的熱敏打印要求平均數(shù)據(jù)吞吐率為1.32Mbps, 而常用memory的數(shù)據(jù)吞吐率一般能達(dá)到數(shù)十Mbps,因此不需要太多的 共享memory就可以做到高速打印。并且由于配套的通訊協(xié)議很簡(jiǎn)單、操 作很方便,因此上下位機(jī)軟件的關(guān)聯(lián)度大大〖爭(zhēng)低,兩個(gè)CPU的軟件可由 不同的人員來(lái)開(kāi)發(fā),大大降低了軟件的開(kāi)銷(xiāo)。顯然本發(fā)明是一種簡(jiǎn)單、 高效、低成本的記錄儀驅(qū)動(dòng)電路的實(shí)現(xiàn)方式。本發(fā)明的技術(shù)方案可應(yīng)用在銀行自助終端、超市票據(jù)打印,以及醫(yī) 療電子(如監(jiān)護(hù)儀、心電圖機(jī)等)設(shè)備中??梢岳斫獾氖牵瑢?duì)本領(lǐng)域普通技術(shù)人員來(lái)說(shuō),可以根據(jù)本發(fā)明的技 術(shù)方案及其發(fā)明構(gòu)思加以等同替換或改變,而所有這些改變或替換都應(yīng) 屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1、一種具有打印驅(qū)動(dòng)功能的設(shè)備,其特征在于包括一片至少可實(shí)現(xiàn)雙核功能的多核CPU芯片,其中一核為主控CPU0,用于所述設(shè)備的主控,另一核為用于控制記錄儀打印的驅(qū)動(dòng)CPU1,所述驅(qū)動(dòng)CPU1連接打印驅(qū)動(dòng)電路,且所述主控CPU0的中斷端連接所述驅(qū)動(dòng)CPU1的數(shù)據(jù)輸入輸出端,所述驅(qū)動(dòng)CPU1的中斷端連接所述主控CPU0的數(shù)據(jù)輸入輸出端;還設(shè)置一共享存儲(chǔ)器,所述主控CPU0和驅(qū)動(dòng)CPU1以中斷的方式通過(guò)直接讀寫(xiě)所述共享存儲(chǔ)器進(jìn)行通訊。
2、 根據(jù)權(quán)利要求1所述的設(shè)備,其特征在于所述的共享存儲(chǔ)器 是所述多核CPU芯片內(nèi)部的RAM或先進(jìn)先出存儲(chǔ)器或雙口 RAM。
3、 根據(jù)權(quán)利要求1所述的設(shè)備,其特征在于所述的共享存儲(chǔ)器 是外設(shè)的RAM或SDRAM或先進(jìn)先出存儲(chǔ)器或雙口 RAM。
4、 根據(jù)權(quán)利要求1或2或3所述的設(shè)備,其特征在于所述多核 CPU芯片采用現(xiàn)場(chǎng)可編程門(mén)陣列或?qū)S眉呻娐穼?shí)現(xiàn)。
5、 采用權(quán)利要求1所述的設(shè)備實(shí)現(xiàn)打印驅(qū)動(dòng)的方法,包括以下步驟給驅(qū)動(dòng)CPUl;所迷驅(qū)動(dòng)CPUl將上行數(shù)據(jù)通過(guò)所述共享存儲(chǔ)器傳輸給 所述主控CPUO;B、所述驅(qū)動(dòng)CPUl輸出驅(qū)動(dòng)打印數(shù)據(jù)。
6、 根據(jù)權(quán)利要求5所述的方法,其特征在于所述步驟A中主控 CPUO向驅(qū)動(dòng)CPUl傳輸下行數(shù)據(jù)的過(guò)程具體包括Al、所述主控CPUO將下行數(shù)據(jù)進(jìn)行處理和打包后,將其寫(xiě)入共享 存儲(chǔ)器中,并中斷通知所述驅(qū)動(dòng)CPU1接收;A2、所述驅(qū)動(dòng)CPU1響應(yīng)中斷,從所述共享存儲(chǔ)器中讀出數(shù)據(jù)包進(jìn) 行解包并處理;所述步驟A中所述驅(qū)動(dòng)CPU 1向所述主控CPU 0傳輸上行數(shù)據(jù)的 過(guò)程具體包括Ar、所述驅(qū)動(dòng)CPUl將上行數(shù)據(jù)進(jìn)行處理和打包后,將其寫(xiě)入共 享存儲(chǔ)器中,并中斷通知所述主控CPUO接收;A2'、所述主控CPU0響應(yīng)中斷,從所述共享存儲(chǔ)器中讀出數(shù)據(jù)包 進(jìn)行解包并處理。
7、 根據(jù)權(quán)利要求6所述的方法,其特征在于當(dāng)所述共享存儲(chǔ)器 為雙口 RAM時(shí),所述主控CPUO和驅(qū)動(dòng)CPUl分別向所述共享存儲(chǔ)器 指定的位置寫(xiě)數(shù)據(jù)包,并在寫(xiě)數(shù)據(jù)包的同時(shí)通知對(duì)方讀取數(shù)據(jù)包。
8、 根據(jù)權(quán)利要求6所述的方法,其特征在于所述步驟A1包括 如下步驟All、所述主控CPUO將下行數(shù)據(jù)進(jìn)行處理和打包后,先通過(guò)查詢(xún) 第 一緩沖區(qū)內(nèi)的第 一標(biāo)志,判斷所述第 一緩沖區(qū)內(nèi)是否還有未讀取的數(shù) 據(jù),如有則等待,否則轉(zhuǎn)入步驟A12;A12、所述主控CPUO將數(shù)據(jù)包寫(xiě)入共享存儲(chǔ)器的第一數(shù)據(jù)區(qū)中, 使能第一標(biāo)志的相關(guān)標(biāo)志位,并中斷所述驅(qū)動(dòng)CPUl,通知其接收;所述步驟A2包括如下步驟A21、所述驅(qū)動(dòng)CPUl響應(yīng)中斷,通過(guò)讀取第一標(biāo)志的標(biāo)志位判斷 第 一數(shù)據(jù)區(qū)中是否有有效的數(shù)據(jù);A22、當(dāng)所述第一數(shù)據(jù)區(qū)中有有效的數(shù)據(jù)時(shí),所述驅(qū)動(dòng)CPUl讀取 有效數(shù)據(jù)并進(jìn)行處理;A23、所述驅(qū)動(dòng)CPUl清除所述第一標(biāo)志的標(biāo)志位,并中斷所述主 控CPUO通知其所述第一數(shù)據(jù)區(qū)中的數(shù)據(jù)已被讀取。
全文摘要
一種具有打印驅(qū)動(dòng)功能的設(shè)備及實(shí)現(xiàn)打印驅(qū)動(dòng)的方法,設(shè)備包括一片至少可實(shí)現(xiàn)雙核功能的多核CPU芯片,其中一核為主控CPU0,用于設(shè)備的主控,另一核為連接打印驅(qū)動(dòng)電路的驅(qū)動(dòng)CPU1,用于控制記錄儀打印,CPU0將下行數(shù)據(jù)通過(guò)共享memory傳輸給驅(qū)動(dòng)CPU1,CPU1將上行數(shù)據(jù)通過(guò)所述共享memory傳輸給CPU0,CPU0和CPU1通過(guò)共享memory實(shí)現(xiàn)通訊。該設(shè)備和方法可以提高打印速度和性能,并降低成本,是一種簡(jiǎn)單、高效、低成本的記錄儀驅(qū)動(dòng)電路的實(shí)現(xiàn)方式。
文檔編號(hào)B41J29/38GK101398804SQ2007101237
公開(kāi)日2009年4月1日 申請(qǐng)日期2007年9月29日 優(yōu)先權(quán)日2007年9月29日
發(fā)明者力 姚, 汪生和 申請(qǐng)人:深圳邁瑞生物醫(yī)療電子股份有限公司