Jak we własnym zakresie zrobić SD2IEC

Tutaj możemy porozmawiać o sprzęcie i modyfikacjach C64.
Wiadomość
Autor
suchy
Posty: 282
Rejestracja: 21 paź 2009, 16:16

#121 Post autor: suchy »

Podstawą do rozstrzygania takich wątpliwości jest zawsze datasheet producenta:

ATMEGA644/1284

... rozdział 9.2.3 Clock Source Conection (od strony 32 do 34)

polecam zapoznać się z Tabelą 9-3 i 9-5

Rekomendowany przez producenta zakres wartości pojemności C1 i C2 (dla XTAL krystalicznych w zakresie częstotliwości 0,9/0,4 - 20 MHz) zarówno dla opcji energooszczędnej jak i typowej generatora (reail-to-reail na wyjściu XTAL2) wynosi (w pF): 12 - 22

Ja mam wstawione dwa 33pF bo takie miałem pod ręką i działa bezproblemowo, ale skąd wytrzasnąłeś te 56pF ??

PS ... a tak w ogóle to fajnie, że komuś się chce jeszcze zarywać urlop na komcia :wink:
C64PLC

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

#122 Post autor: starymarabut »

Ja mam wstawione dwa 33pF bo takie miałem pod ręką i działa bezproblemowo, ale skąd wytrzasnąłeś te 56pF ??

Zapewne z schematu Shadowolfa 1.2.
C64II+SD2IEC+JiffyDOS+SwinSid88

Awatar użytkownika
Cancerek
Posty: 25
Rejestracja: 11 kwie 2010, 23:22

#123 Post autor: Cancerek »

Problem wynikł z wiernego przekopiowania schematu, tam były wstawione 56p. Temat zacząłem zgłębiać gdy okazało się, że po ustawieniu fusebitów nie mogę połączyć się z procesorem. Zmniejszenie kondensatorów pomogło.

Do ponownego ustawienia właściwych fusebitów użyłem fusebit doctora, wykonanego w domowym zaciszu z materiałów zamieszczonych w necie, doskonały sprzęt, polecam, warto go sobie zmontować.

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

#124 Post autor: suchy »

... no tak, fuse doctor dobry, szczególnie jak się zablokuje procka. ;)

@Cancerek, napisz którą wersję SD2IEC zmajstrowałeś: SMT, THT, czy jakąś swoją kombinację, no pochwal się fotkami, jak możesz zrobić, podaj więcej szczegółów!
C64PLC

Awatar użytkownika
Cancerek
Posty: 25
Rejestracja: 11 kwie 2010, 23:22

#125 Post autor: Cancerek »

Niestety nadal nie wiem gdzie jest błąd. Płytka nie mruga diodami, ale z flasha system ładuje się do pamięci procesora. Fuse bity są ustawione zgodnie z zaleceniami. Niestety dalej nie wiem co i jak sprawdzić. Pokazuje wam moją płytkę podłączoną pod doktora i w zbliżeniu.
Płytka jest spora, ale nie mam jeszcze doświadczenia z smd i wolałem więcej przestrzeni, jak już zadziała to wlutuję normalnie kondensatory :)

Obrazek

Obrazek

k.

#126 Post autor: k. »

pajęczyna robi wrażenie!

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

#127 Post autor: suchy »

Cancerek pisze:Do ponownego ustawienia właściwych fusebitów użyłem fusebit doctora, wykonanego w domowym zaciszu z materiałów zamieszczonych w necie, doskonały sprzęt, polecam, warto go sobie zmontować.
... z tego co wyczytałem na stronie autora, to "doctor" odblokowuje jedynie procka, ustawiając domyślne (fabryczne) fuski, co daje generalnie mozliwość ponownego programowania szeregowego mikrokontrolera ("zawieszonego" dla ISP po błędnym zaprogramowaniu SPIEN). Nie ustawia on WŁAŚCIWYCH (tak jak piszesz) dla SD2IEC fuse-bits. Te trzeba zaprogramować programatorem. Jakiego programatora używasz do programowania AVR? Nic nie piszesz na ten temat, a to podstawa, bo po odblokowaniu procka (doctorem) muszisz tym programatorem szeregowym zaprogramować:

