www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]一種打印控制系統(tǒng)的設(shè)計

1. 引言

當前,大多數(shù)打印機都是由桌面機及相應(yīng)軟件來驅(qū)動的,打印機(printer) 是計算機的輸出設(shè)備之一,用于將計算機處理結(jié)果打印在相關(guān)介質(zhì)上。衡量打印機好壞的指標有三項:打印分辨率,打印速度和噪聲。將計算機的運算結(jié)果或中間結(jié)果以人所能識別的數(shù)字 、字母、符號和圖形等,依照規(guī)定的格式印在紙上的設(shè)備。打印機正向輕、薄、短、小、低功耗、高速度和智能化方向發(fā)展。打印機[1]的種類很多,按打印元件對紙是否有擊打動作,分擊打式打印機與非擊打式打印機。按打印字符結(jié)構(gòu),分全形字打印機和點陣字符打印機。按一行字在紙上形成的方式,分串式打印機與行式打印機。按所采用的技術(shù),分柱形、球形、噴墨式、熱敏式、激光式、靜電式、磁式、發(fā)光二極管式等打印機。

2.打印控制系統(tǒng)硬件結(jié)構(gòu)

硬件結(jié)構(gòu)原理圖如圖1所示:
 

各主要模塊基本組成描述如下:

(1) 微處理器MPU:本系統(tǒng)采用的嵌入式微處理器是Samsung公司S3C2410。這塊處理器是一款基于ARM920T內(nèi)核的16/32位RISC嵌入式微處理器,采用五級流水線和哈佛結(jié)構(gòu),提供1.1MIPS/MHz的性能,主要面向手持設(shè)備以及高性價比,低功耗的應(yīng)用。微機中的中央處理器(CPU)稱為微處理器(MPU),是構(gòu)成微機的核心部件,也可以說是微機的心臟。它起到控制整個微型計算機工作的作用,產(chǎn)生控制信號對相應(yīng)的部件進行控制,并執(zhí)行相應(yīng)的操作。在微機中,CPU被集成在一片超大規(guī)模集成電路芯片上,稱為微處理器(MPU),微處理器插在主板的cpu插槽中。通常所說的16位機、32位機是指該計算機中微處理器內(nèi)部數(shù)據(jù)總線的寬度,也就是CPU可同時操作的二進制數(shù)的位數(shù)。目前常用的CPU都是32位的,即一次可傳送32位二進制數(shù)。

(2)Flash存儲器: 采用Samsung公司K9F1208U0M Nand flash存儲器,存儲容量為64MB,用于存放嵌入式操作系統(tǒng)和應(yīng)用程序,剩余空間用于暫存文件和用戶自由存儲使用。

(3)SDRAM存儲器: 采用HY57V561620CT,大小為32MB.

(4)USB集線器芯片: 采用ALCOR MICRO公司AU9254A21型號的USB集線器芯片,可將系統(tǒng)擴展為4個USB外部接口,用于連接打印機,U盤,鼠標,鍵盤等外部設(shè)備。

(5)觸摸屏:采用Sharp公司的3.5寸LCD液晶屏, 320×240的分辨率,自帶觸摸功能。

3. 打印控制系統(tǒng)的軟件設(shè)計

3.1 linux操作系統(tǒng)簡介

Linux是一類Unix計算機操作系統(tǒng)的統(tǒng)稱。Linux操作系統(tǒng)的內(nèi)核的名字也是“Linux”。Linux操作系統(tǒng)也是自由軟件和開放源代碼發(fā)展中最著名的例子。它誕生于1991 年的10 月5 日(這是第一次正式向外公布的時間)。以后借助于Internet 網(wǎng)絡(luò),并經(jīng)過全世界各地計算機愛好者的共同努力下,現(xiàn)已成為今天世界上使用最多的一種UNIX 類操作系統(tǒng),并且使用人數(shù)還在迅猛增長。嚴格來講,Linux這個詞本身只表示Linux內(nèi)核,但在實際上人們已經(jīng)習慣了用Linux來形容整個基于Linux內(nèi)核,并且使用GNU 工程各種工具和數(shù)據(jù)庫的操作系統(tǒng)。Linux 操作系統(tǒng)的誕生、發(fā)展和成長過程始終依賴著以下五個重要支柱:UNIX 操作系統(tǒng)、MINIX 操作系統(tǒng)、GNU 計劃、POSIX 標準和Internet 網(wǎng)絡(luò)。

