基于開源軟件的嵌入式網(wǎng)絡(luò)打印服務(wù)器
引 言
目前常用的打印機(jī)有兩種接口形式:USB口和Eth-ernet網(wǎng)口。由于價(jià)格相對(duì)較低,USB口的打印機(jī)更為普遍。USB口打印機(jī)不能獨(dú)立工作,必須依附于一臺(tái)主機(jī)。為了在一個(gè)局域網(wǎng)環(huán)境中共享使用一臺(tái)USB口打印機(jī),需要為該打印機(jī)配備一臺(tái)服務(wù)器,然后通過共享設(shè)置實(shí)現(xiàn)打印機(jī)的網(wǎng)絡(luò)共享。這種方式有幾個(gè)方面的缺陷:需要占用一臺(tái)服務(wù)器資源;耗電;容易中毒導(dǎo)致無法正常打??;由于長時(shí)間不間斷運(yùn)行,出現(xiàn)故障的概率高,導(dǎo)致無法打??;占用辦公空間。
隨著嵌入式處理器主頻的不斷提高,設(shè)計(jì)專門的嵌入式網(wǎng)絡(luò)打印服務(wù)器已經(jīng)成為共識(shí)。HP等很少的幾家打印機(jī)公司在幾年以前就推出了這樣的嵌入式設(shè)備,但基本上都只針對(duì)本公司特定的幾種打印機(jī),無法做到通用。很多文獻(xiàn),如參考文獻(xiàn)[1]、[2]中提到的設(shè)計(jì)方案不夠具體。基于這些情況,設(shè)計(jì)并實(shí)現(xiàn)了一款基于Linux的嵌入式網(wǎng)絡(luò)打印服務(wù)器,硬件設(shè)計(jì)簡單,軟件完全開源,只要有Linux下的打印驅(qū)動(dòng),就可以支持。
1 總體方案設(shè)計(jì)
要把USB口打印機(jī)連人網(wǎng)絡(luò),有兩種設(shè)計(jì)方案,一種是使用USB/以太網(wǎng)協(xié)議轉(zhuǎn)換器,另一種是設(shè)計(jì)一個(gè)帶有USB口和以太網(wǎng)網(wǎng)口(包含操作系統(tǒng))的嵌入式設(shè)備。盡管協(xié)議轉(zhuǎn)換器軟硬件簡單,但不支持多用戶同時(shí)并發(fā)打印,也就無法實(shí)現(xiàn)共享打印的要求。
1.1 硬件設(shè)計(jì)
筆者是在中科院計(jì)算所自主研制基于龍芯1號(hào)核的“聚芯SoC”1000C上實(shí)驗(yàn)的,主頻266 MHz。作為產(chǎn)品,只需要提供電源接口、USB口和以太網(wǎng)口。調(diào)試階段,增加串口和JTAG調(diào)試接口??紤]到多用戶并發(fā)打印的負(fù)載和實(shí)際測試效果,因?yàn)橐浦驳?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/開源">開源軟件有很多依賴庫,所占空間較大,故選用的是1 GB容量的Flash。打印過程中,打印文件在內(nèi)存中緩存,為了應(yīng)對(duì)較大的打印文件和提高運(yùn)行速度,建議選擇256 MB以上的SDRAM。嵌入式網(wǎng)絡(luò)打印服務(wù)器硬件結(jié)構(gòu)框圖如圖1所示。
1.2 軟件設(shè)計(jì)
軟件設(shè)計(jì)是整個(gè)系統(tǒng)設(shè)計(jì)的重點(diǎn),也是難點(diǎn)。在設(shè)計(jì)思想上,強(qiáng)調(diào)盡可能使用開源軟件,主要是為了縮短研發(fā)周期并能保證打印系統(tǒng)的可靠性和穩(wěn)定性。操作系統(tǒng)選擇目前主流的Linux操作系統(tǒng)。Linux操作系統(tǒng)下的打印控制系統(tǒng)根據(jù)打印機(jī)的命令方式,分為文本打印機(jī)、Post-Script打印機(jī)和其他種類。文本打印機(jī)不需要驅(qū)動(dòng)程序,就可以直接用cat命令驅(qū)動(dòng)打印機(jī),但只能打印英文,已很少使用。PostScript(簡稱PS)是一種繪圖能力很強(qiáng)的解釋性腳本語言,由Adobe公司制定。它因占用系統(tǒng)資源少,處理過程標(biāo)準(zhǔn)化與設(shè)備無關(guān)而被廣泛應(yīng)用。直接支持PostScript的打印機(jī)通常都是比較高級(jí)的辦公打印機(jī),對(duì)于這類打印機(jī)來說,PS語言是它們和計(jì)算機(jī)之間溝通的最簡便的方式,應(yīng)用程序可以將生成的PS文檔直接發(fā)給打印機(jī)打印。但大多數(shù)情況下使用的是各種比較低檔的,不能直接支持PostScript的打印機(jī),這類打印機(jī)只能識(shí)別各廠家自己的指令集。
評(píng)論