Przydasie

Pozostałe układy mikrokontrolerów, układy peryferyjne i inne, nie mieszczące się w powyższych kategoriach.
Awatar użytkownika
gaweł
Expert
Expert
Posty: 767
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Przydasie

Postautor: gaweł » czwartek 12 wrz 2019, 02:47

Moduł mikrokontrolera C51 (PLCC)
przc51_ilu00.jpg


Jak mówi przysłowie: „Potrzeba jest matką wynalazku”. I taka potrzeba zaistniała. Konieczność sprawdzenia różnych fragmentów programu lub wypróbowanie nowych podzespołów w systemach mikrokontrolerowych wymaga zawsze zbudowania jakiegoś minimalnego (ale wystarczającego do konkretnego zastosowania) środowiska badawczego. Jak to zwykle bywa, po badaniach środowisko już nie jest potrzebne, więc ulega demontażowi. Po jakimś czasie ponownie pojawia się potrzeba i … dosyć tego, czas na innowację. Za każdym razem sprawdzanie, czy środowisko jest poprawne, bo … później nie wiadomo, czy przy eksperymentach jest walka z nową koncepcją czy starym (w sensie już znanym, tylko może z błędem odtworzonym) środowiskiem. Za każdym razem istnieje możliwość pomyłki. By ułatwić sobie pracę, to nawet mam zaprogramowany procek z napisem na naklejce „mrugacz”, ponieważ jego zadaniem jest mruganie LED'em. Jak po włączeniu LED w określonym rytmie zapala się i gaśnie, to znaczy, że środowisko jest OK i można zmienić proca na inny przeznaczony do eksperymentów, a „mrugacz” do torebki z napisem „mrugacz” i do szuflady. Nadszedł czas na integrację minimalnego środowiska dla proca. Co prawda nie jest to przesadnie odkrywczy pomysł, jednak wymagał trochę przemyśleń (czy zrobić tak … a może w ten sposób... a może w...) i wysiłku by go zbudować. Generalnie najtrudniejsze jest podjęcie decyzji by pójść określoną drogą, bo przecież to stara technologia, coś co powoli umiera i czy warto. Trochę przypomina to dyskusję o wyższości jednych świąt nad drugimi, ale skoro doszedłem do wniosku, że warto... to dzieła należy dokończyć. Każde „poszerzanie horyzontów” wymaga badań i eksperymentów i w sumie w ogromnej liczbie przypadków nie ma żadnego znaczenia co zostanie użyte. Robiąc coś po raz pierwszy zawsze idzie się „po omacku”, no bo każdy nowy peryferal ma jakieś swoje narowy, na początku będzie kopał i gryzł zanim da się oswoić. Sam pamiętam cierniową drogę jaką trzeba było pokonać przykładowo przy okazji czujnika temperatury czy wilgotności. Przykładów można znaleźć wiele. Taki termometr na I2C to nic trudnego (z punktu widzenia elektronicznego można rzec wręcz banalne, bo nie ma tu żadnego manewru → przyłączyć jak napisali w dokumentacji i koniec) – reszta to już oprogramowanie. Jednak nie zawsze tak bywa, bardziej złożone układy pozwalają na pewne manewry, bo można tak... lub tak... ewentualnie inaczej. Stojąc przed dylematem, bo zaprojektowana i wykonana PCB nie daje się już modyfikować (z wyjątkiem brutalnego podejścia z nożem do cięcia ścieżek). Zawsze trzeba coś sprawdzić, wypróbować. Bez eksperymentu nie ma wiedzy. Niby można posiłkować się dokumentacją, ale prawie zawsze rzeczy najciekawsze i najistotniejsze są „między wierszami”. Stojąc na decyzyjnym rozdrożu wykonanie próby pozwoli wnieść trochę stabilizacji w chaos możliwych rozwiązań (pozostaje jeszcze, wzorem różnych teleturniei telefon do przyjaciela). Wtedy im prostszy system, tym lepiej.
Zaczynamy od schematu:
przc51_ilu01.png
Jest to typowe rozwiązanie jednostki centralnej. Dodałem drabinkę rezystorów do wstępnego podciągnięcia wyjść portu P0 do napięcia VCC (bo często o niej zapominam) i później tracę czas na niepotrzebne ruchy.
Do tego jest projekt PCB (na płytce dałem numerki pinów w narożnikach i małą kreskę co 5 pinów, ma to ułatwić znajdowanie określonych pinów procka):
przc51_ilu02.png
przc51_ilu03.png
przc51_ilu04.png

