Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Atmega8 w USBasp
SQ8MVY Offline
Paweł
****

Liczba postów: 724
Dołączył: 30-07-2011
Post: #2
RE: Atmega8 w USBasp
Andrzeju,

MkAVRCalculator, którego używasz jest tylko nakładką na program avrdude.
Chcąc się dowiedzieć, co który przełącznik robi należy zacząć od zapoznania się z opisem obsługi avrdude. Nawet tak podstawowa pomoc, którą wyświetla avrdude wiele wyjaśnia.
İmage

Wracając do tych przełączników. Przełączik -b służy do ustawiania prędkości portu szeregowego RS-232 ( UART ) przez który prowadzona jest komunikacja między komputerem a programatorem. Zauważ, że avrdude obsługuje bardzo wiele różnych programatorów. Jedne komunikują się po USB ( za pomocą biblioteki libusb ) inne komunikują się za pomocą RS-232 ( FT232- uart ). Więc przełącznik -b ma wpływ na działanie tylko i wyłącznie przy programatorach z komunikacją rs-232
Przełącznik -B natomiast ma bardzo duże znaczenie w przypadku określania prędkości z jaką pracuje szyna SCK między programatorem a programowaną ATmegą.
Aby przejść dalej, należy wiedzieć, że taktowanie z programatora linii SCK musi być nie większe niż 1/4 prędkości taktowania rdzenia ATmegi. Jeżeli atmega taktowana jest z prędkością 8 MHz czy 16 MHz to w zasadzie nie trzeba używać przełącznika -B, bowiem programator usbasp nie jest w stanie tak szybko taktować linii SCK.
Inaczej sprawa wygląda, jeżeli programowana ATMega taktowana jest niską częstotliwością zegara ( 4MHz czy 1 MHz lub niższą ) na wskutek np. ustawionych fusebitów (np. aktywny dzielnik zegara przez 8 i ustawiony wewnętrzny generator) lub gdy zależy nam na taktowaniu np z zegara 32.768 kHz. Wtedy domyślnie programator będzie za szybko prowadził proces komunikacji z programowaną ATMegą, co w rezultacie uniemożliwi poprawną komunikację między programatorem a programowaną ATMegą.
I w tym miejscu zastosowanie ma ten magiczny przełącznik -B wraz z dodatkowym parametrem, który określa jak bardzo ma być spowolniona komunikacja programatora z programowaną ATmegą, aby cały proces programowania zakończył się pełnym sukcesem bez błędów.
Ale, aby przełącznik -B zadziałał, firmware programatora musi go obsługiwać. Problem w tym, że chińskie programatory usbasp mają tak stare firmware, że nie obsługują programowo spowalniania taktowania przy komunikacji z programowanym układem. O ile pamiętam od tego jest sprzętowa zworka na programatorze. Stąd też zasugerowałem, abyś zaktualizował firmware w swoim programatorze. Bardzo dużą wadą tych chińskich programatorów jest również brak układu separującego / dostosowującego poziomy napięć między programatorem a programowanym układem docelowym.

No i te magiczne fusbit-y. Tu kłania się niestety dokumentacja od ATmeg-i. Ale na sucho jak najbardziej można się pobawić - są nawet podpowiedzi z małym opisem poszczególnych bitów w MkAVRCalculator ( nalezy najechać myszką na daną pozycję i pojawi się dymek z opisem ). Pozmieniaj zawartość przełączników w zakładkach Fusy właściwości czy Fusy manualnie i zobacz jak zmieniają się wartości w okienkach LOW i HIGH w MkAVRCalculator. Opisy poszczególnych bitów w fusbit doczytaj w dokumentacji. Również autor MkAVRCalculator-a gdzieś to omawia ( o ile się nie mylę )...

Andrzeju, skoro już używasz programu MkAVRCalculator, to zaglądnij na stronę autora tego softu i oglądnij jakiś jego film, na którym omawia obsługę MkAVRCalculator. Zapewniam Cię, że wiele się rozjaśni.

73 Paweł
(Ten post był ostatnio modyfikowany: 06-04-2021 20:34 przez SQ8MVY.)
06-04-2021 19:40
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Wiadomości w tym wątku
Atmega8 w USBasp - SP6AUO - 06-04-2021, 16:06
RE: Atmega8 w USBasp - SQ8MVY - 06-04-2021 19:40
RE: Atmega8 w USBasp - SP9BSL - 07-04-2021, 9:30
RE: Atmega8 w USBasp - SQ8MVY - 07-04-2021, 10:05
RE: Atmega8 w USBasp - SP6AUO - 08-04-2021, 10:40

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości