Pierwszy mikrokontroler AVR ATmega zadebiutował w 1998 roku i zrewolucjonizował rynek. Stworzony został przez firmę Atmel, która została przejęta w 2016 przez Microchip. Mikrokontrolery ATmega od początku były dość ważne dla hobbystów. Ale w ostatnich latach ich pozycja na rynku została zakwestionowana przez komputery jednopłytkowe i ESP32 z wbudowanym Wi-Fi.
Niewielu fanów ATmega zdaje sobie sprawę, że Microchip niedawno wypuścił odnowioną serię 8-bitowych mikrokontrolerów AVR: AVR DA i DB, a także bardziej wyspecjalizowane AVR DD i DU. Produkty te nie są reklamowane dla hobbystów, lecz dla aplikacji motoryzacyjnych i przemysłowych. Mimo to są tańsze i lepsze pod niemal każdym względem — i równie łatwe w użyciu.
Różnica w cenie może być znaczna; na przykład, jeśli chcesz mikrokontroler z 128 kB pamięci programu, możesz dostać AVR128DA28 za mniej niż 2 dolary za sztukę (w TME jest po 8-14zł w zależności od obudowy); najtańszy starszej generacji chip z taką samą ilością pamięci flash — ATMEGA1284P — kosztuje 6 dolarów (w TME od 28zł)
Jeśli chodzi o ulepszenia architektoniczne, najbardziej uniwersalną zmianą jest to, że AVR Dx może wewnętrznie generować zegary do 24 MHz; ATmega może tylko do 8 MHz, a do osiągnięcia 20 MHz potrzebne są zewnętrzne komponenty. Kolejnym miłym dodatkiem jest jednoliniowy interfejs programowania i debugowania UPDI, upraszczający układ PCB i oszczędzający miejsce. Nowe chipy charakteryzują się również zmniejszonym zużyciem energii, lepszymi przetwornikami ADC i DAC, wbudowanymi wzmacniaczami operacyjnymi oraz programowalnymi jednostkami logicznymi opartymi na LUT, które mogą realizować automatyzację w czasie rzeczywistym bez angażowania CPU.
Z punktu widzenia oprogramowania, różnice są niewielkie; używasz tego samego zestawu narzędzi avr-gcc, avr-libc i avrdude, a większość peryferii na chipie jest konfigurowana i obsługiwana w podobny sposób. AVR Dx nie jest zamiennikiem, ale migracja jest stosunkowo prosta.
Microchip przygotował krótki dokument dotyczący migracji:
https://ww1.microchip.com/downloads/en/Appnot...from-megaAVR-to-AVR-DxMCU-Fam-DS00003731A.pdf
Autor opublikował pierwsze projekty w oparciu o AVR Dx
https://lcamtuf.coredump.cx/soft/embedded/playback.c
https://lcamtuf.coredump.cx/soft/embedded/sir-box-a-lot2.tgz
Źródło: https://lcamtuf.substack.com/p/psa-if-youre-a-fan-of-atmega-try
Z ciekawości, zobaczmy, co użytkownicy hacker news myślą?
"Pracowałem z DD i mam trochę DA leżącego w pobliżu. UPDI to bardzo ładny i prosty interfejs programowania. Wszystko, czego potrzeba, to USB-UART i dioda lub rezystor (użyłem diody) do połączenia między RX/TX.
Nie używałem dużo ATmegi, ale porównując doświadczenie z MSP430 i EFM8, układ AVR ma wiele udogodnień, doskonałą dokumentację i usprawnienia, takie jak możliwość wyczyszczenia niektórych rejestrów przez zapisanie 1 zamiast całej sekwencji =& ~(REG | 0x8) Inną rzeczą, którą uwielbiam, jest możliwość pobrania nagłówków dla układu bezpośrednio od producenta! Zbyt wielu producentów układów scalonych blokuje nagłówki/biblioteki za swoimi zastrzeżonymi środowiskami IDE, ale Microchip, mimo że mają własne IDE, pozwala na pobranie nagłówków, aby można było używać dowolnych narzędzi, z którymi jest się wygodnym! Szacunek dla Microchip za to!!"
"AVR rezygnuje z rdzenia/SRAM i zamiast tego oferuje niesamowite peryferia. Choć układy AVR DA, DB, DD, EA i EB mogą zastąpić ATmegę (choć z nowymi wyprowadzeniami), nowsze układy to zupełnie inna liga.
AVR DB ma 3 wzmacniacze operacyjne za darmo.
AVR EA i EB mają różnicowe 12-bitowe przetworniki analogowo-cyfrowe (ADC) z programowalnym wzmocnieniem od 1x do 16x. Nie mówimy tu tylko o łatwym pomiarze protokołu 4mA do 20mA, ale można mierzyć prądy rzędu mikroamperów z rozsądną dokładnością, używając tylko rezystora bocznikowego i ADC w AVR EA.
AVR DD ma podwójne zasilanie z obsługą od 1,8V do 5V. Oznacza to, że niektóre piny mogą działać na logice 3,3V, podczas gdy inne piny na logice 5V. Innymi słowy, zadaniem AVR DD jest być wbudowanym, pełnoprawnym konwerterem poziomów.
Dodatkowe punkty: Wszystkie nowoczesne układy AVR (Dx i Ex) mają system zdarzeń do przekierowywania zdarzeń z dowolnego peryferium (timery, piny, UART itp.) do wielu innych pinów, a nawet przerwań do CPU. To łączy się z programowalną jednostką logiczną CCL (cztery 3-LUTy + dwie 1-bitowe komórki pamięci), co daje niesamowitą ilość "logiki kleju" wbudowanej w te układy.
Każdy, kto wchodzi w ten temat i mówi o "ale 32-bitowych czymkolwiek", ESP32 lub super-tanich układach RISC-V, nie rozumie istoty linii AVR. Nie jesteście naprawdę rynkiem docelowym dla tych układów. Każdy, kto musi radzić sobie z tanim projektem, który manipuluje trochę analogowymi czujnikami lub łączy logikę... no cóż... AVR to odpowiedni układ do tych zadań."
Podsumowanie komentarzy wygenerowane przez model językowy GPT-4o, komentarze pochodzą od użytkowników Hacker News i mogą być zawierać błędy.
1. Jeśli chodzi o hobbystów, użytkownicy polecają Adafruit https://www.adafruit.com/product/5325 za świetną dokumentację i łatwość użycia. Adafruit jest ceniony za wsparcie techniczne i działające od razu po wyjęciu z pudełka produkty.
2. Moduły ESP32 z Aliexpress są tańszą alternatywą dla płytek od Adafruit, z większą kompatybilnością z Arduino.
3. ESP8266 jest jeszcze tańszy i wystarczająco mocny do prostych zadań.
4. RISC-V zdobywa popularność dzięki lepszemu wsparciu narzędzi i bibliotek.
5. Niektórzy użytkownicy preferują tradycyjne programowanie MCU w C lub assemblerze zamiast Python.
6. Pico-W ma niższe zużycie energii niż ESP32, ale brakuje mu niektórych funkcji.
7. RP2040 ma wiele zalet, takich jak możliwość overclockingu i wsparcie dla USB.
8. ESP32 ma większy ekosystem oprogramowania i sprzętu niż Pico.
9. Niektórzy użytkownicy preferują AVR ze względu na ich prostotę i wytrzymałość.
10. AVR był popularny wśród hobbystów dzięki łatwości użycia i szerokiemu wsparciu.
11. Nowoczesne AVR mają zaawansowane peryferia, takie jak wzmacniacze operacyjne i różnicowe ADC.
12. Użytkownicy chwalą AVR za solidną dokumentację i wsparcie narzędziowe.
13. ESP32 jest uważany za zbyt mocny do niektórych prostych projektów domowych.
14. ESP32 może być używany jako dongle WiFi dla innych mikrokontrolerów.
15. Współczesne AVR mają lepsze peryferia niż starsze modele, takie jak ATmega328.
16. Niektórzy użytkownicy preferują kupowanie części na AliExpress ze względu na niskie ceny, ale problemy z fałszywymi częściami na AliExpress są częstym zjawiskiem.
Źródło komentarzy:
https://news.ycombinator.com/item?id=40592998
Niewielu fanów ATmega zdaje sobie sprawę, że Microchip niedawno wypuścił odnowioną serię 8-bitowych mikrokontrolerów AVR: AVR DA i DB, a także bardziej wyspecjalizowane AVR DD i DU. Produkty te nie są reklamowane dla hobbystów, lecz dla aplikacji motoryzacyjnych i przemysłowych. Mimo to są tańsze i lepsze pod niemal każdym względem — i równie łatwe w użyciu.
Różnica w cenie może być znaczna; na przykład, jeśli chcesz mikrokontroler z 128 kB pamięci programu, możesz dostać AVR128DA28 za mniej niż 2 dolary za sztukę (w TME jest po 8-14zł w zależności od obudowy); najtańszy starszej generacji chip z taką samą ilością pamięci flash — ATMEGA1284P — kosztuje 6 dolarów (w TME od 28zł)
Jeśli chodzi o ulepszenia architektoniczne, najbardziej uniwersalną zmianą jest to, że AVR Dx może wewnętrznie generować zegary do 24 MHz; ATmega może tylko do 8 MHz, a do osiągnięcia 20 MHz potrzebne są zewnętrzne komponenty. Kolejnym miłym dodatkiem jest jednoliniowy interfejs programowania i debugowania UPDI, upraszczający układ PCB i oszczędzający miejsce. Nowe chipy charakteryzują się również zmniejszonym zużyciem energii, lepszymi przetwornikami ADC i DAC, wbudowanymi wzmacniaczami operacyjnymi oraz programowalnymi jednostkami logicznymi opartymi na LUT, które mogą realizować automatyzację w czasie rzeczywistym bez angażowania CPU.
Z punktu widzenia oprogramowania, różnice są niewielkie; używasz tego samego zestawu narzędzi avr-gcc, avr-libc i avrdude, a większość peryferii na chipie jest konfigurowana i obsługiwana w podobny sposób. AVR Dx nie jest zamiennikiem, ale migracja jest stosunkowo prosta.
Microchip przygotował krótki dokument dotyczący migracji:
https://ww1.microchip.com/downloads/en/Appnot...from-megaAVR-to-AVR-DxMCU-Fam-DS00003731A.pdf
Autor opublikował pierwsze projekty w oparciu o AVR Dx
https://lcamtuf.coredump.cx/soft/embedded/playback.c
https://lcamtuf.coredump.cx/soft/embedded/sir-box-a-lot2.tgz
Źródło: https://lcamtuf.substack.com/p/psa-if-youre-a-fan-of-atmega-try
Z ciekawości, zobaczmy, co użytkownicy hacker news myślą?
"Pracowałem z DD i mam trochę DA leżącego w pobliżu. UPDI to bardzo ładny i prosty interfejs programowania. Wszystko, czego potrzeba, to USB-UART i dioda lub rezystor (użyłem diody) do połączenia między RX/TX.
Nie używałem dużo ATmegi, ale porównując doświadczenie z MSP430 i EFM8, układ AVR ma wiele udogodnień, doskonałą dokumentację i usprawnienia, takie jak możliwość wyczyszczenia niektórych rejestrów przez zapisanie 1 zamiast całej sekwencji =& ~(REG | 0x8) Inną rzeczą, którą uwielbiam, jest możliwość pobrania nagłówków dla układu bezpośrednio od producenta! Zbyt wielu producentów układów scalonych blokuje nagłówki/biblioteki za swoimi zastrzeżonymi środowiskami IDE, ale Microchip, mimo że mają własne IDE, pozwala na pobranie nagłówków, aby można było używać dowolnych narzędzi, z którymi jest się wygodnym! Szacunek dla Microchip za to!!"
"AVR rezygnuje z rdzenia/SRAM i zamiast tego oferuje niesamowite peryferia. Choć układy AVR DA, DB, DD, EA i EB mogą zastąpić ATmegę (choć z nowymi wyprowadzeniami), nowsze układy to zupełnie inna liga.
AVR DB ma 3 wzmacniacze operacyjne za darmo.
AVR EA i EB mają różnicowe 12-bitowe przetworniki analogowo-cyfrowe (ADC) z programowalnym wzmocnieniem od 1x do 16x. Nie mówimy tu tylko o łatwym pomiarze protokołu 4mA do 20mA, ale można mierzyć prądy rzędu mikroamperów z rozsądną dokładnością, używając tylko rezystora bocznikowego i ADC w AVR EA.
AVR DD ma podwójne zasilanie z obsługą od 1,8V do 5V. Oznacza to, że niektóre piny mogą działać na logice 3,3V, podczas gdy inne piny na logice 5V. Innymi słowy, zadaniem AVR DD jest być wbudowanym, pełnoprawnym konwerterem poziomów.
Dodatkowe punkty: Wszystkie nowoczesne układy AVR (Dx i Ex) mają system zdarzeń do przekierowywania zdarzeń z dowolnego peryferium (timery, piny, UART itp.) do wielu innych pinów, a nawet przerwań do CPU. To łączy się z programowalną jednostką logiczną CCL (cztery 3-LUTy + dwie 1-bitowe komórki pamięci), co daje niesamowitą ilość "logiki kleju" wbudowanej w te układy.
Każdy, kto wchodzi w ten temat i mówi o "ale 32-bitowych czymkolwiek", ESP32 lub super-tanich układach RISC-V, nie rozumie istoty linii AVR. Nie jesteście naprawdę rynkiem docelowym dla tych układów. Każdy, kto musi radzić sobie z tanim projektem, który manipuluje trochę analogowymi czujnikami lub łączy logikę... no cóż... AVR to odpowiedni układ do tych zadań."
Podsumowanie komentarzy wygenerowane przez model językowy GPT-4o, komentarze pochodzą od użytkowników Hacker News i mogą być zawierać błędy.
1. Jeśli chodzi o hobbystów, użytkownicy polecają Adafruit https://www.adafruit.com/product/5325 za świetną dokumentację i łatwość użycia. Adafruit jest ceniony za wsparcie techniczne i działające od razu po wyjęciu z pudełka produkty.
2. Moduły ESP32 z Aliexpress są tańszą alternatywą dla płytek od Adafruit, z większą kompatybilnością z Arduino.
3. ESP8266 jest jeszcze tańszy i wystarczająco mocny do prostych zadań.
4. RISC-V zdobywa popularność dzięki lepszemu wsparciu narzędzi i bibliotek.
5. Niektórzy użytkownicy preferują tradycyjne programowanie MCU w C lub assemblerze zamiast Python.
6. Pico-W ma niższe zużycie energii niż ESP32, ale brakuje mu niektórych funkcji.
7. RP2040 ma wiele zalet, takich jak możliwość overclockingu i wsparcie dla USB.
8. ESP32 ma większy ekosystem oprogramowania i sprzętu niż Pico.
9. Niektórzy użytkownicy preferują AVR ze względu na ich prostotę i wytrzymałość.
10. AVR był popularny wśród hobbystów dzięki łatwości użycia i szerokiemu wsparciu.
11. Nowoczesne AVR mają zaawansowane peryferia, takie jak wzmacniacze operacyjne i różnicowe ADC.
12. Użytkownicy chwalą AVR za solidną dokumentację i wsparcie narzędziowe.
13. ESP32 jest uważany za zbyt mocny do niektórych prostych projektów domowych.
14. ESP32 może być używany jako dongle WiFi dla innych mikrokontrolerów.
15. Współczesne AVR mają lepsze peryferia niż starsze modele, takie jak ATmega328.
16. Niektórzy użytkownicy preferują kupowanie części na AliExpress ze względu na niskie ceny, ale problemy z fałszywymi częściami na AliExpress są częstym zjawiskiem.
Źródło komentarzy:
https://news.ycombinator.com/item?id=40592998
Fajne? Ranking DIY