- właściwe fuse-bits dla SD2IEC (dwa warianty: z bootloaderem lub bez)

i w zależności od wariantu, czyli wybranej przez Ciebie konfiguracji SD2IEC (ustawionej fuskami), zaprogramować w procka:

- odpowiedni bootloader (dla własciwej wersji PCB i użytego procka). Dla wariantu z bootloaderem musisz na kartę SD wgrać własciwe firmware dla SD2IEC (plik .bin dla odpowiedniej wersji PCB i uzytego procka).

lub

- od razu, bezpośrednio zaprogramować w procka (w wersji bez bootloadera) stosowne firmware (dla odpowiedniej wersji PCB i użytego procka).

Nawet zakładając, że masz poprawnie zmontowane SD2IEC (z odpowiednich elementów/właściwych zamienników) i stosownie skonfigurowane/zaprogramowane, zawsze mogą dodatkowo wystapić problemy przy upgradowaniu (wersja z bootloaderem) firmware (np. karta SD coś nieteges). Przeczytaj do końca (nie zwracaj uwagi na tytuł) ten temat:

http://www.c64power.com/forum/index.php ... topic=2435

... może to będzie pomocne.

PS Jakiego procka uzyłeś: 644P czy 1284P?? Bo jak 644P, to "strzeliłeś sobie gola", robiąc to obecnie w wersji SMT, bo firmware z tym prockiem nie bedzie już rozwijane (mozliwości 644P dla SD2IEC wyczerpane)!
C64PLC

Awatar użytkownika
ADI
Posty: 29
Rejestracja: 21 paź 2011, 10:25
Grupa: Lepsi De
Kontakt:

#128 Post autor: ADI »

Ostatnio programowałem 644P dla sd2iec. Polecenie do avdude wyglądało tak. Jak widać wypalony został boot loader.

avrdude -c usbasp -p m644p -U flash:w:newboot-m644p-larsp.hex:i -U hfuse:w:0x92:m -U efuse:w:0xFD:m -U lfuse:w:0xEf:m

Pamiętam, że sam kilkakrotnie nagrywałem kość i nie chciała zastartować. Problem właśnie był w fuse bitach. Wartości padawane w różnych postach nie działały. Dlatego sam wyznaczyłem w jakimś kalkulatorze i ruszyło.

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

#129 Post autor: suchy »

@wpqrek, jest już nowsza wersja bootloadera (0.2) od tej, którą masz u siebie zaprogramowaną. Fuse-bits podałeś akurat dokładnie takie jak zalecają na forum64.de: jak zbudować SD2IEC krok po kroku

Jeśli chodzi o fuse-bits to zawsze można trochę poeksperymentować w niewielkim zakresie rzecz jasna. Dla SD2IEC na pewno musi być wybrany rezonator kwarcowy (zewnętrzny) 8MHz (bo taki mamy podpięty do procka), ale można ustawić inne czasy restartu procka (automatyczny reset po POWER), zamiast start-up time 4,1ms można ustawić 65ms i też powinno byc ok, a więc:

LFuse = $CF (zamiast $EF)

... podobnie

HFuse = $D2 (zamiast $92) dla wersji z bootloaderem (bedzie wyłączony JTAG interface - uruchamiając SD2IEC i tak chyba nikt nie bawi się w debugowanie softu w systemie interfejsem JTAG).

W necie dostepny jest fajny kalkulator fusków dla AVRów:

AVR Fuse-bits calculator
C64PLC

Awatar użytkownika
Cancerek
Posty: 25
Rejestracja: 11 kwie 2010, 23:22

#130 Post autor: Cancerek »

Wyraziłem się nieprecyzyjnie. Chodziło o powrót do konfiguracji fabrycznej, tak by można było ustawić bity ponownie. Owszem jak zacząłem zgłębiać temat to ustawienie fuse bitów różni się zależnie od miejsca czy wersji, ale jeśli porówna się to z data sheetem to różnice są kosmetyczne. Mam procka 644p, jakiś czas temu zakupiłem 644p w wersji 40 pin, może ją jakoś wykorzystam do projektu na płytce uniwersalnej.
Procka programuję przez programator usb, z allegro 4 w 1, ładnie śmiga i po ustawieniu nie mam z nim problemów.
Na karcie sd jest wsad do pamięci i nawet się wgrywa, ale dalej wszystko milczy. Znając życie to coś zamieniłem podczas podłączenia, muszę to jeszcze raz posprawdzać :)

Awatar użytkownika
Cancerek
Posty: 25
Rejestracja: 11 kwie 2010, 23:22

#131 Post autor: Cancerek »

Sprawy mają się tak. Ustawiłem fusy tak by boot nie był potrzebny, załadowałem flasha od razu właściwym plikiem. Na larsie nic się nie działo, to znaczy brak reakcji diod. Ale na plikach sw1 i sw2 po włączeniu bez kary sd dioda zapala się przez moment i gaśnie. Z kartą sd trwa to dwa momenty. Niestety brak komunikacji z komciem. Urządzenie nr 8 i wyżej, nie jest rozpoznane.
Połączenia są sprawdzone juz kilka razy, mała szansa, że coś jest źle połączone. Pozostaje sprawa przebitych mosfetów, starałem się ich nie uszkodzić ale sam już nie wiem. Gdy sprawdzam omomierzem to wychodzą niespecyficzne wyniki, jeden wygląda tak jakby miał przerwę.
Mosfety jeszcze sprawdzę, zastanawia mnie tylko dlaczego na wsadzie, którzy wszyscy preferują u mnie nic się nie dzieje. I po co są pliki sw1 i sw2?

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

#132 Post autor: suchy »

Te pliki LarsP, sw1, sw2 to ISTOTNA SPRAWA, bo są to wsady dla danego typu hardware SD2IEC, a więc nie mozna sobie ich ot tak próbować w dowolny sposób, tylko użyć właściwego pliku, odpowiedniego dla Twojej wersji PCB. Jest kilka wersji SD2IEC, rózniących się nie tylko samymi mikrokontrolerami, ale równiez rozmaitym wykorzystaniem pinów w prockach, napięciami zasilającymi oraz sposobem wykonywania konwersji 3Vna5V/5Vna3V! Tak jak pisałem wcześniej podaj coś więcej o Twoim SD2IEC - która to wersja. Myslałem, że zrobiłeś wersję SW2, ale teraz mam wątpliwości, a może jakieś modyfikacje własne wprowadziłeś (jesli tak to jakie-schemacik plis!). Podaj jakie mosfety w kluczach konwerterów poziomów napięć użyłeś. Więcej szczegółów, bo inaczej to domysły, czyli kicha!

PS Acha, jeszcze jedno - mam nadzieję, że nie próbujesz uruchamiać tegoż z tą plątaniną kabli (z wtykami) od "doctora", które na Kisielu zrobiły takie wrażenie :wink: ("tak na wszelki wypadek, po co rozlutowywać, moze sie jeszcze przydadzą")
C64PLC

Awatar użytkownika
Cancerek
Posty: 25
Rejestracja: 11 kwie 2010, 23:22

#133 Post autor: Cancerek »

Doktora już odlutowałem, ale nie przeszkadzał, bo linie zasilające były odłączone. Dołączam schemat z eagla, zmienione zostało gniazdo karty, na takie jakie akurat miałem, gniazdo programatora na 10pin, rezystor podciągający linię reset, płytkę zmieniłem na taką by łatwo można było ją zrobić w termotransferze. Reszta bez zmian ze strony c64-wiki.
Załączniki
sd2iec.rar
(23.55 KiB) Pobrany 440 razy

zyga
Posty: 177
Rejestracja: 05 gru 2008, 08:58
Grupa: Alliance

#134 Post autor: zyga »

Wieści z placu boju.

