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