-
1. Data: 2018-02-08 08:39:22
Temat: Multiplekser przełączający grupę linii
Od: Atlantis <m...@w...pl>
Tradycyjną elektroniką cyfrową bawiłem się tylko przez chwilę. Robiłem
jakieś prostsze projekty (a raczej ćwiczenia), a potem przerzuciłem się
na mikrokontrolery. Teraz jednak chciałbym wrócić do tego - głównie przy
okazji FPGA, ale również bawiąc się w fizyczne konstruowanie czegoś ze
scalaków.
Preferuję zdobywanie umiejętności przez realizowanie konkretnego,
użytecznego projektu. W chwili obecnej chodzi mi po głowie sklecenie
sterownika do wyświetlaczy nixie, który załatwiałby multipleksowanie
poszczególnych wiświetlaczy (z wygaszaniem przed zapaleniem kolejnej
cyfry), a dane otrzymywał z MCU szeregowo.
Na wejściu znajdowałby się więc zespół rejestrów przesuwnych z
zatrzaskiem. W rejestrach trzymane byłyby po dwa półbajty BCD,
przekazywane sekwencyjnie na wejście 74141. Potrzebny mi tutaj będzie
jakiś multiplekser.
I teraz pierwsze pytanie, jakie mi się nasuwa. Istnieje jakiś układ
scalony będący zespołem multiplekserów zdolnych przełączać zespół
czterech wejść pomiędzy (co najmniej sześcioma) zespołami wyjść?
Czy też jedyną opcją będzie wyrzeźbienie sobie tego z pojedynczych
multiplekserów?
-
2. Data: 2018-02-08 09:29:13
Temat: Re: Multiplekser przełączający grupę linii
Od: Grzegorz Kurczyk <g...@c...usun.slupsk.pl>
W dniu 08.02.2018 o 08:39, Atlantis pisze:
> Tradycyjną elektroniką cyfrową bawiłem się tylko przez chwilę. Robiłem
> jakieś prostsze projekty (a raczej ćwiczenia), a potem przerzuciłem się
> na mikrokontrolery. Teraz jednak chciałbym wrócić do tego - głównie przy
> okazji FPGA, ale również bawiąc się w fizyczne konstruowanie czegoś ze
> scalaków.
>
> Preferuję zdobywanie umiejętności przez realizowanie konkretnego,
> użytecznego projektu. W chwili obecnej chodzi mi po głowie sklecenie
> sterownika do wyświetlaczy nixie, który załatwiałby multipleksowanie
> poszczególnych wiświetlaczy (z wygaszaniem przed zapaleniem kolejnej
> cyfry), a dane otrzymywał z MCU szeregowo.
>
> Na wejściu znajdowałby się więc zespół rejestrów przesuwnych z
> zatrzaskiem. W rejestrach trzymane byłyby po dwa półbajty BCD,
> przekazywane sekwencyjnie na wejście 74141. Potrzebny mi tutaj będzie
> jakiś multiplekser.
>
> I teraz pierwsze pytanie, jakie mi się nasuwa. Istnieje jakiś układ
> scalony będący zespołem multiplekserów zdolnych przełączać zespół
> czterech wejść pomiędzy (co najmniej sześcioma) zespołami wyjść?
> Czy też jedyną opcją będzie wyrzeźbienie sobie tego z pojedynczych
> multiplekserów?
>
Ile masz wyświetlaczy?
Robiłem takie sterowanie dla ośmiu wyświetlaczy w swojej pracy
dyplomowej z czasów nauki w technikum. W wersji finalnej udało mi się
zdobyć (a w tamtych czasach nie było to łatwe) cztery dwu-segmentowe
wyświetlacze LED :-) Bałem się na nie krzywo patrzeć, żeby ich nie
uszkodzić ;-) W sumie zmienił się tylko dekoder i stopnie mocy do
sterowania anodami.
Dla ośmiu wyświetlaczy zrobiłem to na:
1. Dekoder BCD/LED 7447 1szt. (dla NIXE był to 74141)
2. Demultiplexer 7442 1szt. (wybieranie anod)
3. Multiplexer 74151 4szt. (wybieranie danych dla 7447)
4. Licznik 7493 1szt. (adresy dla 74151 i 7442)
5. 4xLatch 7475 8szt. (pamięć danych wejściowych)
do tego generator taktujący, trochę oporników i tranzystorów.
Całość powinieneś zmieścić w jednym CPLD XC9572
--
Pozdrawiam
Grzegorz
-
3. Data: 2018-02-08 09:35:21
Temat: Re: Multiplekser przełączający grupę linii
Od: Grzegorz Kurczyk <g...@c...usun.slupsk.pl>
W dniu 08.02.2018 o 08:39, Atlantis pisze:
> I teraz pierwsze pytanie, jakie mi się nasuwa. Istnieje jakiś układ
> scalony będący zespołem multiplekserów zdolnych przełączać zespół
> czterech wejść pomiędzy (co najmniej sześcioma) zespołami wyjść?
> Czy też jedyną opcją będzie wyrzeźbienie sobie tego z pojedynczych
> multiplekserów?
>
3 sztuki 74153 :-)
--
Pozdrawiam
Grzegorz
-
4. Data: 2018-02-08 10:48:46
Temat: Re: Multiplekser przełączający grupę linii
Od: "J.F." <j...@p...onet.pl>
Użytkownik "Atlantis" napisał w wiadomości grup
dyskusyjnych:5a7bfeab$0$597$6...@n...neostrada.
pl...
>Preferuję zdobywanie umiejętności przez realizowanie konkretnego,
>użytecznego projektu. W chwili obecnej chodzi mi po głowie sklecenie
>sterownika do wyświetlaczy nixie, który załatwiałby multipleksowanie
>poszczególnych wiświetlaczy (z wygaszaniem przed zapaleniem kolejnej
>cyfry), a dane otrzymywał z MCU szeregowo.
>Na wejściu znajdowałby się więc zespół rejestrów przesuwnych z
>zatrzaskiem. W rejestrach trzymane byłyby po dwa półbajty BCD,
>przekazywane sekwencyjnie na wejście 74141. Potrzebny mi tutaj będzie
>jakiś multiplekser.
Chcesz multipleksowac wyswietlacze i dac jeden 74141 ?
To po co tak - MCU sie pieknie wyrobi z obsluga kolejnych cyfr,
potrzebujesz tylko wyprowadzic dane
-do sterowania 74141 - 4 bity,
-do wybierania lamp/cyfr - od 3 do 6 bitow - jesli nie chcesz dekodera
liczb.
albo i 2 bity - jesli zrobisz uklad wybierajacy kolejne lampy, a
wystarczy mu impuls przelaczajacy na nastepna i reset do
synchronizacji
-moze z 1 bit do wygaszania.
spokojnie sie zmiesci 8 bitowym rejestrze przesuwnym, jesli MCU ma za
malo wolnych portow.
Czy chcesz dac 6 sztuk 74141, po jednym na lampe ?
>I teraz pierwsze pytanie, jakie mi się nasuwa. Istnieje jakiś układ
>scalony będący zespołem multiplekserów zdolnych przełączać zespół
>czterech wejść pomiędzy (co najmniej sześcioma) zespołami wyjść?
Sa rozne kombinacje, ale raczej mniejsze. Tylko musisz dokladniej
sformulowac co chcesz.
Jak sie domyslam - 4 linie wyjsciowe (BCD do 141), ktore trzeba w
komplecie podlaczac do jednego z 6 kompletow linii wejsciowych 4-ro
bitowych.
Takie duze to raczej niepopularne, wiec zostaje dac 4 multipleksery
1-bitowe 8-mio wejsciowe (74153 o ile mnie skleroza nie myli)
Ewentualnie uklad magistralowy, czy jak kto woli "OR na drucie" -
4-bitowe bufory z wyjsciami trojstanowymi lub OC,
wyjscia polaczone razem i podlaczone do wejsc 141, sygnalami OE
aktywujesz tylko jeden z buforow.
Ale ...
-glowy nie dam, czy Nixie dobrze zniosa multipleksowanie, moze po
prostu dac 6 szt 74141 i miec spokoj,
-to jest fajny projekt edukacyjny do FPGA czy CPLD, mozna pocwiczyc. A
jesli to ma byc zwykly zegar, to moze nawet MCU wyeliminowac.
J.
-
5. Data: 2018-02-08 11:13:39
Temat: Re: Multiplekser przełączający grupę linii
Od: Piotr Gałka <p...@c...pl>
W dniu 2018-02-08 o 08:39, Atlantis pisze:
> Tradycyjną elektroniką cyfrową bawiłem się tylko przez chwilę. Robiłem
> jakieś prostsze projekty (a raczej ćwiczenia), a potem przerzuciłem się
> na mikrokontrolery. Teraz jednak chciałbym wrócić do tego - głównie przy
> okazji FPGA, ale również bawiąc się w fizyczne konstruowanie czegoś ze
> scalaków.
>
> Preferuję zdobywanie umiejętności przez realizowanie konkretnego,
> użytecznego projektu. W chwili obecnej chodzi mi po głowie sklecenie
> sterownika do wyświetlaczy nixie, który załatwiałby multipleksowanie
> poszczególnych wiświetlaczy (z wygaszaniem przed zapaleniem kolejnej
> cyfry), a dane otrzymywał z MCU szeregowo.
Skłoniłeś mnie do historycznej dygresji która prowadzi do opisania
rozwiązania, które uważam, za ciekawe a jest bezpośrednio związane z
Twoim pytaniem.
W 1978r po I roku studiów miałem bardzo ciekawą praktykę - na
uruchamianiu w Radmorze - co kilka dni inne, ciekawe urządzenia do
rozczajenia jak działa i jak szukać w nim błędów produkcyjnych. Radmor
robił dla milicji wojska i marynarki - bardzo dużo się nauczyłem.
Totalnym kontrastem do niej była praktyka po IV roku w ośrodku
obliczeniowym - nasze zadanie (konserwatorów) polegało na tym aby raz na
tydzień odkurzyć wszystkie kółeczka z perforowanego papieru do drukarki.
Na szczęście jednym z konserwatorów był łebski facet, który z nudów
trochę usprawniał Odrę. On mi podsunął ciekawe rozwiązanie
częstościomierza, które potem (w 1984r) zrealizowałem wykorzystując
wyświetlacz lampowy (wszystkie cyfry w jednej bańce) który skądś mi się
udało dostać.
Klasyczny częstośiomierz:
- 8 liczników
- 8 4-bitowych zatrzasków
- 4 multipleksery 8 na 1
- 1 dekoder BCD -> 7 segment
- 1 licznik do 8 przemiatający cyfry wyświetlacza
pomijając układ bramkowania i sterowania daje to 22 scalaki. Scalaki TTL
brały typowo około 20mA co daje już 440mA potrzebnego prądu na 5V.
Zrealizowane przeze mnie rozwiązanie:
- 8 liczników
- 4 8-bitowe rejestry przesuwne (zapętlone - na miejscu zapętlenia
pojawiają się kolejne cyfry do wyświetlenia)
- 1 dekoder BCD -> 7 segment
- 1 licznik do 8 przemiatający cyfry wyświetlacza
razem 14 scalaków - 280mA.
Układ sterujący się nieco bardziej komplikuje - chyba o 1 scalak więcej
niż przy klasycznym rozwiązaniu. Sztuka polega na tym aby w odpowiednim
momencie wtrzasnąć wynik do rejestrów przesuwnych i to mi się właśnie
nie udało. W moim układzie jak się przełączało zakres częstotliwości to
było prawdopodobieństwo 7/8, że częstościomierz pokazuje dobry wynik i
1/8, że cyfry będą przesunięte o 1.
Długo szukałem, ale zrozumiałem i udało mi się go poprawić jedynie
przecinając ścieżki i inaczej łącząc już obecne na płytce scalaki.
Schemat mam (mam nadzieję, że mam, bo jednak kilkadziesiąt lat i kilka
przeprowadzek minęło) w domu (ołówkiem na papierze podaniowym), ale
jeśli interesuje Cię to rozwiązanie to zapewne da się znaleźć schematy w
sieci.
Podsumowując.
Nie widzę sensu wynoszenia fragmentu sterowania poza procesor, kiedy on
się sam wyrobi z całym tym sterowaniem. Jak już się bawić to zrobić
wszystko bez procesora.
P.G.
-
6. Data: 2018-02-08 11:25:52
Temat: Re: Multiplekser przełączający grupę linii
Od: Grzegorz Kurczyk <g...@c...usun.slupsk.pl>
W dniu 08.02.2018 o 11:13, Piotr Gałka pisze:
> W dniu 2018-02-08 o 08:39, Atlantis pisze:
> Podsumowując.
> Nie widzę sensu wynoszenia fragmentu sterowania poza procesor, kiedy on
> się sam wyrobi z całym tym sterowaniem. Jak już się bawić to zrobić
> wszystko bez procesora.
> P.G.
W dzisiejszych czasach samo zastosowanie wyświetlacza NIXE jest
teoretycznie i praktycznie bez sensu.
Ale w tym przypadku sensem jest wiedza :-) a przedstawiony przykład
jedną ze ścieżek jej zdobycia.
Przy okazji pielęgnujemy sentyment do "szklanej bańki" i tu doskonale
rozumiem Kolegę Atlantisa :-)
--
Pozdrawiam
Grzegorz
-
7. Data: 2018-02-08 11:53:33
Temat: Re: Multiplekser przełączający grupę linii
Od: Waldemar <w...@z...fu-berlin.de>
Am 08.02.2018 um 08:39 schrieb Atlantis:
> Tradycyjną elektroniką cyfrową bawiłem się tylko przez chwilę. Robiłem
> jakieś prostsze projekty (a raczej ćwiczenia), a potem przerzuciłem się
> na mikrokontrolery. Teraz jednak chciałbym wrócić do tego - głównie przy
> okazji FPGA, ale również bawiąc się w fizyczne konstruowanie czegoś ze
> scalaków.
>
> Preferuję zdobywanie umiejętności przez realizowanie konkretnego,
> użytecznego projektu. W chwili obecnej chodzi mi po głowie sklecenie
> sterownika do wyświetlaczy nixie, który załatwiałby multipleksowanie
> poszczególnych wiświetlaczy (z wygaszaniem przed zapaleniem kolejnej
> cyfry), a dane otrzymywał z MCU szeregowo.
>
> Na wejściu znajdowałby się więc zespół rejestrów przesuwnych z
> zatrzaskiem. W rejestrach trzymane byłyby po dwa półbajty BCD,
> przekazywane sekwencyjnie na wejście 74141. Potrzebny mi tutaj będzie
> jakiś multiplekser.
>
> I teraz pierwsze pytanie, jakie mi się nasuwa. Istnieje jakiś układ
> scalony będący zespołem multiplekserów zdolnych przełączać zespół
> czterech wejść pomiędzy (co najmniej sześcioma) zespołami wyjść?
> Czy też jedyną opcją będzie wyrzeźbienie sobie tego z pojedynczych
> multiplekserów?
Możesz rzeźbić pojedynczo, a możesz zamiast wszelakich rejestrów
przesuwnych i wiaderka 74141 czy innych multiplexerów wziąć jeden HV507
firmy Supertex. To 64 bitowy rejestr przesuwny z wyjściami równoległymi
i wyjściami z Umax 320V. Jako, że toto ma 64 wyjścia, ma w sumie 80
nóżek, trochę może upierdliwe, ale eleganckie rozwiązanie ;-)
Waldek
-
8. Data: 2018-02-08 11:54:00
Temat: Re: Multiplekser przełączający grupę linii
Od: Grzegorz Kurczyk <g...@c...usun.slupsk.pl>
W dniu 08.02.2018 o 10:48, J.F. pisze:
> Ale ...
> -glowy nie dam, czy Nixie dobrze zniosa multipleksowanie, moze po prostu
> dac 6 szt 74141 i miec spokoj,
Nixie zniosą bez problemu. Gorzej będą miały urządzenia pracujące w
pobliżu bo takie "raptowne" przełączanie napięcia rzędu 100V troszku
sieje w eterze ;-)
> -to jest fajny projekt edukacyjny do FPGA czy CPLD, mozna pocwiczyc. A
> jesli to ma byc zwykly zegar, to moze nawet MCU wyeliminowac.
>
i o ten efekt edukacyjny właśnie chodzi :-)
żeby nie zaczynać po akademicku od sprzętowej implementacji transformaty
Fouriera ;-) :-)
--
Pozdrawiam
Grzegorz
-
9. Data: 2018-02-08 11:58:41
Temat: Re: Multiplekser przełączający grupę linii
Od: Waldemar <w...@z...fu-berlin.de>
Am 08.02.2018 um 11:54 schrieb Grzegorz Kurczyk:
> W dniu 08.02.2018 o 10:48, J.F. pisze:
>
>> Ale ...
>> -glowy nie dam, czy Nixie dobrze zniosa multipleksowanie, moze po
>> prostu dac 6 szt 74141 i miec spokoj,
>
> Nixie zniosą bez problemu. Gorzej będą miały urządzenia pracujące w
> pobliżu bo takie "raptowne" przełączanie napięcia rzędu 100V troszku
> sieje w eterze ;-)
>
>> -to jest fajny projekt edukacyjny do FPGA czy CPLD, mozna pocwiczyc. A
>> jesli to ma byc zwykly zegar, to moze nawet MCU wyeliminowac.
>>
>
> i o ten efekt edukacyjny właśnie chodzi :-)
> żeby nie zaczynać po akademicku od sprzętowej implementacji transformaty
> Fouriera ;-) :-)
są procesory "motylki" do FFT ;-)
Waldek
-
10. Data: 2018-02-08 12:30:43
Temat: Re: Multiplekser przełączający grupę linii
Od: Atlantis <m...@w...pl>
On 08.02.2018 10:48, J.F. wrote:
> Chcesz multipleksowac wyswietlacze i dac jeden 74141 ?
> To po co tak - MCU sie pieknie wyrobi z obsluga kolejnych cyfr,
> potrzebujesz tylko wyprowadzic dane
Wiem, że większość MCU spokojnie się wyrobi. Już tego próbowałem z
AVR-ami. Ale już na przykład w przypadku takiego ESP8266 tak dobrze nie
jest. Użytkownik ma do dyspozycji tylko jeden hardware'owy timer (timery
programowe dostępne w SDK nie nadają się do multipleksowania
wyświetlacza) a pinów jest za mało. Z poziomu funkcji obsługi przerwania
od timera nie da się wykonać transmisji I2C (za mało czasu, zadziała
watchdog) a ustawianie flagi i robienie transmisji w głównej pętli
spowoduje za duży jutter. W gre wchodziłyby więc tylko jakieś szybkie
rejestry przesuwne obsługiwane w przerwaniu.
To ja już wolę sobie zbudować (czy to fizycznie, czy w CPLD/FPGA) jakiś
hardware, który zajmie się sama obsługą wyświetlaczy. Wiem, że to trochę
sztuka dla sztuki i równie dobrze mógłbym to zrobić na dodatkowym
mikrokontrolerze, ale to ma być projekt edukacyjny. Programować MCU już
jako-tako umiem, a z elektroniki cyfrowej chciałbym sobie zrobić powtórkę.
> Czy chcesz dac 6 sztuk 74141, po jednym na lampe ?
Nie. Pomysł jest taki, żeby mieć jeden 74141 i multipleksować
poszczególne lampy. Na wejścia 74141 podawałbym przez ten multiplekser
(zestaw multiplekserów) kolejne półbajty trzymane w rejestrach
przesuwnych na wejściu. Osobny układ zapalałby kolejne lampy. Myślę też,
że konieczne byłoby zastosowanie jakiegoś licznika i komparatora, który
w pewnym momencie gasiłby lampę (coś w rodzaju PWM, celem uniknięcia
efektu "duszków"). Jeszcze tego dokładnie nie rozrysowałem, mam tylko
ogólny pomysł.
> Takie duze to raczej niepopularne, wiec zostaje dac 4 multipleksery
> 1-bitowe 8-mio wejsciowe (74153 o ile mnie skleroza nie myli)
To był właśnie mój oryginalny pomysł. Liczyłem po prostu na to, że może
istnieje coś takiego w jednym scalaku.
> -glowy nie dam, czy Nixie dobrze zniosa multipleksowanie, moze po prostu
> dac 6 szt 74141 i miec spokoj,
Już robiłem jeden zegar nixie z multipleksowanym wyświetlaczem. Działa w
porządku. Trzeba tylko pamiętać o wygaszeniu na chwilę jednej lampy
przed zapaleniem następnej - nixie potrzebują trochę czasu, żeby zgasnąć.
> -to jest fajny projekt edukacyjny do FPGA czy CPLD, mozna pocwiczyc. A
> jesli to ma byc zwykly zegar, to moze nawet MCU wyeliminowac.
Właśnie zależy mi na synchronizacji z NTP. :)