基于77E58的高速行式熱敏打印機控制板的研制 作者: 時(shí)間:2007-03-09 來(lái)源:網(wǎng)絡(luò ) 加入技術(shù)交流群 掃碼加入和技術(shù)大咖面對面交流海量資料庫查詢(xún) 收藏 摘要:基于77E58研制了一種高速行式熱敏打印機控制板,打印速度為20行漢字/秒。充分利用行式熱敏打印頭的雙緩沖結構,實(shí)現了打印頭加熱和數據傳送同步進(jìn)行,簡(jiǎn)化了電路設計,提高了打印速度;對打印頭的保護采用一種獨立于單片機的雙重保護電路,提高了對打印頭保護的可靠性。介紹了行式熱敏打印的原理、高速熱敏打印機控制板的硬件和軟件設計。 關(guān)鍵詞:熱敏打印機 熱敏行式打印機 微型打印機 高速 熱敏打印機具有噪音低、速度快、可靠性高、打印字符清晰等優(yōu)點(diǎn),目前已在POS終端系統、銀行系統、醫療儀器等領(lǐng)域得到廣泛應用。熱敏打印機根據其熱敏元件的排列方式可分為行式熱敏(Thermal Line Dot System)和列式熱敏(Thermal Serial Dot System)。列式熱敏屬于早期產(chǎn)品,目前主要應用在一些對打印速度要求不高的場(chǎng)合,國內已有作者在其產(chǎn)品中使用。行式熱敏屬20世紀90年代技術(shù),其打印速度比列式熱敏快得多,目前最快速度已達到220mm/秒。要實(shí)現高速熱敏打印,除了選取高速熱敏打印頭外,還必須有相應的控制板與之配合。由于其進(jìn)口原裝控制板價(jià)格昂貴,且有的不支持漢字打印,因此受日本精工代理商的委托,開(kāi)發(fā)了一種基于77E58的高速行式熱敏打印機控制板,該控制板具有打印速度快、性能穩定等特點(diǎn),目前已在中國移動(dòng)、中國聯(lián)通、中國電信等1000多家營(yíng)業(yè)廳的話(huà)費清單打印機中得到應用。1 行式熱敏打印的原理 行式熱敏打印頭(LTP2342)原理框圖如圖1所示。在一條長(cháng)72mm的基體上均勻安裝了576個(gè)發(fā)熱元件。打印前將Vp連到打印機電源,要打印的數據在時(shí)鐘CLK的配合下由DAT端移到移位寄存器。當一個(gè)點(diǎn)行576位數據全部移到移位寄存器后,鎖存端(LATCH)為低,將移位寄存器的數據鎖存到鎖存寄存器;然后在數據選通端(DST)產(chǎn)生低電平,此時(shí)根據輸入的數據是1或0決定發(fā)熱元件是否發(fā)熱,從而在熱敏紙上產(chǎn)生要打印的點(diǎn)行。行式熱敏打印頭的控制信號的時(shí)序圖如圖2所示。2 高速行式熱敏打印機的實(shí)現方法 要實(shí)現行式熱敏打印機打印的高速化,在設計時(shí)必須考慮如下三方面的內容。 (1)選用高速行式熱敏打印頭 雖然行式熱敏打印比列式的速度快,但不同的行式熱敏打印頭的打印速度差別相當大,從最慢的20mm/s到最快的220mm/s。速度的快慢主要取決于打印頭的工作電壓、發(fā)熱元件的發(fā)熱效率、走紙電機的性能以及數據傳送方式等。因此要實(shí)現高速打印,必須選取高速的熱敏打印頭,如日本精工(SII)的LTP2342(75mm/s)、LTPF347(220mm/s)、日本EPSON的532(150mm/s)等。(2)選用高速微處理器及快速存儲器 熱敏打印機控制板的主要功能是接收由主機發(fā)來(lái)的數據,然后將每一個(gè)字符的字形碼從內存(ROM)中取出,并按照一定格式放入內存?穴RAM?雪中的打印點(diǎn)行緩沖區,最后將點(diǎn)行緩沖區的內容送到打印頭的移位寄存器中,進(jìn)行加熱打印。打印的漢字采用24%26;#215;24點(diǎn)陣,這樣對每一個(gè)漢字,就要先由該漢字的機內碼計算出存放在ROM的地址,再從ROM中讀?。罚泊螖祿?,然后計算RAM中的地址,往RAM中寫(xiě)入72次數據。對于如此大量的數據存儲及轉換,必須采用高速的CPU和存儲時(shí)間小的ROM及RAM,否則將在數據存儲及轉換上花費大量時(shí)間,從而降低打印速度。 (3)先進(jìn)的控制模式 從熱敏打印頭的方面看,控制時(shí)序是如下進(jìn)行的:數據傳送→數據鎖存→打印頭加熱→走紙,然后開(kāi)始下一行的傳送和打印。數據鎖存是瞬間完成的,它的時(shí)間可以忽略不計,故對一般的控制模式,打印頭的主要時(shí)間分配如表1所示。表1 一般控制模式 第1行打印第2行打印數據傳送打印頭加熱走紙數據傳送打印頭加熱走紙對于行式熱敏打印機,為了提高打印速度,都采用雙緩沖寄存器。因此必須充分利用這個(gè)特點(diǎn),采用先進(jìn)的控制模式,如表2所示。先進(jìn)的控制模式就是在打印頭加熱時(shí),CPU完成下一行的數據轉換及數據傳送。表2 先進(jìn)的控制模式 第1行打印第2行打印 數據傳送打印頭加熱走紙打印頭加熱走紙 CPU進(jìn)行第2行數據轉換及數據傳送 CPU進(jìn)行第3行數據轉換及數據傳達 以LTP2342打印頭為例比較兩種控制模式的打印速度。LTP2342每一點(diǎn)行為576個(gè)點(diǎn)。假設數據的傳輸頻率為1MHz,每一點(diǎn)行的加熱時(shí)間為1ms,走紙電機的驅動(dòng)頻率為1500pps,這樣用一般控制模式,打印每一點(diǎn)行的時(shí)間為:0.765+1+0.667=2.43ms,打印速度為410點(diǎn)行/秒;用先進(jìn)的控制模式,打印每一點(diǎn)行的時(shí)間為:1+0.667=1.667ms,打印速度為599點(diǎn)行/秒。由此可見(jiàn),控制模式對打印速度影響很大。 3 硬件設計 本打印機控制板的硬件總體框圖如圖3所示。整個(gè)電路主要由主控電路、走紙電機控制及打印頭狀態(tài)檢測電路、打印頭保護電路及頭溫測量電路組成。 3.1 主控電路 主控電路由微處理器、IMP810復位芯片、62256靜態(tài)存儲器、29C040FLASH、XC9536CPLD、Max232串行接口芯片組成。 考慮到價(jià)格及采購的便易,本控制板采用Winbond的高速微處理器77E58,77E58的時(shí)鐘頻率為40MHz,每個(gè)機器周期為4時(shí)鐘周期??刂瞥绦?、ASCII字符的字型碼(24%26;#215;12)以及中國移動(dòng)、中國聯(lián)通及中國電信的圖標存放在77E58的內部32K字節的FLASH中,32K的62256靜態(tài)存儲器主要作為接收數據緩沖區,512K的29C040存放24%26;#215;24點(diǎn)陣的國標一、二級漢字字庫及1~3區的字符。XC9536實(shí)現的功能主要有:擴展77E58地址線(xiàn)以訪(fǎng)問(wèn)29C040、并行接口數據的鎖存及控制、部分熱敏頭控制信號的產(chǎn)生等。圖4 走紙電機控制電路將內存的點(diǎn)行緩沖區的數據輸出到打印頭的移位寄存器中,可以有不同的方式。一種是用外加74LS166移位寄存器,但這種方法會(huì )導致外圍電路復雜;第二種可采用DSP控制器本身的串行同步口進(jìn)行傳送。本控制板直接采用單片機的I/O口線(xiàn),用軟件移位的方法,將要打印的字節數據轉換為串行數據移到打印頭的寄存器中。本控制板采用先進(jìn)的控制方式,即利用行式熱敏打印機的雙緩沖寄存器結構,在給打印頭加熱時(shí),CPU進(jìn)行數據轉換和數據傳輸。采用40MHz的77E58,傳送576個(gè)點(diǎn)數據(72字節)的時(shí)間小于打印頭的加熱時(shí)間(一般為1ms左右),故這種方法既接口簡(jiǎn)單又不影響打印速度。 3.2 走紙電機控制電路 LTP2342走紙電機采用的是雙極斬波驅動(dòng)的步進(jìn)電機,本控制板采用三菱公司的步進(jìn)電機專(zhuān)用驅動(dòng)電路M54646來(lái)驅動(dòng)走紙電機,控制電路如圖4所示。M54646為恒流斬波驅動(dòng)的步進(jìn)電機控制芯片,通過(guò)控制VR腳的電壓控制供給步進(jìn)電機的電流。一般來(lái)說(shuō),供給的電流越大,步進(jìn)電機的力矩越大,但走紙噪音也越大。在能帶動(dòng)打印紙的情況下,應盡量采用較小的供電電流。通過(guò)VR1與VR2的組合,可以給54646提供不同的基準電壓VR,從而給走紙電機提供不同的供電電流。 3.3 打印頭保護及頭溫測量電路 對打印頭的保護是打印機控制板好壞的重要標志。由于行式熱敏打印機對發(fā)熱元件的加熱時(shí)間都是毫秒級,如果對發(fā)熱元件連續加熱超過(guò)1秒,將會(huì )燒壞打印頭,因此對打印頭的保護必須及時(shí)、可靠。 從行式打印機的原理圖中可以看出,要使發(fā)熱元件加熱,除寄存器中數據點(diǎn)為高外,還必須將頭電壓Vp接到供電電源且DST腳為低電平。只要任一條件不滿(mǎn)足,就不可能給打印頭加熱,也就不會(huì )燒壞打印頭。一般電路都是用單片機控制DST及Vp電源,如果單片機正常工作,則可以保護打印頭,但如果單片機本身?yè)p壞,就很可能燒壞打印頭。本電路采用了雙重保護電路,DST由單片機控制,對Vp的控制則采用一種獨立于單片機的保護電路。保護電路如圖5所示。圖中打印頭的電源Vp是通過(guò)開(kāi)關(guān)管連接到供電電源,對開(kāi)關(guān)管的控制是通過(guò)一個(gè)可重觸發(fā)的單穩觸發(fā)器?穴74HC123?雪進(jìn)行的。當在觸發(fā)器的2腳加入一個(gè)脈沖時(shí),觸發(fā)器就會(huì )控制開(kāi)關(guān)管導通一定時(shí)間,導通時(shí)間由C39和R34決定。如果不在導通時(shí)間內,再在2腳繼續加入觸發(fā)脈沖,則開(kāi)關(guān)管關(guān)斷。開(kāi)始上電時(shí)由復位信號加到觸發(fā)器的3腳,使開(kāi)關(guān)管關(guān)斷。這樣如果單片機損壞,則不可能復位后在2腳產(chǎn)生脈沖信號,開(kāi)關(guān)管也就不可能導通。這種雙重保護電路大大提高了保護打印頭的可靠性,在本控制板的實(shí)際應用中取得了很好的保護效果。圖5 打印頭保護及頭溫測量電路由于對頭溫檢測的精度要求不是很高,本電路采用軟件的方法實(shí)現A/D轉換。打印頭的溫度傳感器的信號連到TH腳,溫度越高,TH電位越高。轉換前將TEMP腳置低,轉換時(shí)將TEMP腳置高,這樣就通過(guò)電阻R22對電容C13進(jìn)行充電。單片機每隔一定時(shí)間采集一次TE_MPO狀態(tài),這樣溫度越高,比較器輸出電位翻轉的時(shí)間越長(cháng),從而采集的數據越大。 4 軟件設計 軟件的主要功能是接收來(lái)自主機通過(guò)串口或并口發(fā)來(lái)的數據,然后判斷數據的類(lèi)型。如果是可打印的字符,則從FLASH中取出各字符的字形碼,并進(jìn)行轉換,然后送往打印頭的行緩沖區進(jìn)行打??;如果數據是控制命令,則轉到相應控制命令的執行程序。本控制板實(shí)現了英文和漢字的混合打印。限于篇幅,程序框圖及程序清單省略,感興趣的讀者可與作者聯(lián)系。 使用77E58微處理器開(kāi)發(fā)的高速行式熱敏打印機控制板具有打印速度快、打印頭保護功能可靠、性能穩定的優(yōu)點(diǎn),已在電信部門(mén)的1000多家電信營(yíng)業(yè)廳得到應用,取得較好的社會(huì )效益和經(jīng)濟效益。 本打印機采用的是日本精工LTP2342熱敏打印頭,其打印速度最快為75mm/s,即600點(diǎn)行/秒,按打?。玻?26;#215;24點(diǎn)陣的漢字字符計算,行間距為4,則打印速度為600/(24+4)=21行/秒。如果要開(kāi)發(fā)速度更快的熱敏打印機,就應選用速度更快的熱敏打印頭,如EPSON532(150mm/s)或日本精工LTPF347(220mm/s),同時(shí)也應選擇更高性能的微處理器(如Dallas的89C420或32位的微處理器)來(lái)進(jìn)行數據轉換及傳輸。
評論