-
Data: 2025-01-04 20:50:06
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 11:43, Janusz wrote:
> Wg mnie to będzie jedyna przyczyna, dane musisz zatrzaskiwać tym ALE.
Samo ALE to chyba za mało. W tej chwili polegam tylko na sygnale IO_RD
do ustawiania kierunku transferu - jeśli linia jest w stanie niskim, to
mamy odczyt z karty, jeśli jest wysoka, to zapis do niej.
Gdybym w takim wypadku użył ALE do sterowania pinem G, to za każdym
razem gdy tylko na liniach D0..D7 pojawiałyby się dane, bufor otwierałby
się w którąś stronę. Pół biedy, gdyby linia IO_RD znajdowała się wtedy w
stanie wysokim - karta by po prostu zignorowała to co pojawi się na
magistrali, nie widząc aktywnych sygnałów CS i RD. Jednak gdyby kierunek
bufora był ustawiony w przeciwną stronę, to wtedy pojawi się następująca
sytuacja:
1. ALE otworzy bufor.
2. IO_RD ustawi kierunek od karty do magistrali systemowej.
3. Karta nie widząc sygnału CS, będzie trzymała swoje wyjścia danych w
stanie wysokiej impedancji. Przez bufor na magistralę trafią więc stany
nieustalone.
Trochę poeksperymentowałem, dodając trochę logiki do GAL-a. Na chwilę
obecną wygląda to tak:
/MEMRD = /IOM * /RD
/MEMWR = /IOM * /WR
/IORD = IOM * /RD
/IOWR = IOM * /WR
/LOCPTCS = /LOCIOCS * /A4 * IOM * /WR
/LOCCFCS = /LOCIOCS * A4 * IOM * /ALE
Rzeczy, których mogę być pewien:
- Poprawnie działa generowanie sygnałów MEMRD i MEMWR, bo pamięci
działają poprawnie i kod z EPROM-u się wykonuje.
- Poprawnie działa generowanie sygnałów IORD i IOWR, bo peryferia (poza
kartą) działają poprawnie. Mogę odczytywać i zapisywać z/do nich dane.
- Poprawnie działa przynajmniej kawałek dekodera adresów, bo linia
LOCPTCS (sterująca portem 74273) działa poprawnie.
Tylko z kartą są problemy. Bufor wydaje się być najbardziej oczywistym
kandydatem, bo to główna różnica w stosunku do innych peryferiów.
Zastanawiam się teraz czy przypadkiem nie mam jakiegoś problemu z
timingami i któryś sygnał nie pojawia się za wcześnie lub za późno.
Przykładowo w chwili obecnej sygnał CS steruje zarówno kartą, jak i
otwarciem bufora (linia G). Może powinienem to jakoś rozdzielić?
Nie wiem czy w akcie desperacji nie wywalę w ogóle tymczasowo bufora i
nie połączę linii danych bezpośrednio. Widziałbym przynajmniej czy coś
się zmieniło i czy jest poprawa. W prototypie na 8080 karta działała bez
bufora w miarę ok, ale od czasu do czasu pojawiały się przekłamania w
transmisjach.
Następne wpisy z tego wątku
- 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
- 18.01.25 19:56 Atlantis
- 19.01.25 16:36 Eneuel Leszek Ciszewski
Najnowsze wątki z tej grupy
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
- akumulator napięcie 12.0v
Najnowsze wątki
- 2025-02-04 Warszawa => Senior Account Manager <=
- 2025-02-03 Awaria BNP Paribas
- 2025-02-03 kryminalni i dochodzeniowcy
- 2025-02-03 Szczecin => Senior Field Sales (system ERP) <=
- 2025-02-03 Bydgoszcz => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2025-02-03 jaki zasilacz laboratoryjny
- 2025-02-03 jaki zasilacz laboratoryjny
- 2025-02-03 Puszka w ziemię
- 2025-02-03 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2025-02-03 Kraków => Programista Full Stack .Net <=
- 2025-02-03 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2025-02-03 Bez żadnego trybu
- 2025-02-03 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-03 Gliwice => IT Expert (Network Systems area) <=
- 2025-02-03 Lublin => Delphi Programmer <=