eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaProblem z odczytem karty CFRe: Problem z odczytem karty CF
  • Data: 2025-01-04 09:06:41
    Temat: Re: Problem z odczytem karty CF
    Od: Atlantis <m...@w...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 4.01.2025 01:01, J.F wrote:

    > Roznic w czasach instrukcji chyba nie ma ..

    Nie, z tego co kojarzę to 8080 i 8085 są ze sobą kompatybilne
    programowo. Są pewne różnice sprzętowe, które musiałem uwzględnić.
    Przykładowo system z 8080 posiada osobne linie IO_RD, IO_WR, MEM_RD i
    MEM_WR, generowane przez kontroler magistrali 8228. 8085 posiada tylko
    linie WR i RD, których funkcja jest zależna od stanu pinu IOM. Musiałem
    więc wygenerować sobie osobne linie dla IO oraz pamięci, za pomocą
    GAL-a. Ale raczej to nie tutaj leży przyczyna, bo wszystkie inne
    testowane peryferia działają poprawnie.


    > a) kwarc Ci sie wzbudził na overtonie i masz 6MHz?
    > choc pasowałoby raczej 4MHz.

    Sprawdzone oscyloskopem. Na linii CLK mam poprawną częstotliwość 2,048 MHz.


    > b) jesli mnie skleroza nie myli system 8080 wymagał kwarca znacznie
    > szybszego, który był dzielony w innej kosci. Rozumiem, że dobrałej
    > odpowiednio?

    Tak, wziąłem to pod uwagę. W przypadku 8080 częstotliwość kwarcu była
    dzielona dziewięć razy, więc do uzyskania 2,048 MHz potrzebny był kwarc
    18,432 MHz. W przypadku 8085 dzielona jest tylko dwa razy, wiec dałem
    kwarc 4,096 MHz.


    > c) a nie zapomniałej zmienic adresu w jakiejs instrukcji?

    Nie wydaje mi się. W projekcie mam wydzielony osobny plik
    definitions.asm, w którym znajdują się rozmaite parametry, które mogą
    się różnić pomiędzy poszczególnymi wersjami. W przypadku karty CF różni
    się tylko CFBASE - adresy poszczególnych rejestrów są generowane przez
    dodanie kolejnych liczb do tej bazy. A ten adres się zgadza. W dodatku
    gdyby się nie zgadzał, karta w ogóle nie byłaby wykrywana i nie
    reagowałaby na próbę inicjacji.

    Dodatkowo:
    1. Przeszukałem diffem kod źródłowy z obydwu wersji. Nie widzę żadnych
    różnic w okolicach związanych z kartą CF.
    2. Złożyłem dwa egzemplarze płytki. Różnią się niewielkimi detalami, ale
    część z kartą CF jest taka sama. Problem jest powtarzalny na obydwu
    płytkach.
    3. Zapomniałem dodać, że linie D0..D7 są podłączone do karty CF za
    pośrednictwem układu 74HCT245 (pin DIR do IO_RD, pin G do sygnału CS
    karty). To jest właśnie efekt eksperymentów na wersji prototypowej,
    gdzie nie byłem w stanie uzyskać stabilnych transmisji - czasem jakiś
    bajt został zgubiony lub przekłamany. Po dodaniu bufora wszystko zaczęło
    działać stabilnie i poprawnie, wiec uwzględniłem go także w wersji na 8085.

    Hmm... Teraz właśnie dotarło do mnie, że w sumie pomiędzy wersjami jest
    istotna różnica - linie D0..D7 w 8085 są multipleksowane z młodszym
    bajtem magistrali adresowej. Może sterując buforem powinienem uwzględnić
    jeszcze sygnał ALE, żeby był zamknięty w momencie, gdy na liniach danych
    są linie adresowe?


    > d) Use Z80, Luke :-)

    Jest też taki plan, jednak 8085 wydawał się prostszym krokiem z poziomu
    już istniejącego projektu na 8080.


    > e) Use ARM, Luke :-)

    E tam, ARM nie pasuje do retro. :)

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

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: