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