(3 głosujących) Artykuł ten powstał aby w prosty sposób pokazać jak należy ustawiać bity konfiguracyjne w mikrokontrolerach AVR. Nie mam zamiaru opisywać dokładnie każdego bitu ale tylko te które są najbardziej istotne i najczęściej używane. Głownie zajmiemy się konfiguracją źródła sygnału zegarowego i jego dzielnika. Ponieważ konieczność zmiany wartości Fuse Bitow dla większości początkujących stanowi ogromne wyzwanie, opis będę się starał przedstawić jak najprościej. Mam nadzieje że zawarta tutaj wiedza okaże się pomocna i odpowie na szereg potencjalnych pytań. Ustawienia bitów konfiguracyjnych możemy dokonać w wielu programach, takich jak: BASCOM, PonyProg, ISPProgrammer, AVRDUDE itp. W opisie będę używał zapisu takiego jak w karcie katalogowej, czyli "0" będzie oznaczało bit zaprogramowany a "1" - niezaprogramowany. Zamieszczone przykłady konfiguracji są zrzutami z programu Burn-O-Mat (nakładka na AVRDUDE), zaznaczony "ptaszkiem" bit oznacza ustawienie jego wartości na "0". 1. ATtiny 2313Ustawienia fabryczne Domyślnym (fabrycznym) ustawieniem mikrokontrolera ATtiny2313 są bity CKSEL3..0 = "0010", SUT1..0 = "10" oraz CKDIV8 = "0". Oznacza to że fabryczny mikrokontroler, przed zmianą jakichkolwiek "Fusow" pracuje na wewnętrznym oscylatorze RC z najdłuższym czasem startu i dzieleniem częstotliwości przez 8, co daje w efekcie taktowanie 1MHz. Zewnętrzny Rezonator Kwarcowy 0,9 - 20MHz Gdy chcemy używać zewnętrznego rezonatora kwarcowego to musimy przestawić bity CKSEL3..1 w zależności od jego częstotliwości. Dla częstotliwości 0,9-3MHz bity CKSEL3..1 powinny mieć wartość "101", dla 3-8MHz powinno być CKSEL3..1 = "110" a dla częstotliwości większych od 8MHz bity CKSEL3..1 mają być ustawione na "111". Wewnętrzny oscylator 4/8MHz Wewnętrzny oscylator o częstotliwości 4MHz uruchamiamy ustawiając bity CKSEL3..0 rowne "0010" lub "0011", dla częstotliwości 8MHz zgodnie z kartą katalogową powinno to być "0100" lub "0101". Czas powrotu mikrokontrolera do normalnej pracy po resecie lub trybie Power-Down itp. ustawiamy bitami SUT1..0. Wartość SUT1..0 = "00" stosujemy gdy aktywny jest układ BOD, dla szybko narastającego napięcia zasilającego wartość SUT1..0 powinna być rowna "01" a dla wolno narastającego zasilania SUT1..0 = "10" Dzielenie częstotliwości zegara Za dzielenie częstotliwości zegara przez 8 odpowiada bit CKDIV8, jest on najczęstsza przyczyna problemow z działaniem mikrokontrolera. Dzielenie jest aktywne jeśli CKDIV8 = "0" Przykłady konfiguracji 2. ATMEGA 8Ustawienia fabryczne Domyślnym (fabrycznym) ustawieniem mikrokontrolera ATMEGA 8 są bity CKSEL3..0 = "0001" oraz SUT = "10". Oznacza to że fabryczny mikrokontroler, przed zmianą jakichkolwiek "Fusow" pracuje na wewnętrznym oscylatorze RC z najdłuższym czasem startu i taktowaniem 1MHz. Zewnętrzny Rezonator Kwarcowy 0,9 - 8MHz W tej wersji ustawień, gdy bit CKOPT= "1" zmniejszony jest pobór prądu przez mikrokontroler ale jednocześnie ograniczona została maksymalna częstotliwośc pracy. Dla zewnętrznego rezonatora kwarcowego musimy przestawić bity CKSEL3..1 w zależności od jego częstotliwości. Dla częstotliwości 0,9-3MHz bity CKSEL3..1 powinny mieć wartość "110", natomiast dla 3-8MHz powinno być CKSEL3..1 = "111" Zewnętrzny Rezonator Kwarcowy 1 - 16MHz W tej wersji ustawień, gdy bit CKOPT= "0" maksymalna częstotliwośc pracy wynosi 16MHz. Dla zewnętrznego rezonatora kwarcowego musimy przestawić bity CKSEL3..1 w zależności od jego częstotliwości. Dla częstotliwości 0,9-3MHz bity CKSEL3..1 powinny mieć wartość "110", natomiast dla 3-16MHz powinno być CKSEL3..1 = "111" Wewnętrzny oscylator 1- 8MHz Dla wewnętrznego oscylatora RC musimy przestawić bity CKSEL3..0 w zależności od częstotliwości jaką chcemy uzyskać. Dla 1MHz jest to CKSEL3..0="0001", dla 2MHz należy ustawić CKSEL3..0="0010", dla 4MHz ustawiamy CKSEL3..0="0011", natomiast dla 8MHz wymagana wartość to CKSEL3..0="0100". Przykłady konfiguracji 3. ATMEGA 16(32)Ustawienia fabryczne Domyślnym (fabrycznym) ustawieniem mikrokontrolera ATMEGA 16(32) są bity CKSEL3..0 = "0001" oraz SUT = "10". Oznacza to że fabryczny mikrokontroler, przed zmianą jakichkolwiek "Fusow" pracuje na wewnętrznym oscylatorze RC z najdłuższym czasem startu i taktowaniem 1MHz. Zewnętrzny Rezonator Kwarcowy 0,9 - 8MHz W tej wersji ustawień, gdy bit CKOPT= "1" zmniejszony jest pobór prądu przez mikrokontroler ale jednocześnie ograniczona została maksymalna częstotliwośc pracy. Dla zewnętrznego rezonatora kwarcowego musimy przestawić bity CKSEL3..1 w zależności od jego częstotliwości. Dla częstotliwości 0,9-3MHz bity CKSEL3..1 powinny mieć wartość "110", natomiast dla 3-8MHz powinno być CKSEL3..1 = "111" Zewnętrzny Rezonator Kwarcowy 1 - 16MHz W tej wersji ustawień, gdy bit CKOPT= "0" maksymalna częstotliwośc pracy wynosi 16MHz. Dla zewnętrznego rezonatora kwarcowego musimy przestawić bity CKSEL3..1 w zależności od jego częstotliwości. Dla częstotliwości 0,9-3MHz bity CKSEL3..1 powinny mieć wartość "110", natomiast dla 3-16MHz powinno być CKSEL3..1 = "111" Wewnętrzny oscylator 1 - 8MHz Dla wewnętrznego oscylatora RC musimy przestawić bity CKSEL3..0 w zależności od częstotliwości jaką chcemy uzyskać. Dla 1MHz jest to CKSEL3..0="0001", dla 2MHz należy ustawić CKSEL3..0="0010", dla 4MHz ustawiamy CKSEL3..0="0011", natomiast dla 8MHz wymagana wartość to CKSEL3..0="0100". Interfejs JTAG Jeżeli bit JTAGEN="0" (zaprogramowany) wtedy piny PORTC.5 - PORTC.2 stanowią wyjście interfejsu JTAG i są na stałe podciągnięte do +VCC. Nie działaja one wtedy jako zwykłe piny (nie działa konfiguracja w programie ustawiająca je w roli wejść lub wyjść) i będzie to z pewnością przyczyną problemów, gdy właśnie te wyprowadzenia zostaną użyte jako wejścia lub wyjścia projektowanego systemu mikroprocesorowego. Aby wspomniane wyprowadzenia zachowywały się jak pozostała część portu C konieczne jest wyłączenie interfejsu JTAG poprzez ustawienie JTAGEN="1" Przykłady konfiguracji 4. ATMEGA 162Ustawienia fabryczne Domyślnym (fabrycznym) ustawieniem mikrokontrolera ATMEGA 162 są bity CKSEL3..0 = "0010", SUT1..0 = "10" oraz CKDIV8 = "0". Oznacza to że fabryczny mikrokontroler, przed zmianą jakichkolwiek "Fusow" pracuje na wewnętrznym oscylatorze RC z najdłuższym czasem startu i dzieleniem częstotliwości przez 8, co daje w efekcie taktowanie 1MHz. Zewnętrzny Rezonator Kwarcowy 0,9 - 16MHz Gdy chcemy używać zewnętrznego rezonatora kwarcowego to musimy przestawić bity CKSEL3..1 w zależności od jego częstotliwości. Dla częstotliwości 0,9-3MHz bity CKSEL3..1 powinny mieć wartość "101", dla 3-8MHz powinno być CKSEL3..1 = "110" a dla częstotliwości większych od 8MHz bity CKSEL3..1 mają być ustawione na "111". Wewnętrzny oscylator 8MHz Wewnętrzny oscylator o częstotliwości 8MHz uruchamiamy ustawiając bity CKSEL3..0 równe "0010". Czas powrotu mikrokontrolera do normalnej pracy po resecie lub trybie Power-Down itp. ustawiamy bitami SUT1..0. Wartość SUT1..0 = "00" stosujemy gdy aktywny jest układ BOD, dla szybko narastającego napięcia zasilającego wartość SUT1..0 powinna być rowna "01" a dla wolno narastającego zasilania SUT1..0 = "10" Dzielenie częstotliwości zegara Za dzielenie częstotliwości zegara przez 8 odpowiada bit CKDIV8, jest on najczęstsza przyczyna problemow z działaniem mikrokontrolera. Dzielenie jest aktywne jeśli CKDIV8 = "0" Interfejs JTAG Jeżeli bit JTAGEN="0" (zaprogramowany) wtedy piny PORTC.7 - PORTC.4 stanowią wyjście interfejsu JTAG i są na stałe podciągnięte do +VCC. Nie działaja one wtedy jako zwykłe piny (nie działa konfiguracja w programie ustawiająca je w roli wejść lub wyjść) i będzie to z pewnością przyczyną problemów, gdy właśnie te wyprowadzenia zostaną użyte jako wejścia lub wyjścia projektowanego systemu mikroprocesorowego. Aby wspomniane wyprowadzenia zachowywały się jak pozostała część portu C konieczne jest wyłączenie interfejsu JTAG poprzez ustawienie JTAGEN="1" Przykłady konfiguracji 5. ATTiny 13Ustawienia fabryczne Domyślnym (fabrycznym) ustawieniem mikrokontrolera ATtiny 13 są bity CKSEL1..0 = "10", SUT1..0 = "10" oraz CKDIV8= "0". Oznacza to że fabryczny mikrokontroler, przed zmianą jakichkolwiek "Fusow" pracuje na wewnętrznym oscylatorze RC z najdłuższym czasem startu i dzieleniem częstotliwości przez 8. Wewnętrzny oscylator 4,8/9,6MHz Wewnętrzny oscylator o częstotliwości 4,8MHz uruchamiamy ustawiając bity CKSEL1..0 ="01" , dla częstotliwości 9,6MHz zgodnie z kartą katalogową powinno to być CKSEL1..0 ="10". Czas powrotu mikrokontrolera do normalnej pracy po resecie lub trybie Power-Down itp. ustawiamy bitami SUT1..0. Wartość SUT1..0 = "00" stosujemy gdy aktywny jest układ BOD, dla szybko narastającego napięcia zasilającego wartość SUT1..0 powinna być rowna "01" a dla wolno narastającego zasilania SUT1..0 = "10" Wewnętrzny oscylator 128kHz Wewnętrzny oscylator o częstotliwości 128kHz uruchamiamy ustawiając bity CKSEL1..0 ="11". Czas powrotu mikrokontrolera do normalnej pracy po resecie lub trybie Power-Down itp. ustawiamy bitami SUT1..0. Wartość SUT1..0 = "00" stosujemy gdy aktywny jest układ BOD, dla szybko narastającego napięcia zasilającego wartość SUT1..0 powinna być rowna "01" a dla wolno narastającego zasilania SUT1..0 = "10" Przykłady konfiguracji 6. ATtiny 45Ustawienia fabryczne Domyślnym (fabrycznym) ustawieniem mikrokontrolera ATtiny45 są bity CKSEL3..0 = "0010", SUT1..0 = "10" oraz CKDIV8 = "0". Oznacza to że fabryczny mikrokontroler, przed zmianą jakichkolwiek "Fusow" pracuje na wewnętrznym oscylatorze RC z najdłuższym czasem startu i dzieleniem częstotliwości przez 8, co daje w efekcie taktowanie 1MHz. Zewnętrzny Rezonator Kwarcowy 0,9 - 16MHz Gdy chcemy używać zewnętrznego rezonatora kwarcowego to musimy przestawić bity CKSEL3..1 w zależności od jego częstotliwości. Dla częstotliwości 0,9-3MHz bity CKSEL3..1 powinny mieć wartość "101", dla 3-8MHz powinno być CKSEL3..1 = "110" a dla częstotliwości większych od 8MHz bity CKSEL3..1 mają być ustawione na "111". Wewnętrzny oscylator 8MHz Wewnętrzny oscylator o częstotliwości 8MHz uruchamiamy ustawiając bity CKSEL3..0 równe "0010". Czas powrotu mikrokontrolera do normalnej pracy po resecie lub trybie Power-Down itp. ustawiamy bitami SUT1..0. Wartość SUT1..0 = "00" stosujemy gdy aktywny jest układ BOD, dla szybko narastającego napięcia zasilającego wartość SUT1..0 powinna być równa "01" a dla wolno narastającego zasilania SUT1..0 = "10" Dzielenie częstotliwości zegara Za dzielenie częstotliwości zegara przez 8 odpowiada bit CKDIV8, jest on najczęstsza przyczyna problemów z działaniem mikrokontrolera. Dzielenie jest aktywne jeśli CKDIV8 = "0" Przykłady konfiguracji
|
|||
A jak wyglada konfiguracja
A jak wyglada konfiguracja dla mega 168
Re: Mega168
Niestety musisz skorzystać z karty katalogowej bo nigdy nie używałem tego uC... a co chcesz dokładnie ustawić?
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
zewnetrzny kwarc 20 mhz.
zewnetrzny kwarc 20 mhz.
Re; M168
Ustaw: CKSEL3..0 = 0111 i SUT1..0 = 11, jeśli jest CKDIV to ma być 1, ewentualnie zamieść zrzut z burn-o-mata to podpowiem Ci co ja bym ustawił.... pamiętaj że nie ustawiałem nigdy M168
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
ok zrobilem jak napisales i
ok zrobilem jak napisales i dziala.dzieki
przestawiłem
Wtiam!
Złożylem programator wg opisu i na poczatku działał( ATMega8 BASCOM-AVR), aż do momentu przestawienia w Fuse Bitach czegoś. Bylo to chyba cos jak CKSEL :1111 i SUT : 10. Nie jestem tego pewien, za to wiem ze od tamtej pory jak chce wejsc w zakladke Fuse Bitów to pisze READLB not found, a jak klikam na Identify Chip to pisze bląd id: FFFFFFFF. W programatorze jest kwarc 16MHz i dwa kondensatorki 22pF. Na początku wszystko chodziło. Mam nadzieje ze da się jakoś to odwrócić :)
Re: Procesor
jeśli to było to co wyżej napisałeś to wszystko będzie dobrze, ale na 16Mhz nie pójdzie bo nie zaznaczyłeś bitu CKOPT= 0, wtedy m8 może pracować do max 8MHz. Podepnij kwarc 8MHz i zobacz czy pójdzie. Jeśli nie to znaczy że ustawiłeś coś innego i możesz tylko zgadywać co to było. Fusebitów nigdy nie ustawia się "na pałę" tylko dokładnie trzeba porównać wartości przed kliknięciem write
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
wielkie
Wielkie dzięki. Jak tylko skombinuje kwarc 8 to sprawdze i dam znać :)
ATTINY26
Witam!, mam prośbę o pomoc w ustawieniu Fuse aby procesor Attiny 26 pracował z zegarem wewnętrznym 8 MHz dotychczasowe próby doprowadziły do zablokowania jednego procesora a został mi tylko jeden. Będę wdzięczny za pomoc ponieważ poszukiwania nie przyniosły jednoznacznych wskazówek, liczę na Kolegi doświadczenie - pozdrawiam Krzysztof.
Re: ATTiny26
jakie poszukiwania? przecież wszystko masz tutaj na stronie 30. Jedyne co musisz przestawić to bity CKSEL z wartości CKSEL3..0=0001 (tak jest po kupieniu nowego procka) na CKSEL3..0=0100 (8Mhz wewnętrzny, tabela 11)
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
pomocy :)
Tak to bywa jak człowiek nie doczyta a podziała:)
Ustawiłem CKSEL = 1110 tzn. zaptaszkowane było tylko cksel0 ckop rowniez zaptaszkowane czyli 0. SUT 10.
Chciałem by AM działało na 16 MHz kwarcu. Jaki właściwie ustawiłem kwarc? jak to naprawić bo atmega nie odpowiada? Innych fusów nie ruszałem czyli standardowe ustawienia. Ustawiałem Burn-0-matem.
Z góry dzięki za pomoc
Re: uc?
W jakim uC to ustawiasz bo nie napisałeś?
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
sory zapomnialo mi się :)
sory zapomnialo mi się :) atmega8
Re: Kwarc
powinieneś był tak ustawić http://mirley.firlej.org/files/ART_fuseM8_02B.gif. Wyżej masz przedstawiony ten zrzut. Ustawiłeś jakieś głupoty bo dla kwarca CKSEL0 ma być równe 1, nie wiem co się dzieje jak zrobisz 0 bo CKSEL0 = 0 jest dla ceramicznego oscylatora. Jak naprawić to nie wiem trzeba uważać przy ustawianiu. Musiał by być programator równoległy żeby to odblokować, chyba że są jeszcze inne problemy (z podłączeniem) przez które to nie działa
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Atmega8
Witam kupiłem nową atmega8L- 8PU i chciał bym ustawić ją na Zewnętrzny Rezonator Kwarcowy 0,9 - 8MHz ponieważ posiadam tak zwaną płytkę testową z rezonatorem kwarcowym 8MHz. Tylko że wolałbym ustawić Fuse Bity w programie Bascom. Które Fuse bity muszę zmienić i na jakie, po wejściu w programator i zakładkę "Lock and Fuse Bits"? Musze je zmieniać nawet jeśli w wgranym programie użyłem komendy "$crystal = 8000000 "?
Re: Fusebity
$crystal = 8000000 musisz wpisać w programie bo jest to potrzebne do obliczania opóźnień przy kompilacji kodu i różnych innych tego typu rzeczy. Fusebity natomiast to ustawienia sprzętowe mikrokontrolera
Co do fusebitów to w bascomie nie podam zrzutu bo musiał bym wszystko podłączyć i zakupić procesor M8L aby go zaprogramować. Sam możesz w bardzo prosty sposób sobie poradzić z fusebitami w bascomie. Obok ustawienia SUT i CKSEL masz wartości binarne.... Wystarczy że odszukasz na liście ustawień taką pozycje gdzie CKSEL=1111 i na drugiej liście SUT=11. Powinno się pojawić "external crystal resonator ", czy jakoś podobnie.
dodatkowo ma być CKOPT=1 ale chyba standardowo jest tak ustawiony
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Atmega8
A jak jest różnica między 1 MHz a 8 MHz? To się znaczy jak przestawię z 1 na 8 to będę widział różnicę, że tak powiem gołym okiem? Np. mam programik do pomiaru temp. z DS18B20 i na wyświetlaczu wyskakuje mi temp. Po przestawieniu szybciej mi sczyta temp po załączeniu zasilania? Więcej razy na minute odświeży pomiar?
Re: Taktowanie i fusebity
Taka jest różnica że procesor na 8MHz działa 8 razy szybciej niz na 1MHz... tutaj nie ma co tłumaczyć. W zależności od programu efekty mogą być różne, a czujniki ds prawdopodobnie w ogóle nie pójdą, bo ich działanie opiera się na ściśle określonych zależnościach czasowych.
Jesli program masz napisany na 8MHz to wszystkie timery, polecenia czasowe itp będą działać źle. Np na skompilowanym programie z poleceniem crystal 8000000, opóźnienie wait 1 da czas 1s, ale jak procesor będzie źle ustawiony i fizycznie będzie pracował 1MHz to normalne że polecenie wait 1 da fizyczny czas 8s. gdy natomiast przestawisz sobie w programie linijkę z crystal na wartość 1000000 to wait zacznie działać dobrze
Nie ma co sie nad tym rozczulać, częstotliwość ustawiona podczas kompilacji programu ma być zgodna z faktycznym stanem w procesorze.
Ds ni szczyta szybciej temperatury poza tym co ma napisane w specyfikacji. Poza tym transmisja ma określone ścisłe zależności czasowe, 0 trwa ileś i jedynka też ileś
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Taktowanie i fusebity
Jakoś nie mogę tam znaleźć SUT i CKSEL, czy to nie jest w tej zakładce Fusebits A987 i tam później przestawić na 8MHZ?.
http://img529.imageshack.us/img529/7163/beztytuuvz.png
mirley: obrazek jest za duży.... patrz regulamin
Re: Fusebity
Dla kwarca 8MHz:
linijka A987 powinna być "1111: External crystal..... high freq. " , nie pamiętam jaki dokładnie jest tekst, ale te cyfry z początku to właśnie CKSEL3...0 = 1111
linijka KL: ja ustawiam na "11:...." ale na razie zostaw tą opcję w spokoju, nic Ci to prawdopodobnie nie zmieni
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Taktowanie i fusebity
Więc tak u mnie mam następujące opcje
http://img13.imageshack.us/img13/4518/10385499.png
i reszta
http://img268.imageshack.us/img268/341/86549229.png
Więc mam wybrać
1111:1111 external XTAL
Przepraszam że trzeba mnie tak za rączkę prowadzić, ale już jedną atmege w zakładce "Lock and Fuse Bits" zablokowałem więc wolę się upewnić :)
złe Fusy
Czy jak tak ustawiłem fusebity (przez przypadek) http://obrazki.elektroda.net/51_1276946062.jpg to czy wystarczy jak podłącze prosty generator na atmedze czy coś jeszcze zepsułem ??
Re: Fusebity
Po pierwsze zanim klikniesz write to upewnij się co ustawiłeś. Przestawiłeś M16 w tryb oscylatora zewnetrznego RC. Poczytaj w karcie katalogowej na stronie 28. Częstotliwość ma byc ustawiona w przedziale 8-12MHz, za pomocą zewnętrznych R i C. Przybliżony wzór to f=1/(3RC). Schemat jest na tej samej stronie
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
atmeg32 i JTAG
witam,
jestem poczatkujacy kupilem obie zestaw zl3avr z atmega32 i takiego jtaga http://www.allegro.pl/item1077248547_usb_avr_jtag_2w1_jtag_ice_rs232.html , podlaczylem uklad , jtaga do ukladu i wyskakuje mi
http://www.bractwokurkowe-stg.yoyo.pl/aaa/a.jpg taki komunikat . podlaczone mam raczej napewno dobrze wiec to chyba fuse bity a mam tylko jtaga i nie mam jak tego zmienic. moje pytanie - czy jak kupie nowy uklad fuse bity beda tak ustawione ze bede mogl zaczac dzialac z jtagiem , czy mam sie zaopatrzyc w programator isp?
Re: Programowanie
Nigdy nie programowałem ATMEL'i przez JTAG, zawsze używam ISP więc niestety nie pomogę w tej kwestii
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Witam. Pomógłby mi ktoś
Witam. Pomógłby mi ktoś zaprogramować uklad? siedze nad tym i nie rozumiem tych wszystkich kodów... znam się dość dobrze, ale na html'u ;)
jesli ktos by mogl to bylbym bardzo wdzieczny...
Re: Kod
Przejdź na forum i załóż nowy temat z problemem jaki masz, tutaj nie miejsce na pisanie jakichkolwiek kodów. Podaj w opisie więcej szczegółów
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
witam, uzywam PONYPROG-A do
witam,
uzywam PONYPROG-A do wgrywania softu i ustawiania fusow, mam co do tego programu dwa pytania:
-gdy odczytuje bajt kalibracji oscylatora otrzymuje wynik AE(174),tutaj moje pierwsze pytanie, czego wlasciwie dotyczy ta wartosc?
-drugie pytanie dotyczy fusow, zalozmy ze juz jakies ustawilismy pod kwarc 4 lub 8 skad mam miec pewnosc ze sa one prawidlowo ustawione? Czy jest jakas metoda zeby to sprawdzic ?
z gory dzieki za odp.
Re; Fusebity
Nigdy nie używałem ponyproga ale:
1. bajt ten dotyczy kalibrowanego oscylatora wewnętrznego, zmieniasz jego częstotliwość i możesz sobie dostroić z jakimś wzorcem. Fabrycznie jest to ustawione na pewną wartość. Taka kalibracja jest konieczna ze względu na technologiczne rozrzuty elementów w środku chipu
2. Jak to skąd masz wiedzieć... klikasz sobie read fuses i są odczytywane z procka. Patrzysz czy są poprawne, takie jak chciałeś i tyle.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
uruchomieni nieżywego procka
Witam!!!
Miałem taki przypadek z m8 i podpięcie zewnętrznego generatora (innego działającego układu z prockiem)pomogło , ale nie pamięntam na którą nogę podałem sygnał.
z poważaniem Bronislaw
atmega16/32 czas a częstotliwość
Mam taki problem.
Jak w bascomie wpisze wait 1 a $crystal dam na 8 MHz to zamiast czekać sekundy scalak czeka mi 8 sekund.
Gdy ustawie $crystal na 1 MHz czeka sekundę, ale w układzie ma kwarc 8Mhz więc odpada.
Da się jakoś zrobić, ustawić jakoś fusebity żeby zamiast 8 sekund czekał sekundę przy $crystalu na 8MHz?
Re: atmega16/32 czas a częstotliwość
fusbity kolego, fusbity
Moja strona w powijakach
atmega16/32 czas a częstotliwość
Kurde z tymi fusebitami. Zablokowałem se atmege32. Otworzyłem ponyproga coś poustawiałem, jakieś fusebity.
Podczas zapisywania fusów, wyskoczyło "device..." błąd 24, i teraz programator nie widzi mi scalaka. W bascomie wyświetla "couldn't identify chip..." a w ponym ten błąd 24.
Aha zapomiałem dodać,
Aha zapomiałem dodać, sprawdziłem to że mi nie widzi megi32, podpiłem mege8 spróbowałem zaprogramować i zaprogramowało. Napięcie i 4 wyjścia MISO MOSI SCK i CLK miałem podpięte pod m32.
Re; M32
Zablokowałeś procka bo ustawiłeś "coś"... z fusebitami sie nie kombinuje bo to nie program. Tutaj jak cos przestawisz źle to napewno bedą problemy. Nie wiem co ustawiłes więc zostaw tego starego m32 w spokoju i zaopatrz się w nowy. Z tamtym powalczysz później. Napewno nie przełączyłeś na kwarc bo gdyby tak było zadziałało by na kwarcu który masz w układzie.
Trzeba wyłączyć podzielnik przez 8 w procesorze, bit CKDIV powinien być na 1 (niezaprogramowany). Jak to zrobisz to procek zacznie działać na 8MHz wewnętrznym rezonatorze.
Potem jak dasz CKSEL na 1111 to zacznie działać na kwarcu, ale bez kwarcu nie ruszy
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
M32
Czyli pozostaje kupić nową atmege.
Cóż, przynajmniej, podobno jest tańsza od 16.
A wiem że atmegi ostatnio bardzo podrożały.
Re: M32
nie. jeśli przestawiłeś tylko taktowanie na zwnętrzny kwarc to na innym procku piszesz:
z portu B tak zaprogramowanego proca podpinasz się pod XTAL1 zablokowanego i nie odpinając taktowania otwierasz ów zablokowany procek w programatorze i zmieniasz fusy na takie jakie powinny być.
Moja strona w powijakach
M32
Nie działa, ustawiłem przełączanie portb (jak wyżej) z innego scalaka podpiąłem pod m32 próbowałem zczytać fusy lub zapisać i nic. Dalej ten błąd 24 "Device missing or unknown device". Dalej nie widzi.
A teraz was zaskocze. Próbowałem zaprogramować attiny 2313 i też nie dało rady, ale atmege8 / 16 zaprogramowało. Do attiny podpiąłem MOSI - 17, MISO - 18, RESET - 1, SCK - 19, VCC - 20, i GND - 10. Jak w nocie katalogowej. Chyba mam coś nie tak z programatorem. Jakby co używam stk200/300, przez port LPT (DB25).
Nie mam pojęcia co jest grane.
Re; STK200/300
Programator masz zasilany? ten tiny2313 jest nowy czy wyjęty z układu w którym był kwarc?
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
STK200/300
Programator zasilany zewnętrznie 5V, (z 12V przez 7805 na 5V). AtTiny2313 jest nowiutki ze sklepu.
Re: tiny
Zobacz czy w biosie jest dobrze LPT ustawiony, ma być w trybie ECP. Sprawdź czy zasilanie dochodzi do bufora HCT na płytce programatora. Czy kabel się nie uszkodził. Czy masa między programatorem a prockiem jest podłączona. Czy w programatorze nie ma jakiegoś zimnego lutu i raz łączy a raz nie łaczy, zależnie czy poruszysz wtyczką czy nie
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
tiny
Atmege8 programuje mi normalnie napięcie na 74hc244 jest. Pozostaje ten attiny2313, może on nie działać (atmege programuje normalnie).
Witam, Jak ustawić poprawnie
Witam,
Jak ustawić poprawnie LockBit aby nie można było skopiować (odczytać) zawartości pamieci flash oraz eeprom? W BASCOM są za to odpowiedzialne bity oznaczone, jako 21, 43, 65. Czy zmiana Lockbit 21 na 10 wystarczy czy jeszcze trzeba zmienić coś w pozostałych bitach.
Re: Lock bits
nigdy nie ustawiałem lockbitów ale:
65: dotyczy boot loadera
43: pamięci programu, tutaj musisz ustawić żeby odczyt programu był niemożliwy
21: tutaj można przestawić tak aby procek był możliwy do zaprogramowania
Więcej czytaj w karcie katalogowej bo sam dokładnie nie wiem...
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Co ustawilem źle?
Witam,
Wiem ze na elektrodzie za takie pytania dostaje sie bana....na szczeście tu nie elektroda :-)
Moje pierwsze spotkanie w życiu z programatorem, atmega8L8AU... i wzieło i zdechło. Z programatorem otrzymalem programik 'progisp' i po podpieciu sie do atmega8 przegladalem opcje programu i nic nie zmieniając w fusebitach wcisnąłem 'program fuse' i stracilem połączenie do procesora. Czytajac na ten temat w różnych miejscach jest napisane 'podłącz zewnetrzny generator i ruszy' Ja tylko wpatruje sie w te domyślne ustawienia fusebitow które zaprogramowałem i porownując je z datasheetem to na mój rozum to CKSEL 0001 SUT1 1 SUT0 0 CKopt 1 (czyli to co jest ustawione domyślnie i zostało zaprogramowane) to właśnie wewnętrzyny zegar 1Mhz. Czyli chyba zewnętrzny nic tu nie da? Co zrobilem źle i jak odzyskac komunikacje z m8? Proszę spojżeć na zrzut ekranu http://img80.imageshack.us/img80/2382/progisp.jpg
dzięki wielkie
pozdrawiam
Michał
Re: Programowanie
Ciekawa sprawa.... a czy próbowałeś wgrywać jakiegoś hexa? czy kiedykolwiek to działało, czy pierwsze co zrobiłeś to akcja z tymi fusami? Dawanie zewnętrznego rezonatora nic nie da jeśli ustawiłeś faktycznie na wewnętrzny
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Co ustawiłem źle?
Hexy wgrywam do bliźniaczych atmega8 i działa używając tego samego programatora i programu tylko omijam z daleka opcje 'program fuse'. Przerabiam ESC na i2c do quadrocoptera i już dwa flashowania m8 mam zakonczone sukcesem. Tylko ta pierwsza m8 po wcisnieciu 'program fuse' padła i nie mogę się połączyć. Co ciekawe to do poprawnego zapisania flasha do dwóch kolejnych m8 musiałem podłączyć zewnetrzne zasilanie, przy pierwszym nieszczęśliwym programowaniu m8 zasilania zewnętrznego nie było i może to jest powodem jakiegoś dziwnego ustawienia fusebiów czy błedu podczas programowania. Domniemywam tylko tutaj gdyż moje doświadczenie jest zerowe i proszę o poradę.
Re: Zasilanie
Procek musi mieć zasilanie podczas programowania. Jeśli nie wiadomo co dokładnie programator ma w środku to podłącz do procka tylko sygnały programujące i masę GND, zasilanie względem masy 5V (na wszystkie piny zasilania procka), podobnie masa do wszystkich pinów GND podłącz z zewnętrznego zasilania
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
avrdude: verification error
Używam programatora USBASP (programu AVRDUDE)i tym programatorem programuje procesory ok 2 lata. Programuje procesory mega8, mega168, oraz mega16. Do tej pory nie było żadnych problemów, ale ostatnio podczas wgrywania programu wyskakuje mi błąd: /dodam że próby robiłem na Mega8, 168 i 16/
......
Reading | ################################################## | 100% 27.88s
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0x0c != 0x00
avrdude: verification error; content mismatch
avrdude: safemode: Fuses OK
avrdude done. Thank you.
Czy możecie mi pomóc.
Max
ReL Programowanie
Próbowałeś na innych prockach/ nowych egzemplarzach? A ustawienia fusów działają dobrze? Odczytuje i zapisuje fusy? Sprawdź na innym kompie
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.