eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika[8bit] Niezainicjowana karta CF powodem problemów?
Ilość wypowiedzi w tym wątku: 10

  • 1. Data: 2019-10-26 14:52:44
    Temat: [8bit] Niezainicjowana karta CF powodem problemów?
    Od: Atlantis <m...@w...pl>

    Eksperymentuję ostatnio z konstrukcjami retro. jakiś czas temu odpaliłem
    prosty komputer ośmiobitowy na 6502. Całość siedzi na dwóch płytkach -
    jedna z CPU i pamięciami, druga z układami I/O. Działa na tym na razie
    BASIC obsługiwany przez terminal szeregowy, a ja powoli zabieram się za
    uruchamianie kolejnych układów I/O (RTC, karta CF, kontroler klawiatury AT).
    Dzisiaj zabrałem się za kartę CF. Oryginalny plan zakładał
    eksperymentowanie pod BASIC-iem, za pomocą komend PEEK i POKE. Karta to
    32MB wersja przemysłowa. Połączenia na płytce wykonane wg tego schematu:
    http://www.waveguide.se/?article=8-bit-compact-flash
    -interface
    Tak więc karta ma pracować w trybie 8-bit.

    Włożyłem kartę, odpaliłem komputer i tutaj niespodzianka. Nie
    wystartował. Zamiast normalnego komunikatu powitalnego miałem w
    terminalu krzaki. Wyłączyłem komputer, wyjąłem kartę, włączyłem go
    ponownie i wszystko wróciło do normy. Przy ponownej próbie uruchomienia
    konstrukcji z kartą problem się powtórzył.

    Teraz zabieram się za debugowanie. Połączenia zdają się być w porządku.

    Chciałem zapytać Was co sądzicie o roboczej hipotezie - czy to możliwe,
    że powodem jest niezainicjowana karta? Czy może ona mieszać coś na
    magistrali? Czyżbym nie mógł eksperymentować z nią od początku w
    BASIC-u, tylko muszę z poziomu asemblera zainicjować ją do pracy w
    trybie 8-bit, tuż po starcie komputera?

    A może powinienem szukać gdzie indziej?


  • 2. Data: 2019-10-26 19:27:27
    Temat: [8bit] Niezainicjowana karta CF powodem problemów?
    Od: Dawid Rutkowski <d...@w...pl>

    Pierwsze co rzuca się w oczy to intelowski interfejs na CF - jak to podłączyłeś do
    motorolowskiego interfejsu 6502?


  • 3. Data: 2019-10-26 21:30:02
    Temat: Re: [8bit] Niezainicjowana karta CF powodem problemów?
    Od: Atlantis <m...@w...pl>

    On 26.10.2019 19:27, Dawid Rutkowski wrote:

    > Pierwsze co rzuca się w oczy to intelowski interfejs na CF - jak to
    > podłączyłeś do motorolowskiego interfejsu 6502?

    To akurat bardzo proste - intelowskie sygnały !WR i !RD bardzo prosto
    generuje się z motorolowskich E oraz R/!W. Wystarczy prosta logika na
    paru bramkach. Jej obecność i tak wymuszają pamięci projektowane z myślą
    o procesorach zgodnych ze standardem Intela.


  • 4. Data: 2019-10-27 09:48:41
    Temat: Re: [8bit] Niezainicjowana karta CF powodem problemów?
    Od: Dawid Rutkowski <d...@w...pl>

    W dniu sobota, 26 października 2019 21:30:04 UTC+2 użytkownik Atlantis napisał:
    > On 26.10.2019 19:27, Dawid Rutkowski wrote:
    >
    > > Pierwsze co rzuca się w oczy to intelowski interfejs na CF - jak to
    > > podłączyłeś do motorolowskiego interfejsu 6502?
    >
    > To akurat bardzo proste - intelowskie sygnały !WR i !RD bardzo prosto
    > generuje się z motorolowskich E oraz R/!W. Wystarczy prosta logika na
    > paru bramkach. Jej obecność i tak wymuszają pamięci projektowane z myślą
    > o procesorach zgodnych ze standardem Intela.

    No racja - to pozostaje jeszcze kwestia, co podłączyłeś do !CS0 (i ew. !CS1)?
    Bo skoro z wyjętą kartą działa, to w interfejsie nie narobiłeś zwarć.
    CF w trybie IDE działa jak dysk twardy - można go podłączyć do gniazda PATA.
    Tak samo można było zrobić z dyskami PCMCIA.
    Zaś PATA to podzbiór 16-bit ISA + dodatkowe sygnały.
    Bez CS karta CF powinna się od magistrali odłączać, niezależnie od ustawienia na 8
    bitów.

    Ale nie myśl, że zobaczysz kartę CF jako bajty pamięci - będzie widoczna jako dysk
    IDE/ATA niezależnie od trybu (w trybie mem i i/o będxie miała dodatkowe funkcje jak
    karta PCMCIA).


  • 5. Data: 2019-10-28 19:55:17
    Temat: Re: [8bit] Niezainicjowana karta CF powodem problemów?
    Od: "J.F." <j...@p...onet.pl>

    Użytkownik "Atlantis" napisał w wiadomości grup
    dyskusyjnych:5db4419c$0$17360$6...@n...neostrad
    a.pl...
    >Eksperymentuję ostatnio z konstrukcjami retro. jakiś czas temu
    >odpaliłem
    >prosty komputer ośmiobitowy na 6502. Całość siedzi na dwóch
    >płytkach -
    >jedna z CPU i pamięciami, druga z układami I/O.
    >Dzisiaj zabrałem się za kartę CF. Oryginalny plan zakładał
    >eksperymentowanie pod BASIC-iem, za pomocą komend PEEK i POKE. Karta
    >to
    >32MB wersja przemysłowa. Połączenia na płytce wykonane wg tego
    >schematu:
    >http://www.waveguide.se/?article=8-bit-compact-flas
    h-interface
    >Tak więc karta ma pracować w trybie 8-bit.

    >Włożyłem kartę, odpaliłem komputer i tutaj niespodzianka. Nie
    >wystartował. Zamiast normalnego komunikatu powitalnego miałem w
    >terminalu krzaki. Wyłączyłem komputer, wyjąłem kartę, włączyłem go
    >ponownie i wszystko wróciło do normy. Przy ponownej próbie
    >uruchomienia
    >konstrukcji z kartą problem się powtórzył.

    Terminal jakis typowy, łączony interfejsem szeregowym ?

    Krzaki sugerowaly totalnie inne dzialanie systemu, czy tylko cos z
    portem ?

    >Chciałem zapytać Was co sądzicie o roboczej hipotezie - czy to
    >możliwe,
    >że powodem jest niezainicjowana karta? Czy może ona mieszać coś na
    >magistrali?

    Najpierw bym sprawdzil dekoder adresowy i sygnal RD/.
    Karta moze przeszkadzac samym obciazeniem magistrali czy pojemnoscia -
    zwolnij zegar do testow.

    A jakas inicjacja .. kto wie, ale nie znam CF niestety.
    Z tego artykulu patrzac ... powinna byc raczej "grzeczna".

    J.


  • 6. Data: 2019-10-29 09:48:48
    Temat: Re: [8bit] Niezainicjowana karta CF powodem problemów?
    Od: Atlantis <m...@w...pl>

    On 28.10.2019 19:55, J.F. wrote:

    > Terminal jakis typowy, łączony interfejsem szeregowym ?

    Normalny interfejs szeregowy, RS232.
    Od strony sprzętowej UART zrobiony na 6551.
    Programowo po stronie PC obsługą tego zajmuje się zwyczajny, linuksowy
    screen.


    > Najpierw bym sprawdzil dekoder adresowy i sygnal RD/.

    Dekoder adresowy zdaje się być w porządku. Mierzyłem poziom napięcia na
    linii CS podczas normalnej pracy i wynosi ona 5V, co oznacza nieaktywną
    kartę CF. Poza tym ten sam dekoder adresów (układ 74HCT138) obsługuje
    także inne peryferia (UART, RTC), które działają zupełnie prawidłowo.
    To samo z sygnałem /RD - steruje on odczytem nie tylko z peryferiów, ale
    także RAM-u i EPROM-u.


    > Karta moze przeszkadzac samym obciazeniem magistrali czy pojemnoscia -
    > zwolnij zegar do testow.

    Magistrala adresowa jest buforowana przez układy HCT. Bezpośrednio do
    procesora są podłączone tylko pamięci (CMOS) - bufory znajdują się przed
    złączem magistrali systemowej.
    Sygnały /WR i /RD również są generowane za pomocą układów HCT, podobnie
    jak sygnały CS. Obciążalność linii powinna więc być całkiem spora.
    Pozostaje tylko linia danych, ale ta w karcie CF powinna się znajdować w
    stanie wysokiej impedancji, do momentu pojawienia się odpowiednich
    sygnałów na liniach CS oraz !RD lub !WR.

    W tej chwili mam jeszcze inną roboczą hipotezę - być może winę ponosi
    zasilanie. Zasilacz niby powinien dawać 3A, ale kto wie jaka jest jego
    rzeczywista wydajność. W układzie znajduje się układ resetujący, który
    ściąga linię !RESET do masy, gdy napięcie zasilania spadnie poniżej
    określone wartości. Do tej samej linii jest podłączona karta CF. Jeśli
    po restarcie zaczyna ona pobierać znaczna ilośc prądu (i/lub występuje
    spadek np. na bezpieczniku) to będziemy mieć cykliczny reset.

    Sprawdzę, gdy tylko będę miał czas zająć się tym projektem po pracy. ;)


  • 7. Data: 2019-10-29 12:11:59
    Temat: Re: [8bit] Niezainicjowana karta CF powodem problemów?
    Od: "J.F." <j...@p...onet.pl>

    Użytkownik "Atlantis" napisał w wiadomości grup
    dyskusyjnych:5db7fcf0$0$17356$6...@n...neostrad
    a.pl...
    On 28.10.2019 19:55, J.F. wrote:
    >> Terminal jakis typowy, łączony interfejsem szeregowym ?

    >Normalny interfejs szeregowy, RS232.
    >Od strony sprzętowej UART zrobiony na 6551.
    >Programowo po stronie PC obsługą tego zajmuje się zwyczajny,
    >linuksowy
    >screen.

    To swoja droga - usterka powodujaca "krzaki na terminalu" musi byc
    ciekawa.
    Bo cos jednak trzeba zapisywac do portu, wczesniej zainicjowac ... byc
    moze zle sie inicjuje ...

    >> Najpierw bym sprawdzil dekoder adresowy i sygnal RD/.

    >Dekoder adresowy zdaje się być w porządku. Mierzyłem poziom napięcia
    >na
    >linii CS podczas normalnej pracy i wynosi ona 5V, co oznacza
    >nieaktywną
    >kartę CF.

    Oscyloskop by sie przydal.
    Albo ... podlacz ja na stale do 5V, i zobacz co wyjdzie.

    >Poza tym ten sam dekoder adresów (układ 74HCT138) obsługuje
    >także inne peryferia (UART, RTC), które działają zupełnie prawidłowo.
    >To samo z sygnałem /RD - steruje on odczytem nie tylko z peryferiów,
    >ale
    >także RAM-u i EPROM-u.

    >> Karta moze przeszkadzac samym obciazeniem magistrali czy
    >> pojemnoscia -
    >> zwolnij zegar do testow.

    >Magistrala adresowa jest buforowana przez układy HCT. Bezpośrednio do
    >procesora są podłączone tylko pamięci (CMOS) - bufory znajdują się
    >przed
    >złączem magistrali systemowej.
    >Sygnały /WR i /RD również są generowane za pomocą układów HCT,
    >podobnie
    >jak sygnały CS. Obciążalność linii powinna więc być całkiem spora.

    HCT wydajnosc maja umiarkowana, a pojemnosci w ukladach MOS spore.

    >Pozostaje tylko linia danych, ale ta w karcie CF powinna się
    >znajdować w
    >stanie wysokiej impedancji, do momentu pojawienia się odpowiednich
    >sygnałów na liniach CS oraz !RD lub !WR.

    Chyba, ze bruzdzi pojemnoscia. Na danych ... lub na adresie.

    >W tej chwili mam jeszcze inną roboczą hipotezę - być może winę ponosi
    >zasilanie. Zasilacz niby powinien dawać 3A, ale kto wie jaka jest
    >jego
    >rzeczywista wydajność.

    A owszem. No i takie oczywistosci jak krotkie kable z zasilacza i duzo
    kondensatorow na plytce ...

    >Sprawdzę, gdy tylko będę miał czas zająć się tym projektem po pracy.
    >;)

    Tak sobie czytam, ze CF ma tryb bus master ... ale on chyba wymaga
    zainicjowania odpowiedniego.

    J.


  • 8. Data: 2019-10-29 12:31:19
    Temat: Re: [8bit] Niezainicjowana karta CF powodem problemów?
    Od: Atlantis <m...@w...pl>

    On 29.10.2019 12:11, J.F. wrote:

    > Oscyloskop by sie przydal.
    > Albo ... podlacz ja na stale do 5V, i zobacz co wyjdzie.

    Jedno i drugie zamierzam zrobić. Przy czym porządnego oscyloskopu
    obecnie nie mam w domu, w związku z czym będę musiał się wybrać do
    lokalnego hackerspace'u. :)


    > HCT wydajnosc maja umiarkowana, a pojemnosci w ukladach MOS spore.

    HCT mają na tyle dużą wydajność, że można za ich pomocą sterować diodami
    LED bez pomocą dodatkowych driverów, w obydwie strony. To jednak sporo
    wedle standardów z czasów, kiedy produkowano MOS6502. :)
    No i układ jednak nie chodzi na zbyt szybkim taktowaniu - 2 MHz (CPU to
    wersja A), a więc sygnały na większości linii będą miały parę razy
    mniejsza częstotliwość.


  • 9. Data: 2019-10-29 20:06:27
    Temat: Re: [8bit] Niezainicjowana karta CF powodem problemów?
    Od: Dawid Rutkowski <d...@w...pl>

    A skąd masz basic na 6502 obsługujący port szeregowy zamiast monitora+klawiatury?
    Wysyła sekwencje ANSI?
    Choć w sumie 6502 to nie tylko C64 czy atari xl/xe - lub egzotyczne apple I i ][...


  • 10. Data: 2019-10-30 08:39:43
    Temat: Re: [8bit] Niezainicjowana karta CF powodem problemów?
    Od: Atlantis <m...@w...pl>

    On 29.10.2019 20:06, Dawid Rutkowski wrote:

    > A skąd masz basic na 6502 obsługujący port szeregowy zamiast monitora+klawiatury?
    > Wysyła sekwencje ANSI?

    Współcześnie napisany EhBasic. Kod jest napisany w ten sposób, że
    interpreter jest niezależny od warstwy I/O. Twórca konkretnej
    implementacji musi dostarczyć dwie niewielkie procedury, odpowiedzialne
    za odbieranie i wysyłanie pojedynczego znaku. Interpretera nie obchodzi
    czy będzie to port szeregowy, czy też fizyczna klawiatura i monitor.
    Trzeba też oczywiście dodać inicjalizację interfejsu szeregowego w
    części odpowiedzialnej za ustawienie peryferiów.
    Kod zawiera też dwie procedury odpowiedzialne za obsługę poleceń SAVE i
    LOAD. Domyślnie nie robią one nic, jednak można je dostosować do
    własnych potrzeb.

    Wbrew pozorom społeczność ludzi bawiących się sprzętem retro jest
    całkiem spora i trochę się w tym temacie dzieje, a 6502 cieszy się
    całkiem dużą popularnością.

strony : [ 1 ]


Szukaj w grupach

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: