| Author |
Message
|
Balu Poziom 24

Joined: 02 Mar 2003 Posts: 4373 Location: Będzin / Gliwice
|
#1
17 Jun 2008 02:44 AVR - jak zacząć i co wiedzieć trzeba. |
|
|
|
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_id=607&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_id=607&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_id=607&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_id=607&family_name=AVR%AE+8%2DBit+RISC+&tool_id=2735
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:
http://www.elektroda.pl/rtvforum/viewtopic.php?t=953685
Krótki wstęp jak przejść przez "konfigurację " AvrStudio i zacząć pisać pierwszy projekt:
http://www.elektroda.pl/rtvforum/viewtopic.php?p=5349788#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
|
|
| Back to top |
|
 |
Ch.M. Poziom 20

Joined: 05 Apr 2006 Posts: 984 Location: Białystok
|
#2
17 Jun 2008 07:25 Re: AVR - jak zacząć i co wiedzieć trzeba. |
|
|
|
| Balu wrote: |
AVR8bit dzielą się na Tiny i Mega:
|
Szanowny kolega pominął nowego kolegę AVR - xMega, który jest co prawda 16bitowy, ale mocno związany ze swoimi "słabszymi" braćmi :)
Co prawda dostępność układów tylko przez sample utrudnia zapoznanie się, ale liczymy na większą śmiałość dystrybutorów.
Wstępnie już zapodałeś info o 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 :(
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ę.
|
|
| Back to top |
|
 |
ZbeeGin Poziom 23

Joined: 22 Apr 2002 Posts: 2621 Location: 50°19'N 18°55'E
|
#3
17 Jun 2008 22:05 Re: AVR - jak zacząć i co wiedzieć trzeba. |
|
|
|
| Balu wrote: |
| Programowanie mikrokontrolerów AVR w języku Bascom - Marcin Wiązania - BTC (jedyne polskie kompedium wiedzy na temat BASCOMa) |
Strzeliliście jak kulą w płot.
Po pierwsze to nie jedyne kompedium, bo EdW za pośrednictwem BTC wydało książkową wersję Mikroprocesorowej Oślej Łączki.
:arrow: http://www.btc.pl/?id_prod=2084400
Po drugie chyba nie na marne się męczyłem przez 3 lata produkując polską wersję helpa którą można znaleźć na forum elektroda.pl w temacie
Usunąłem nieaktualne linki, a poniżej dodaję aktualny(13.05.2011).
[zumek]
http://www.mcselec.com/index.php?option=com_docman&task=cat_view&gid=86&Itemid=54
Po trzecie, sporo tej książki to przetłumaczony tekst z angielskiego helpa i w dodatku parę rzeczy zostało ZERŻNIĘTYCH z mojego helpa BEZ mojej wiedzy a tym bardziej ZGODY. Dla niepoznaki zamieniono parę słów lub zamieniono je miejscami.
|
|
| Back to top |
|
 |
Google

|
#
17 Jun 2008 22:05 |
|
|
|
|
|
| Back to top |
|
 |
Balu Poziom 24

Joined: 02 Mar 2003 Posts: 4373 Location: Będzin / Gliwice
|
#4
18 Jun 2008 00:38 Re: AVR - jak zacząć i co wiedzieć trzeba. |
|
|
|
Sorry ZbeeGin, z założenia nie używam polskich helpów ;/ więc nie wziąłem Twojego tłumaczenia pod uwagę, poza tym, helpa traktuję jako integralną część kompilatora, a nie jako oddzielne kompendium:)
A co do wnikania w wew. sprawy Twoje i Wiązani, nie mnie rozsądzać - wybacz Kolego.
(Już dopisuję Twojego helpa).
|
|
| Back to top |
|
 |
ZbeeGin Poziom 23

