eGospodarka.pl
bezpłatny program PIT 2019

eGospodarka.plGrupypl.misc.elektronika › HD44780 na magistrali CPU przestaje działać
Ilość wypowiedzi w tym wątku: 3

  • 1. Data: 2020-01-12 20:13:19
    Temat: HD44780 na magistrali CPU przestaje działać
    Od: Atlantis <m...@w...pl>

    Jakiś czas temu w celach czysto edukacyjnych zacząłem tworzyć pewien
    projekt, którego celem miało być bliższe poznanie niskopoziomowego
    działania systemów mikroprocesorowych oraz nauczenie się programowania w
    asemblerze. W tym celu zacząłem przenosić jeden ze swoich wcześniejszych
    projektów (zrealizowany oryginalnie na współczesnym, 32 bitowym MCU) na
    archaiczną architekturę 6502. Konkretnie sercem układu była CMOS-owa
    wersja mikroprocesora: WDC65C02.

    Zacząłem od montażu płytki z CPU, pamięciami (EPROM i RAM), dekoderem
    adresów oraz prostym portem na 373, aby dzięki kilku migającym diodom
    wiedzieć, że sprzęt działa i program jest wykonywany. Diody zaczęły
    migać, czyli wszystko ok.

    Potem przyszła kolej na kolejną płytkę. Umieściłem na niej kolejny
    (lokalny) dekoder adresów, wyświetlacz HD44780 oraz kilka przycisków
    podłączonych do portu wejściowego, zrealizowanego na 74HCT245. Elementy
    te pracują bezpośrednio na magistrali systemowej, a ich rejestry są
    dostępna dla procesora w przestrzeni adresowej. Wszystko ruszyło z
    miejsca - byłem w stanie wyświetlać tekst na wyświetlaczu, program
    reagował na wciśnięcie przycisków.

    Tutaj zrobiłem sobie przerwę i projekt na jakiś czas wylądował na półce.
    Ostatnio jednak wykonałem trzecią płytkę. Ta także zawiera swój lokalny
    dekoder adresów, a także m.in. timer (MC6840), UART (MOS6551), RTC oraz
    GPIO (8255). Podłączyłem płytkę do wolnego gniazda na tasiemce, łącząc
    ją z magistralą systemową. Podłączyłem zasilanie i... Urządzenie zaczęło
    działać tylko połowicznie.

    Krótko mówiąc:
    1) Płyta procesorowa nadal działa, program się wykonuje, diody migają.
    2) Płytka z wyświetlaczem nie działa. Wyświetlacz jest pustym ale chyba
    przechodzi inicjalizację, bo właśnie jest pusty - nie widać na nim dwóch
    rzędów złożonych z prostokątów, które wyświetlają się na
    niezainicjowanym HD44780.

    Na pewno nie ma tutaj konfliktu adresów, bo lokalny dekoder adresów na
    trzeciej płytce jest sterowany osobną, niewykorzystywaną nigdzie indziej
    linią CS z głównego dekodera - sprawdzałem.

    Kolejną rzeczą, która przyszła mi do głowy było uszkodzenie któregoś z
    układów, zakłócające działanie magistrali. Zacząłem je więc po kolei
    usuwać. Dopiero po usunięciu wszystkich układów z podstawek (łącznie z
    dekoderem adresów) udało mi się powrócić do punktu wyjścia - wyświetlacz
    znów zaczął działać prawidłowo, ale tylko na chwilę. Dopóki płytka
    (choćby pozbawiona układów) jest podłączona, układ działa niestabilnie -
    wyświetlacz raz pokazuje tekst, a po ponownym odłączeniu i podłączeniu
    zasilania już nie chce.

    Dopiero fizyczne odłączenie nowej płytki od magistrali przywraca
    normalną pracę.

    Ktoś ma jakiś pomysł gdzie w ogóle mogę zacząć debugowanie?


  • 2. Data: 2020-01-19 17:16:37
    Temat: Re: HD44780 na magistrali CPU przestaje działać
    Od: Krzysiek <r...@k...net.pl>

    W dniu niedziela, 12 stycznia 2020 20:13:54 UTC+1 użytkownik Atlantis napisał:
    > Ktoś ma jakiś pomysł gdzie w ogóle mogę zacząć debugowanie?


    Trochę to wygląda na problemy sprzętowe - za długa magistrala, zbyt duże pojemności
    itp.
    Najbardziej przydałby się oscyloskop, by sprawdzić przebieg sygnałów, jakieś
    dzwonienia albo zbyt wolne zbocza.


  • 3. Data: 2020-01-19 18:47:43
    Temat: Re: HD44780 na magistrali CPU przestaje działać
    Od: "J.F." <j...@p...onet.pl>

    Dnia Sun, 12 Jan 2020 20:13:19 +0100, Atlantis napisał(a):
    > Kolejną rzeczą, która przyszła mi do głowy było uszkodzenie któregoś z
    > układów, zakłócające działanie magistrali. Zacząłem je więc po kolei
    > usuwać. Dopiero po usunięciu wszystkich układów z podstawek (łącznie z
    > dekoderem adresów) udało mi się powrócić do punktu wyjścia - wyświetlacz
    > znów zaczął działać prawidłowo, ale tylko na chwilę. Dopóki płytka
    > (choćby pozbawiona układów) jest podłączona, układ działa niestabilnie -
    > wyświetlacz raz pokazuje tekst, a po ponownym odłączeniu i podłączeniu
    > zasilania już nie chce.
    >
    > Dopiero fizyczne odłączenie nowej płytki od magistrali przywraca
    > normalną pracę.
    >
    > Ktoś ma jakiś pomysł gdzie w ogóle mogę zacząć debugowanie?

    Daj wolniejszy kwarc/generator zegara.
    Mozliwe, ze juz sie objawiaja jakies pojemnosci sciezek magistrali.

    Bo zakladam, ze skoro czasem dziala, to na dodatkowej plytce nie ma
    jakiegos zwarcia.

    J.

strony : [ 1 ]



Szukaj w grupach

bezpłatny program PIT 2019

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: