劉佐濂,何清平
(廣州大學(xué) 物理與電子工程學(xué)院,廣東 廣州 510006)
?
基于LPC1766的以太網(wǎng)熱敏打印機(jī)
劉佐濂,何清平
(廣州大學(xué) 物理與電子工程學(xué)院,廣東 廣州 510006)
摘要:采用NXP公司的LPC1766作為控制核心,結(jié)合以太網(wǎng)接口電路、打印機(jī)控制電路、PC軟件等構(gòu)成一個(gè)熱敏網(wǎng)絡(luò)打印裝置。該裝置嵌入了μC/OS-Ⅱ操作系統(tǒng)、TCP/IP協(xié)議、μC/GUI圖形界面,并利用μC/OS-Ⅱ?qū)崿F(xiàn)了多任務(wù)操作。對(duì)裝置的硬件電路進(jìn)行了詳細(xì)的論述,對(duì)軟件架構(gòu)進(jìn)行了說(shuō)明,裝置采用100 M的以太網(wǎng)作通信,實(shí)現(xiàn)了打印機(jī)在局域網(wǎng)內(nèi)共享。
關(guān)鍵詞:LPC1766微控制器;以太網(wǎng);熱敏打印機(jī)
熱敏微型打印機(jī)具有噪聲低、速度快、可靠性高、打印漢字清晰等優(yōu)點(diǎn)。目前已經(jīng)在POS終端系統(tǒng)、銀行系統(tǒng)、醫(yī)療儀器等領(lǐng)域得到廣泛的應(yīng)用。工業(yè)以太網(wǎng)作為一種新興的控制網(wǎng)絡(luò)技術(shù),已經(jīng)在工業(yè)控制系統(tǒng)的管理層和控制層得到廣泛應(yīng)用,并有向下延伸到現(xiàn)場(chǎng)設(shè)備層的趨勢(shì)。目前網(wǎng)絡(luò)打印主要用于辦公領(lǐng)域,在工業(yè)和商業(yè)領(lǐng)域應(yīng)用極其廣泛的熱敏微型打印機(jī)幾乎看不到網(wǎng)絡(luò)打印接口,因此研究設(shè)計(jì)具有網(wǎng)絡(luò)功能的熱敏微型打印機(jī)具有重要的意義。
1熱敏微型打印機(jī)總體硬件結(jié)構(gòu)
熱敏打印機(jī)的主要任務(wù)包括數(shù)據(jù)傳輸和實(shí)時(shí)打印控制。在數(shù)據(jù)傳輸方面,熱敏打印機(jī)通過(guò)以太網(wǎng)接口從計(jì)算機(jī)獲取打印信息和返回自身的狀態(tài)信息。在打印控制方面,熱敏打印機(jī)根據(jù)打印信息執(zhí)行命令或控制打印頭進(jìn)行打印,同時(shí)還要控制加熱時(shí)間和打印紙的精確定位,實(shí)時(shí)性要求非常高。本系統(tǒng)要設(shè)計(jì)的熱敏打印機(jī)要求能夠接收以太網(wǎng)傳輸進(jìn)來(lái)的打印信息,并進(jìn)行熱敏打印。系統(tǒng)既有實(shí)時(shí)的通訊任務(wù),又有實(shí)時(shí)的打印任務(wù)[1]。因此本系統(tǒng)采用LPC1766(Cortex-M3內(nèi)核)為微控制器。該控制器的頻率高達(dá)100 MHz,并擁有512 KB的Flash、64 KB的SRAM、10/100 M Ethernet MAC以及SPI、SSP等優(yōu)越的性能,可以滿足本系統(tǒng)的所有要求[2]。以LPC1766為核心的控制器結(jié)合以太網(wǎng)接口電路、打印機(jī)控制電路、人機(jī)界面電路(液晶顯示電路、按鍵電路、報(bào)警電路)、電源電路構(gòu)成整機(jī)系統(tǒng)。整機(jī)系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 熱敏打印機(jī)系統(tǒng)結(jié)構(gòu)圖
1.1以太網(wǎng)接口電路
要實(shí)現(xiàn)以太網(wǎng)通訊,首先要構(gòu)建以太網(wǎng)的硬件電路,主要包括以太網(wǎng)的鏈路層(MAC)、物理層(PHY)、網(wǎng)絡(luò)變壓器以及網(wǎng)絡(luò)接口的構(gòu)建。LPC1766已包含一個(gè)功能齊全的10/100 Mbps以太網(wǎng)鏈路層(MAC)。所以只需要一個(gè)物理層(PHY)芯片和一個(gè)網(wǎng)絡(luò)變壓器與之配合使用。LPC1766內(nèi)部的以太網(wǎng)鏈路層(MAC)提供了MII(媒體獨(dú)立接口)和RMII(簡(jiǎn)化的MII)兩種接口。在本設(shè)計(jì)中選擇了KSZ8041NL作為物理層(PHY)芯片。KSZ8041NL的發(fā)送信號(hào)(TX+、TX-)和接收信號(hào)(RX+、RX-)兩組引腳與網(wǎng)絡(luò)接口(RJ-45)相連接;XI、XO是晶振輸入;INTRP是中斷輸出口;LED0、LED1是網(wǎng)絡(luò)連接指示燈和網(wǎng)絡(luò)活動(dòng)狀態(tài)指示燈;其它引腳是MII接口和RMII接口的控制線,可選擇一種接口模式與LPC1766以太網(wǎng)控制器MAC相連接。本設(shè)計(jì)使用RMII接口模式。LPC1766與KSZ8041NL的連接電路如圖2所示。從PHY芯片輸出的信號(hào)不能直接接到網(wǎng)絡(luò)接口(RJ-45)上,必須使用一個(gè)網(wǎng)絡(luò)變壓器作隔離,在本系統(tǒng)中,使用了HR601680網(wǎng)絡(luò)變壓器。
圖2 LPC1766與KSZ8041NL連接電路圖
1.2打印機(jī)控制電路
打印機(jī)控制電路主要包括打印機(jī)的驅(qū)動(dòng)電路、走紙步進(jìn)電機(jī)驅(qū)動(dòng)電路、過(guò)熱保護(hù)電路、缺紙檢測(cè)電路、滾筒打開(kāi)檢測(cè)電路。
1.2.1打印機(jī)驅(qū)動(dòng)電路
本熱敏打印機(jī)驅(qū)動(dòng)控制信號(hào)主要由CLK、DI、/LAT、STB12、STB34控制,可以由處理器的I/O端口控制。因?yàn)長(zhǎng)PC1766處理器I/O端口輸出的是3.3 V,打印機(jī)控制信號(hào)線輸出的是5 V,所以兩邊的電壓需要匹配。本系統(tǒng)使用74LVC4245作3.3 V到5 V的電壓轉(zhuǎn)換,并且達(dá)到了打印機(jī)控制電路與LPC1766控制器有一定的隔離作用。打印機(jī)驅(qū)動(dòng)電路如圖3所示。
圖3 打印機(jī)的驅(qū)動(dòng)電路
1.2.2走紙步進(jìn)電機(jī)驅(qū)動(dòng)電路
打印機(jī)的另一個(gè)重要的電路是走紙步進(jìn)電機(jī)的驅(qū)動(dòng)電路。LT2321HSPE型號(hào)的熱敏打印機(jī)的步進(jìn)電機(jī)供電電壓是24 V,本系統(tǒng)采用了步進(jìn)電機(jī)控制芯片A3967LSB來(lái)實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的控制。該芯片最高輸入電壓為30 V,最高輸出電流為780 mA,輸入的邏輯電壓為5 V,剛好適合本系統(tǒng)。該芯片外部電路簡(jiǎn)單,控制也很方便,只要2條控制信號(hào)線STEP和ENABLE就可以對(duì)步進(jìn)電機(jī)進(jìn)行控制。
1.2.3過(guò)熱保護(hù)電路
熱敏打印頭的溫度不能過(guò)高,否則就會(huì)燒壞打印頭,因此還要設(shè)計(jì)一個(gè)保護(hù)熱敏打印頭的硬件電路。熱敏打印機(jī)上有一個(gè)測(cè)量打印頭溫度的熱敏電阻Rt,根據(jù)打印機(jī)數(shù)據(jù)手冊(cè)的說(shuō)明,當(dāng)打印頭的溫度超過(guò)60 ℃時(shí),就必須停止打印,直到打印頭的溫度降到40 ℃時(shí),才可以重新打印。
1.2.4缺紙檢測(cè)電路
LT2321HSPE型號(hào)的熱敏打印機(jī)提供缺紙檢測(cè)功能。打印機(jī)的紙檢測(cè)傳感器是一對(duì)反射性的光電傳感器。當(dāng)有紙時(shí),發(fā)光二極管的光線經(jīng)過(guò)紙反射到光電傳感器上,此時(shí)光電傳感器呈導(dǎo)通狀態(tài),輸出0.2 V的低電平;當(dāng)無(wú)紙時(shí),光電傳感器不導(dǎo)通,輸出3.2 V的高電平。
1.2.5滾筒打開(kāi)檢測(cè)電路
LT2321HSPE熱敏打印機(jī)也提供滾筒打開(kāi)檢測(cè)的功能。滾筒打開(kāi)檢測(cè)傳感器其實(shí)就相當(dāng)于一個(gè)開(kāi)關(guān),當(dāng)滾筒打開(kāi)時(shí),傳感器開(kāi)關(guān)打開(kāi),此時(shí)輸出0.1 V的低電平;當(dāng)滾筒關(guān)閉時(shí),傳感器開(kāi)關(guān)閉合,此時(shí)輸出3.2 V的高電平。
1.3人機(jī)界面電路
一個(gè)好的人機(jī)界面需要視覺(jué)、聽(tīng)覺(jué)、觸覺(jué)互相給合。美觀的圖形液晶、功能齊全的鍵盤以及清晰的聲音。系統(tǒng)的人機(jī)界面電路包括了三部分:液晶顯示電路、按鍵電路、報(bào)警電路。在系統(tǒng)中,使用了液晶屏TFT208E作顯示器,使用了輕觸按鍵作輸入鍵盤,使用了蜂鳴器作為報(bào)警輸出。系統(tǒng)的人機(jī)界面電路如圖4所示。
圖4 人機(jī)界面電路
2熱敏微型打印機(jī)總體軟件結(jié)構(gòu)
整個(gè)系統(tǒng)軟件結(jié)構(gòu)如圖5所示,主要包括四大程序模塊,分別是:底層驅(qū)動(dòng)程序模塊,實(shí)時(shí)內(nèi)核模塊,中間件模塊,應(yīng)用層模塊。
圖5 系統(tǒng)整體軟件結(jié)構(gòu)
2.1底層驅(qū)動(dòng)程序模塊
底層驅(qū)動(dòng)程序模塊包含以太網(wǎng)驅(qū)動(dòng)、打印頭驅(qū)動(dòng)、GUI驅(qū)動(dòng)。以太網(wǎng)驅(qū)動(dòng)向下控制LPC1766片內(nèi)MAC,向上為L(zhǎng)wIP協(xié)議棧提供網(wǎng)絡(luò)接口初始化、數(shù)據(jù)包收發(fā)等接口函數(shù)。打印頭驅(qū)動(dòng)向下控制實(shí)際的打印頭,向上為打印線程提供控制接口函數(shù)。GUI驅(qū)動(dòng)向下控制TFT屏和按鍵模塊,向上則為μC/GUI圖形庫(kù)提供接口函數(shù)。
2.2實(shí)時(shí)內(nèi)核模塊
實(shí)時(shí)內(nèi)核模塊即μC/OS實(shí)時(shí)內(nèi)核。內(nèi)核管理整個(gè)系統(tǒng),實(shí)現(xiàn)多任務(wù)機(jī)制,同時(shí)提供任務(wù)間的同步與通信機(jī)制來(lái)協(xié)調(diào)應(yīng)用層任務(wù)之間,以及任務(wù)與中斷處理程序的關(guān)系。
2.3中間件模塊
包含LwIP協(xié)議棧和μC/GUI圖形庫(kù)。LwIP協(xié)議棧為系統(tǒng)提供TCP/IP通信功能,μC/GUI圖形庫(kù)提供了優(yōu)美的圖形界面,用于顯示打印機(jī)的狀態(tài)信息。
2.4應(yīng)用層模塊
包含三個(gè)線程,分別為隊(duì)列管理線程、協(xié)議處理線程、打印線程。這三個(gè)任務(wù)相互協(xié)調(diào),并通過(guò)中間件和底層驅(qū)動(dòng)函數(shù)完成系統(tǒng)的打印功能。
3總結(jié)
本文根據(jù)熱敏打印系統(tǒng)的原理、特點(diǎn),提出了以高性價(jià)比的LPC1766為主控芯片的以太網(wǎng)微型熱敏打印驅(qū)動(dòng)及系統(tǒng)的設(shè)計(jì)方案,結(jié)合熱敏打印頭和主控芯片的特點(diǎn),設(shè)計(jì)了熱敏打印頭與主控芯片之間的硬件驅(qū)動(dòng)電路,具體主要包括:打印機(jī)的驅(qū)動(dòng)電路、步進(jìn)電機(jī)的驅(qū)動(dòng)電路、過(guò)熱保護(hù)電路、缺紙檢測(cè)電路、滾筒打開(kāi)檢測(cè)電路。完成了熱敏打印機(jī)系統(tǒng)軟件的設(shè)計(jì),包括打印的軟件驅(qū)動(dòng)、液晶顯示的軟件驅(qū)動(dòng)、以太網(wǎng)通信的軟件驅(qū)動(dòng)、字庫(kù)芯片的軟件驅(qū)動(dòng)等,對(duì)各個(gè)硬件和軟件模塊進(jìn)行調(diào)試,協(xié)調(diào)各個(gè)模塊之間的功能,最終完成了微型熱敏打印系統(tǒng)的設(shè)計(jì)。
參考文獻(xiàn)
[1]張冬宇.基于以太網(wǎng)通訊的熱敏微型打印機(jī)的設(shè)計(jì)[D].福州:福州大學(xué),2006,7:23-24.
[2]周立功.深入淺出Cortex-M3—LPC1700(上冊(cè))[M].廣州致遠(yuǎn)電子有限公司,2009,6:112-115.
[3]周立功.深入淺出Cortex-M3—LPC1700(下冊(cè))[M].廣州致遠(yuǎn)電子有限公司,2009,6:273-275.
[4]孫靜,朱繼萍.嵌入式以太網(wǎng)通訊模塊的設(shè)計(jì)[J].西安文理學(xué)院學(xué)報(bào),2007,10(4):70-73.
[5]健翔.微型熱敏打印機(jī)熱敏打印頭的驅(qū)動(dòng)控制及保護(hù)[J].企業(yè)技術(shù)開(kāi)發(fā),2009,28(7):10-12.
[6]張會(huì)生.基于77E58的高速行式熱敏打印機(jī)控制板研制[J].電子技術(shù)應(yīng)用,2004(1):37-40.
The Ethernet Thermal Printer Based on the LPC1766
Liu Zuolian, He Qingping
(SchoolofPhysicsandElectronicEngineering,GuangzhouUniversity,GuangzhouGuangdong501006,China)
Abstract:The Ethernet thermal printer is built with Ethernet interface circuit, printer control circuit and the PC software etc which uses the NXP company LPC1766 as the control core. The μC/OS-Ⅱ operation system, TCP/IP protocol, and μC/GUI graphical interface are embedded in the device, and the system uses μC/OS-Ⅱ to achieve a multi-task operation. The paper discusses the hardware circuit and illustrates the software architecture. The device adopts the 100M Ethernet communication to achieve the printer sharing in the LAN.
Key words:LPC1766MCU; Ethernet; thermal printer
收稿日期:2016-02-16
作者簡(jiǎn)介:劉佐濂(1970- ),男,廣東增城人,高級(jí)實(shí)驗(yàn)師,主要研究方向:電路系統(tǒng),精密光電檢測(cè)。
文章編號(hào):1674- 4578(2016)03- 0014- 03
中圖分類號(hào):TP334.8
文獻(xiàn)標(biāo)識(shí)碼:A