Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Mikrokontrolery AVR z technologiami z PICów

(Sponsored) magic9 08 Feb 2019 13:55 2400 13
Altium Designer Computer Controls
  • Mikrokontrolery AVR z technologiami z PICów
    W ostatnich latach byliśmy świadkami licznych fuzji na rynku elektroniki. O ile dla młodszych inżynierów wydarzenia te często nie wiążą się z żadnymi emocjami, to bardziej doświadczeni elektronicy nierzadko martwią się o konkurencję na rynku oraz o los technologii i rodzin produktów, które były specyficzne dla pochłanianego producenta. Bywa jednak i tak, że fuzja przynosi bardzo ciekawe korzyści, czego świetnym przykładem jest rozwój niewielkich mikrokontrolerów AVR, a więc rodziny należącej obecnie do Microchipa.

    Mikrokontrolery AVR produkowane przez Atmela miały niemałą rzeszę miłośników, którzy cenili je m.in. za łatwość obsługi. Szczególną popularność zaskarbiły sobie w Polsce dzięki dostępności obszernej, polskojęzycznej literatury na ich temat oraz wielu bezpłatnych narzędzi. Dlatego wielu elektroników obawiało się, że pochłonięcie Atmela przez Microchip wykończy tę rodzinę układów. W rzeczywistości stało się jednak inaczej.

    Synergia

    Po fuzji Atmela z Microchipem koncern zdecydował się nie tylko zachować układy AVR w ofercie, ale i rozbudować je na swój sposób. Wykorzystał w tym celu opracowane wcześniej technologie, które jak dotąd były zarezerwowane tylko dla MCU z rodziny PIC. W efekcie na rynku mamy teraz nie tylko klasyczne PICe i AVRy, ale i nowe AVRy z funkcjami prosto z PICów, a więc z połączenia ze sobą dwóch firm powstało dodatkowo coś, co wcześniej nie mogło zaistnieć. Istna synergia.

    Nowe ATTiny

    Microchip zdecydował, że modernizację rodziny AVR zacznie od malutkich, 8-bitowych ATTiny. Układy, które w niedawnym czasie ukazały się na rynku, wniosły silny powiew świeżości do tej grupy. Pierwszą ze zmian jest wbudowanie aż 9 kanałów dotykowych ze sterownikiem PTC (Peripheral Touch Controller) w układach serii ATTiny816 i ATTiny817. Oznacza to, że aby obsługiwać przyciski i suwaki dotykowe, podłączone bezpośrednio do portów mikrokontrolera, wystarczy skorzystać z gotowej biblioteki QTouch, bez konieczności używania jakiegokolwiek układu zewnętrznego.

    Drugą z nowości jest wprowadzenie interfejsu PDI (Program Debug Interface), a więc dwupinowego podłączenia, które ułatwia proces projektowania płytek drukowanych. Pozwala on na programowanie i debugowanie mikrokontrolerów. Żaden układ ATTiny dotąd nie obsługiwał PDI. Osoby korzystające z układów PIC chwalą sobie dostępność peryferiów niezależnych od rdzenia, określanych angielskim skrótem „CIP”, a więc Core Independent Peripherals. Idea polega na tym, by obwody peryferyjne nie tylko pracowały samodzielnie, ale też komunikowały się wzajemnie ze sobą, bez potrzeby obciążania głównej jednostki obliczeniowej.

    Taka architektura sprawia, że kompletny program działa szybciej (czasem znacząco szybciej), a do tego jest mniej skomplikowany i przez to łatwiejszy do napisania. Mechanizm ten pojawił się w najnowszych układach ATTiny, a więc teraz i programiści AVRów mogą przekazywać sygnały pomiędzy obwodami peryferyjnymi bez „zawracania głowy” jednostce arytmetyczno-logicznej. To nie wszystko, bo w każdym z nowych mikrokontrolerów zaimplementowano sprzętowe interfejsy UART/USART, I2C oraz SPI, a więc znacząco rozszerzono możliwości wyboru metody komunikacji z otoczeniem. Rdzeń każdego z tych układów może być taktowany z zegarem do 20 MHz i obsługuje do 6 kanałów PWM, pracujących w oparciu o niezależne, 16-bitowe timery. Dodatkowo, każde wyprowadzenie może też służyć jako źródło przerwania zewnętrznego, co ułatwia projektowanie schematów PCB. Ma w tym swój udział właśnie mechanizm CIP, który pozwala na swobodne przekierowywanie sygnałów pomiędzy peryferiami i wyprowadzeniami.

    Wszystkie omawiane układy ATTiny zostały też wyposażone w konfigurowalne komórki logiczne (CCL/CLC), znane dotąd z układów PIC. Są to jedne z peryferiów niezależnych od rdzenia, które pozwalają realizować operacje logiczne, bez potrzeby odwoływania się do rdzenia, a więc znacznie szybciej niż programowo. Każdy z nowych ATTiny ma po jednej takiej komórce, która może pełnić rolę przerzutnika JK, SR albo D oraz kilku połączonych ze sobą bramek logicznych, których funkcje ustala się za pomocą rejestrów konfiguracyjnych.

    Mikrokontrolery AVR z technologiami z PICów


    Mikrokontrolery AVR z technologiami z PICów



    Efekty

    W związku z powyższymi zmianami, nowe mikrokontrolery ATTiny stają się układami o naprawdę dużych możliwościach, które – co ciekawe – w licznych sytuacjach mogą się sprawdzić lepiej niż większe mikrokontrolery z rodziny ATMega. Warto też dodać, że mikrokontrolery serii ATTiny1617 są kompatybilne pod względem wyprowadzeń z układami ATTiny817, ale zawierają wbudowaną dwukrotnie większą pamięć Flash (16 kB). Oprócz tego mają 256 B emulowanej pamięci EEPROM oraz 2 kB pamięci SRAM. Omawiane układ ATTiny zostały zebrane w tabeli 1 .

    Mikrokontrolery AVR z technologiami z PICów


    Do ich cech wspólnych należą:

    • 8-bitowa architektura AVR,
    • taktowanie zegarem do 20 MHz,
    • multipleksery i demultipleksery na wyprowadzeniach, co pozwala na swobodne przekierowywanie sygnałów,
    • wbudowany oscylator 32 kHz,
    • dostępny watchdog timer,
    • 10-bitowa rozdzielczość przetworników analogowo-cyfrowych,
    • 8-bitowa rozdzielczość przetworników cyfrowo-analogowych,
    • wbudowane źródło napięcia odniesienia,
    • 9/6 wyjść PWM (zwykłych i Capture/Compare/PWM),
    • po jednym interfejsie UART, SPI i I2C,
    • brak interfejsów USB, CAN, Ethernet, LIN, IrDA i portów równoległych,
    • 1 konfigurowalna komórka logiczna (CCL/CLC),
    • możliwość pracy w temperaturze od –40°C do +105°C oraz do +125°C (w każdej obudowie są 2 wersje temp.),
    • zasilanie od 1,8 V do 5,5 V,
    • bardzo atrakcyjny poziom cenowy.

    Podsumowanie

    Układy ATTiny można nabyć w firmie Micros, która oferuje mikrokontrolery i zestawy deweloperskie takich firm jak: ST Microelectronics, Microchip, Texas Instruments, NXP, Silicon Labs i inne.

    Micros sp. j. W. Kędra i J. Lic
    Źródło: "Elektronika Praktyczna" 2018/7, s. 64-66.

    Mikrokontrolery AVR z technologiami z PICów

    Artykuł sponsorowany od Micros http://micros.com.pl/
    About Author
    magic9
    Editor
    Offline 
    Has specialization in: redaktor treści elektroda
    magic9 wrote 808 posts with rating 362, helped 11 times. Live in city Kielce. Been with us since 2010 year.
  • Altium Designer Computer Controls
  • #2
    tronics
    Level 38  
    Hmmm, tylko co konkretnie zostało zapożyczone z PIC, a co po prostu zaadaptowane z tego co już było?
    Ktoś pisze CIP ... toż pod tą nazwą jest tylko event system z Atxmega!
    Ktoś pisze CLC - toż to XCL z Atxmega32E5!
    PDI? ATxmega (tylko tutaj nie PDI, a UPDI; na 1 linii a nie 2! i koncepcyjnie ma więcej wspólnego z debugWire)
    nvm - Atxmega
    timery - atxmega
    struktura portów - atxmega
    Innymi słowy zarówno nowe Tiny jak i nowe Mega bazują głównie na technologiach z Atxmega. Struktura portów, możliwości rdzenia, przestrzeń adresowa, adc, dac, obsługa eeprom, etc. etc. w zasadzie wszystko jest spuścizną z ostatnich 8 bitowców atmela. Microchipa tutaj nie ma (prawie?) wcale!
  • Altium Designer Computer Controls
  • #3
    tplewa
    Level 39  
    @tronics

    Bo to jest artykulik sponsorowany i ma on raczej zapowiedzieć coś o czym wspominałem już na forum:

    https://www.elektroda.pl/rtvforum/viewtopic.php?p=17710949#17710949

    i chyba jeszcze w paru innych wątkach.

    I tutaj nie chodzi że Xmega coś ma bo Xmega to nie Tiny ;) tak jak Xmega to nie ARM-y od Atmela - zbyt skrótowe podejście.

    Inna sprawa z tego co wiem Microchip wie że ośmiobitowy rdzeń AVR jest ciekawszy od tego z PIC, natomiast to co jest tutaj zaprezentowane nie kończy ciekawych peryferiów jakie mają PIC-e i które mają być przeniesione do serii Tiny i Mega...

    Przykładowo mnie Xmega totalnie nie interesuje jako procesor, może dlatego że Atmel dał pupy i ten procesor wypuścił zbyt późno - jak już z AVR uciekłem na ARM-y (mimo że XMega ma trochę ciekawych rozwiązań) itp. Natomiast czasem potrzeba małego procka i tutaj jest miejsce dla tych mniejszych AVR-ów.

    Jak dojdą do nich ciekawe peryferia będzie jeszcze lepiej.
  • #4
    tronics
    Level 38  
    Quote:
    I tutaj nie chodzi że Xmega coś ma bo Xmega to nie Tiny

    Zupełnie niezrozumiałeś. Tu nie chodzi o to, że Xmega coś ma. A o to, że w zasadzie wszystko czym się szczyci Tiny 1 series i Mega 0 series pochodzi właśnie od Atxmega, a nie od PIC!!!!!!!!
    CCL Tiny wywodzi się z XCL Atxmega32E5, otwórz DSy porównaj z CLC z np. PIC18F24K42 i wszystko będzie jasne. To samo porty, to samo timery, to samo adc i można by tak wymieniać. Na dobrą sprawę nowe tiny i mega to JEST xmega, tylko działająca na 5V (coś nad czym wielu bolało) i BEZ DMA.
  • #5
    tplewa
    Level 39  
    tronics wrote:
    Quote:
    I tutaj nie chodzi że Xmega coś ma bo Xmega to nie Tiny

    Zupełnie niezrozumiałeś. Tu nie chodzi o to, że Xmega coś ma. A o to, że w zasadzie wszystko czym się szczyci Tiny 1 series i Mega 0 series pochodzi właśnie od Atxmega, a nie od PIC!!!!!!!!
    CCL Tiny wywodzi się z XCL Atxmega32E5, otwórz DSy porównaj z CLC z np. PIC18F24K42 i wszystko będzie jasne. To samo porty, to samo timery, to samo adc i można by tak wymieniać. Na dobrą sprawę nowe tiny i mega to JEST xmega, tylko działająca na 5V (coś nad czym wielu bolało) i BEZ DMA.


    Kolego nie ma dalej znaczenia że tak jest obecnie. Już napisałem że artykuł jest sponsorowany i jaki jest jego cel - po prostu chcą zareklamować to że będą przenosić niektóre specyficzne peryferia jakie są w niektórych PIC-ach. Natomiast reklama czasem mało ma wspólnego z faktami...

    Inna sprawa jak będą przenosić peryferia to nie będzie to tak że nagle to będzie wyglądało tak jak to było w PIC, będą się starać by było to jak najbardziej podobne do całej rodziny AVR (czyli aby programista miał to do czego jest przyzwyczajony).

    Zresztą jakie to ma znaczenie jak obecnie Atmel jest własnością Microchip-a - no chyba że w grę wchodzi jakiś fanatyzm tzn. AVR vs PIC

    Cel firmy jest jeden uczynić procki atrakcyjniejszymi, a to czy one faktycznie będą miały te peryferia z XMega, PIC-a czy od samego diabła ma tutaj najmniejsze znaczenie.
  • #6
    tronics
    Level 38  
    Nie rozumie kolega, to że artykuł sponsorowany to ja wiem, nie zwalnia mnie to jednak w żaden sposób z prostowania informacji marketingowych na rzecz faktów, czego się zresztą - nie wiem po co - kolega sam uczepił.
    Quote:
    po prostu chcą zareklamować to że będą przenosić niektóre specyficzne peryferia jakie są w niektórych PIC-ach

    A kto tak twierdzi? Rzeczone mikrokontrolery są w ofercie od bodajże 2 (3?) lat. I nic nie wygląda na to by się coś nowego z bardziej PICowatymi peryferiami i AVRowym rdzeniem miało pojawić. Nawet młodsze Atmega 0 series są zbudowane na tym samym atxmegowym fundamencie (tylko oczywiście więcej pinów, więcej flashu, więcej RAMu).
    Quote:
    Zresztą jakie to ma znaczenie

    Zasadnicze. Ale nie chodzi o pochodzenie technologii (atmel vs microchip) a pokrewieństwo peryferiów (PIC vs Attiny vs Atxmega - pomijając zupełnie ISA).

    Quote:
    Cel firmy jest jeden uczynić procki atrakcyjniejszymi

    Atrakcyjność nie zależy od tego jak się koloryzuje pochodzenie peryferiów, a od ceny, możliwości i jak najciekawszego ich zaprezentowania. Sam PTC to jest ciekawy ficzer, problem, że slider i rotary touch sensor zjadają nieco kanałów. Były fajne kity do xplained np.:
    https://www.microchip.com/webdoc/qtouchstudio...uchstudio.Xplained_introduction_overview.html
    Szkoda, że kit dla xplained z 817 jest pod tym kątem uboższy (w każdym razie na pierwszy rzut oka).
  • #7
    tplewa
    Level 39  
    Powiedzmy sobie że mam tam jakieś informacje od ludzi z Microchipa którzy wiedzą trochę więcej - co do kierunku zmian w którą stronę pójdą AVR-y ;)

    Zapewne nie stanie się to z dnia na dzień więc na te zmiany i jakieś nowości będzie trzeba poczekać.

    Natomiast jak atrakcyjność zależy od ceny to AVR-y nie powinny być nigdzie używane. Natomiast na możliwości wpływają między innymi peryferia. Przykładowo jak zestawi się z Cortex-ami to AVR-y bidnie wyglądają zarówno cenowo jak i pod kątem możliwości.

    Prostować mianowicie można znowu jak ma się pewne źródło, a nie na podstawie DS. Natomiast obaj nie mamy raczej dostępu do ludzi którzy zajmują się implementacją tych peryferiów - a oni prawdę mówiąc tylko widzą z jakiego źródła pochodzą. Natomiast od strony programisty czyli rejestrów to dana część hardware może być dowolnie dopasowana - dlatego dochodzenie na podstawie DS jest trochę bez sensu.

    Też gdzieś pisałem na forum jak i tutaj że zasadniczo obecnie AVR-y mnie nie interesują, ale właśnie dzięki takiemu kierunkowi (jeśli się to sprawdzi) może znajdą zastosowanie w jakiś projektach. Dlatego w zasadzie dla mnie to obojętne czy to będzie z XMega czy z PIC...

    Teraz jeszcze trzeba rozróżnić z jakiej perspektywy piszemy czy hobbysty czy biznesowej (produkcja elektroniki). Bo ja piszę od strony biznesowej - gdzie dla mnie to obojętne totalnie. Jak wprowadzą procki które będą miały zastosowanie w jakiś układach i będą konkurencją to je użyję, jak nie to ich nie użyję i nic to w moim życiu nie zmieni...
  • #8
    tronics
    Level 38  
    Quote:
    czyli rejestrów to dana część hardware może być dowolnie dopasowana - dlatego dochodzenie na podstawie DS jest trochę bez sensu.

    Nota to nie tylko rejestry, ale też schematy blokowe. Zresztą gdyby CCL pochodziło z PIC to by było skonfigurowane jak PIC, bo czemu niby nie? A jednak konfiguracja jest inna, właśnie pochodna XCL. To samo event system. To samo ADC. To samo timery. Ale niech kolega wierzy sobie, że to technologie z PICa tylko tak skamuflowane pod schematy z xmega (bo przecież nie starsze mega/tiny) :)
  • #9
    tplewa
    Level 39  
    tronics wrote:
    Quote:
    czyli rejestrów to dana część hardware może być dowolnie dopasowana - dlatego dochodzenie na podstawie DS jest trochę bez sensu.

    Nota to nie tylko rejestry, ale też schematy blokowe. Zresztą gdyby CCL pochodziło z PIC to by było skonfigurowane jak PIC, bo czemu niby nie?


    Wyjaśniłem dlaczego nie jak w PIC, aby nie zmieniać nawyków programistów - którzy nie lubią radykalnych zmian.

    Przykładowo tutaj wiem że jest reklama (i biorę ją jak to reklamę z lekkim uśmiechem), ale mam też informacje od ludzi z Microchip jakie są planowane zmiany (zwłaszcza że z wielu informacji jakie miałem wcześniej wiele się sprawdziło). Więc komu wierzyć komuś z Microchip-a czy koledze @tronics który ma tylko jakieś domysły oparte o DS (choć możliwe że częściowo prawdziwe).

    Do tego mi to jest jak napisałem obojętne z czego są te peryferia, więc nie muszę w nic wierzyć. Dla mnie jak napisałem mogą one być i od samego diabła.

    To kolega raczej stara się udowodnić że duża firma kłamie ;) - tylko będzie to raczej trudne opierając się o DS :) Inna sprawa jak już to kolega powinien wysłać e-mail do Micros lub Microchipa i im powiedzieć że piszą bzdury, bo nikt ani z tej firmy ani z Microchipa tego forum nie będzie czytał :)
  • #10
    tronics
    Level 38  
    Quote:
    aby nie zmieniać nawyków programistów - którzy nie lubią radykalnych zmian.

    Bardzo ciekawe, bo właśnie wielu programistów AVR nie polubiło się z xmega bo były dość radykalne zmiany zarówno funkcjonowania peryferiów jak ich konfiguracji. Zatem nowe tiny i nowe mega NIE machają pinem jak Atmega8 czy Tiny2313 ;) Machają pinem jak Atxmega32D4 i Atxmega128A3U :) Inaczej konfiguruje się też dużo innych rzeczy niż w jakimkolwiek z poprzednich Attiny i Atmega. Taki średnio przekonujący argument.
    Quote:
    ale mam też informacje od ludzi z Microchip jakie są planowane zmiany

    Fajnie, a teraz przypominam:
    Quote:
    Rzeczone mikrokontrolery są w ofercie od bodajże 2 (3?) lat.

    Nie o tym co się może pojawić (a może nie) jest mowa, a o tym do czego i w jakim kontekście nawiązuje artykuł.
    Quote:
    To kolega raczej stara się udowodnić że duża firma kłamie

    Nie. Zacznijmy od tego, że Microchip ani w notach katalogowych, ani aplikacyjnych, ani w broszurach informacyjnych nie podawał tego typu informacji by jakakolwiek technologia z PIC znajdowała się w tinyAVR 0 series, 1 series i megaAVR 0 series.
    Zatem wnioskuję, że tytuł (i w niektórych miejscach treść) artykułu jest pewną nadinterpretacją notek marketingowych MCP przez dystrybutora na zlecenie którego artykuł powstał. Kłamstwa nigdzie nie zarzucałem.
    Nowe Atmega i Attiny z całą pewnością są efektem współpracy dawnego Atmela obecnie w szeregach Microchipa, jasne jest zatem że produkty te są skrojone by uzupełniać ofertę PIC, a jednocześnie kontynuować tradycje AVR. AVR są obsługiwane przez narzędzia sprzętowe i programowe MCP, dodatkowo wciągnięta dokumentacja na stronę, mnóstwo pracy z konfiguratorem i z Atmel START. Tu jest integracja, ale (jeszcze) nie w samych mikrokontrolerach.
  • #12
    tronics
    Level 38  
    Pamięć flash może emulować EEPROM (z określonymi ograniczeniami i obostrzeniami) np.
    https://www.st.com/content/ccc/resource/techn...df/jcr:content/translations/en.CD00165693.pdf
    Tutaj mamy coś innego, abstrahując od tego jak fizycznie jest z tą pamięcią (czy to EEPROM, czy FLASH) to dostęp jest realizowany inaczej niż do flash systemowego, ale może to wynikać zarówno z tego, że to prawdziwy eeprom, jak i z tego, że to flash z dodatkową logiką i specjalnie wydzielony i inaczej obsługiwany przez non-volatile memory controller dlatego, że ma taką dedykowaną funkcję (i by łykał .eep).
    W przeciwieństwie do starszych serii nie ma data retention i write/erase cycles w DS podanych (dla 1617) co może skłaniać do drugiego, ale w 3208 i 4808 już wróciły i są podane osobno dla flash i dla eeprom co raczej wskazuje na fizyczny eeprom.
  • #13
    Macosmail
    Level 34  
    Ja się zastanawiam dlaczego od 20 lat zegar to dalej marne 16-20MHz. Czasami uC ma za zadanie robić bardzo proste rzeczy, ale z dużym reżimem czasowym. Jako przykład podam protokół komunikacyjny diod LED WS2812B. Oczywiście da się i programowo i sprzętowo, ale jest to już na pograniczu możliwości.
  • #14
    tronics
    Level 38  
    No to zastanówmy się ile tych MHz mają z reguły te większe mikrokontrolery, które mają maluchy wygryźć... ktoś wie? Ktoś pamięta? 48MHz. Tyle. A Atxmega miała nie 20, nie 24 a 32MHz. WS2812 zrobisz na tym tiny, na atxmega32e5 i pewnie na PSoCu 24MHz bez zewnętrznych komponentów i ze stosunkowo niewielkim obciążeniem procesora.