熱敏打印機與高速數字處理器DSP的接口應用
隨著(zhù)測試技術(shù)手段的不斷發(fā)展,各種測量?jì)x器儀表已經(jīng)由最初的數碼管顯示發(fā)展到液晶屏全中文顯示,由最初的手工抄寫(xiě)測量結果發(fā)展到自帶微型打印機,到目前為止,在各種測量型儀器儀表中,或大或小都有一個(gè)打印子系統,打印機已經(jīng)成為打印測量結果和實(shí)現人機對話(huà)的重要工具。微型打印機簡(jiǎn)稱(chēng)微打,是針對通用打印機而言的,這種打印機具有體積小、操作電壓低等特點(diǎn),是打印機家族中一個(gè)細小而特別的種類(lèi)。目前微型打印機的應用越來(lái)越廣泛,市場(chǎng)需求不斷擴大。其中的熱敏打印機由于具有噪聲小,打印速度快等優(yōu)點(diǎn),正逐漸取代傳統嵌入面板的針式打印機。本文在介紹SPRT系列微型熱敏打印機原理的同時(shí),給出了它與DSP的接口方法以及相應的C語(yǔ)言程序。
SPRT系列微型熱敏打印機的打印命令與IBM及EPSON打印機命令標準相兼容;并行接口方式兼容PC打印機接口(并行接口相對串行接口接線(xiàn)復雜些,本文重點(diǎn)介紹);采用BUSY/ACK握手協(xié)議和IDC-25插座;串行接口方式兼容RS-232C接口?也采用握手方式(標志控制碼或X-ON/X-OFF協(xié)議)及D型9線(xiàn)孔型插座;打印頭壽命為 1*100000000行;打印寬度可以設置為16字/行、24字/行、32字/行或者40字/行;打印速度可達27mm/s。另外,該打印機的工作電壓為5V直流電源,但與針式打印機相比,其功耗比較大,平均耗流為2A、峰值耗流有時(shí)可高達5A。
1 并行接口打印機引腳功能介紹
SPRT系列并行熱敏打印機采用與CENTRONICS標準兼容的并行接口,接口插座為26線(xiàn)扁平電纜插頭或其替代品,其并行引腳插座接口的示意圖如圖1所示。
一般情況下,打印機兩排并行接口處總會(huì )有一面留有缺口,有缺口的那排就是奇數引腳排,無(wú)缺口的則是偶數排,其引腳號按順序從右向左數,要千萬(wàn)注意不要接錯線(xiàn)。各個(gè)引腳的功能如表1所列。
表1 打印機并行引腳接口說(shuō)明
引腳號 | 引腳名稱(chēng) | 信號傳輸方向 | 說(shuō) 明 |
1 | STB(片選) | 輸入 | 選通觸發(fā),上升沿時(shí)讀入數據 |
3 | D0(數據線(xiàn)) | 輸入 | 數據信號線(xiàn),分別代表并行數據線(xiàn)零位到第八位的信息。信號輸入為高電平,表示為邏輯“1”;輸入為低電平,表示為邏輯“0” |
5 | D1(數據線(xiàn)) | 輸入 | |
7 | D2(數據線(xiàn)) | 輸入 | |
9 | D3(數據線(xiàn)) | 輸入 | |
11 | D4(數據線(xiàn)) | 輸入 | |
13 | D5(數據線(xiàn)) | 輸入 | |
15 | D6(數據線(xiàn)) | 輸入 | |
17 | D7(數據線(xiàn)) | 輸入 | |
19 | ACK(應答線(xiàn)) | 輸出 | 低電平表示數據已接收,且可接收下一組數據 |
21 | BUSY(忙信號) | 輸出 | 高電平表示打印機“忙”,不能接收數據 |
23 | PE(檢測紙) | 輸出 | 高電平表示打印機有紙,低電平表示無(wú)紙 |
25 | SEL(狀態(tài)線(xiàn)) | 輸出 | 一般接上拉電阻,表示打印機“在線(xiàn)” |
4 | ERR(狀態(tài)線(xiàn)) | 輸出 | 一般接上拉電阻,表示打印機無(wú)故障 |
2,6,8,26 | NC(空) | - | 可以不接,或者接上拉電阻。一般情況下,為防止干擾建議接入上拉電阻 |
10~24 | GND(電源地) | - | 接5V電源地。僅指10~24之間的偶數號引腳 |
2 熱敏打印機與DSP的接口設計
TI公司的16bit定點(diǎn)DSP芯片TMS320F206是一種低功耗DSP器件,采用改進(jìn)的哈佛結構,有1條程序總線(xiàn)和3條數據總線(xiàn),采用流水線(xiàn)操作。TMS320F206內含高速并行的32bit算術(shù)邏輯單元、1616bit并行硬件乘法器、存儲器、外設和專(zhuān)業(yè)化的指令集,特別適合于數字信號處理,并越來(lái)越多的應用于工業(yè)控制領(lǐng)域和各類(lèi)儀器儀表的開(kāi)發(fā)設計。
本設計選用的微型熱敏打印機有8根數據線(xiàn)、1根電源線(xiàn)和3根信號控制接收線(xiàn)。為了增加信號的驅動(dòng)能力,可在DSP與微型打印機之間接一個(gè)總線(xiàn)收發(fā)器芯片。由于該打印機的功耗非常大,因而最好給該收發(fā)器芯片單獨設計一組5V電源,以免干擾其它硬件電路,而造成DSP的不正當復位。圖2是微型熱敏打印機與TMS320F206的典型接口電路。
3 軟件程序設計
各種類(lèi)型的微型熱敏打印機雖然性能或者功能上略有差別,但幾乎都具有滿(mǎn)足CENTRONICS標準的并行接口,因而其對應的軟件程序可適用于大多數打印機。下面介紹用C語(yǔ)言編寫(xiě)的打印機初始化程序,該程序已經(jīng)仿真通過(guò)并應用在測試儀器中。以下是等待程序,用于檢測打印機是否接收到數據。
ioport unsigned int port9000; /*設置片選I/O口地址*/
#define PrintPort port9000
void Wait(unsigned int f) /*等待程序開(kāi)始*/
{ int i,k;
for (i=0,*f=0xffff;i<0x870;i++)
{ for(k=0;k<0x77f;k++)
{ asm(" BCND _PWait1,BIO");}}
/*檢測BUSY信號*/
} /*等待程序結束*/
打印機初始化程序,使打印機處于工作就緒狀態(tài)。
void Print_Init() /*打印機初始化程序開(kāi)始*/
{ unsigned int f;
Wait(f); /*等待*/
PrintPort=0x001b;Wait(f); PrintPort=0x0040?Wait(f);
PrintPort=0x001b;Wait(f); PrintPort=0x0031? Wait(f);
PrintPort=0x0000;Wait(f); PrintPort=0x001b?Wait(f);
PrintPort=0x006c; Wait(f); PrintPort=0x002? Wait(f);
PrintPort=0x001b;Wait(f); PrintPort=0x0056? Wait(f);
PrintPort=0x0001;Wait(f); PrintPort=0x001b? Wait(f);
PrintPort=0x0055;Wait(f); PrintPort=0x0001?Wait(f);
PrintWait(&f); if(f==0)return;
} /*初始化程序結束*/
4 結束語(yǔ)
本文詳細介紹了SPRT系列并行接口微型熱敏打印機的引腳功能、接口設計和使用方法,該方法同樣可以作為單片機、微處理器及PC機等其它應用系統和打印機接口電路設計的直接參考。筆者在GK-H型高壓開(kāi)關(guān)特性精密測量?jì)x以及BLC-H氧化鋅避雷器測試儀等電力測試設備中使用該方法連接熱敏打印機,取得了很好的打印效果。
評論