EdW 03 1997.pdf

(14876 KB) Pobierz
Kącik elektronika amigowca
Sampler do C−64
Artykuły udowodnią, że C−64 i Amiga
doskonale spisują się jako sterowniki
mikroprocesorowe, spełniające takie
funcje jak np:
− symulator obecności domowników
odstraszający potencjalnych złodziei;
− inteligentne urządzenie alarmowe
z powiadamianiem przez telefon
o włamaniu, pożarze;
− cyfrowa, automatyczna sekretarka;
− programator, symulator pamięci, ukła−
dów cyfrowych.
Miałem problem, co zaproponować
na początek. Sterowanie jakimiś prze−
kaźnikami, tzw. wąż świetlny, jest mało
interesujące, przecież lepiej użyć wyspe−
cjalizowanych układów, na pewno są
tańsze. Więc co? Na początek wybrałem
sampler.
Ewolucja tego urządzenia była długa,
najpierw były samplery czterobitowe,
następnie ośmiobitowe. Tak na margine−
sie, na zwykłym C−64 można odtwarzać
sample czterobitowe, z Covoxem oś−
miobitowe. Wszystko zaczęło się od te−
go, że spotkałem się z opisem samplera
do Amigi na przetworniku ADC0809. Tak
się składa, że port C−64 jest bliźniaczo
podobny do Amigi, różni się tylko zega−
rem czasu rzeczywistego, a dokładniej
sposobem jego przedstawienia. Po
chwili namysłu powstał projekt samplera
do C−64 na ADC0809. Okazało się jed−
nak, że ten przetwornik jest dosyć drogi,
a podobny ADC0804 kosztuje blisko
dwa razy mniej. Chwila pracy i powstał
nowy projekt. Czytelnikom proponuję
sampler z regulacją poziomu sygnału.
Budowa samplera
Schemat ideowy urządzenia pokaza−
no na rysunku 1
Witam wszystkich miłośników
nowego cyklu, dotyczącego
nieśmiertelnych komputerów
Commodore, takich jak: staruszek
C−64, Amiga500, 600, 2000, 1200,
3000, 4000. Z biegiem czasu
pokażę, że nie tylko popularny PC
może służyć poważnym pracom, jak
programowanie EPROM, EEPROM,
GAL i podobnych.
rysunku 1. Sampler zbudowano na
przetworniku ADC0804, który zapewnia
częstotliwość próbkowania do 10kHz.
Komputer C−64 i tak w sensowny spo−
sób nie wykorzysta większej częstotli−
wości, a dokładniej chodzi o czas po−
święcony przez procesor na obsługę
sampli i pochłoniętą przez nie pamięć.
Przetwornik pracuje w typowym ukła−
dzie aplikacyjnym. Sygnał wejściowy, po
przejściu przez potencjometr regulacji
poziomu (P1) trafia do wzmacniacza na
T1. Po wzmocnieniu przechodzi na we−
jście przetwornika US1. Rezystory R7,
R8 zapewniają ustalenie zera przetworni−
ka na poziomie połowy napięcia zasila−
nia. Odczyt portu PB powoduje odczyta−
nie danych z przetwornika i dzięki impul−
sowi na PC2 rozpoczęcie nowego cyklu
przetwarzania. Impuls ten będzie poja−
wiał się tam zawsze po odczycie portu.
Gdy proces przetwarzania zakończy się,
linia INTR (pin 5 US 1) zmieni stan na nis−
ki, informując port o zakończeniu proce−
su przetwarzania. Może to wywołać
przerwanie, jeśli je ustawimy. Stan linii
INTR jest zmieniany na wysoki po odczy−
cie portu (strob na PC2). Przetwornik
może linię danych ustawić w stan trzeci,
jest to wykorzystywane gdy podłączymy
go bezpośrednio do magistrali mikropro−
cesora. W samplerze ta możliwość nie
jest wykorzystana, dlatego linie CS, RD
połączono na stałe z poziomem niskim.
Elementy R2, C3 decydują o częstotli−
wości oscylatora, która wyznacza częs−
rysunku 1
Rys. 1. Schemat ideowy samplera.
29
E LEKTRONIKA DLA WSZYSTKICH 3/97
823172613.259.png 823172613.270.png 823172613.281.png 823172613.292.png 823172613.001.png 823172613.012.png 823172613.023.png 823172613.033.png 823172613.044.png 823172613.055.png 823172613.065.png 823172613.076.png 823172613.087.png 823172613.098.png 823172613.109.png 823172613.120.png 823172613.131.png 823172613.142.png 823172613.153.png 823172613.164.png 823172613.175.png 823172613.186.png 823172613.196.png 823172613.207.png 823172613.218.png 823172613.229.png 823172613.231.png 823172613.232.png 823172613.233.png 823172613.234.png 823172613.235.png 823172613.236.png 823172613.237.png 823172613.238.png 823172613.239.png 823172613.240.png 823172613.241.png 823172613.242.png 823172613.243.png 823172613.244.png 823172613.245.png 823172613.246.png 823172613.247.png 823172613.248.png 823172613.249.png 823172613.250.png 823172613.251.png 823172613.252.png 823172613.253.png 823172613.254.png 823172613.255.png 823172613.256.png 823172613.257.png 823172613.258.png 823172613.260.png 823172613.261.png 823172613.262.png 823172613.263.png 823172613.264.png 823172613.265.png 823172613.266.png 823172613.267.png 823172613.268.png 823172613.269.png 823172613.271.png 823172613.272.png 823172613.273.png 823172613.274.png 823172613.275.png 823172613.276.png 823172613.277.png 823172613.278.png 823172613.279.png 823172613.280.png 823172613.282.png 823172613.283.png 823172613.284.png 823172613.285.png 823172613.286.png 823172613.287.png 823172613.288.png 823172613.289.png 823172613.290.png 823172613.291.png 823172613.293.png 823172613.294.png 823172613.295.png 823172613.296.png 823172613.297.png 823172613.298.png 823172613.299.png 823172613.300.png 823172613.301.png 823172613.302.png 823172613.002.png 823172613.003.png 823172613.004.png 823172613.005.png 823172613.006.png 823172613.007.png 823172613.008.png 823172613.009.png 823172613.010.png 823172613.011.png 823172613.013.png 823172613.014.png 823172613.015.png 823172613.016.png 823172613.017.png 823172613.018.png 823172613.019.png 823172613.020.png 823172613.021.png 823172613.022.png 823172613.024.png 823172613.025.png 823172613.026.png 823172613.027.png 823172613.028.png 823172613.029.png 823172613.030.png 823172613.031.png 823172613.032.png
 
