FAQ | Points | Add... | Recent posts | Search | Register | Log in


AVR - jak zacząć i co wiedzieć trzeba.


Post new topic  Reply to topic      Main Page -> Forum Index -> Microcontrollers Generally -> AVR Microcontrollers -> AVR - jak zacząć i co wiedzieć trzeba.
Author
Message
Balu
Poziom 24
Poziom 24


Joined: 02 Mar 2003
Posts: 4373
Location: Będzin / Gliwice

Post#1 Post from the author of the topic 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
AVR - jak zacząć i co wiedzieć trzeba.
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
AVR - jak zacząć i co wiedzieć trzeba.

MKii-ISP http://atmel.com/dyn/products/tools_card.asp?family_id=607&family_name=AVR%AE+8%2DBit+RISC+&tool_id=3808
AVR - jak zacząć i co wiedzieć trzeba.

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 - jak zacząć i co wiedzieć trzeba.

AVR-DOPER http://www.obdev.at/products/avrusb/avrdoper.html podobnie jak hvprog z tym,że poprzez usb.
AVR - jak zacząć i co wiedzieć trzeba.


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
AVR - jak zacząć i co wiedzieć trzeba.

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
AVR - jak zacząć i co wiedzieć trzeba.


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
AVR - jak zacząć i co wiedzieć trzeba.


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
Poziom 20


Joined: 05 Apr 2006
Posts: 984
Location: Białystok

Post#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
Poziom 23


Joined: 22 Apr 2002
Posts: 2621
Location: 50°19'N 18°55'E

Post#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

Google Adsense


Post# 17 Jun 2008 22:05   





Back to top
   
Balu
Poziom 24
Poziom 24


Joined: 02 Mar 2003
Posts: 4373
Location: Będzin / Gliwice

Post#4 Post from the author of the topic 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
Poziom 23


Joined: 22 Apr 2002
Posts: 2621
Location: 50°19'N 18°55'E

Post#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
Poziom 24


Joined: 02 Mar 2003
Posts: 4373
Location: Będzin / Gliwice

Post#6 Post from the author of the topic 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
Poziom 23


Joined: 22 Apr 2002
Posts: 2621
Location: 50°19'N 18°55'E

Post#7 20 Jun 2008 19:24helpful post - solution   

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

Google Adsense


Post# 20 Jun 2008 19:24helpful post - solution   





Back to top
   
Balu
Poziom 24
Poziom 24


Joined: 02 Mar 2003
Posts: 4373
Location: Będzin / Gliwice

Post#8 Post from the author of the topic 20 Jun 2008 21:12   

Re: AVR - jak zacząć i co wiedzieć trzeba.


Done :)
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 20 Jun 2008 21:12   





Back to top
   
VanThor
Poziom 15
Poziom 15


Joined: 19 Oct 2005
Posts: 207
Location: Gdańsk

Post#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
Poziom 24


Joined: 02 Mar 2003
Posts: 4373
Location: Będzin / Gliwice

Post#10 Post from the author of the topic 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
Poziom 24


Joined: 18 Feb 2003
Posts: 4859
Location: Kraków

Post#11 07 Jul 2008 15:42helpful post - solution   

Re: AVR - jak zacząć i co wiedzieć trzeba.


Chętnie dorzucę swoje 3 grosze.
Moje tłumaczenie dokumentacji do FastAVR, wykonane w konsultacji i za zgoda autora.
http://www.elektroda.pl/rtvforum/viewtopic.php?t=953685&highlight=fastavr&sid=03762e6290ab65662b3df007d5360b63
Back to top
   
ilmenauer
Poziom 13
Poziom 13


Joined: 06 Apr 2004
Posts: 135
Location: Trojmiasto

Post#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
Poziom 11


Joined: 17 Jul 2006
Posts: 63
Location: Włocławek

Post#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
Poziom 24


Joined: 02 Mar 2003
Posts: 4373
Location: Będzin / Gliwice

Post#14 Post from the author of the topic 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
Poziom 1


Joined: 24 Nov 2009
Posts: 1
Location: Wwa

Post#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

Google Adsense


Post# 24 Nov 2009 20:24   





Back to top
   
Balu
Poziom 24
Poziom 24


Joined: 02 Mar 2003
Posts: 4373
Location: Będzin / Gliwice

Post#16 Post from the author of the topic 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
Poziom 2


Joined: 18 May 2010
Posts: 3
Location: Łódź

Post#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
   
Post new topic  Reply to topic      Main Page -> Forum Index -> Microcontrollers Generally -> AVR Microcontrollers -> AVR - jak zacząć i co wiedzieć trzeba.
Page 1 of 1
Similar topics
AVR oraz ISP: start. Jak zacząć? Assembler, hardware. (1)
Serwokontroler na AVR. Sterowanie prze i2c. Jak zacząć? (2)
Jak zacząć programować mikrokontrolery AVR w BASCOMIE? (4)
Mikrokontrolery AVR i VB.net - jak zacząć je stosować ? (23)
NUT OS dla AVR - jak zacząć (2)
Jak zacząć przygodę z AVR? (12)
Nokia 9300, programowanie telefonu - co trzeba wiedzieć? (4)
AVR start i ISP, jak szybko zacząć? Co trzeba mieć? (5)
Asembler AVR, od czego zacząć (7)
Avr gcc. W jaki sposób zacząć się uczyć? (7)

Page generation time: 0.121 seconds


FAQ || Administrator || Moderators || Widgets and banners || Contact
elektroda.pl topic RSS feed