Jak we własnym zakresie zrobić SD2IEC
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
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
C64PLC
-
- Posty: 361
- Rejestracja: 05 lip 2010, 22:25
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ć.
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ć.
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
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
... 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ć: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ć.
- 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
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.
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.
@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
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
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ć
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ć
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?
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?
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 ("tak na wszelki wypadek, po co rozlutowywać, moze sie jeszcze przydadzą")
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 ("tak na wszelki wypadek, po co rozlutowywać, moze sie jeszcze przydadzą")
C64PLC
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 469 razy
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.
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.
@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!
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:
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ł
- 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ć.
2,90 zł < 5,90 zł (może to nie kosmiczna róznica, ale jednak)
... więc nie wyssałem sobie tego z palca
Zaznaczam, że moje propozycje dotyczą wyłącznie konstrukcji SD2IEC na płytce uniwersalnej, do własnych potrzeb. W tym temacie nie rozmawiamy o "produkcji".
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!
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:
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ł
- 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ć.
2,90 zł < 5,90 zł (może to nie kosmiczna róznica, ale jednak)
... więc nie wyssałem sobie tego z palca
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
... 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).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. ...
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:
... 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" stabilizator +3V.
C64PLC
-
- Posty: 361
- Rejestracja: 05 lip 2010, 22:25
Badziew
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.
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 (68.64 KiB) Przejrzano 13805 razy
Ostatnio zmieniony 03 gru 2011, 23:15 przez starymarabut, łącznie zmieniany 4 razy.
C64II+SD2IEC+JiffyDOS+SwinSid88
-
- Posty: 361
- Rejestracja: 05 lip 2010, 22:25