Czytniki kart z allegro po odlutowaniu linii sygnałowych USB nie produkują 3.3V na karcie. Tak było z czytnikiem staregomarabuta, tak jest i z moim (w zasadzie identyczny). Nic nie przecinałem, po prostu odłączyłem DATA+ i DATA- i procek przestał produkować 3.3V. Czytnik ten podawał wcześniej 3.3V na piny niezależnie czy karta była włożona czy nie.

Szukałem takiego jak miał suchy na swojej stronie (pytałem chyba z 8 sprzedawców o wersję "z blaszką"), ale nikt nie miał.

Więc chyba można przyjąć, że kompletując części do SD2IECm trzeba wliczyć stabilizator.

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

#135 Post autor: suchy »

@Zyga, mój czytnik to jest taki, chyba popularny i tani chiński wyrób:

Czytnik kart pamięci eCom model DD1122

... na Allegro kupiłem u usera: gwarancja24 (faktycznie w tej chwili nie mają wystawionych aukcji), ale można od nich ze sklepu on-line kupić oczywiście przy jakimś zbiorczym zamówieniu, ze względu na koszty wysyłki, bo sam czytnik to grosze!

Nie sądziłem, że to będzie taki problem z tym czytnikiem. Jakoś mi sie nie bardzo chce wierzyć, że miałem takiego farta, trafiając od razu na "właściwy" model! :wink:

Poszperałem własnie na Allegro - zyga, coś marnie szukałeś!! Jak nie gwarancja24, to King-Man - to ten sam sprzedawca - bezpośredni importer z Chin, tylko pod oryginalną nazwa firmy:

http://allegro.pl/sklep/5321500_importe ... mery-tusze

U nich można kupić tanie czytniki kart, karty SD (są również w ofercie razem z czytnikiem). Są obecnie aktualne aukcje na te rzeczy, linków nie podaję (bo zaraz bedą nieaktualne), każdy znajdzie, kto bedzie chciał. Więc jak widzisz zyga, MOŻNA taki czytnik kupić bez problemów za 2,90 zł. Konkretnie taki:

Obrazek

To jest taniej niż stabilizator LowDropout 3V + gniazdo karty SD , bo np.

w TME dostępne obecnie w ilosciach sztukowych:
- stabilizator LDO 3V (LP2950ACZ-3NOPB TO-92) - 2,50 zł

Obrazek

- gniazdo karty SD (najtańsze MMC-SD) - 3,40 zł gniazdo właściwie do SMT, ale mozna dokleić do płytki uniwersalnej, a połączenia skrosować.

Obrazek

2,90 zł < 5,90 zł 8) (może to nie kosmiczna róznica, ale jednak)

... więc nie wyssałem sobie tego z palca :wink:

Zaznaczam, że moje propozycje dotyczą wyłącznie konstrukcji SD2IEC na płytce uniwersalnej, do własnych potrzeb. W tym temacie nie rozmawiamy o "produkcji".
C64PLC

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

#136 Post autor: suchy »

zyga pisze:Czytniki kart z allegro po odlutowaniu linii sygnałowych USB nie produkują 3.3V na karcie. Tak było z czytnikiem staregomarabuta, tak jest i z moim (w zasadzie identyczny). Nic nie przecinałem, po prostu odłączyłem DATA+ i DATA- i procek przestał produkować 3.3V. Czytnik ten podawał wcześniej 3.3V na piny niezależnie czy karta była włożona czy nie. ...
... a po co grzebałeś przy data+/data-. Przecież te sygnały w ogóle nas nie obchodzą z punktu widzenia SD2IEC, nie ruszamy ich i już (ja tylko wylutowałem wtyk USB, bo był mi potrzebny). Tak jak pisałem wcześniej, na płytce czytnika odcinamy TYLKO te ścieżki sygnałowe (bez zasilających kartę SD i procek na płytce czytnika), które łączą gniazdo karty SD z prockiem czytnika. Chodzi o to żeby nie doszło do kolizji w działaniu dwóch procków (tego z czytnika i ATMegi z SD2IEC), chcących raptem "dorwać" sie jednocześnie do jednej karty SD! Powtarzam, nie ruszamy ścieżek (ani żadnych elementów obocznych przy procku) zasilających procek czytnika (+5V ze złącza USB, gdzie ofkors musimy podać zasilanie +5V z płytki SD2IEC) i nie ruszamy ścieżek (ani elementów obocznych) zasilających kartę SD (ok. +3V z procka, czy innego stabilizatora na płytce czytnika).