i finalnie rzeczywiste PCB:
przc51_ilu05.jpg
przc51_ilu06.jpg
Czas na montaż:
przc51_ilu07.jpg
przc51_ilu08.jpg
Do integracji modułu procka z płytą Solderless Breadboard przewiduję dedykowane kabelki. Stosuję zestawy 8-bitowe oraz pojedyncze. Wszystkie końcówki mają przylutowane resztki z obciętych długich nóżek od LED'ów i są obkurczone rurkami w różnych kolorach. Dałem czerwone (+) i niebieski (-) na zasilanie, żółte do pinów portów i czarne do pozostałych sygnałów jednobitowych. Stwarza to możliwości mniejszych pomyłek przy integracji modułu z dziurkowaną płytą.
przc51_ilu09.jpg
Zestawy 8-bitowe przeznaczone są do portów (4 sztuki), jednobitowe do zasilania, sygnałów pojedynczych jak RESET, PSEN, EA , ALE.
przc51_ilu10.jpg
Po integracji modułu z płytą Solderless Breadboard, włożeniu w podstawkę procka z napisem „mrugacz”, włączeniu zasilania następuje chwila napięcia (emocjonalnego). Trwa to jednak króciutką chwilę, bo LED rzecz jasna mruga. Potrzeba stworzenia następnego środowiska do eksperymentów będzie trwała … ile może trwać wtykanie potrzebnej liczby przewodów do dziurkowanej płyty.
Najistotniejsze jest w tym to, że nie ma pomyłek w podstawowych połączeniach jednostki centralnej. To znacząco skraca czas w eksperymentach.
przc51_ilu11.jpg
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
gaweł
Expert
Expert
Posty: 767
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: Przydasie

Postautor: gaweł » czwartek 19 wrz 2019, 14:32

Czyściciel

Każdy, kto dotknął „ręcznego generowania impulsów” już zna to zjawisko. Przykładowo, chcąc sprawdzić na piechotę licznik, można wetknąć takowy w dziurkowaną płytę SB, wykonać kilka połączeń by po pierwsze zasilić, bo bez zasilenia, to nic nie działa i przykładowo podpiąć kilka LED'ów by zobrazować stan. Jeżeli jako źródło impulsów weźmiemy jakiś przycisk (taki co łączy i rozłącza styki), to... spotka nas niespodzianka. Takie rozwiązanie nie bierze pod uwagę zjawiska dzwonienia styków. Nie wszyscy są świadomi pewnych zjawisk. To, że ktoś nie jest świadomy, nie oznacza, że zjawisko nie występuje. Wręcz przeciwnie, występuje i im bardziej będzie ignorowane, tym bardzie „boleśnie” się o tym można przekonać. Jednak na każdą koncepcję można zaproponować anykoncepcję. Takim klasycznym czyścicielem od niechcianych impulsów jest niesynchronizowany żadnym zegarem przerzutnik typu RS. Koncepcję ilustruje poniższy rysunek.
przydasie02_i01.png
Tak zapętlone bramki NAND tworzą właśnie taki przerzutnik. Jak nic się nie dzieje (nie jest przypięty żaden przełącznik), to na obu wejściach panuje stan logicznej jedynki. Z „cyferek” wiadomo, że jest to stan pasywny i nie wpływa on na nic. Jeżeli na jakiekolwiek wejście (pin 1 lub 5 na rysunku) podane zostanie logiczne zero, to oznacza, żądanie wpisania na odpowiednim wyjściu stanu logicznej jedynki (bez względu co było dotychczas → historia nas nie interesuje a istotny jest stan aktualny). Podanie zera na pin 1 daje na pinie 3 stan jedynki. Taki zabieg jest trwały i nawet jak „wycofa się” wymuszenie, nowy stan pozostanie. Zagadnienie jest symetryczne i podanie zera na pin 5 oznacza stabilny stan jedynki na pinie 6. Oczywiście świat musi pozostać w równowadze, co oznacza, że na „symetrycznym” wyjściu zaistnieje stan zanegowany. Jak na wyjściu 3 jest jedynka, to na wyjściu 6 jest zero (i rzecz jasna symetrycznie: jak na wyjściu 6 jest jedynka, to na wyjściu 3 jest zero). Sam przerzutnik jest „przedłużony” przez dwie bramki (bo były w zestawie, więc by nie obijały się w robicie dostały jakieś zadanie), które sygnalizują stan przez diodę LED. Sam stan po „separacji” przez bramkę wychodzi na zewnątrz (na pin do płyty SB).
Rozpatrzmy, jak to działa. Podanie przykładowo na pin 1 stanu „dzwoniącego” zera (jest ciąg kilku impulsów zer i jedynek) oznacza, że pierwsze zero ustawi na wyjściu jedynkę (bez względu na stan poprzedni). Każde jeden (wynikające z dzwonienia) oznacza brak akcji, taki stan pasywny, stan przetrwania. Kolejne zero (wynikające z dzwonienia) ponownie „wpisze” w przerzutnik jedynkę (ale taka tam już była, wynikła z pierwszego impulsu dzwonienia). Powstaje odporne na środowisko rozwiązanie do przeciwdziałania różnym impulsowym fanaberiom. Na wyjściu jest czysty, niczym nie zanieczyszczony wręcz piękny impuls. Ten impuls, to już może pobudzić do działania bardziej szczytne zastosowania. Mając właściwe podstawy, można fraktalnie tworzyć większą doskonałość.
By nie borykać się za każdym razem ciągle z tym samym, warto wejść na wyższy level i posiłkować się swoim zbudowanym gotowcem. Rozwiązania najprostsze są najlepsze.
przydasie02_i02.jpg
Ten mały układzik jest przystosowany do współdziałania z płytą SB, jego piny wchodzą w dziurki bez kłopotów. Widoczny 3-pinowy GOLDPIN można zintegrować z
przydasie02_i03.jpg
monostabilnym przełącznikiem, który łączy środkowy pin (przyłączony do GND) z lewym lub prawym pinem.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse


Wróć do „Inne mikroklocki, również peryferyjne”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 3 gości