Kącik elektronika amigowca
Listing 1
;PROCEDURA SAMPLUJACA DZWIEKI ; DO PAMIECI KOMPUTERA
; ORAZ ODTWARZAJACA JE NA PRZERWANIACH
RTS
;−−−−−−−−−−−−−−−−−−−−−−READ
SEI
;WYLACZENIE PRZERWAN
LDA #$7F
STA $DD0D
LDA #>START ;ADRES STARTOWY LDX #>KONIEC
*= $0810
; KONCOWY
JMP READ JMP WRITE
;−−−−−−−−−−−−−−−−−−−−−−START
LDY #SPEED
;PREDKOSC
= $1000
STA STRHIGH
STX END
STY SPD
LDX #$00
STX STRLOW
JSR VOLUME
KONIEC = $FF00
SPEED = $90
;−−−−−−−−−−−−−−−−−−−−−−STRLOW
= $FA
STRHIGH = STRLOW+1
END
= STRHIGH+1
;GLOSNY SID
SPD
= END+1
LDX #$07
JSR VOLUME
LDX #$0E
JSR VOLUME
JSR TIMER
STY $DD03
LDA $0318
PAMIEC = SPD+1
;−−−−−−−−−−−−−−−−−−−−−−WRITE SEI
;WYLACZENIE PRZERWAN
LDA #$7F
STA $DD0D
LDA #>START ;ADRES STARTOWY LDX #>KONIEC
; KONCOWY
;ZAPAMIETANIE
LDY #SPEED
;PREDKOSC
STA STRHIGH
STX END
STY SPD
LDX #$00
STX STRLOW
JSR VOLUME ;GLOSNY SID
LDX #$07
JSR VOLUME
LDX #$0E
JSR VOLUME
LDY #$00 ;PORT NA WEJSCIE STY $DD03
JSR TIMER
LOOP1 LDA $DD0D
LDX $0319
; WEKTORA NMI
STA NMILOW
STX NMIHIGH
LDA #<NMI
;USTAWIA WEKTOR NMI LDX #>NMI
STA $0318
STX $0319
LDA #$81
;ZEZWALA NA NMI
STA $DD0D
CLI
RTS
NMI PHA
TYA
PHA
LDY #$00
LDA PAMIEC
BNE NMI1
INC $01
;CZEKA NA TIMER
AND #$01
BEQ *−5
LDA $DD01
;ODCZYT PROBKI
LSR A
LSR A
LSR A
LSR A
STA $D418
;ZMIANA BANKU RAM
LDA (STRLOW),Y
DEC $01
LSR A
LSR A
LSR A
LSR A
STA $D418
STA $D020
LDA $DC01
;WYSLANIE DO SID
STA $D020
LDA $DC01
;CZY NACISNIETO STOP
BPL STOP
LDA $DC01
;CZY SPACJA
AND #$10
BNE LOOP1
; NACISNIETO SPACJE! START ZAPISU
STY $D011
;CZY NACISNIETO STOP
BPL STOPNMI
STA PAMIEC
EXITNMI PLA
;WYLACZENIE VIC
DALEJ LDA $DD0D
;CZEKA NA TIMER
;WYJSCIE Z NMI
AND #$01
BEQ *−5
LDA $DD01
TAY
PLA
BIT $DD0D
RTI
;POBRANIE PROBKI
AND #$F0
;STARSZY NIBLLE
STA PAMIEC
LSR A
LSR A
LSR A
LSR A
STA $D418
STA $D020
LDA $DC01
NMI1 INC $01
;ZMIANA BANKU RAM
LDA (STRLOW),Y
DEC $01
STY PAMIEC
AND #$0F
STA $D418
STA $D020
INC STRLOW
;CZY NACISNIETO STOP
BPL STOP
LDA $DD0D
;ZWIEKSZENIE ADRESU
;CZEKA NA TIMER
BNE EXITNMI
INC STRHIGH
LDA STRHIGH
AND #$01
BEQ *−5
LDA $DD01
LSR A
LSR A
LSR A
LSR A
STA $D418
STA $D020
ORA PAMIEC
INC $01
;POROWNANIE CZY END
CMP END
BNE EXITNMI
STOPNMI LDA NMILOW
;STARY WEKTOR NMI
LDX NMIHIGH
STA $0318
STX $0319
LDA #$01 ;WYLACZENIE PRZERWAN
STA $DD0D
BNE EXITNMI
;−−−−−−−−−−−−−−−−−−−−−−−VOLUME
;ZMIANA BANKU RAM
STA (STRLOW),Y
DEC $01
INY
LDA #$00
STA $D405,X LDA #$FF
STA $D402,X STA $D403,X LDA #$F0
STA $D406,X LDA #$41
STA $D404,X RTS
;−−−−−−−−−−−−−−−−−−−−−−TIMER
;ZWIEKSZENIE ADRESU
BNE DALEJ
INC STRHIGH
LDA STRHIGH;POROWNANIE CZY END
CMP END
BNE DALEJ
STOP LDA #$1B
LDA #$00
;USTAWIENIE TIMERA
STA $DD05
LDA SPD STA $DD04 LDA #$01 STA $DD0E LDA $DD0D RTS
;−−−−−−−−−−−−−−−−−−−−−−−NMILOW .BYTE 0
NMIHIGH .BYTE 0
;WLACZA EKRAN
STA $D011
CLI
; I PRZERWANIA
totliwość próbkowania. Nie należy jej
zmieniać, ponieważ według producenta
wzrost jej ponad 1MHz spowoduje spa−
dek rozdzielczości nawet do 6 bitów.
Układ jest prosty, ważną rzeczą jest tak−
że program obsługujący sampler. Na lis−
Aby sprawa była jaśniejsza, zacznę od
omówienia odtwarzania sampli. Jak wia−
domo C−64 nie posiada wbudowanych
przetworników cyfrowo−analogowych.
Zauważono jednak, że regulator głośnoś−
ci może pracować jako czterobitowy
przetwornik. Pierwsze procedury play−
erów na czas odtwarzania wyłączały ek−
ran. Było to konieczne, ponieważ układ
wizyjny w co ósmej lini “podkradał” cyk−
le maszynowe procesora. Powodowało
to duże zniekształcenia dźwięku. Niedo−
godność tę ominięto wykorzystując do
odliczania czasu układy timerów portu
CIA. Kolejnym problemem, jaki pojawił
się po wprowadzeniu nowych wersji
SIDa, były ciche sample. Na szczęście
po uruchomieniu generatorów układu na
wysokiej częstotliwości poziom dźwięku
zbliżył się do poziomu starego SIDa.
Podany listing zawiera dwie procedu−
ry. Pierwsza “WRITE” zapisuje sample
lis−
tingu 1
tingu 1 przedstawiony jest z komenta−
rzami, które powinny rozwiać wszelkie
wątpliwości. Listing należy wpisać do
Turboasseblera.
Trochę o ewolucji tego programu.
30
E LEKTRONIKA DLA WSZYSTKICH 3/97
823172613.034.png
Kącik elektronika amigowca
pracować jako ośmiobitowy. Można je
odtwarzać przy użyciu Covoxa. Opis ta−
kiego urządzenia pojawi się w jednym
z następnych odcinków. Należy wspo−
mnieć, że sampler z odpowiednim op−
rogramowaniem może służyć jako gene−
rator pogłosu lub echa. Ze względu na
to, że w programie nie skorzystano
z możliwości kontroli, czy przetwornik
zakończył proces przetwarzania, nie na−
leży używać zbyt dużej częstotliwości
próbkowania.
Montaż
Płytkę drukowaną należy przygoto−
wać we własnym zakresie według sche−
matu z rysunku 1.
Montaż rozpoczynamy od wlutowania
najmniejszych elementów, tzn. rezysto−
rów i kondensatorów. Następnie naluto−
wujemy złącze USER portu na płytkę
(rys. 2
WYKAZ ELEMENTÓW
WYKAZ ELEMENTÓW
Rezystory
Rezystory
Rezystory
R1, R6: 220 W
R2: 10k W
R3: 150k W
R4: 33k W
R5: 3,9k W
R7, R8: 100k W
Kondensatory
Rys. 2. Montaż złącza USER.
do RAM. Po jej uruchomieniu w głośniku
będzie słychać dźwięk dochodzący do
samplera. Naciśnięcie SPACJI spowodu−
je wpisywanie danych do RAM. Dzięki
przełączaniu banków pamięci można wy−
korzystać całą dostępną RAM. Operację
można przerwać przez naciśnięcie klawi−
sza STOP. Druga procedura “READ” od−
twarza sample z pamięci na przerwa−
niach. Przerwać ją można naciskając
STOP. Etykieta START decyduje o po−
czątku sampla. Adres tam wpisany musi
wskazywać pierwszą wolną komórkę
bloku RAM. Z zasady jest to adres końca
programu samplującego.
Należy zauważyć, że pod uwagę jest
brany starszy bajt, młodszy natomiast za−
wsze jest ustawiony na zero. Etykieta
KONIEC decyduje o końcu sampla i nie
może przekroczyć adresu $FF00. SPEED
decyduje o częstotliwości samplowania.
Zbyt mała wartość może doprowadzić
do sytuacji, w której na wyjściach da−
nych przetwornika będzie ciągle ta sama
wartość. Jest to spowodowane budową
układu. W praktyce stosuje się tu war−
tości z przedziału $90 do $FF. Wykorzys−
tując cały dostępny obszar RAM można
zapisać od 18 do 32 sekund sampli zależ−
nie od częstotliwości próbkowania.
Niejeden czytelnik zapyta, dlaczego
podłączono wszystkie linie samplera,
a nie tylko cztery, skoro C−64 nie odtwa−
rza więcej niż cztery bity? Można by
w ten sposób zaoszczędzić kilkanaście
cykli po usunięciu rozkazów LSR. Otóż
mają oni rację, lecz sampler ma także
Kondensatory
Kondensatory
Kondensatory
C1, C2: 2,2µF
C4: 100nF
C5: 470nF
C6: 220nF
Półprzewodniki
Półprzewodniki
Półprzewodniki
T1: BC238
US1: ADC0804
Różne
Różne
Różne
Różne
Złącze USER
rys. 2). Łączymy przewodami punkty
oznaczone jako Pin2 i Pin8 ze złączami
USER. Potencjometr P1 przyłączamy do
punktów A, B, C, można go też pominąć,
zwierając ze sobą punkty B, C. Poziom
sygnału regulujemy wtedy potencjomet−
rem regulacji siły głosu w źródle sygnału.
Pozostaje nam wlutować tranzystor
i układ scalony. Sampler można zamknąć
w typowej obudowie od cartrige, wyma−
gane będzie podpiłowanie obudowy
w miejscu złącza, wyprowadzenia prze−
wodu i osi potencjometru.
Przewód należy przewlec przez dwa
otwory w płytce drukowanej, co zabez−
pieczy go przed wyrwaniem.
Rodzaj wtyczki zależy od użytego
źródła sygnału i dobieramy ją indywidual−
nie. Osoby wykonujące płytkę ręcznie
mogą mieć problem z poprowadzeniem
ścieżki łączącej piątą nóżkę układ US1 ze
złączem USER. Można ją pominąć, po−
nieważ oprogramowanie nie wykorzys−
tuje możliwości generacji przerwań.
W razie potrzeby można powyższe połą−
rys. 2
czenie wykonać przewodem od strony
druku.
Jakie urządzenia opisać w następ−
nych odcinkach? Proszę czytelników
o kontakt.
Sławomir Skrzyński
Sławomir Skrzyński
Literatura:
Literatura:
Andrzej Markowski: Układy analogowe
w systemach mikroprocesorowych.
WNT, Warszawa 1991, 1992 r.
USKA Układy Analogowe 2/94. AVT,
Warszawa 1994 r.
USKA Układy Analogowe 3/94. AVT,
Warszawa 1994 r.
W przypadku zainteresowania opisa−
nym urządzeniem, redakcja przedstawi
płytkę drukowaną do tego projektu,
ewentualnie wprowadzi do oferty
zestaw do samodzielnego montażu.
red.
31
E LEKTRONIKA DLA WSZYSTKICH 3/97
823172613.035.png 823172613.036.png 823172613.037.png 823172613.038.png 823172613.039.png 823172613.040.png 823172613.041.png 823172613.042.png 823172613.043.png 823172613.045.png 823172613.046.png 823172613.047.png 823172613.048.png 823172613.049.png 823172613.050.png 823172613.051.png 823172613.052.png 823172613.053.png 823172613.054.png 823172613.056.png 823172613.057.png 823172613.058.png 823172613.059.png
 
