Article View: pl.misc.elektronika
Article #793850Re: Problem z odczytem karty CF
From: Atlantis
Date: Sat, 04 Jan 2025 19:50
Date: Sat, 04 Jan 2025 19:50
50 lines
3649 bytes
3649 bytes
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.
Technical Details
Message-ID:
<vlc3de$vdl$1@news.chmurka.net>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.cdg68.neoplus.adsl.tpnet.pl!not-for-mailReferences:
<vl9o9o$q8q$1@news.chmurka.net> <gi0wktxv5gej.15sb4w8uolccd$.dlg@40tude.net> <7aa83a0c-d7ce-49db-a2c4-59a4f971235c@wp.com> <vlb3d0$f5s$1@news.chmurka.net>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.cdg68.neoplus.adsl.tpnet.pl!not-for-mail From: Atlantis <marekw1986NOSPAM@wp.com> Newsgroups: pl.misc.elektronika Subject: Re: Problem z odczytem karty CF Date: Sat, 4 Jan 2025 20:50:06 +0100 Organization: news.chmurka.net Message-ID: <vlc3de$vdl$1@news.chmurka.net> References: <vl9o9o$q8q$1@news.chmurka.net> <gi0wktxv5gej.15sb4w8uolccd$.dlg@40tude.net> <7aa83a0c-d7ce-49db-a2c4-59a4f971235c@wp.com> <vlb3d0$f5s$1@news.chmurka.net> MIME-Version: 1.0 Injection-Date: Sat, 4 Jan 2025 19:50:06 -0000 (UTC) Injection-Info: news.chmurka.net; posting-account="Atlantis"; posting-host="cdg68.neoplus.adsl.tpnet.pl:83.30.156.68"; logging-data="32181"; mail-complaints-to="abuse-news.(at).chmurka.net" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:H/c+4nuvSOx4MCx4fn4jwXbHcZo= sha256:LxRCIG89b8DfZtRcSiDACLhfrPCddJX1AdV3BO5Sd3E= sha1:KTgmvFsA/xuw8ZrTx9tx0N0SHho= sha256:hbd4+c8GuuI2gT4k5/RHgGVylALT9jrnxEdREhSVnqM= In-Reply-To: <vlb3d0$f5s$1@news.chmurka.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit