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