Układy cyfrowe
W tym odcinku omówimy bramki
złożone EX−OR i EX−NOR oraz
sprawę logiki ujemnej.
Pierwsze kroki
w cyfrówce
część 3
część 3
Inne bramki
Istnieją też elementy logiczne, realizu−
jące jeszcze inne funkcje. Zapewne spo−
tkałeś już określenie EX−OR i EX−NOR.
Elementy takie również nazywamy
bramkami. W literaturze niekiedy są
oznaczane jako bramki XOR lub XNOR.
Elementów tych z pewnością będziesz
używał w swoich układach.
Rys. 11. Wykonanie bramki EX−OR z bramek NAND.
Na pewno chciałbyś intuicyjnie zrozu−
mieć ich działanie, a jest ono bardzo
proste.
Spróbuj zapamiętać: na wyjściu dwu−
wejściowej bramki EX−OR pojawia się
stan wysoki, gdy na wejściach występu−
ją różne stany logiczne. Natomiast gdy
oba wejścia mają ten sam stan logiczny
(obojętnie czy wysoki, czy niski), na wy−
jściu występuje stan niski.
Bramka EX−NOR działa tylko trochę
inaczej − gdy stan wejść jest jednakowy,
na wyjściu pojawia się stan wysoki, gdy
stany są różne − stan niski.
Jest to rzeczywiście proste. Na rysun−
rysun−
ku 10
ku 10 znajdziesz symbole i opis działania
bramek EX−OR i EX−NOR.
Na rysunku 11
rysunku 11 zobaczysz, jak wyko−
nać bramkę EX−OR z bramek NAND.
W praktyce nigdy się tak nie robi, bo−
wiem produkowane są układy scalone
zawierające po cztery bramki EX−OR albo
EX−NOR w jednym układzie scalonym.
Do czego wykorzystasz w praktyce
bramki EX−OR i EX−NOR?
Najczęściej do sprawdzenia, czy dane
sygnały mają takie same poziomy logicz−
ne. Ale nie tylko.
rysunku 11
Rys. 10. Bramki EX−OR i EX−NOR.
Rys. 12. Nietypowe wykorzystanie bramek EX−OR i EX−NOR.
37
E LEKTRONIKA DLA WSZYSTKICH 3/97
823172613.060.png 823172613.061.png 823172613.062.png 823172613.063.png 823172613.064.png 823172613.066.png 823172613.067.png 823172613.068.png 823172613.069.png 823172613.070.png 823172613.071.png 823172613.072.png 823172613.073.png 823172613.074.png 823172613.075.png 823172613.077.png 823172613.078.png 823172613.079.png 823172613.080.png 823172613.081.png 823172613.082.png 823172613.083.png 823172613.084.png 823172613.085.png 823172613.086.png 823172613.088.png 823172613.089.png 823172613.090.png 823172613.091.png 823172613.092.png 823172613.093.png 823172613.094.png 823172613.095.png 823172613.096.png 823172613.097.png 823172613.099.png 823172613.100.png 823172613.101.png 823172613.102.png 823172613.103.png 823172613.104.png 823172613.105.png 823172613.106.png 823172613.107.png 823172613.108.png 823172613.110.png 823172613.111.png 823172613.112.png 823172613.113.png 823172613.114.png 823172613.115.png 823172613.116.png 823172613.117.png 823172613.118.png 823172613.119.png 823172613.121.png 823172613.122.png 823172613.123.png 823172613.124.png 823172613.125.png 823172613.126.png 823172613.127.png 823172613.128.png 823172613.129.png 823172613.130.png 823172613.132.png 823172613.133.png 823172613.134.png 823172613.135.png 823172613.136.png 823172613.137.png 823172613.138.png 823172613.139.png 823172613.140.png 823172613.141.png 823172613.143.png 823172613.144.png 823172613.145.png 823172613.146.png 823172613.147.png 823172613.148.png 823172613.149.png 823172613.150.png 823172613.151.png 823172613.152.png 823172613.154.png 823172613.155.png 823172613.156.png 823172613.157.png 823172613.158.png 823172613.159.png 823172613.160.png 823172613.161.png 823172613.162.png 823172613.163.png 823172613.165.png 823172613.166.png 823172613.167.png 823172613.168.png 823172613.169.png 823172613.170.png 823172613.171.png 823172613.172.png 823172613.173.png 823172613.174.png 823172613.176.png 823172613.177.png 823172613.178.png 823172613.179.png 823172613.180.png 823172613.181.png 823172613.182.png 823172613.183.png 823172613.184.png 823172613.185.png 823172613.187.png 823172613.188.png 823172613.189.png 823172613.190.png 823172613.191.png 823172613.192.png 823172613.193.png 823172613.194.png
 