目前國際上有兩百多種嵌入式操作系統(tǒng),比較有影響力的幾種是:VxWorks, uC/OS, Windows CE, Linux, QNX, Palm OS.這其中,Linux以其諸多的優(yōu)點,發(fā)展最快,應(yīng)用最廣。

Linux操作系統(tǒng)有如下幾個特點:

(1)免費使用,節(jié)省了大量的開發(fā)費用。

(2)開放源代碼,可以根據(jù)需要隨意定制內(nèi)核。也正是由于其開源性,使得Linux成為自由軟件世界的一面旗幟,也使得我們能夠從廣袤的網(wǎng)絡(luò)世界中獲取大量的免費資源。

(3)可移植性,能夠應(yīng)用于多種硬件平臺。原形可以在標準平臺上開發(fā),然后移植到具體硬件上,加快了開發(fā)過程。

(4)高度的模塊化使添加部件非常容易。

本文所述系統(tǒng)采用經(jīng)過裁減(依據(jù)外圍硬件和所需服務(wù))的linux操作系統(tǒng)。

3.2 linux操作系統(tǒng)下的打印控制系統(tǒng)

根據(jù)打印機的命令方式,可以將其分成文本打印機、PostScript打印機和其它種類。所謂文本打印機,就是那些比較古老的針式打印機,我們不需要驅(qū)動程序,就可以直接用cat命令驅(qū)動打印機打印文字,但只能打印英文,這種打印機現(xiàn)在已經(jīng)很少使用了。PostScript(簡稱PS)是一種繪圖能力很強的解釋性腳本語言,1985年由Adobe公司制定。由于它占用計算機系統(tǒng)資源少,處理過程標準化而且與設(shè)備無關(guān),所以被廣泛的應(yīng)用于打印系統(tǒng)。現(xiàn)在,能夠直接支持PostScript的打印機,通常都是非常高級的辦公打印機,對于這種打印機來說,PS語言是它們和計算機之間溝通的最簡便的方式,應(yīng)用程序可以將生成的PS文檔直接發(fā)給打印機打印。

接下來,我們根據(jù)圖2所示框圖,介紹一下打印控制系統(tǒng)中的幾個主要問題:

(1)格式轉(zhuǎn)化程序Netpbm:

一組轉(zhuǎn)換圖形格式的程序集,可以將png和jpg等格式的圖像經(jīng)中間格式PNM,最終轉(zhuǎn)換成通用的PostScript格式。其中包括了pngtopnm,pnmtops等一系列獨立的小程序,將它們搭配使用,可以對圖像進行諸如縮放,旋轉(zhuǎn)等各種處理。

(2) GhostScript程序:

對于支持PostScript的打印機而言,要在Linux下使用是比較容易的,但對于那些不支持PostScript的打印機而言,就必須要把PostScript格式轉(zhuǎn)換成打印機能夠識別的命令格式,而GhostScript就是用來完成這個工作的。Ghostscript是PostScript打印機模擬程序,通過軟件模擬PostScript打印機,它的具體工作是將PostScript頁面描述語言,轉(zhuǎn)譯成各種打印機專用的低階打印指令,并發(fā)送給打印機執(zhí)行。因此,Ghostscript需要知道各種打印機的指令語言,這就是的打印機驅(qū)動程序。

(3)打印機驅(qū)動程序:

打印機驅(qū)動程序是應(yīng)用軟件與打印機之間交流的橋梁,它可以將轉(zhuǎn)化好的打印文件,按照各種打印機不同的格式發(fā)送給打印機,因此不同的打印機都有自己特有的打印驅(qū)動程序。另外,隨驅(qū)動程序一起發(fā)布的還有PPD文檔,PPD(PostScript Printer Description)是用來描述打印機功能的文件,里面包含了字體,打印頁面等的一些描述。

(4)打印管理程序:

作為一個多用戶多任務(wù)的操作系統(tǒng),Linux上的所有程序都是基于多任務(wù)、多用戶而設(shè)計的,打印也不例外。為了讓不同的用戶、不同的任務(wù)在打印的時候不會產(chǎn)生沖突,就需要一個打印管理程序,我們通常稱其為spooler。這類管理程序很多,從傳統(tǒng)的LPD,到時下非常流行的CUPS,它們功能各異,但有一點不變的就是都是用來協(xié)調(diào)打印任務(wù)的。CUPS的工作方式如下:通過命令行接收要打印的文件;通過文件的類型判斷是否需要將其轉(zhuǎn)換為PostScript,如果需要,則調(diào)用相應(yīng)的應(yīng)用程序進行轉(zhuǎn)換;通過PPD文件來判斷GhostScript應(yīng)使用何種驅(qū)動處理此PostScript文件;把GhostScript處理的結(jié)果輸出到打印設(shè)備上。

