Jak we własnym zakresie zrobić SD2IEC

Tutaj możemy porozmawiać o sprzęcie i modyfikacjach C64.
Wiadomość
Autor
k.

#81 Post autor: k. »

panowie czas pójść z postępem i osiągnięciami!!! SMT nie jest taki straszny, mniejsza płytka, niższa cena za serce... same plusy :)

suchy
Posty: 282
Rejestracja: 21 paź 2009, 16:16

#82 Post autor: suchy »

@Kisiel, człowiek na stare lata robi się leniwy - dla jednego SD2IEC robionego pod własne potrzeby (bardziej do testów, niż na serio), na pewno nie chciałoby mi się projektować dedykowanej płytki PCB. :wink:
C64PLC

starymarabut
Posty: 361
Rejestracja: 05 lip 2010, 22:25

Programowanie

#83 Post autor: starymarabut »

@Suchy, z czytnika usunąłem jedynie wtyk USB, i nic poza nim.
Ścieżki zgodnie z twoim opisem poprzecinałem, nie mam pomysłu gdzie może być błąd. Jeszcze mam cierpliwość by to sprawdzić. Wiąże się to z całkowitym wylutowaniem gniazda z czytnika, ścieżki idą pod gniazdem, płytka jest dwustronna.

Przy próbie uruchomienia avrdude.exe, wyskakuje komunikat brak libusb0.dll (skopiowałem ten plik do katalogu avrdude), i brak giveio ( uruchomiłem install_giveio.bat).
Dopiero teraz mogę uruchomić avrdude.exe
Załączniki
capture_08032011_220354.jpg
capture_08032011_220354.jpg (95.23 KiB) Przejrzano 10439 razy
C64II+SD2IEC+JiffyDOS+SwinSid88

starymarabut
Posty: 361
Rejestracja: 05 lip 2010, 22:25

#84 Post autor: starymarabut »

Próba władowania botloadera, i porażka.

Obrazek
[/url]
C64II+SD2IEC+JiffyDOS+SwinSid88

suchy
Posty: 282
Rejestracja: 21 paź 2009, 16:16

#85 Post autor: suchy »

@starymarabut, niestety nie mam dla Ciebie dobrych wiadomości. Jeśli te (ostatnie) komunikaty z AVRdude są prawdziwe (a nie błędne), to wygląda na to że masz zablokowanego procka (wyłączony fusebit SPIEN = zablokowany interfejs szeregowego programowania). Sprawdź czy procek daje się czytać, wpisz:

... wcześniej tak samo -U flash:r:test.hex:i

... i zobacz czy odczytuje flasha i zapisuje coś do pliku test, czy wyrzuca jakiś komunikat. Dziwne, skoro nie chciał programować flasha (bootloader zaczyna się od adresu $f000, a więc nic nie zaprogramował dobrze, skoro tam wyrzuca pierwszy błąd weryfikacji) to dlaczego próbował zmodyfikować opcjonalne ustawienia fusebits w procku na idiotyczne FFy (a ty mu na to niestety zezwoliłeś, co jeśli faktycznie nastąpiło, to masz zablokowany ISP!). Może jednak nie zmodyfikował fusków, skoro źle programuje. Jakiś problem z programatorem (złe działanie, nie ten wybrany z listy, czy co)? :roll:

W sobotę będę miał trochę więcej czasu, żeby pobawić się AVRdude to sprawdzę dogłębniej jego działanie.

Dzisiaj zdążyłem jeszcze sprawdzić nowe bootloadery (z pliku newboot). Mojego 644P programowałem siprogiem z poziomu softu PonyProg (wersja 2.06g - poprawiona przez chłopaków z forum64.de - robi ATMEGA644P). Potwierdzam, że newboot larsp dla 644P działa teraz dobrze z moją kartą uSD 2GB (wcześniejsze bootloadery nie chodziły z tej karty). Co ciekawe programowanie procka plikiem z karty SD działa wyjątkowo szybko!
Ostatnio zmieniony 09 mar 2011, 21:50 przez suchy, łącznie zmieniany 1 raz.
C64PLC

starymarabut
Posty: 361
Rejestracja: 05 lip 2010, 22:25

programowanie atmegi

#86 Post autor: starymarabut »

Przeczytałem od początku ten wątek, Jacek napisał że ograniczenie w Bascom-ie dotyczą tylko kompilacji pliku. Jako że w avrdude nie powiodło się, postanowiłem spróbować wgrać bootloader, tym programem. Udało się za pierwszym razem.
Teraz sd2iec zaczął mrugać diodami. Dziesięć mrugnięć czerwoną, później na około 13sekund zapalają się obie diody, i cykl się powtarza.
Załączniki
capture_09032011_211626.jpg
capture_09032011_211626.jpg (225.66 KiB) Przejrzano 10386 razy
C64II+SD2IEC+JiffyDOS+SwinSid88

suchy
Posty: 282
Rejestracja: 21 paź 2009, 16:16

#87 Post autor: suchy »

... no ale musisz mieć na karcie SD wrzucony plik (do głównego katalogu):

sd2iec-0.10.1-larsp-m644p.bin

... bootloader pobiera ten plik z karty SD i nim programuje FLASHa (takie samoprogramowanie)

Masz już napięcie 3,3V na gnieździe karty SD??

Fusebity ustawiłeś:

lfuse: 0xd7
hfuse: 0xd2
efuse: 0xfc

lub inaczej zaznaczone (zafistaszkowane - zaprogramowane na "0"):

lfuse: SUT1 CKSEL3
hfuse: SPIEN EESAVE BOOTSZ1 BOOTRST
efuse: BODLEVEL1 BODLEVEL0

... w takiej konfiguracji u mnie działa dobrze.

Co prawda bootloadery nowe już chodzą z FAT32, ale kartę SD sformatuj na FAT16, bo tylko Fibr chodzi z FAT32 i nie będziesz mógł używać innych commanderów plików/katalogów dla komcia.

Możesz również nie bawić się z bootloaderem tylko od razu zaprogramować flasha plikiem .bin firmware (jak wyżej) i cieszyć się od razu działającym SD2IEC. Wtedy musisz inaczej zaprograować fuski (wyłączyć bootrestart):

hfuse: SPIEN EESAVE BOOTSZ1 BOOTSZ0 (pozostałe fusy jak wyżej)
Ostatnio zmieniony 09 mar 2011, 22:18 przez suchy, łącznie zmieniany 1 raz.
C64PLC

starymarabut
Posty: 361
Rejestracja: 05 lip 2010, 22:25

programowanie atmegi

#88 Post autor: starymarabut »

Ustawione, cykl migania diod przyspieszył znacznie.

Obrazek


Jeszcze nie mam zasilania dla karty SD, podłącze zewnętrzny zasilacz i spróbuję załadować z karty firmware.
Załączniki
capture_09032011_220606.jpg
capture_09032011_220606.jpg (249.18 KiB) Przejrzano 10378 razy
C64II+SD2IEC+JiffyDOS+SwinSid88

suchy
Posty: 282
Rejestracja: 21 paź 2009, 16:16

#89 Post autor: suchy »

Pamiętasz, że nie masz jednego przełącznika (?) w gnieździe karty SD (swojego przerabianego czytnika), więc musisz (o ile dobrze pamiętam - przeczytaj wcześniejsze moje wpisy) odpowiedzialny za to pin atmegi (do którego dochodzić miał ten sygnał z nieistniejącego u Ciebie przełacznika) podpiąć do masy (sprawdź)!

Z tym nowym bootloaderem działanie SD2IEC u mnie wygląda tak:

Pierwsze odpalenie SD2IEC (programowanie plikiem firmware z karty SD): zapalają się obie diody czerwona i zielona ( u mnie zółta), po czym żółta zaczyna migotać z dużą częstotliwością (w czasie programowanie). Trwa to może ok pięciu sekund, po czy obie diody gasną (koniec programowania). Od tego momentu SD2IEC powinien już działać poprawnie. Jak sprawdzić? Masz JifftDOSa, wystarczy, że wpiszesz:

@ (no i RETURN) ale po pierwszym uruchomieniu!

Wyświetli się komunikat statusu (informacja o wersji SD2IEC:

73, SD2IEC 0.10.1 ,00, 00

Przy każdym następnym odpaleniu SD2IEC zapalają się obie diody, po chwili dioda zielona (zółta ;-) ) dwa razy miga i obie diody gasną (trwa to może ok sekundy - bootloader sprawdza w ten sposób czy nie ma nowego firmware). Trochę mnie to drażni - wolałem wersję bez bootloadera (wszystko ma swoje blaski i cienie ;-) ) i nie wiem czy do niej nie wrócę!

@Jacek31, masz już w końcu tego nowego procka. Jeśli tak to ile ostatecznie za niego dałeś (z "POTWORA" brałeś, tak jak gadaliśmy na początku)?
C64PLC

suchy
Posty: 282
Rejestracja: 21 paź 2009, 16:16

#90 Post autor: suchy »

starymarabut pisze:...Jeszcze nie mam zasilania dla karty SD...
... tak sobie myślę nad tym brakiem 3,3V na gniazdku karty SD w Twoim czytniku i dochodzę do wniosku, że pewnie zostawiłeś wiszącą w powietrzu nogę procka czytnika, do której był podłączony wcześniej przełącznik SD CARD DETECT (musiałeś go przecież odciąć, żeby podpiąć do ATmegi). Podepnij tą nogę procka czytnika (poszukaj po ścieżkach) na stałe do masy, a napięcie 3,3V powinno się pojawić na styku gniazda karty SD! Sprawdź!
C64PLC

starymarabut
Posty: 361
Rejestracja: 05 lip 2010, 22:25

#91 Post autor: starymarabut »