Układy cyfrowe
wienie się stanu niskiego na przynaj−
mniej jednym jej wejściu zmienia stan
wyjścia. Ostatnia bramka, oznaczona F,
realizuje funkcję NAND − zmienia stan
wyjścia, gdy na wszystkich wejściach
wystąpi stan wysoki. Dokładnie to przea−
nalizuj. Coś nam tu przypomina opis dzia−
łania bramki OR i NOR. Jak to rozumieć?
Do tej pory zakładaliśmy, zresztą cał−
kowicie słusznie, że brak napięcia to stan
niski − L, a obecność napięcia (dodatnie−
go) to stan wysoki − H.
Ale przecież jest to kwestia umowy:
równie dobrze moglibyśmy ustalić, że
brak napięcia to stan wysoki, a obecność
napięcia − stan niski. Tym sposobem
doszliśmy do tak zwanej logiki ujemnej.
Jeśli zaglądałeś do podręczników
omawiających technikę cyfrową, to ist−
nieje duże prawdopodobieństwo, że ja−
kiś niepoprawny teoretyk próbował ci na−
mieszać w głowie, omawiając szczegóło−
wo zarówno logikę dodatnią, jak i ujem−
ną. Wydaje się to bardzo skomplikowa−
ne. Ta cała logika ujemna to prawda, ale
praktykującemu elektronikowi może na−
robić w głowie sporo zamieszania i wte−
dy więcej z niej szkody niż pożytku.
Wyjaśniam więc raz na zawsze: we
wszystkich praktycznych opisach i publi−
kacjach z jakimi się spotkasz, a przede
wszystkim w firmowych katalogach cyf−
rowych układów scalonych, stosuje się
oznaczenia i pojęcia związane z logiką
dodatnią, gdzie
stan niski to napię−
cie bliskie zera,
a stan wysoki to
napięcie bliskie do−
datniego napięcia
zasilania. W zasa−
dzie możesz więc
nie zawracać sobie
głowy logiką ujem−
ną, ale koniecznie
musisz zrozumieć
pewne istotne za−
gadnienie, które
dało o sobie znać
przy analizie rysun−
ku 14. Oto ono:
Zgodnie z tym,
co pokazałem na rysunku 14 musisz za−
pamiętać, że dowolna bramka AND,
NAND, OR, NOR może pełnić zarówno
swą “przepisową” funkcję, jak też funk−
cję niejako przeciwną.
Może jesteś zaskoczony: jak to jest,
że ta sama bramka pełni funkcję AND
i jednocześnie (tak!) funkcję OR? Teore−
tyk odpowie: tu właśnie wchodzi w grę
logika ujemna. Nie przestrasz się tej lo−
giki ujemnej, jest to bardzo proste −
 spróbuj wyczuć zagadnienie intuicyj−
