Zarys.
AVRy to sympatyczne uC (mikrokontrolery) firmy znanej chyba wszystkim z produkcji legendarnej "51" z pamięcią Flash - http://www.atmel.com . Rodzina ta należy do procesorów RISC - choć lista rozkazów jest dość rozległa Smile. Większość rozkazów wykonują w JEDNYM takcie - w przeciwieństwie do np. 12 taktowych MCS-51. Dodatkowo posiadają mechanizm pipeline czyli przetwarzania potokowego.
Taktowane przeważnie do max 16MHz (mające jednak duże zdolności do podkręcania nawet do 30MHz w przypadku serii ATMmega). Procesorki zewnętrznie 8 bitowe, jednak pamięć programu ma organizację w postaci słów.
Wszystkie nowe AVR-y nie wymagają zew. zegara do działania. Stare układy z gałęzi Classic np. AT90S2313 nie posiadały takich możliwości. Dlatego w ich przypadku kwarc czy sygnał zegarowy jest niezbędny.
A co chyba najważniejsze są l4m3 odporne! Nie straszne im odwrotne włożenie w podstawkę, zbyt duże napiecię, zwieranie portów, itp przypadki - spocą się, ostygną i działają dalej Smile
Możliwości
AVR 8bit dzielą się obecnie na parę głownych grup: Classic - obecnie już wycofane, Tiny, Mega oraz XMEGA o których później. Istnieją jeszcze mikrokontrolery specjalizowane jak: Lighting AVR (z dużą ilością generatorów PWM), Pico Power (o bardzo niskim poziomie poboru energii), USB (posiadające np. sprzętowy interfejs USB) czy Automotive. Jednakże są to układy niszowe.
Wracając jednak do głównego podziału. Jak łatwo się domyśleć rodzina Tiny jest okrojona z znacznej części peryferiów/zasobów które posiada rodzina Mega. Największe układy Mega umożliwiają dołączenie zew. pamięci RAMu czyniąc z nich kompletne potworki Smile.
Co w standardzie:
-TWI (w nomenklaturze Atmel-a I2C)
-SPI
-min. 2 TIMERy, a przeważnie 3 z czego jeden asynchroniczny (można taktować 32768Hz)
-min. 1 U(S)ART
-PWM z wieloma trybami
-5 źródeł resetu
-Indywidualne wektory przerwań
-EEPROM
-SRAM nawet do wielu KB
-Podciąganie na wszystkich portach (taki uraz po 51 Razz ) - które jednak można wyłączyć.
Obudowy: od poczciwego DIP8 do TQFP100
Napięcia zasilania: 2,X V do 5,5V
Oprogramowanie
To co przemawia za AVR to: darmowe środowiska programistyczne + bogata liczba kompilatorów i nieskończone zasoby bibliotek!
Lista popularnego oprogramowania przedstawia się następująco:"
* ASEMBLERY: AVR Asembler (składnik AVR Studio), AVRA
* C/C++: WINAVR (środowisko), AVRGCC, IAR C++, CodeVisionAVR
* BASIC: BASCOM AVR, FastAVR
* PASCAL: Embeeded Pascal AVR, AVRCo
Darmowe środowisko AVRStudio, zintegrowane z kompilatorem ASMa i możliwością dointegrowania WINAVR daje nam w pełni profesjonalne i co najważniejsze DARMOWE środowisko. Samo AVRStudio umożliwia poza pisaniem softu także debugowanie przy użyciu JTAGa i DebugWire. Jest jeszcze symulator avrów VMLAB http://amctools.com/ też już darmowy.
Programowanie/Narzędzia uruchomieniowe
Sposoby programowania:
- ISP - tzw. programowanie w systemie. Wystarczą 4 linie + masa. A procesora nawet nie trzeba wyciągać z podstawki/urządzenia.
- Równoległe HV - Dużo przewodów ale umożliwia odblokowanie procesorów z wyłączonym ISP lub z wyłączoną nóżką RESET.
- Szeregowe HV - Odpowiednik Równoległego HV dla procesorów z ograniczoną ilością nóżek.
- JTAG - dostępne w układach rodzin MEGA/XMEGA
Sposoby debugowania:
- JTAG-ICE (JTAG) - starsze, ale nadal popularne narządzie. Doczekało się nawet tańszych klonów.
- MKii (ISP+JTAG+DW) - ponoć są klony.
- DW - dla układów z ograniczoną ilością końcówek.
Sprzęt uruchomieniowy
STK 200/300 http://www.lancos.com/prog.html
do niego ponyprog z tej samej strony, lub ispprog stąd: http://dybkowski.net/elka/ispprog.html
USBasp http://www.fischl.de/usbasp/ programator szeregowy z USB - nie wspierany przez avrstudio
MKii-ISP http://atmel.com/dyn/products/tools_card.asp?...family_name=AVR%AE+8%2DBit+RISC+&tool_id=3808
Klony stk500:
HVPROG http://www.der-hammer.info/hvprog/index_en.htm z możliwością programowania równoległego poprzez COM (i przejściówki COM-USB)
AVR-DOPER http://www.obdev.at/products/avrusb/avrdoper.html podobnie jak hvprog z tym,że poprzez usb.
Debugery:
Jtag-miniice http://www.scienceprog.com/build-your-own-avr-jtagice-clone/ Klon Jtaga atmelowskiego z COMem.
Jtag mkii http://atmel.com/dyn/products/tools_card.asp?...family_name=AVR%AE+8%2DBit+RISC+&tool_id=3353
Zestawy uruchomieniowe:
Tani i malutki ale jakże sprytny AVR Butterfly:
http://atmel.com/dyn/products/tools_card.asp?...family_name=AVR%AE+8%2DBit+RISC+&tool_id=3146
I wielki ale bardzo zaawansowany (a co za tym idzie...drogi Very Happy ) STK500:
http://atmel.com/dyn/products/tools_card.asp?...family_name=AVR%AE+8%2DBit+RISC+&tool_id=2735
Jeśli nie działa Ci AVR - sprawdź dlaczego!
Literatura:
Mikrokontrolery AVR w praktyce - Jarosław Doliński - BTC (kurs C+asm)
Programowanie mikrokontrolerów AVR w języku Bascom - Marcin Wiązania -BTC (dla mnie świetna książka - ja się z niej nauczyłem wszystkiego
Mikrokontrolery AVR AtMega w praktyce-Rafał Baranowski - BTC (kompletny kurs ASM).
EdW za pośrednictwem BTC wydało książkową wersję Mikroprocesorowej Oślej Łączki. http://www.btc.pl/?id_prod=2084400
Oprócz tego w wersji elektronicznej:
http://www.mcselec.com/index.php?option=com_docman&task=cat_view&gid=86&Itemid=54
Usunąłem "martwe" linki.
[zumek]
Tłumaczenie do FASTAVR:
https://www.elektroda.pl/rtvforum/topic953685.html
Krótki wstęp jak przejść przez "konfigurację " AvrStudio i zacząć pisać pierwszy projekt:
https://www.elektroda.pl/rtvforum/topic1059204.html#5349788
Kurs R. Koppela(Niestety same listingi): http://elportal.pl/index.php?module=ContentExpress&func=display&ceid=286
AVR 8 bit - X-MEGA
Są to stosunkowo nowe układy dostępne jeszcze tylko przez sample, ale może dystrybutorzy polscy się zlitują Smile. Miały one w/g ATMEL-a być rewolucją na rynku, niestety spóźnili się o jakieś 2lata :/
AVR32bit -
AVR32, który jest jeszcze mało popularny ze względu (jak do tej pory) mało DIY-atrakcyjność przejawiającą się w obudowach BGA. Co prawda już wszystkie modele AVR32 zostały zaopatrzone w wyprowadzenia TQFP-podobne, ale procesory te nie należą do łatwych do ogarnięcia:
- kontroler matryc TFT
- kontroler kamery CMOS
- kontroler audio i wideo
Jeden procesor i wystarcza na budowę porządnego, energooszczędnego palmtopa.
Do zalet należy dodać także niskie ceny tych układów, a także dostępnych modułów rozwojowych: NGW100, EVK110X. Niskie ceny oczywiście nie u wszystkich polskich dystrybutorów Sad
Do wad należy dodać obsługę tylko 2 debugerów: JTAG-ICE mkII (300$) oraz AVR ONE! (2x więcej niż poprzednik)
O ile AVR(mega) z AVR-x(mega) mają wiele wspólnego, o tyle AVR32 ma wspólną tylko nazwę.
=======================================
Changelog:
17.06.2008 - Początek, dodano informacje o XMEGA i AVR32
18.06.2008 - Dodano książkę i polski help do bascoma
20.06.2008 - Dodano kompilator FASTAVR i kilka poprawek drobnych, poprawa stylistyki:)
21.06.2008 - Poprawiono liczbę bitów X-Mega
06.07.2008 - Dodano polskie tłumaczenie helpa do FASTAVR
16.07.2008 - Dodano link do konfiguracji AvrStudio - czyli jak zacząć.
Autorzy:
Balu, Ch.M., Freddy, VanThor, ZbeeGin
AVRy to sympatyczne uC (mikrokontrolery) firmy znanej chyba wszystkim z produkcji legendarnej "51" z pamięcią Flash - http://www.atmel.com . Rodzina ta należy do procesorów RISC - choć lista rozkazów jest dość rozległa Smile. Większość rozkazów wykonują w JEDNYM takcie - w przeciwieństwie do np. 12 taktowych MCS-51. Dodatkowo posiadają mechanizm pipeline czyli przetwarzania potokowego.
Taktowane przeważnie do max 16MHz (mające jednak duże zdolności do podkręcania nawet do 30MHz w przypadku serii ATMmega). Procesorki zewnętrznie 8 bitowe, jednak pamięć programu ma organizację w postaci słów.
Wszystkie nowe AVR-y nie wymagają zew. zegara do działania. Stare układy z gałęzi Classic np. AT90S2313 nie posiadały takich możliwości. Dlatego w ich przypadku kwarc czy sygnał zegarowy jest niezbędny.
A co chyba najważniejsze są l4m3 odporne! Nie straszne im odwrotne włożenie w podstawkę, zbyt duże napiecię, zwieranie portów, itp przypadki - spocą się, ostygną i działają dalej Smile
Możliwości
AVR 8bit dzielą się obecnie na parę głownych grup: Classic - obecnie już wycofane, Tiny, Mega oraz XMEGA o których później. Istnieją jeszcze mikrokontrolery specjalizowane jak: Lighting AVR (z dużą ilością generatorów PWM), Pico Power (o bardzo niskim poziomie poboru energii), USB (posiadające np. sprzętowy interfejs USB) czy Automotive. Jednakże są to układy niszowe.
Wracając jednak do głównego podziału. Jak łatwo się domyśleć rodzina Tiny jest okrojona z znacznej części peryferiów/zasobów które posiada rodzina Mega. Największe układy Mega umożliwiają dołączenie zew. pamięci RAMu czyniąc z nich kompletne potworki Smile.
Co w standardzie:
-TWI (w nomenklaturze Atmel-a I2C)
-SPI
-min. 2 TIMERy, a przeważnie 3 z czego jeden asynchroniczny (można taktować 32768Hz)
-min. 1 U(S)ART
-PWM z wieloma trybami
-5 źródeł resetu
-Indywidualne wektory przerwań
-EEPROM
-SRAM nawet do wielu KB
-Podciąganie na wszystkich portach (taki uraz po 51 Razz ) - które jednak można wyłączyć.
Obudowy: od poczciwego DIP8 do TQFP100
Napięcia zasilania: 2,X V do 5,5V
Oprogramowanie
To co przemawia za AVR to: darmowe środowiska programistyczne + bogata liczba kompilatorów i nieskończone zasoby bibliotek!
Lista popularnego oprogramowania przedstawia się następująco:"
* ASEMBLERY: AVR Asembler (składnik AVR Studio), AVRA
* C/C++: WINAVR (środowisko), AVRGCC, IAR C++, CodeVisionAVR
* BASIC: BASCOM AVR, FastAVR
* PASCAL: Embeeded Pascal AVR, AVRCo
Darmowe środowisko AVRStudio, zintegrowane z kompilatorem ASMa i możliwością dointegrowania WINAVR daje nam w pełni profesjonalne i co najważniejsze DARMOWE środowisko. Samo AVRStudio umożliwia poza pisaniem softu także debugowanie przy użyciu JTAGa i DebugWire. Jest jeszcze symulator avrów VMLAB http://amctools.com/ też już darmowy.
Programowanie/Narzędzia uruchomieniowe
Sposoby programowania:
- ISP - tzw. programowanie w systemie. Wystarczą 4 linie + masa. A procesora nawet nie trzeba wyciągać z podstawki/urządzenia.
- Równoległe HV - Dużo przewodów ale umożliwia odblokowanie procesorów z wyłączonym ISP lub z wyłączoną nóżką RESET.
- Szeregowe HV - Odpowiednik Równoległego HV dla procesorów z ograniczoną ilością nóżek.
- JTAG - dostępne w układach rodzin MEGA/XMEGA
Sposoby debugowania:
- JTAG-ICE (JTAG) - starsze, ale nadal popularne narządzie. Doczekało się nawet tańszych klonów.
- MKii (ISP+JTAG+DW) - ponoć są klony.
- DW - dla układów z ograniczoną ilością końcówek.
Sprzęt uruchomieniowy
STK 200/300 http://www.lancos.com/prog.html
do niego ponyprog z tej samej strony, lub ispprog stąd: http://dybkowski.net/elka/ispprog.html
USBasp http://www.fischl.de/usbasp/ programator szeregowy z USB - nie wspierany przez avrstudio
MKii-ISP http://atmel.com/dyn/products/tools_card.asp?...family_name=AVR%AE+8%2DBit+RISC+&tool_id=3808
Klony stk500:
HVPROG http://www.der-hammer.info/hvprog/index_en.htm z możliwością programowania równoległego poprzez COM (i przejściówki COM-USB)
AVR-DOPER http://www.obdev.at/products/avrusb/avrdoper.html podobnie jak hvprog z tym,że poprzez usb.
Debugery:
Jtag-miniice http://www.scienceprog.com/build-your-own-avr-jtagice-clone/ Klon Jtaga atmelowskiego z COMem.
Jtag mkii http://atmel.com/dyn/products/tools_card.asp?...family_name=AVR%AE+8%2DBit+RISC+&tool_id=3353
Zestawy uruchomieniowe:
Tani i malutki ale jakże sprytny AVR Butterfly:
http://atmel.com/dyn/products/tools_card.asp?...family_name=AVR%AE+8%2DBit+RISC+&tool_id=3146
I wielki ale bardzo zaawansowany (a co za tym idzie...drogi Very Happy ) STK500:
http://atmel.com/dyn/products/tools_card.asp?...family_name=AVR%AE+8%2DBit+RISC+&tool_id=2735
Jeśli nie działa Ci AVR - sprawdź dlaczego!
Literatura:
Mikrokontrolery AVR w praktyce - Jarosław Doliński - BTC (kurs C+asm)
Programowanie mikrokontrolerów AVR w języku Bascom - Marcin Wiązania -BTC (dla mnie świetna książka - ja się z niej nauczyłem wszystkiego
Mikrokontrolery AVR AtMega w praktyce-Rafał Baranowski - BTC (kompletny kurs ASM).
EdW za pośrednictwem BTC wydało książkową wersję Mikroprocesorowej Oślej Łączki. http://www.btc.pl/?id_prod=2084400
Oprócz tego w wersji elektronicznej:
http://www.mcselec.com/index.php?option=com_docman&task=cat_view&gid=86&Itemid=54
Usunąłem "martwe" linki.
[zumek]
Tłumaczenie do FASTAVR:
https://www.elektroda.pl/rtvforum/topic953685.html
Krótki wstęp jak przejść przez "konfigurację " AvrStudio i zacząć pisać pierwszy projekt:
https://www.elektroda.pl/rtvforum/topic1059204.html#5349788
Kurs R. Koppela(Niestety same listingi): http://elportal.pl/index.php?module=ContentExpress&func=display&ceid=286
AVR 8 bit - X-MEGA
Są to stosunkowo nowe układy dostępne jeszcze tylko przez sample, ale może dystrybutorzy polscy się zlitują Smile. Miały one w/g ATMEL-a być rewolucją na rynku, niestety spóźnili się o jakieś 2lata :/
AVR32bit -
AVR32, który jest jeszcze mało popularny ze względu (jak do tej pory) mało DIY-atrakcyjność przejawiającą się w obudowach BGA. Co prawda już wszystkie modele AVR32 zostały zaopatrzone w wyprowadzenia TQFP-podobne, ale procesory te nie należą do łatwych do ogarnięcia:
- kontroler matryc TFT
- kontroler kamery CMOS
- kontroler audio i wideo
Jeden procesor i wystarcza na budowę porządnego, energooszczędnego palmtopa.
Do zalet należy dodać także niskie ceny tych układów, a także dostępnych modułów rozwojowych: NGW100, EVK110X. Niskie ceny oczywiście nie u wszystkich polskich dystrybutorów Sad
Do wad należy dodać obsługę tylko 2 debugerów: JTAG-ICE mkII (300$) oraz AVR ONE! (2x więcej niż poprzednik)
O ile AVR(mega) z AVR-x(mega) mają wiele wspólnego, o tyle AVR32 ma wspólną tylko nazwę.
=======================================
Changelog:
17.06.2008 - Początek, dodano informacje o XMEGA i AVR32
18.06.2008 - Dodano książkę i polski help do bascoma
20.06.2008 - Dodano kompilator FASTAVR i kilka poprawek drobnych, poprawa stylistyki:)
21.06.2008 - Poprawiono liczbę bitów X-Mega
06.07.2008 - Dodano polskie tłumaczenie helpa do FASTAVR
16.07.2008 - Dodano link do konfiguracji AvrStudio - czyli jak zacząć.
Autorzy:
Balu, Ch.M., Freddy, VanThor, ZbeeGin