Joined: 22 Apr 2002 Posts: 2621 Location: 50°19'N 18°55'E
|
#5
18 Jun 2008 18:39 Re: AVR - jak zacząć i co wiedzieć trzeba. |
|
|
|
| Balu wrote: |
| poza tym, helpa traktuję jako integralną część kompilatora, a nie jako oddzielne kompendium:) |
Poza tym wersje w plikach PDF są e-bookami jakby nie było - zatem powinny być traktowane tak jak książki, tyle że elektroniczne :)
Dodatkowo proponuję dołączyć do narzędzi także kompilator FastAVR. Przecież nie możemy iść tylko w jedną stronę, jakaś konkurencja musi być.
|
|
| Back to top |
|
 |
Balu Poziom 24

Joined: 02 Mar 2003 Posts: 4373 Location: Będzin / Gliwice
|
#6
20 Jun 2008 04:47 Re: AVR - jak zacząć i co wiedzieć trzeba. |
|
|
|
Bardzo chętnie dołączę - pisałem o tym o czym wiem:)
|
|
| Back to top |
|
 |
ZbeeGin Poziom 23

Joined: 22 Apr 2002 Posts: 2621 Location: 50°19'N 18°55'E
|
#7
20 Jun 2008 19:24 Re: AVR - jak zacząć i co wiedzieć trzeba. |
|
|
|
A nie lepiej ten fragment poprawić:
| Quote: |
Kompilatory pod 8bitowce:
* 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
|
|
|
| Back to top |
|
 |
Google

|
#
20 Jun 2008 19:24 |
|
|
|
|
|
| Back to top |
|
 |
Balu Poziom 24

Joined: 02 Mar 2003 Posts: 4373 Location: Będzin / Gliwice
|
#8
20 Jun 2008 21:12 Re: AVR - jak zacząć i co wiedzieć trzeba. |
|
|
|
Done :)
|
|
| Back to top |
|
 |
Google

|
#
20 Jun 2008 21:12 |
|
|
|
|
|
| Back to top |
|
 |
VanThor Poziom 15

Joined: 19 Oct 2005 Posts: 207 Location: Gdańsk
|
#9
21 Jun 2008 14:19 Re: AVR - jak zacząć i co wiedzieć trzeba. |
|
|
|
| Balu wrote: |
AVR 16 bit - X-MEGA
|
| Ch.M. wrote: |
Szanowny kolega pominął nowego kolegę AVR - xMega, który jest co prawda 16bitowy, ale mocno związany ze swoimi "słabszymi" braćmi
|
To jakiś żart z tymi 16 bitami? Widzieliście dokumentacje?
|
|
| Back to top |
|
 |
Balu Poziom 24

Joined: 02 Mar 2003 Posts: 4373 Location: Będzin / Gliwice
|
#10
21 Jun 2008 14:37 Re: AVR - jak zacząć i co wiedzieć trzeba. |
|
|
|
O! Faktycznie :)
Respect dla kolegi:)
Pewnie nikt nie zauważył, bo nikt nie miał w rękach tego a ja pamiętam tylko z zapowiedzi że miał być super;)
Ale fajnie, że kolega wyłapał:)
|
|
| Back to top |
|
 |
Freddy Poziom 24

Joined: 18 Feb 2003 Posts: 4859 Location: Kraków
|
|
| Back to top |
|
 |
ilmenauer Poziom 13

Joined: 06 Apr 2004 Posts: 135 Location: Trojmiasto
|
#12
11 Oct 2008 22:29 Re: AVR - jak zacząć i co wiedzieć trzeba. |
|
|
|
Wiedzieć trzeba również, że symulacje AVR nie są 100% pewne.
W AVRStudio nie działa symulacja modułu USI, o czym wspomina help, jeśli się go całego przeczyta (dokładnie).
Symulatory VMLAB i HAPSIM (wtyczka do AVRStusio) nie rozumieją faktu, że porty mogą mieć włączony wewnętrzny opornik pull-up, dając w efekcie "głupawe" symulacje.
|
|
| Back to top |
|
 |
