-
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. :)
Następne wpisy z tego wątku
- 04.01.25 11:43 Janusz
- 04.01.25 20:50 Atlantis
- 04.01.25 21:37 Atlantis
- 05.01.25 18:52 Atlantis
- 06.01.25 07:32 Marek
- 06.01.25 21:41 Atlantis
- 07.01.25 09:50 Atlantis
- 15.01.25 18:03 Atlantis
- 15.01.25 18:56 Mirek
- 15.01.25 20:34 Atlantis
- 15.01.25 21:05 Mirek
- 16.01.25 09:38 Atlantis
- 16.01.25 16:49 J.F
- 16.01.25 19:02 Mirek
- 17.01.25 11:30 Waldek Hebisch
Najnowsze wątki z tej grupy
- Protoków komunikacyjny do urządzenia pomiarowego
- Hiszpania bez pradu
- amperomierz w plusie
- 3G-nadal działa
- Historia pewnego miernika kalibratora
- Ustym 4k Pro i wyświetlacz
- Czemu rozwaliło celę?
- Wojna w portfelu
- Jaki trojfazowy licznik tuya lub podobny?
- Problem z dekoderem adresów
- Intel się wyprzedaje: po 10latach pchnęli pakiet kontrolny Altery za 1/4 kwoty zakupu
- Korekcja perspektywy
- Wentylator zabija zasilacze LEDek?
- Re: Kompensacja mocy biernej przy 230VAC
- Totaliztyczny obowiązek naprawy maszyn i urządzeń
Najnowsze wątki
- 2025-05-06 SMSy
- 2025-05-06 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2025-05-06 Warszawa => Strategic Account Manager <=
- 2025-05-06 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-05-06 Gdynia => ML Ops Engineer <=
- 2025-05-06 Drobne umowy o dzielo z przeniesieniem praw autorskich
- 2025-05-06 wydobywanie Bitcoinów jest aktualnie zajęciem po prostu nieopłacalnym. Jak wynika z opublikowanych danych, średni koszt wygenerowania jednego Bitcoina wynosi ok. 137 tysięcy dolarów.
- 2025-05-06 Join Bitcoin Blockchain Nonce Global University
- 2025-05-06 Gdynia => ML Ops Engineer <=
- 2025-05-06 Warszawa => IT Recruiter <=
- 2025-05-06 Warszawa => Specjalista wsparcia IT - analiza techniczna sprzętu IT <
- 2025-05-06 Warszawa => Tableau UX Designer <=
- 2025-05-06 Protoków komunikacyjny do urządzenia pomiarowego
- 2025-05-06 Łódź => Mainframe (z/OS, Assembler) Developer <=
- 2025-05-06 Warszawa => Key Account Manager IT <=