7920.pdf
(
357 KB
)
Pobierz
GALER - programator GAL-i do Amigi, część 1 - AVT-5049
GALER − programator GAL−i do Amigi
GALER − programator
GAL−i do Amigi, część 1
AVT−5049
W†artykule przedstawiamy
prawdziwy hit - programator
uk³adÛw GAL, do ktÛrego jest
dostÍpne shareware'owe
oprogramowanie w†wersji na
AmigÍ. Prezentowany
w†artykule uk³ad jest
wzorowany na jednym
z†wielu dostÍpnych
w†Internecie.
Uk³ady programowalne typu
GAL s¹ - mimo swojej d³ugiej
historii - nadal najczÍúciej stoso-
wane w†aplikacjach nie wymaga-
j¹cych stosowania uk³adÛw o†du-
øej skali integracji. Doskonale na-
daj¹ siÍ do budowania dekoderÛw
adresowych w†systemach mikro-
procesorowych i†na kartach kom-
puterowych, dziÍki temu, øe moø-
na nimi zast¹piÊ kilka standardo-
wych uk³adÛw cyfrowych. Ich
stosowanie jest uzasadnione
w†urz¹dzeniach o†niewielkich wy-
miarach. Za ich pomoc¹ moøna
takøe zabezpieczaÊ swoje opraco-
wanie, wbudowuj¹c mniej lub
bardziej istotny fragment ìlogikiî
uk³adu w†zabezpieczony przed od-
czytem uk³ad programowalny. Nie
s¹ to oczywiúcie wszystkie powo-
dy, dla ktÛrych GAL-e ciesz¹ siÍ
nieustaj¹cym powodzeniem, nie-
mniej jednak wystarczaj¹ce do
tego, øeby przedstawiÊ ten prosty
w†wykonaniu programator.
- Doda³em rezystor R17, ktÛry
powoduje lekkie úwiecenie dio-
dy LED w†czasie, kiedy mia³a
byÊ wy³¹czona. DziÍki temu wi-
daÊ, czy urz¹dzenie jest w³¹czo-
ne do sieci.
- Zmodyfikowa³em uk³ad zasila-
nia kontaktronÛw K1, K2 tak,
aby moøliwy by³ wybÛr napiÍcia
zasilania ich cewek pomiÍdzy
5†a†12V (kontaktrony na 12V
w†obudowie DIL s¹ ³atwiej osi¹-
galne).
- Doda³em stabilizator 7805, dziÍ-
ki czemu programator moøna
zasiliÊ z†dowolnego ürÛd³a na-
piÍcia o†wartoúci 8...15V.
- Zmodyfikowa³em uk³ad po³¹czeÒ
do podstawki zatrzaskowej tak,
øe umieszczona jest ona od
strony (umownej) druku. U³at-
wia to montaø p³ytki programa-
tora w†obudowie.
Dzia³anie uk³adu przebiega na-
stÍpuj¹co. Za pomoc¹ sygna³Ûw
D0, D1, D3, podawanych na wej-
úcia A0, A1, En uk³adu IC2,
wybieramy rejestr (IC1, IC3, IC4
lub IC5), do ktÛrego bÍd¹ szere-
gowo wpisywane dane oraz z†ktÛ-
rego wyprowadzenia programowa-
nego uk³adu bÍdziemy czytaÊ da-
ne (IC7, IC11). Wysy³any bit po-
jawia siÍ na linii D4, a†sygna³
zegarowy jest podawany na liniÍ
Charakterystyka i możliwości
programatora z oprogramowaniem:
programuje, kopiuje, odczytuje, weryfikuje
układy: GAL16V8, GAL20V8, GAL22V10,
GAL20RA10,
Opis uk³adu
Uk³ad programatora, ktÛrego
schemat pokazano na
rys. 1
, jest
nieco zmodyfikowan¹ wersj¹ pro-
gramatora opracowanego przez
Christiana Habermanna. Zmiany
wprowadzone w†stosunku do ory-
gina³u s¹ nastÍpuj¹ce:
współpracuje z wszystkimi komputerami
Amiga,
jest dołączany do złącza portu Parallel,
umożliwia ustawienie bitów
zabezpieczających,
wbudowany kompilator,
wbudowany deasembler,
testowanie zaprogramowanych układów.
14
Elektronika Praktyczna 1/2002
P R O J E K T Y
GALER − programator GAL−i do Amigi
Rys. 1. Schemat elektryczny programatora.
Elektronika Praktyczna 1/2002
15
GALER − programator GAL−i do Amigi
prowadzeniu 2†przetwornicy blo-
kuje jej pracÍ. NapiÍcie programu-
j¹ce wybierane jest za poúrednic-
twem dekodera IC10, do ktÛrego
wyjúÊ do³¹czono potencjometry,
za pomoc¹ ktÛrych precyzyjnie
ustala siÍ wartoúÊ napiÍcia pro-
gramuj¹cego.
Rys. 2. Rozmieszczenie elementów na płytce drukowanej.
Montaø i†uruchomienie
SposÛb zamontowania podstaw-
ki i diody LED oraz sposÛb
umieszczenia programowanego
uk³adu w podstawce pokazano na
rys. 2
. Elementy montujemy w†tra-
dycyjny sposÛb, pocz¹wszy od
najmniejszych rozmiarami do naj-
wiÍkszych. Pod wszystkie uk³ady
polecam uøycie podstawek. DiodÍ
LED i†podstawkÍ zatrzaskow¹
montujemy od strony lutowania
(umownej). Jeúli programator bÍ-
dziemy wykorzystywaÊ sporadycz-
nie, stosunkowo drog¹ podstawkÍ
ZIF moøna zast¹piÊ podstawk¹
tulipanow¹. Zaleønie od napiÍcia
zasilania programatora, dla IC12
konieczne moøe byÊ zastosowanie
radiatora. Na kawa³ku taúmy
FLAT34, z†ktÛrej odcinamy 9†øy³,
zaciskamy z³¹cze IDC34 oraz wtyk
DB25-M. Jeúli nie posiadamy wty-
ku DB zaciskanego na taúmÍ,
przewody moøna przylutowaÊ.
SzczegÛ³y montaøu pokazano na
rys. 3
. Wtyk DB25 bÍdzie zamo-
cowany do obudowy, dlatego do
po³¹czenia programatora z†kompu-
terem wykorzystujemy typowy
przed³uøacz 25-przewodowy.
Bez pod³¹czenia programatora
do komputera i†z†pustymi pod-
stawkami pod uk³ady scalone pod-
³¹czamy do z³¹cza ARK napiÍcie
zasilaj¹ce i†sprawdzamy obecnoúÊ
napiÍcia +5V na wyprowadze-
bitu D3 (aktywne jest ujemne
zbocze tego sygna³u). W†trakcie
zapisu do rejestru 4094 dane na
jego wyjúciu nie zmieniaj¹ siÍ,
a†to za spraw¹ wewnÍtrznego za-
trzasku wyjúciowego. Po oúmiu
impulsach zegarowych dane zo-
staj¹ przepisane do zatrzasku wyj-
úciowego narastaj¹cym zboczem
sygna³u z†linii D2.
Bity odczytane podczas odczy-
tu s¹ podawane na liniÍ BUSY
portu rÛwnoleg³ego. Dane mog¹
pochodziÊ z†wyprowadzenia 23
programowanego uk³adu (bramka
IC11c), wyprowadzenia 22 (bram-
ka IC11a) lub rejestru IC7. Dane
do IC7 wpisywane s¹ impulsem
na linii D2 portu rÛwnoleg³ego.
Podanie adresu ì01î na D0, D1
powoduje pojawienie siÍ sygna³u
strobuj¹cego na wyjúciu IC2 ozna-
czonym S11b. W†wyniku tego da-
ne w†rejestrze IC7 s¹ przesuwane,
a†ponadto jest uaktywniana bram-
ka trÛjstanowa IC11b. DziÍki temu
dane moøna odczytaÊ na linii
BUSY portu rÛwnoleg³ego. Inwer-
tery uk³adu IC8 steruj¹ przekaü-
nikami kontaktronowymi za³¹cza-
j¹cymi napiÍcie zasilania progra-
mowanego uk³adu (K1) oraz po-
daj¹cymi napiÍcie zasilania pro-
gramowanego uk³adu na wypro-
wadzenie odpowiednie dla uk³a-
dÛw w†obudowach 20 i†24-wypro-
wadzeniowych.
Tranzystory T1...T4 za³¹czaj¹
napiÍcie programuj¹ce uzyskiwane
z†przetwornicy impulsowej IC9 ty-
pu TL497. Pojawienie siÍ wyso-
kiego poziomu napiÍcia na wy-
Rys. 3. Sposób wykonania kabla
połączeniowego.
16
Elektronika Praktyczna 1/2002
GALER − programator GAL−i do Amigi
Rys. 4. Widok okna wyboru wersji
programatora.
uk³adÛw. Aby to stwierdziÊ wy-
starczy usun¹Ê IC1, IC3...IC5
z†podstawek. Jeúli nadal brak jest
impulsÛw, to zwarta jest úcieøka,
a†jeúli impulsy pojawi³y siÍ, to
uszkodzony jest jeden z†uk³adÛw.
Umieszczaj¹c kolejno uk³ady znaj-
dziemy ten, ktÛry blokuje liniÍ.
Podobnie postÍpujemy w†przypad-
ku braku impulsÛw na wyprowa-
dzeniu 2 IC1. Jeúli brak impulsÛw
na wyprowadzeniu 3†IC1, prawdo-
podobnie jest uszkodzony IC2 lub
zwarta úcieøka doprowadzaj¹ca da-
ne do niego. Pojawienie siÍ im-
pulsÛw na wyprowadzeniu 15
IC2, a†brak impulsÛw na wyj-
úciach (wyprowadzenia 9, 10, 11,
12) úwiadczy o†uszkodzeniu IC2.
Gdy usunÍliúmy usterkÍ lub test
wypad³ pomyúlnie naciskamy
przycisk
OK
.
Test 2
- Sprawdzenie T5 -
dioda LED powinna zaúwieciÊ.
Test 3
- Zgaszenie diody LED.
Test 4
- Sprawdzenie dzia³ania
kontaktronu K1 - na wyprowadze-
niu 24 podstawki ZIF pojawia siÍ
napiÍcie +5V.
Test 5
- Sprawdzenie dzia³ania
kontaktronu K2 - na wyprowadze-
niu 22 podstawki ZIF pojawia siÍ
napiÍcie +5V.
Test 6
- Na wszystkich wypro-
wadzeniach podstawki ZIF (pomi-
jaj¹c wyprowadzenie 12) pojawia
siÍ poziom logiczny H.
Test 7
- Wyprowadzenia 1, 3,
5, 7, 9, 11, 14, 16, 18, 20, 22, 24
przyjmuj¹ poziom H, pozosta³e L.
Test 8
- Wyprowadzenia 2, 4,
6, 8, 10, 13, 15, 17, 19, 21, 23
przyjmuj¹ poziom H, pozosta³e L.
Testy 6..8 umoøliwiaj¹ spraw-
dzenie wyst¹pienia ewentualnych
zwarÊ na úcieøkach doprowadza-
j¹cych napiÍcia z†uk³adÛw scalo-
nych i†kontaktronÛw do podstaw-
ki ZIF.
Test 9
- Pozwala zweryfikowaÊ
dzia³anie przetwornicy IC9, deko-
dera IC10 oraz tranzystorÛw T3,
T4. Na wyprowadzeniach 12, 13,
14, 15 IC10 powinny byÊ logiczne
zera, na wyjúciu 1†napiÍcie rzÍdu
50...300mV. NapiÍcie wiÍksze niø
500mV úwiadczy o†uszkodzeniu
IC10. Na wyprowadzeniu 2†IC9
powinien byÊ poziom H. Stan
L†oznacza uszkodzenie IC8. Na
wyprowadzeniu 2†IC9 powinno
wyst¹piÊ napiÍcie wiÍksze niø 5V
(7...30V). NapiÍcie to regulujemy
potencjometrem R40. Na kolekto-
Rys. 6. Widok głównego okna
obsługującego programator.
niach wszystkich uk³adÛw scalo-
nych. Jeúli wszystko jest dobrze,
od³¹czamy zasilanie, umieszczamy
wszystkie uk³ady w†podstawkach,
³¹czymy programator z†kompute-
rem i†po ponownym w³¹czeniu
zasilania uruchamiamy program
GalerTest
. Po tekúcie ostrzegaw-
czym pojawi siÍ okno wyboru
wersji programatora, wybieramy
V1.3 (
rys. 4
). NastÍpnie wybiera-
my kolejno testy sprzÍtu.
Pierwszy test
- ustawia na
wszystkich wyprowadzeniach pod-
stawki ZIF stan logiczny 0. Do
testowania poziomÛw napiÍcia
najlepiej uøyÊ sondy logicznej,
poniewaø na mierniku nie odrÛø-
nimy poziomu 0†od braku napiÍ-
cia. W†obu przypadkach miernik
wskaøe 0V. Jeúli test wypad³
niepomyúlnie to mamy spory k³o-
pot. W†pierwszej kolejnoúci nale-
øy sprawdziÊ IC2 i†IC1. Na wy-
prowadzeniu 13 IC1 powinien byÊ
poziom H. Jego brak úwiadczy
o†z³ym sterowaniu przez IC2 lub
o†braku sygna³u strobuj¹cego i†da-
nych (linie D2 i†D4 portu rÛw-
noleg³ego). Aby zlokalizowaÊ przy-
czynÍ b³Ídu pod³¹czmy sondÍ
logiczn¹ do wyprowadzenia 1†IC1
i†ponownie uruchamiamy program
testuj¹cy. Na wyprowadzeniu tym
powinny pojawiÊ siÍ dodatnie
impulsy. Podobnie na wyprowa-
dzeniach 2†i†3. Brak impulsÛw na
wyprowadzeniu 1†úwiadczy
o†zwarciu úcieøek ³¹cz¹cych wy-
prowadzenia 1†uk³adÛw IC1, IC3,
IC4, IC5 lub uszkodzeniu (prze-
biciu) ktÛregoú z†wymienionych
rze T3 powinno pojawiÊ siÍ w³aú-
nie regulowane napiÍcie. Ustawia-
my jego wartoúÊ na 16,50V, kon-
troluj¹c na nÛøce 2†podstawki ZIF.
Test 10
- Ustawiamy napiÍcie
15,75V
Test 11
- Ustawiamy napiÍcie
14,50V
Test 12
- Ustawiamy napiÍcie
14,00V
Test 13
- Ustawiamy napiÍcie
12,00V
Po naciúniÍciu
OK
pojawi siÍ
w†oknie komunikat pokazany na
rys. 5
.
Test 14
- Kontrola napiÍcia
12,00V na wyprowadzeniu 4†pod-
stawki ZIF. W†ten sposÛb zosta³y
sprawdzone T1 i†T2.
Test 15
- Sprawdzenie IC7. Pro-
gram wygeneruje dane na wyjúciach
rejestrÛw, po czym odczyta je przez
IC7 i IC11. Wyniki testu s¹ przed-
stawiane w oknie programu.
Obs³uga programatora
Po przetestowaniu programatora
moøemy uruchomiÊ program ste-
ruj¹cy jego prac¹ -
Galer
. G³Ûwne
okno programu pokazano na
rys.
6
. Jeúli rozmiar wyúwietlanego ok-
na jest za ma³y, moøemy go
zmieniÊ w†standardowy sposÛb.
W†pierwszej kolejnoúci wybieramy
ìV1.3î z†podmenu
Hardware-Ver-
sion
w†menu
Project
. NastÍpnie
w†menu
Tools
wybieramy podme-
nu
Select Editor
. W†oknie dialo-
gowym, ktÛre pojawi siÍ, wpisu-
jemy nazwÍ uøywanego edytora
np. CED (
rys. 7
). W†menu
GAL-
Rys. 5. Widok okna programu
testującego.
Rys. 7. Okno wyboru edytora.
Elektronika Praktyczna 1/2002
17
GALER − programator GAL−i do Amigi
Po naciúniÍciu OK pojawi siÍ
okno wyboru plikÛw. Wskazujemy
plik
Enkoder 8†na 3.pld
z†kata-
logu
Examples
. Jeúli kompilacja
przebieg³a pomyúlnie, w†oknie po-
jawi siÍ komunikat
assembled
file
, a†w†pustych dotychczas
okienkach pojawi¹ siÍ nazwy ety-
kiet (
rys. 8
). Wybieramy teraz
z†menu
GAL/Program
lub naciska-
my klawisze
Amiga+P
. Pojawi siÍ
pytanie o†typ uk³adu GAL. Jeúli
zaznaczyliúmy wczeúniej opcjÍ
ad-
just type of gal
, automatycznie
zostanie wybrany GAL20V8. Jeúli
nie zaznaczyliúmy, to wybieramy
ten w³aúnie typ uk³adu. NastÍpnie
umieszczamy uk³ad w†podstawce
ZIF i†naciskamy przycisk
Conti-
nue
. W†oknie, ktÛre siÍ pojawi,
wybieramy wygenerowany wczeú-
niej plik
Enkoder 8†na 3.jed
. Jeúli
pamiÍÊ konfguracji uk³adu GAL
bÍdzie czysta, uk³ad zostanie za-
programowany, jeúli nie - pojawi
siÍ okno z†komunikatem, w†ktÛ-
rym moøemy wybraÊ czy chcemy
wymazaÊ star¹ zawartoúÊ, czy re-
zygnujemy z†programowania. Po
pomyúlnym programowaniu auto-
matycznie jest przeprowadzana
weryfikacja.
Dzia³anie uk³adu moøna prze-
testowaÊ za pomoc¹ programatora.
Wybieramy z†menu
Tools/GAL-
Checker
. Naciskaj¹c przycisk przy
oknach z†nazwami etykiet moøe-
my ustawiÊ poziom H lub L na
wejúciu GAL. NiektÛre wyprowa-
dzenia z†prawej strony uk³adu
mog¹ byÊ wejúciami lub wyjúcia-
mi. O†tym jak¹ funkcjÍ wyprowa-
dzenia wybieramy decyduje przy-
cisk z†liter¹
ìOî - output
lub
ìIî-
input
. Wyprowadzenia, ktÛre s¹
wyjúciami, mog¹ przyj¹Ê poziom
H, L†lub stan wysokiej impedancji
oznaczony literk¹ ìZî. Dzia³anie
enkodera jest podobne jak uk³adu
74148. Pojawienie siÍ poziomu
logicznego L†na wejúciu I0 powo-
duje ustawienie na wyjúciach A,
B, C poziomu L (liczba 0). Poziom
L na I1 ustawi na wyjúciu liczbÍ
1, itd. Gdy dwa wejúcia znajd¹
siÍ w†stanie aktywnym, ustawiona
zostanie liczba tego, ktÛre ma
miejsz¹ wartoúÊ np.: przy usta-
wieniu wejúÊ I6 i†I3, na wyjúciach
ustawi siÍ liczba 3. Wyprowadze-
nie En przyjmuje stan logiczny,
gdy ktÛrekolwiek z†wejúÊ znajdzie
siÍ w†stanie niskim. DziÍki temu
moøna okreúliÊ przypadek, w†ktÛ-
WYKAZ ELEMENTÓW
Rezystory
R1, R2: 1k
Ω
R15: 27k
Ω
R17: 4,7k
R18: 4,7
Ω
R28: drabinka 8*2,2k
Rys. 8. Widok głównego okna
programu sterującego po po−
prawnym zakończeniu kompilacji.
Ω
R29...R32: nie istnieje (usunięto
podczas modyfikacji projektu)
R33: 22k
Type
warto zaznaczyÊ opcjÍ
Type-
Requester
. DziÍki temu przed kaø-
d¹ operacj¹ (programowanie, ko-
piowanie, sygnatura) pojawi siÍ
okno umoøliwiaj¹ce wybÛr typu
GAL-a. Ustawienia zapisujemy wy-
wo³uj¹c menu
Projekt/Save Config.
Ω
R35...R39: 1k
Ω
R40...R44: helitrym 2,0k
Ω
REZ1...REZ6: do przyszłych
zastosowań
Kondensatory
C1: 100pF
C2: 4,7
Projekty przyk³adowe
Zanim zaczniemy pisaÊ w³asne
programy proponujÍ pobawiÊ siÍ
przyk³adami. Polecam efektowny
Enkoder 8†na 3
, ktÛry znajduje
siÍ na p³ycie CD-EP1/2002B oraz
na stronie internetowej EP w†dzia-
le
Download>Dokumentacje
.
W†menu wybieramy
GAL-
Asembler
, a†nastÍpnie z†podmenu
Assemble file
lub naciskamy kla-
wisze
Amiga+A
. W†oknie, ktÛre
ukaøe siÍ, moøemy zaznaczyÊ ja-
kie pliki maj¹ byÊ generowane,
i†tak:
-
JEDEC
- koniecznie zaznaczyÊ,
opcja generuje plik z†rozszerze-
niem .
jed
. Ten plik jest wymagany
do zaprogramowania GAL-a.
-
Fuse-Matrix
- plik z†rozszerze-
niem .
fus
, pokazuj¹cy miejsca
ìprzepaleÒî matrycÍ bezpieczni-
kÛw, a†w³aúciwie matrycÍ ³¹cz-
nikÛw konfiguruj¹cych.
-
Chip-Diagram
- plik z†rozszerze-
niem .
chp
, zawieraj¹cy widok
obudowy uk³adu z†etykietami pi-
nÛw, czyli z nazwami sygna³Ûw
przyporz¹dkowanymi wyprowa-
dzeniom uk³adu GAL.
-
Pin-Diagram
- plik z†rozszerze-
niem .
pin
, tabelka z†etykietami
i†numerami pinÛw, do ktÛrych
s¹ przypisane.
-
Autosave
- polecam zaznaczyÊ,
dziÍki temu nie bÍdziemy kaø-
dorazowo pytani o†to, czy zapi-
saÊ wygenerowany plik.
-
adjust type of gal
- polecam
zaznaczyÊ, dziÍki temu program
ustawi w†menu taki typ GAL-a,
jaki jest ustawiony w†pliku.
F
C3, C5...C14, C16: 100nF
C4: 220
F/25V
C15: 10
F
F/16V
Półprzewodniki
D1...D4: 1N4148
LED: dowolna dioda LED
T1, T3: BC557
T2, T4, T5: BC547
IC1, IC3...IC5: 4094
IC2: 4555
IC6: nie istnieje (usunięto podczas
modyfikacji projektu)
IC7: 4021
IC8: 74LS06
IC9: TL497
IC10: 74LS145
IC11: 74HC126
IC12: 7805
Różne
K1, K2: EDR201C1200 (przekaźnik
kontaktronowy w obudowie DIL
12V)
L1: dławik 100
H
CON1: ARK−2
TEXTOOL: Podstawka zatrzaskowa
24 pin 0,3"
X1: Gniazdo IDC34
Wtyk IDC34 na kabel flat
Taśma flat 34
DB25−M na kabel FLAT
rym stan aktywny pojawi³ siÍ na
wejúciu I7.
Enkoder taki moøna zastoso-
waÊ jako uk³ad wejúciowy do
oúmioprzyciskowej klawiatury. Na
wyjúciach A, B, C pojawia siÍ
informacja o†numerze naciúniÍte-
go klawisza. Wyjúcie EN moøe
18
Elektronika Praktyczna 1/2002
Ω
R3...R13, R16, R19...R26: 10k
R14: 1
R27: 22
R34: 220
C17: 100
Plik z chomika:
shogunpl
Inne pliki z tego folderu:
1997-06_39_EdW_VbsDoAmigi.pdf
(105 KB)
1997-10_41_EdW_OscyloskopDoAmigi.pdf
(180 KB)
Praktyczny Elektronik 1994-05.pdf
(3124 KB)
Praktyczny Elektronik 1994-09.pdf
(3506 KB)
Praktyczny Elektronik 1995-03.pdf
(2882 KB)
Inne foldery tego chomika:
880 Gamer
Amiga Magazyn
amiga os source code
Amos
Bird CD
Zgłoś jeśli
naruszono regulamin