nie.
Zauważ, że w układzie z rysunku 14
“prawdziwą” funkcję pełnioną przez
Rys. 13. Spotykane symbole bramek.
Logika ujemna
rysunku 12 zobaczysz inną możli−
wość, przydatną w praktyce: w zależnoś−
ci od stanu na jednym z wejść, bramka
EX−OR (lub EX−NOR) neguje sygnał we−
jściowy, albo przepuszcza go bez zmian.
Zapamiętaj właściwość pokazaną na ry−
sunku 12 − przyda ci się, gdy w trakcie
projektowania zagospodarujesz bramki
EX−OR i EX−NOR nie wykorzystane
w swej klasycznej roli.
Może zapytasz jeszcze, czy istnieją
wielowejściowe bramki EX−OR i EX−
NOR? W praktyce spotkasz się tylko
z bramkami dwuwejściwymi. Bramki te
można w prosty sposób łączyć, by uzys−
kać coś podobnego do bramki wielowe−
jściowej, ale stosuje się to bardzo rza−
dko. Istnieją też wielowejściowe układy
zwane generatorami i kontrolerami pa−
rzystości, przeznaczone do systemów
przesyłania danych − ich działanie nieco
przypomina działanie opisywanych bra−
mek.
Uważaj teraz! W starej krajowej litera−
turze lub w publikacjach obcojęzycznych
spotyka się odmienne symbole bramek
(oraz innych układów logicznych). Żeby
nie robić ci wody z mózgu, na poprzed−
nich rysunkach podałem ci najczęściej
spotykane oznaczenia, występujące
w większości dostępnych dziś źródeł.
Na rysunku 13
Na rysunku 12
rysunku 12
Popatrz teraz na układ pokazany na ry−
ry−
sunku 14
sunku 14
sunku 14. Układ taki może być zastoso−
wany w małej centralce alarmowej. Do
czterech wejść oznaczonych 1...4 dołą−
czone są czujniki. Wejście Z służy do cał−
kowitego wyłączania centralki. Nato−
miast wejścia X, Y umożliwiają włączanie
i wyłączanie pew−
nych stref (na przy−
kład garaż powi−
nien być chroniony
w nocy także pod−
czas obecności do−
mowników). Naru−
szenie (zwarcie)
któregokolwiek
czujnika wywoła
alarm, o ile tylko
na wejściach ze−
zwalających, ozna−
czonych X, Y, Z,
będzie występo−
wał stan wysoki.
W stanie gotowoś−
ci (czuwania),
w poszczególnych punktach układu wy−
stąpią stany logiczne, takie jak podano na
rysunku.
Zauważ, że jeśli naruszony zostan i e
przynajmniej jeden czujnik, zmieni się
stan na wyjściu którejś z bramek ozna−
czonych A, B. Coś tu jakby nie gra: choć
są to niewątpliwie bramki NAND,
w rzeczywistości realizują funkcję OR
lub NOR! Następne bramki, oznaczone
C i D rzeczywiście realizują funkcję
NAND − stan wyjścia zmienia się, gdy na
wszystkich wejściach pojawi się stan
wysoki. Ale bramka oznaczona E znów
pełni jakby funkcję OR czy NOR − poja−
Dowolna bramka może
w praktycznym układzie pełnić
zarówno swą “przepisową”
funkcję, jak też funkcję niejako
przeciwną. W praktyce
używając bramek jednego typu
(ale muszą to być bramki
z negacją) NOR, bądź NAND,
możesz zrealizować wszystkie
funkcje podstawowe: NOT, OR,
NOR, AND, NAND, a także
wszelkie funkcje złożone.
rysunku 13, w pierwszej kolumnie
znajdziesz oznaczenia według dotych−
czas obowiązujących norm krajowych,
w drugiej kolumnie nowe oznaczenia,
zgodne z zaleceniami międzynarodowej
organizacji ISO, które są obecnie wpro−
wadzane w wielu krajach, także u nas.
Przyzwyczajaj się powoli do tych nowych
symboli. W trzeciej kolumnie znajdziesz
dawne oznaczenia, spotykane w starszej
literaturze.
rysunku 13
38
E LEKTRONIKA DLA WSZYSTKICH 3/97
823172613.195.png 823172613.197.png 823172613.198.png 823172613.199.png 823172613.200.png 823172613.201.png 823172613.202.png 823172613.203.png 823172613.204.png 823172613.205.png 823172613.206.png 823172613.208.png 823172613.209.png 823172613.210.png 823172613.211.png 823172613.212.png 823172613.213.png 823172613.214.png 823172613.215.png 823172613.216.png 823172613.217.png 823172613.219.png 823172613.220.png 823172613.221.png 823172613.222.png 823172613.223.png 823172613.224.png 823172613.225.png 823172613.226.png 823172613.227.png 823172613.228.png 823172613.230.png
 
Zgłoś jeśli naruszono regulamin