Wylutowałem całkowicie, gniazdo karty sd z czytnika. W trakcie przeglądu wyszła na jaw przyczyna braku zasilania.
Ścieżka podająca +3,3V z procka na kartę była przerwana, zrobiłem w tym miejscu mostek.
Teraz mam zasilanie, ale jest ono odwrócone -3,10V.
Niezłe jaja mam. z tym czytnikiem. :)
C64II+SD2IEC+JiffyDOS+SwinSid88

starymarabut
Posty: 361
Rejestracja: 05 lip 2010, 22:25

#92 Post autor: starymarabut »

@ Suchy, tak jak wcześniej napisałeś, odczytałem zawartość pamięci flash atmegi.
Załączniki
test.rar
(7.62 KiB) Pobrany 376 razy
C64II+SD2IEC+JiffyDOS+SwinSid88

suchy
Posty: 282
Rejestracja: 21 paź 2009, 16:16

#93 Post autor: suchy »

No to jest OK! Masz zapisany we Flashu tam gdzie trzeba newbootloader dla płytki LarsP i procka ATmega644P. Teraz tylko musisz "opanować" ten czytnik, który robi Ci takiego psikusa. :D Odłóż go na razie do szuflady na dobrych parę dni, bo się "zapętliłeś" i zapomnij o nim. :wink: Za tydzień ze świeżym umysłem obejrzyj go przez silną lupę jeszcze raz!

PS Kurde, widzę, że nie spisz po nocach! :wink: Wyśpij się porządnie, bo nic dobrego nie wymyślisz! :D
C64PLC

starymarabut
Posty: 361
Rejestracja: 05 lip 2010, 22:25

#94 Post autor: starymarabut »

@Suchy. Ok, płytkę czytnik odłożyłem. Bardzo dobrze zrobiło jej przetarcie wacikiem, nawilżonym w denaturacie. Poprawił się wizualny kontrast.

Ustawiłem poprawnie fuse bity.

Obrazek

Teraz z powodu braku LF33CV, zasilanie dla karty wziąłem z dwóch paluszków. Linie [SD WRITE_PROTECT ], zgodnie z twoją sugestią połączyłem na stałe z [GND].I wygląda na to że, operacja się udała pacjent żyje.
Wgrało się firmware z karty, a po podłączeniu do C64, sd2iec działa. :D

Wielkie dzięki za wsparcie, jak mogę ci się odwdzięczyć?
Załączniki
fuse bits.jpg
fuse bits.jpg (238.09 KiB) Przejrzano 10370 razy
C64II+SD2IEC+JiffyDOS+SwinSid88

suchy
Posty: 282
Rejestracja: 21 paź 2009, 16:16

#95 Post autor: suchy »

Wypij piwko (a może dwa) za moje zdrowie! :wink:
C64PLC

starymarabut
Posty: 361
Rejestracja: 05 lip 2010, 22:25

#96 Post autor: starymarabut »

Chętnie to uczynię, jak tylko będę mógł. :D
C64II+SD2IEC+JiffyDOS+SwinSid88

Awatar użytkownika
Raf
Posty: 584
Rejestracja: 14 wrz 2008, 23:30
Grupa: Vulture Design

#97 Post autor: Raf »

tak btw LF33CV daje sie zastapic bez problemu dwiema diodami krzemowymi w szeregu ;)

suchy
Posty: 282
Rejestracja: 21 paź 2009, 16:16

#98 Post autor: suchy »

@Raf, taką protezę diodową w miejsce stabilizatora można zastosować tylko wtedy, kiedy jesteś pewien, że odbiornik pobiera w miarę stały prąd. W przypadku pamięci (np. karty SD) prąd przez nie pobierany może się zmieniać w bardzo dużym zakresie: 100µA -100mA, a dla złącza krzemowego diod spadki napięcia na nim (zgodnie z charakterystyką If vs Vf) wynoszą odpowiednio: 0,5V-0,7V. W związku z tym (dla 2xSi dioda w szeregu i zasilaniu z 5V) mogą wystąpić spore wahania napięcia zasilającego kartę SD (odpowiednio): 4,0V-3,6V a to już może być szkodliwe dla karty, a na pewno będzie miało jakiś wpływ na jej żywotność, bo napięcie powinno być raczej z zakresu: 2,7V-3,6V. Jeśli już tak eksperymentować, olewając możliwe skoki napięcia na karcie SD, to może 3 x Si dioda w szereg (3 x 1N4001-7) będziemy mieli wtedy odpowiednio skoki napięcia: 3,5V-2,9V.
C64PLC

k.

#99 Post autor: k. »

ludzie komuna upadła.. koniec kombinacji :)

starymarabut
Posty: 361
Rejestracja: 05 lip 2010, 22:25

#100 Post autor: starymarabut »

Wcześniej podłączyłem zasilacz z odzysku, który miał dawać 3,3V. Dawał na kartę 3,51V, i sd2iec nic nie wgrywał z karty. Dopiero z baterii, 2 X AAA zaskoczyło.
Na pomysł z diodami w szeregu to nie wpadłem. :)
C64II+SD2IEC+JiffyDOS+SwinSid88

ODPOWIEDZ