(5)用戶統(tǒng)一界面Foomatic:

由于打印領(lǐng)域標準問題長時間不統(tǒng)一,誕生了各種打印管理程序,而要學(xué)會為每一個打印管理程序安裝驅(qū)動程序,是一件非常復(fù)雜的事情;如果用戶需要更換打印機,也必須更改復(fù)雜的設(shè)置。為了改善這種狀況,就出現(xiàn)了Foomatic應(yīng)用程序,它的作用是通過一種方式管理所有的打印機,把PPD文檔和打印管理程序的配置屏蔽掉,給用戶一個友好的統(tǒng)一的界面。

在嵌入式系統(tǒng)設(shè)計中,因為其系統(tǒng)資源有限,合理分配資源和保證處理速度是我們首先要考慮的問題。一臺不支持PostScript格式的打印機工作時會占用大量的CPU處理時間和內(nèi)存空間,只是在PC上工作時,由于CPU處理速度快,內(nèi)存空間大,所以用戶感覺不到罷了?;谝陨峡紤],本文所設(shè)計的嵌入式打印系統(tǒng),在保留上述打印機系統(tǒng)結(jié)構(gòu)的情況下,以簡單的shell腳本程序代替CUPS等龐大的打印管理程序,以自行開發(fā)的圖形用戶界面代替Foomatic應(yīng)用程序。另外,由于惠普公司的打印機驅(qū)動程序具有良好的通用性和可移植性,因此我們選擇HP Deskjet系列噴墨打印機,同時使用這一系列的通用驅(qū)動程序hpijs(含多種打印機型號的PPD文檔),源代碼由惠普公司官方網(wǎng)站提供。

3.3軟件設(shè)計中的關(guān)鍵問題:

(1)交叉編譯:

IEEE(國際電氣和電子工程師協(xié)會)對嵌入式系統(tǒng)的定義:“用于控制、監(jiān)視或者輔助操作機器和設(shè)備的裝置”。嵌入式項目的開發(fā)中,有一個重要的環(huán)節(jié)就是構(gòu)建交叉編譯工具鏈。所有的軟件源程序,必須經(jīng)過這個工具鏈的編譯,鏈接后才能生成可以在嵌入式系統(tǒng)上運行的代碼。在過去,編譯一套工具鏈要花費開發(fā)人員不少的時間,但現(xiàn)在在網(wǎng)上很容易就可以下載一套已經(jīng)做好的工具鏈。

(2)打印任務(wù)管理程序:

沒有使用CUPS打印管理程序,是因為它會耗費大量的系統(tǒng)資源,這對于嵌入式系統(tǒng)來說無疑是致命的。但節(jié)約資源的同時,我們也要花費時間去設(shè)計一個適和于目標系統(tǒng)的程序,來管理打印任務(wù)。程序流程圖如下所示:

3.4 用戶圖形界面設(shè)計

Foomatic應(yīng)用程序本身并不大,但它是一個Perl腳本程序,所以如果要使用它,我們還得額外移植一套龐大的Perl腳本解釋器,這對系統(tǒng)會有十幾兆的開銷。因此,我們選擇用Qt/Embedded工具包開發(fā)了一套簡單的用戶界面。其主要功能是讓用戶可以看到存儲設(shè)備(flash存儲器或外接usb存儲設(shè)備)上的文件,以便選擇打印,其中jpg和png格式的圖像還可以顯示出來,供用戶做簡單編輯后再打??;另外,可以讓用戶看到驅(qū)動程序所支持的幾十種打印機型號,用戶更換打印機后,只要更改相應(yīng)的型號,程序就會自動調(diào)整打印命令,方便了用戶的管理和使用。

4.結(jié)束語

本文設(shè)計了一種基于嵌入式Linux的打印控制設(shè)備,在一般打印機上實現(xiàn)了脫離PC預(yù)覽,編輯,控制,打印的功能。這一設(shè)備具有很大的靈活性,只要移植相應(yīng)的驅(qū)動程序,我們可以將其應(yīng)用于所有打印機,這樣既獲得了優(yōu)越的性能又節(jié)省了開支,具有較高的實用價值。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