skalsiu88 Poziom 11

Joined: 17 Jul 2006 Posts: 63 Location: Włocławek
|
#13
12 Jan 2009 10:58 Re: AVR - jak zacząć i co wiedzieć trzeba. |
|
|
|
Witam serdecznie!!!
Często na forach pojawiają się pytania o jakiś kurs programowania uC AVR od podstaw. Wychodząc na przeciw tym pytaniom i prośbom a także m.in dlatego iż tak niedawno sam byłem żółtodziobem w tym temacie stworzyłem (tworzę - lepiej powiedziane) stronę internetową na której umieszczam kurs programowania AVR w języku C od całkowitych podstaw. Jak na razie umieszczona jest jedna lekcja ale systematycznie artykuły będą się rozrastać. Zachęcam wszystkich tych, którzy chcą rozpocząć przygodę z uC a także tych którzy chcą wraz ze mną zrobić coś dla innych.
Zapraszam: www.skalski.strefa.pl
Pozdrawiam,
Łukasz Skalski
|
|
| Back to top |
|
 |
Balu Poziom 24

Joined: 02 Mar 2003 Posts: 4373 Location: Będzin / Gliwice
|
#14
12 Jan 2009 12:00 Re: AVR - jak zacząć i co wiedzieć trzeba. |
|
|
|
Póki co "kursu" to tam nei ma - jedynie jakiś ochłap pod tytułem jak zainstalować... średnio przydatne...
|
|
| Back to top |
|
 |
kinemax Poziom 1

Joined: 24 Nov 2009 Posts: 1 Location: Wwa
|
#15
24 Nov 2009 20:24 Re: AVR - jak zacząć i co wiedzieć trzeba. |
|
|
|
Zaczynam właśnie zabawę z AVR od płytki Arduino (z Atmegą 328) i tegoż środowiska i wydaje mi się, że jest niezłe na początek... Natomiast nie wiem jeszcze, jak płytkę Arduino ew. zaprogramować z AVRSTUDIO, choć mam wrażenie że musi to być całkiem proste...
|
|
| Back to top |
|
 |
Google

|
#
24 Nov 2009 20:24 |
|
|
|
|
|
| Back to top |
|
 |
Balu Poziom 24

Joined: 02 Mar 2003 Posts: 4373 Location: Będzin / Gliwice
|
#16
24 Nov 2009 23:02 Re: AVR - jak zacząć i co wiedzieć trzeba. |
|
|
|
Ja chyba nigdy nie rozumiałem "szału" arduino, z poziomu avrstudio sam mikrokontroler jak każdy inny, programator -> złącze ISP -> avrstudio -> już.
|
|
| Back to top |
|
 |
mamroc Poziom 2

Joined: 18 May 2010 Posts: 3 Location: Łódź
|
#17
18 May 2010 23:33 Re: AVR - jak zacząć i co wiedzieć trzeba. |
|
|
|
Witam,
Zaczynam przygodę z AVR i przymierzam sie do zakupu programatora. Myślałem o AVTPROG1 zgodnym z STK500v2, ale natknąłem się na ZL16PRG ponoć zgodnego z AVR JTAG ICE, co mogłoby dać mi możliwość debugowania, a cena nie jest porażająco wyższa. I tu mam kilka pytań:
1. Z punktu widzenia programowania: co to oznacza, że ZL16PRG obsługuje interface JTAG? Czy to znaczy, że muszę mieć wyprowadzone inne złącze niż to, którego używałbym z STK500? Czy za pomocą ZL16PRG mogę programować AVR bez interface JTAG?
2. Jaka jest różnica między AVR JTAG ICE i AVR JTAG ICE 2 mkII?
3. Jakie macie doświadczenia z używania ZL16PRG zarówno jako programatora, jak i jako debuggera?
Z góry dziękuję za pomoc.
Maciek
|
|
| Back to top |
|
 |