P R O J E K T Y C Z Y T E L N I K Ó W
Interfejs GPIB<->Centronics/RS232C
Interfejs GPIB jest Zadaniem interfejsu jest we, analizatory sygnaÅ‚Ûw
Projekt
odbiÛr danych przesyÅ‚anych i woltomierze cyfrowe.
powszechnie stosowany
z urzÄ…dzeÒ ze zÅ‚Ä…czem GPIB UrzÄ…dzenia te, pracujÄ…c ja-
w nowoczesnych
(HP-IB) przez komputer lub ko nadajniki (ang. Talkers),
przyrzÄ…dach pomiarowych.
042
drukarkÍ. W zÅ‚Ä…cza GPIBjest mogÄ… wysyÅ‚aĘ dozÅ‚Ä…cza naj-
Konstrukcja, ktÛrÄ…
wyposaÅ‚onych stosunkowo rÛÅ‚niejsze sygnaÅ‚y, poczÄ…w-
prezentujemy w artykule,
duło programowalnych szy od złołonych, sterują-
pozwala na konwersjÍ
urzÄ…dzeÒ pomiarowych, ta- cych zewnÍtrznymi urzÄ…-
sygnaÅ‚Ûw pomiÍdzy tym
kich jak oscyloskopy cyfro- dzeniami wspÛÅ‚pracujÄ…cy- mi,aÅ‚ dosygnaÅ‚Ûw prostych,
złączem, a nieco łatwiej
zawierajÄ…cych same dane.
ìprzyswajalnymiî dla
Dane te, czyli wyniki po-
przeciÍtnych uÅ‚ytkownikÛw
miarÛw, wykresylub np. ma-
złączami RS232C lub
pa ekranu urzÄ…dzenia, mogÄ…
Centronics. Tej "sztuczki"
byĘ odebrane przy pomocy
dokonuje miniaturowy odpowiednich dla standar-
du GPIB linii danych i linii
procesor firmy Motorola.
potwierdzeÒ.
W wykonanym modelu
interfejsu, odbiorem i po-
twierdzeniem odebrania da-
nych zajmuje siÍ mikrokon-
troler 68HC705K1.
Schemat elektryczny
układu przedstawiono na
rys. 1. Szyna danych złącza
Elektronika Praktyczna 2/98
87
P R O J E K T Y C Z Y T E L N I K Ó W
GPIB jest doprowadzona do wałności danej mikrokont- danych jest wykorzystane nał NRFD i kontroler ocze-
wejśĘ PA0-PA7 mikrokont- roler sygnalizuje to do na- wyjście PB1 mikrokontrolera. kuje na nową daną.
rolera poprzez ukÅ‚ad oÅ›mio- dajnika poprzez liniÍ NRFD Ze wzglÍdu na brak do- Listing programu steru-
krotnegotransceivera-inwer- (Not Ready For Data). Gdy datkowych linii wejścia- jącego pracą mikrokontrole-
tera 74HCT640. WałnośĘ da- dana zostaje przepisana wyjścia układu HC705K1jest ra przedstawia list. 1. Na
nych jest monitorowana z portu do akumulatora, to to samo wyjście co dla listingu tym jest widoczne,
przez mikrokontroler po- mikrokontroler powiadamia sygnału NDAC. Nie prze- łe mikrokontroler jest stero-
przez liniÍ DAV (Data Va- o odczycie danej sygnaÅ‚em wany przez uÅ‚ytkownika
lid) doprowadzonÄ… do we- NDAC (New Data ACcep- przyciskiem RESET, ktÛry
jÅ›cia IRQ. ted). NastÍpnie odebrana speÅ‚nia funkcjÍ przeÅ‚Ä…czni-
W celu zabezpieczenia dana zostaje zamieniona ka trybu pracy mikrokontro-
mikrokontrolera sygnał ten na sygnały transmisji sze- lera: na przemian jest
jest buforowany przez układ regowej do złącz RS232C. włączany tryb START
74HCT00. Po stwierdzeniu Jako szeregowe wyjście i STOP. W trybie START
mikrokontroler przygotowu-
je siÍ do odbioru danych ze
złącza GPIB i gdy jest juł
gotowy, wysyła poprzezzłą-
cze szeregowe komunikat
READY (litera po literze,
z sygnaÅ‚em CR na koÒcu).
Na koniec transmisji ułyt-
kownik przełącza (przycis-
kiem RESET) mikrokontroler
w tryb pracy STOP. Po prze-
Å‚Ä…czeniu mikrokontroler
przesyła do komputera wia-
domośĘ STOP (razem z CR).
DoodbiorusygnaÅ‚Ûwsze-
regowych poprzez komputer
jest konieczny odpowiedni
program ìodbiornikaî. Dla
modelujestto program w jÍ-
zyku QBASIC (list. 2).
W tym programie jest ko-
nieczne rozpoznanie komu-
nikatu READY i STOP, defi-
niujÄ…cych tryby pracy mik-
rokontrolera. Gdy komputer
odbierze sygnał READY,
WYKAZ ELEMENTÓW
Rezystory
R1, R2. R3, R4, R5, R6, R8,
R9: 10k&!
R7: 47k&!
R10: 5,1k&!
R11: 220&!
R12, R13: 1k&!
Kondensatory
C1: 100nF
C2: 10µF/16V
C3, C4: 33pF
C5: 47µF/25V
Półprzewodniki
IC1: 74HC640
IC2: 74HCT00
szkadza to jednak nadajni-
IC3: 68HC705K1
kowi, poniewaÅ‚ ciÄ…gle ìwi- (zaprogramowany)
dziî on urzÄ…dzenie nie go-
T1, T2, T3, T4: BC109 lub
towe na nowe dane - po-
odpowiednik
przezaktywnysygnał NRFD.
T5: BC177 lub odpowiednik
Dane są przesyłane
D1, D2, D3, D4: BAT42
w formacie: 1 bit startu,
ZD1: 5,1V
8 bitÛw danych, 2 bity sto-
LED1, LED2: dowolne diody
pu. SzybkośĘ transmisji
LED
ustalono na 9600 bodÛw. Po
Różne
zakoÒczeniu transmisji sze-
Q1: kwarc 4MHz
regowej linia NDAC wraca
gniazdo GPIB
do stanu potwierdzajÄ…cego
gniazdo RS232 - 9 pin
odebranie danej. NastÍpnie
jest wyłączanyaktywnysyg- gniazdo Centronics
Rys. 1.
Elektronika Praktyczna 2/98
Elektronika Praktyczna 2/98
88
P R O J E K T Y C Z Y T E L N I K Ó W
Listing 1.
Listing 2.
REM **********IEEE.BAS**********
ORG MOR JSR SPC
REM PROGRAM ODBIORU DANYCH Z INTERFEJSU IEEE-488
FCB %00000000 LDA #!83 ;ZNAK S
REM
*SOFTWARE PULLDOWN ENABLE, JSR SPC
10 CLEAR
*CRYSTAL OSCILATOR LDA #!84 ;ZNAK T
CLS
*DISABLE WATCHDOG JSR SPC
OPEN COM1:9600,N,8,1,ASC,CD0,CS0,OP0,RS,RB2048 FOR INPUT AS #2
ORG $03F8 LDA #!79 ;ZNAK O
INPUT PODAJ NAZWE ZBIORU (BEZ ROZSZERZENIA): ; F$
TIMVEC FDB START JSR SPC
G$ = F$ + .DAT
IRQVEC FDB START LDA #!80 ;ZNAK P
OPEN G$ FOR OUTPUT AS #1
SWIVEC FDB START JSR TRANSMIT ;WYSLIJ DO PC
PRINT PROGRAM CZEKA NA SYGNAL GOTOWOSCI Z INTERFEJSU NA COM1
RESETV FDB START ;(OSTATNI ZNAK + CR)
15 PRINT WCISNIJ PRZYCISK RESET INTERFEJSU
***********IEEE-488*********** STOP
INPUT #2, B$
*PROGRAM INTERFACE U IEEE-488 *PETLA ODBIORU SYGNALOW
IF B$ <> READY GOTO 15
*TRANSMITUJACY ODEBRANE ZNAKI RL1 BSET 0,PORTB ;NRFD=1
CLS
*W STANDARDZIE RS232C Z SZYBKOSCIA ;READY FOR DATA
PRINT CHR$(7)
*9600 BODOW; RL2 BIH RL2 ;CZEKAJ NA DAV=0
PRINT SYGNAL GOTOWOSCI OTRZYMANO
*1 BIT STARTU + 8 BITOW + 2 BITY STOPU *POJAWIL SIE ZNAK (DAV=0 I ATN=1)
PRINT ROZPOCZNIJ TRANSMISJE DANYCH
*PB1=OUTPUT TRANSMISJI BCLR 0,PORTB ;NRFD=0
LINE INPUT #2, C$
*PA0-PA7=WEJSCIE MAGISTRALI DANYCH IEEE ;NOT READY FOR DATA (BUSY)
PRINT #1, c$;
*PB0=WYJSCIE NRFD LDA PORTA ;ODCZYTAJ ZNAK
CLS
*PB1=WYJSCIE NDAC BSET 1,PORTB ;NDAC=1
PRINT !!!TRANSMISJA DANYCH ROZPOCZETA!!!
*INT=WEJSCIE DAV ;DATA ACCEPTED
20 LINE INPUT #2, c$
*ZAWARTOSC KOMOREK PAMIECI: RL6 BIL RL6 ;CZEKAJ AZ
IF c$ = STOP GOTO 30
*PAMIEC DLA DEL - $E0-$E1 ;SKONCZY SIE DAV=0
IF c$ = THEN PRINT #1, CHR$(0); ELSE PRINT #1, c$;
*ZNACZNIK RODZAJU RESETU - $E2 BCLR 1,PORTB ;NDAC=0
GOTO 20
ORG ROM JSR TRANSMIT ;WYSLIJ DO PC
30 PRINT CHR$(7)
START CLRA BRA RL1 ;WROC
CLOSE #1
BCLR 7,$0A ;EXTERNAL ****************END****************
CLS
;INTERRUPTS DISABLED ****************DEL****************
PRINT ODEBRANO SYGNAL STOP
LDA #%00000011 *OPOZNIENIE 61 TAKTOW (30,5us) ZEGARA
PRINT FILE ; G$; ZOSTAL ZAPISANY NA DYSKU
STA DDRB ;PB0, PB1 *DO TRANSMISJI 9600 BODOW
END
;OUTPUT, PULLDOWN OFF DEL EQU * ;WYWOLANIE (5 CYKLI)
LDA #%00000000 STA $E0 ;ZACHOWAJ A (4 CYKLE)
STA PORTB STX $E1 ;ZACHOWAJ X (4 CYKLE)
;PB0=0,PB1=0 (NRFD=0,NDAC=0) MUL ;3*11 CYKLI
z ktÛrego zÅ‚Ä…cza sÄ… odbiera- START (nie Å›wieci) i prze-
LDA #%00000000 ;PA0-7 INPUT, MUL
;ALL PULLDOWN ON MUL
ne transmitowane dane. Ko- syłanie danych (migocze).
STA DDRA ASLA ;3 CYKLE
*OPOZNIENIE 129*255*30.5us=1s LDA $E0 ;ODTWORZ A (3 CYKLE) niecznym zabiegiem wobec Obok kontrolek jest umiesz-
LDX #!129 LDX $E1 ;ODTWORZ X (3 CYKLE)
sygnaÅ‚Ûw danych GPIB jest czony przycisk START/
RL5 LDA #!255 RTS ;6 CYKLI
RL4 JSR DEL *************SPC*************
zastosowanie, tak jak w mo- STOP. Czasami problemem
DECA *PODPROGRAM KOMUNIKACJI Z PC -> PB1=TxD
BNE RL4 SPC EQU * delu, transceivera negujące- mołe byĘ zasilanie interfej-
DECX BSET 1,PORTB ;TXD=0 BIT STARTU
go sygnał - w standardzie su. Normalnie interfejs
BNE RL5 LDX #!14 ;BIT STARTU+8 BITOW+
*SPRAWDZENIE STANU DAV ;+1 BIT STOPU+4*100us
GPIB stosowana jest logika mołe byĘ zasilany przez
BIH RL7 ;SKOK GDY DAV=1 CLR $E3 ;OPOZNIENIE 2*5
ujemna:sygnaÅ‚owi TRUE od- drukarkÍ lub przez kompu-
BSET 1,PORTB ;GDY DAV=0 ;CYKLI DLA START
WYSLIJ NDAC=1 CLR $E3
powiada niski poziom TTL, ter-zezłącza RS232C. O ile
RL8 BIL RL8 ;CZEKAJ NA DAV=1 SR1 JSR DEL ;OPOZNIENIE 3*61
BCLR 1,PORTB ;NDAC=0 ;TAKTY=100us
w standardzie Centronics komputer zawsze po uru-
*SPRAWDZENIE RODZAJU RESETU ->READY/STOP JSR DEL
jest odwrotnie. chomieniu programu od-
RL7 LDA $E2 JSR DEL
CMP #!22 SEC ;CARRY=1
Wykonywaniefunkcjiin- biornika podaje sygnał DTR
BEQ RL3 ;IDZ DO STOP RORA ;PRZESUN W PRAWO
LDA #!22 BCC SR2 terfejsu Centronics zasuge- (Data Terminal Ready) wy-
STA $E2 BCLR 1,PORTB ;TXD=1 (BIT=1)
rowało umieszcze-
LDA #!82 ;ZNAK R BRA SR3
JSR SPC SR2 BSET 1,PORTB ;TXD=0 (BIT=0)
nie płytki układu
LDA #!69 ;ZNAK E BRA SR3 ;DLA WYROWNANIA CZASU
JSR SPC SR3 DECX ;ZMNIEJSZ LICZNIK modelowego
LDA #!65 ;ZNAK A ;WYSLANYCH BITOW
w obudowie
JSR SPC BNE SR1 ;WYSLIJ POZOSTALE
LDA #!68 ;ZNAK D RTS
przełącznika
JSR SPC ************TRANSMIT**************
drukarkowego
LDA #!89 ;ZNAK Y *WYSLANIE ODEBRANEGO ZNAKU DO PC
JSR TRANSMIT ;WYSLIJ DO PC TRANSMIT EQU *
oraz połącze-
;(OSTATNI ZNAK + CR) JSR SPC ;WYSLIJ AKUMULATOR DO PC
BRA RL1 LDA #!13 ;CR
nie ze złączami
JSR SPC ;WYSLIJ DO PC
przełącznika
*OBSLUGA RESETU STOP RTS
RL3 INC $E2 ;ZMIEN ZNACZNIK *******************************
zgodnie ze sche-
LDA #!13 ;CR *******************************
matem blokowym
jak na rys. 2.
program informuje o moÅ‚li- nics - bezpoÅ›rednio do dru- DziÍki temu ürÛd-
woÅ›ci rozpoczÍcia trans- karki. PrzejÅ›cie z 1 do 0 li- Å‚em sygnaÅ‚u dla
misji GPIB, gdy STOP koÒ- nii DAV jest sygnaÅ‚em drukarki moÅ‚e byĘ
czy odbiÛr danych i zapisu- STROBE w standardzie Cen- komputer podczas
je je na dysku. tronics. SygnaÅ‚ BUSY=1 ìnormalnejî pracy
Wykonany model inter- z drukarki sygnalizuje nie- lub teł interfejs (podczas korzystany do zasilania in-
fejsu umoÅ‚liwia rÛwnieÅ‚ gotowośĘ do odbioru danych pracy z urzÄ…dzeniem GPIB). terfejsu, o tyle niektÛre dru-
bezpośrednie przesyłanie - i mołe byĘ połączony z li- Na przedniej ściance karki mają wyprowadzone
danych do złącza Centro- nią NRFD nadajnika GPIB. przełącznika umieszczono zasilanie poprzez rezystor
Sygnał NRFD jest uaktyw- LED-y kontrolne pracy in- ograniczający o dułej war-
niany rÛwnieÅ‚ na czas trwa- terfejsu: ìSUPPLYî - sygna- toÅ›ci(np. dla drukarki DJ310
nia sygnału ACK=0 drukarki lizującą podanie zasilania jest to 2,2k&!). Praktyka
(potwierdzenie przyjÍcia (z drukarki lub zÅ‚Ä…cza RS) dowiodÅ‚a jednak, Å‚e ukÅ‚ad
danych). SygnaÅ‚em NDAC orazìNOT READYî-sygna- pracuje poprawnie juÅ‚ przy
steruje mikrokontroler - nie lizującą tryb pracy STOP 3,7..3,9V. W ostateczności
jest dla niego wałne, (świeci światłem ciągłym), układ mołna zasilaĘ
z zewnÄ…trz podajÄ…c do pinu
4zÅ‚Ä…cza RS232C napiÍcie 7V
przez rezystor 220&!. MasÍ
naleły podłączyĘ do pinu 5.
Kabel połączeniowy RS232
powinien mieĘskrzyłowane
linie RxD i TxD (kabel do
poÅ‚Ä…czeÒ komputer-kompu-
ter - "null modem").
Jacek Pszona
Rys. 2.
Elektronika Praktyczna 2/98
89
Wyszukiwarka
Podobne podstrony:
Monitor interfejsu CentronicsInterfejs wejsciowy do portu CENTRONICSinterfejs wejściowy do portu Centronicsdesign user interface?ABE09FPS4 ZB4 501 UM3 UM4 Interface Converter h1371g02 Jądro komórkowe w interfazie Cykl komórkowyInterfejs FMS(1)F20 interferencja swiatla 2manage interfacesTF93981Digital Mode Interface KitUSB Interfaceinterfaces docinterface?5737EAus Fehlern lernen typische Interferenzfehler polnischer DeutschlernerInterfejs I2C, część 2Zad interface Szymek testyInterfejsy sprzetowe komputerow PCwięcej podobnych podstron