Paralelní rozhraní umožňuje připojení všech tiskáren se
standardním rozhraním Centronix a jejich plné ovládání. Datové
vodiče přes IO1 a řídící signály přes IO2 jsou připojeny přímo na konektor pro
připojení tiskárny - K2. Stavové bity tiskárny jsou z konektoru K2 čteny přes
oddělovací obvod IO3 vedeny na datovou sběrnici.
Interface se ovládá pomocí 3 vodičů., připojených na další piny konektoru
K1 – procesorová deska. Jedná se o čipselekty tří oddělovačů – PDT (datová
sběrnice), PRO (řídící sběrnice) a PST (stavové bity) jsou vybírány z CPU
například pomocí dekodéru 74138, který není součástí
popisovaného interface. Řídící a stavové signály odpovídají
svým umístěním v registrech jako v PC, což by mělo usnadnit práci autorům SW.
Signál RESET nuluje datový a řídící registr. Řídící registr
je nutné nastavit na správnou hodnotu ihned po spuštění z mikroprocesoru.
Jako oddělovače jsou použity standardní TTL obvody :
- 74273 – 8. bitový klopný obvod D s nulováním
- 74174 – 6. bitový klopný obvod D s nulováním
- 74244 – 2x 4. bitový neinvertující buffer
Sériové rozhraní je pro připojení k PC, nebo jakémukoliv
zařízení se standardním rozhraním RS232. Umožňuje přenos jak XON/XOFF, tak i CTS/RTS.
Rozhraní je tvořeno obvodem IO4 MAX232, který zajišťuje tvorbu potřebného napětí
± 12V a převod úrovní signálů. Signály RxD a TxD jsou připojeny na porty P3.0 a
P3.1 a signály RTS a CTS na libovolné volné piny procesoru x51. Konektor pro připojení
RS 232 tiskárny - K3 je zapojen jako 9 pinový CANON rozhraní RS232.
Konektor K1 slouží pro připojení desky rozhraní k desce CPU. Je důležité, aby
velké pájecí plošky pod konektory K2 a K3 na návrhu plošného spoje
nebyly připojeny na nulový vodič napájení. Je vhodné je připojit na
zemnící vodič. Vše záleží na provedení napájecího zdroje
celého zařízení. Celá destička je dost malá, takže ji udrží na
boční stěně zařízení jen šroubky konektorů K2 a K3.
Bohužel zde není vyveden signál ACK na interrupt, jako je to u PC paralelního
rozhraní. Pokud si někdo napíše program pro komunikaci po paralelním kabelu (pouze po
čtyřech bitech, jako u přenosu PC-PC po paralelním rozhraní) je to možné.
V sekci DOWNLOAD najdete kompletní podklady pro výrobu plošných spojů
v .PDF souboru.
Toto rozhraní bylo navrženo pro připojení jakékoli tiskárny na měřící zařízení a pro komunikaci tohoto zařízení s nadřízeným počítačem (k čemuž lze elegantně využít osazeného RS232 převodníku).
Rozpiska součástek:
IO1 74273
IO2 74174
IO3 74244
IO4 MAX232
C2-C6 keramika M1
C1 10M/25V
C7,8,10 10M/6,3V
C9,11 10M/16V
C12-C19 keramika 47p
K1 MLW20G
K2 CAN25Z90
K3 CAN9V90
centronix_interface_doc.pdf- Kompletní výrobní
dokumentace k tomuto rozhraní.
DOWNLOAD
Rutina pro tisk znaku a řetězce s použitím interface
unsigned char xdata RPRT; // adresa cteni z ridiciho
registru
unsigned char xdata DPRT; // adresa zapisu do datoveho
registru
unsigned char xdata WPRT; // adresa zapisu do ridiciho
registru
// TISKARNA
#define PINIT 0x004 // signal INIT tiskarny
#define PSLCT 0x010 // signal SLCTIN tiskarny
#define PFEED 0x002 // signal AUTOFEED tiskarny
#define PSTROBE 0x001 // signal STROBE tiskarny
#define PERROR 0x040 // signal ERROR tiskarny
#define PSELECT 0x008 // signal SELECT tiskarny
#define PPE 0x080 // signal PE tiskarny
#define PACK 0x010 // signal ACKNLG tiskarny
#define PBUSY 0x020 // signal BUSY tiskarny
#define PTIME 500 // cekani na ready tiskarny 0.5s
char tiskni(char znak)
{
citac=PTIME; // 0.5 s cekani na tiskarnu
// čítač je dekrementován v přerušení od čítače
č. 1 rychlostí 1 kHz
while (RPRT&PBUSY) // cekej na busy==0
{
if (citac==0)
return(-1); // tiskárna ani po 0,5 s nebyla
připravena přijmout znak
}
DPRT=znak; // posli na port znak
WPRT=prtr^PSTROBE; // posli strobe (prtr je proměnná
uchovávající stav řídícího registru)
WPRT=prtr; // zrus strobe
return (0); // tisk proběhl OK
}
char tisks(char *retez)
{
char pp,i;
pp=strlen(retez);
for (i=0;i<pp;i++)
{
if (tiskni(retez[i])!=0)
return(-1);
}
return (0);
}