Nie wiem, czy ktoś zwrócił uwagę na ten link (który podałem wczesniej):

SD2IEC - opis konstrukcji krok po kroku na płytce uniwersalnej

... jest tam opisany (inna propozycja wykonania SD2IEC na płytce uniwersalnej) bardzo ciekawy pomysł wykorzystania jako gniazda karty SD redukcji uSD na SD. Często bywa tak, że karty uSD kupujemy razem z redukcją i później te redukcje walają nam sie nie wykorzystane w domu. Właśnie taką zbędną redukcję wykorzystujemy jako gniazdo karty, oczywiscie decydując się na stosowanie w naszym SD2IEC już tylko kart mikroSD (ja zresztą tylko z takich kart korzystam, są nawet tańsze od tych w większych gabarytach). Redukcję (jako gniazdo) doklejamy do płytki uniwersalnej, na której mamy zmontowany SD2IEC, w miejsu nam pasującym i krosujemy połączenia z ATMegą. Jak tylko znajdę wolną chwilę to zamierzam przetestować takie rozwiązanie, budując na płytce uniwersalnej SD2IEC w ostatniej wersji Shadowolfa (SW2), w celu sprawdzenia z czym miał problemy Cancerek. Na pewno zdam relację, jak już będę miał stosowne materiały na ten temat. Moim zdaniem, nie warto póki co, robić do SD2IEC dedykowanej płytki drukowanej PCB (a tym bardziej bawić się w SMT, no chyba, że ktoś nie wie co z wolnym czasemj zrobić), w przypadku kiedy majstrujemy to dla siebie - zbędna strata czasu - SD2IEC jest nadal rozwijany i nie wiadomo jakie zmiany bedą w nim jeszcze wprowadzane!

Można np. u King-Mana kupić taki zestaw za 24,90:

Obrazek

... i mamy dla SD2IEC 3 in 1, czyli:
1/ kartę uSD 2GB,
2/ redukcję (którą wykorzystamy jako gniazdo dla karty uSD w SD2IEC),
3/ oraz czytnik dla kart uSD (który posłuży nam - jeśli nie mamy takowego - do przenoszenia danych z neta do SD2IEC)

Oczywiście w takim przypadku musimy kupić i zamontować na płytce SD2IEC "sporny" :wink: stabilizator +3V.
C64PLC

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

Badziew

#137 Post autor: starymarabut »

To jest ten badziew co ja kupiłem.
Kupiłem dwa, jeden się sam zepsuł bez mojej pomocy : )
Zyga potwierdził moje spostrzeżenie, brak komunikacji na wyjściu USB = brak zasilania karty.

Wiadomość edytowana.
Załączniki
badzieww.jpg
badzieww.jpg (68.64 KiB) Przejrzano 12928 razy
Ostatnio zmieniony 03 gru 2011, 23:15 przez starymarabut, łącznie zmieniany 4 razy.
C64II+SD2IEC+JiffyDOS+SwinSid88

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

#138 Post autor: suchy »

Możesz wstawić wyraźniejszą fotkę, to porównamy z tym eCom?
C64PLC

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

#139 Post autor: starymarabut »

Jutro, pożyczę aparat.
Suchy, w jakiej budzie masz komodorka?
C64II+SD2IEC+JiffyDOS+SwinSid88

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

#140 Post autor: suchy »

Już od paru lat egzystuje totalnie bez budy, bo od czasu do czasu w nim grzebię, szczególnie ostatnio przy okazji zabawy UCartem i modułami z Jiffym. Zupełnie nie chciałoby mi się ciągle go rozkręcać/skręcać. Generalnie jest to wersja G, a więc kultowa "mydelniczka".
C64PLC

ODPOWIEDZ