Elektroda.pl
Elektroda.pl
X
PLC Fatek
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[News - Atmel] - Next-Generation low-power 8-bit microcontrollers

GanzConrad 14 Lis 2014 08:29 1947 31
  • Semicon
  • #2 14 Lis 2014 08:41
    tmf
    Moderator Mikrokontrolery Projektowanie

    Tak, Atmel już się tym chwalił. Jak dla mnie to nic ciekawego,bo:
    - poprawa stabilności oscylatora RC dla transmisji USART,
    - poprawa dokładności napięcia referencyjnego,
    - unikalny ID układu,
    to wszystko już mam w AVR XMEGA od lat. Ja bym się bardziej cieszył z połączenia AVR np. z CPLD, kiedyś mieli taką hybrydę o nazwie FPSlic, ale chyba sprawa umarła. Teraz się to pojawia w postaci programowalnych bloków logicznych w XMEGA E5, szkoda tylko, że nie jest to we wszystkich XMEGA i nieco bardziej rozwinięte.
    Alternatywnie, fajnie by było gdyby np. rdzeń z CM0+ obudowali peryferiami z XMEGA, bo sorry, ale peryferia w prostych ARMach są ubogie jak kraje III-go świata.

    0
  • #3 14 Lis 2014 09:35
    Marek_Skalski
    Moderator Projektowanie

    Atmel przewiduje użycie tych układów w obszarach IoT, ale te 'nowości' mają tylko 1kB RAMu, przy zasilaniu 3,3V mogą osiągnąć zawrotne 12MHz, mają bardzo ograniczoną ilość peryferiów. Jak dla mnie to zwykły hałas marketingowy, aby zwrócić uwagę na przestarzałą rodzinę.
    CM0+ nie są zbyt rozbudowane, ale z powodzeniem zastępują/zastąpią właśnie wprowadzane AVRy. Co do peryferiów, to Xmega zastąpiłem CM4 (STM32F4xx) i nie widzę sensu wracać do Xmega. Bogatsze peryferia, większa wydajność, mniejszy pobór prądu, niższa cena, niższe koszty tworzenia systemu... Czy jest coś, co Xmega ma lepsze niż CM4?
    Z drugiej strony, czekam na CM7 od Atmela, ma być lepszy niż ten od ST. Ale Microchip już rok temu prezentował PIC32MZ, które miały być zabójcą ARMów i AVRów, ale do dziś są pełne błędów, a errata niedługo będzie dłuższa niż manual ;)

    0
  • #4 14 Lis 2014 10:53
    tmf
    Moderator Mikrokontrolery Projektowanie

    Tak, tylko F4 to raczej procki trudne do wykorzystania przez hobbystów. Jak się kupi devkita to ok, ale samemu robić pod to płytkę?
    Ale nie o tym chciałem pisać. Wykorzystam twoją wiedzę o ARMach - bo może coś przeoczyłem, albo po prostu są te funkcje w innych rodzinach. To co mi brakuje - rejestr MUX umożliwia wybór jednej z alternatywnych funkcji pinu, ale jak wybrać np. dwie? Powiedzmy, że wyjście TxD UART chcę zmodulować przebiegiem z timera? W XMEGA to proste, jak to zrobić w ARM? Z kolei w rodzinie SAM D, którą preferuję ze względu na środowisko Atmel Studio, konfiguracja IO w porównaniu z XMEGA jest uboga, jest OD, ale nie ma możlwiości wyboru stanu recesywnego, czy np. skew rate. W ogóle w tej rodzinie (nie wiem jak jest w innych ARMach) idiotyczne wydaje mi się, że wyjścia peryferii omijają rejestry portu. Dzięki czemu np. jeśli robię inwersję to muszę liczyć na to, że dane peryferium ma taką możliwość, bo inwersja przez IO nie zadziała. O ile timery taką możliwość mają, to np. nie doszukałem się jak zrobić inwersję np. na TxD, czy RxD? Tak samo jeśli chcę mieć wyjście z danego układu peryferyjnego typu wired-OR lub wired-AND to jak to uzyskać na ARMie? Poza tym event system - o ile SAM i XMEGA go mają to inne ARMy już zazwyczaj nie. Podobnie jak z programowalną glue logic dostępną w XMEGA, której w ARMach nie widziałem.
    Nie piszę tego, żeby coś udowadniać, po prostu takie problemy i niedociągnięcia spotkałem przy wykorzystaniu ARMów. A że lubię na maxa wykorzystywać peryferia, to mi to przeszkadza. Także ogólnie porównując peryferia z ARM do peryferiów z XMEGA nie jestem przekonany o ich "lepszości". Co do cen też nie byłbym prrzekonany. Oczywiście jeśli ktoś wykorzystuje F4 w pełni to cena 20-40zł nie jest problemem, ale do 99% projektów z elektrody wystarczy XMEGA E5 za 6 zł, czy ARM z CM0 za cenę podobną.

    0
  • Semicon
  • #5 14 Lis 2014 11:58
    vonar
    Poziom 28  

    tmf napisał:
    Tak, tylko F4 to raczej procki trudne do wykorzystania przez hobbystów. Jak się kupi devkita to ok, ale samemu robić pod to płytkę?

    Są M4 w LQFP64 r. 0,5 mm, nie trzeba od razu BGA :) . M0/M0+ są też w DIP, SO, TSSOP czy LQFP32 r. 0,8 mm. JTAG do ARMów jest tańszy. Jeśli chodzi o samo ISP, to wiele (w tym chyba wszystkie STM32 i LPC) ma w ROMie UARTowy bootloader (Xmega - tylko USB DFU, a gdy nie ma USB, potrzebny jest programator PDI).

    tmf napisał:
    - poprawa stabilności oscylatora RC dla transmisji USART,
    - poprawa dokładności napięcia referencyjnego,
    - unikalny ID układu,
    to wszystko już mam w AVR XMEGA od lat.

    Takie ulepszenia przydałyby się w mikrokontrolerach ATtiny, bo ich raczej na Xmegi się nie zamienia ;)

    0
  • #6 14 Lis 2014 12:03
    tmf
    Moderator Mikrokontrolery Projektowanie

    Syłszałem o ARMach w DIP ale to trochę jak opowieści o czarnej Wołdze :)
    Mnie nie chodziło o raster (bo i BGA w piekarniku polutuję), tylko o częstotliwość i związane z nią wymogi projektowe PCB. Już nawet nie komplikując, odsprzęganie kilkunastu pinów zasilających na 2 warstwowym PCB jest problemem, co zresztą widać już w przypadku XMEGA.
    Ale nie chciałem flejma kolejnego rozpoczynać, ktoś zna odpowiedzi na problemy poruszone w moim poście #4?

    0
  • #7 14 Lis 2014 12:21
    vonar
    Poziom 28  

    tmf napisał:
    odsprzęganie kilkunastu pinów zasilających na 2 warstwowym PCB jest problemem

    Masa na warstwie górnej pod mikrokontrolerem, zasilanie na tym samym obszarze po przeciwnej stronie płytki (można i odwrotnie, ale moim zdaniem lepiej mieć indukcyjność przelotek na zasilaniu, niż masie). Nie jest to idealne rozwiązanie, ale powinno wystarczyć.

    tmf napisał:
    ktoś zna odpowiedzi na problemy poruszone w moim poście #4?

    W części dotyczą tylko SAMów D ;)

    0
  • #8 14 Lis 2014 12:54
    tmf
    Moderator Mikrokontrolery Projektowanie

    Pomysł zaiste szlachetny, tylko co z sygnałami - prowadzimy je powietrzem?:)
    A moje pytanie dotyczy ogólnie ARMów, akurat na SAM się z tym spotkałem, lecz pobieżnie przeglądając noty innych układów, problemy będą takie same. Jeśli się mylę to proszę o naprowadzenie.

    0
  • #9 14 Lis 2014 13:58
    vonar
    Poziom 28  

    Problem jest z sygnałami, które muszą "zawracać" pod mikrokontrolerem. Można poprowadzić je obok (albo i "powietrzem" – zworkami, jeśli już nie ma wyjścia), tylko trzeba postarać się, by było ich jak najmniej.
    Przy małej liczbie sygnałów (duża obudowa użyta, bo mniejszej nie ma) zawsze znajdzie się sposób...

    Jeśli potrzeby są niewielkie, to można sobie poradzić. Jeśli zaś trzeba wykorzystać dużą częstotliwość i wiele pinów, to z Xmega będą te same problemy. Dlatego właśnie z tym stwierdzeniem

    tmf napisał:
    F4 to raczej procki trudne do wykorzystania przez hobbystów. Jak się kupi devkita to ok, ale samemu robić pod to płytkę?
    szczególnie, jeśli
    tmf napisał:
    nie chodziło o raster
    w kontekście ARMy kontra Xmega się nie zgadzam. ;)

    0
  • #10 14 Lis 2014 14:13
    tmf
    Moderator Mikrokontrolery Projektowanie

    vonar -problem będzie taki sam, jeśli ARMa sprowadzimy częstotliwościowo do XMEGA. Tylko jaki jest sens brać F4 i popędzać go 32 MHz, wykorzystując parę pinów IO. Natomiast biorąc pod uwagę nominalne taktowanie tych procków, to nie sądzę aby >100 MHz działało na partyzantce jaką opisałeś. Jeśli wykorzystuję mało pinów i nie potrzebuję wysokiego taktowania to nie potrzebuję też F4. Niestety wysokie taktowanie i wykorzystanie większości (wszystkich) pinów IO zakłada konieczność zrobienia odpowiedniego PCB, co w warunkach amtorskich jest finansowo trudne do przełknięcia. Dlatego zostaje wykorzystanie devboardów i radość, że rdzeń chodzi na 160 MHz, bo IO już z pewnością nie popędzimy nawet z połową tej częstotliwości.
    Ale tak jak pisałem - nie zamierzam kolejnego flejma robić, tym bardziej nie w swoim wątku. Chciałem tylko zapytać, czy opisane przeze mnie problemy w poście #4 są specyficzne rzeczywiście tylko dla SAM D, czy też w STM występują? A jeśli nie występują to w jakiej rodzinie procków. PRzeglądałem też Kinetisa i generalnie kaplica podobna.

    0
  • #11 14 Lis 2014 16:46
    treker
    Poziom 25  

    tmf napisał:
    Powiedzmy, że wyjście TxD UART chcę zmodulować przebiegiem z timera? W XMEGA to proste, jak to zrobić w ARM?


    Możesz z czystej ciekawości podać cel takiego zabiegu? Bo zastanawiam się do czego można wykorzystać takie działanie.

    0
  • #12 14 Lis 2014 17:09
    michalko12
    Specjalista - Mikrokontrolery

    tmf napisał:
    Powiedzmy, że wyjście TxD UART chcę zmodulować przebiegiem z timera? W XMEGA to proste, jak to zrobić w ARM?


    W LPC800 i LPC1500 bez problemu, tu możesz nawet wszystkie funkcje na jeden pin przypiąć.
    tmf napisał:
    skew rate

    Slew rate na I/O jest w STM tych z wyższym FCPU, było też już w pierwszy Cortexach czyli Stellarisach.

    Nie możesz wyciągać kilku cech z XMEGA bardzo specyficznych i próbować przekonywać o tym jakie to te układy są cudowne. W Cortexach też jest cała lista specyficznych peryferialów i cech, których nie ma w XM. Jak wiesz niedawno byłem zmuszony do powrotu do AVR i nie było to zbyt przyjemne. Za dużo ograniczeń mają AVR i żadne peryferia tego nie nadrobią.

    0
  • #13 14 Lis 2014 17:23
    tmf
    Moderator Mikrokontrolery Projektowanie

    treker - chociażby po to, żeby połączyć UARTy przez IR. Z kolei przerobienie wyjścia UART na OD potrzebne jest do bezpośredniego połączenia z magistralą 1-wire sterowaną z UARTa, bo chyba nikt poważnie nie myśli o robieniu 1-wire na ARM przez delay...
    michalko12 - ja nikogo nie przekonuję. Po prostu przenoszę część softu i akurat z tego typu problemami się spotkałem. Cześciowo moja odpowiedź dotyczyła pytania Marka o to co jest lepszego w XMEGA. Jak widać tak to już jest, że w jednym procku lepsze jest to, w innym coś innego.

    0
  • #14 14 Lis 2014 17:36
    vonar
    Poziom 28  

    treker napisał:
    Możesz z czystej ciekawości podać cel takiego zabiegu? Bo zastanawiam się do czego można wykorzystać takie działanie.
    Można np. ustawić USART w tryb SPI (by pozbyć się bitów startu i stopu) i nadawać odpowiednio przygotowane dane, by np. utworzyły ramkę kodu RC5 (załatwiając nadawanie kodów całkowicie sprzętowo). Można by to było też to wykorzystać do konstrukcji prymitywnego nadajnika nadajnika typu NFC – nośna z timera modulowana (OOK) danymi z UARTu (to samo dla podczerwieni, ale do tego niektóre mikrokontrolery mają dedykowane moduły IrDA SIR).

    0
  • #15 14 Lis 2014 17:36
    michalko12
    Specjalista - Mikrokontrolery

    tmf napisał:
    bo chyba nikt poważnie nie myśli o robieniu 1-wire na ARM przez delay...
    UART to nie jedyne wyjście. Na LPC1114 1-wire doskonale działało na przerwaniach od timera, do tego procesor sterował LCD graficznym, ENC424 po SPI (TCP/IP), bluetooth i karty uSD.
    tmf napisał:
    Jak widać tak to już jest, że w jednym procku lepsze jest to, w innym coś innego.
    Dokładnie. Jeśli jakieś funkcji nie ma procesor jednego producenta to szukam w procesorach innego, ale nadal to jest Cortex i nadal może być to samo środowisko programistyczne. Do tego połowa dokumentacji jest wspólna od projektanta rdzenia. Zgadzam się co do jednego, jakikolwiek ARM nie nadaje się na start z mikroprocesorami, tylko nielicznie poradzą sobie z tym.

    0
  • #16 14 Lis 2014 17:47
    treker
    Poziom 25  

    tmf, vonar dzięki za wyjaśnienie. Nie pomyślałem o takim przerabianiu "UARTA".

    0
  • #17 14 Lis 2014 17:54
    tmf
    Moderator Mikrokontrolery Projektowanie

    michalko12 - z tym 1-w to przykład, wiem jak problem obejść, co nie znaczy, że z takiego obejścia się cieszę.
    Prawdę mówiąc to zastanawia mnie skąd takie babole w peryferiach się robią. Taki np. Atmel - produkuje XMEGA i ARM. Czy inżynierowie robiący peryferia w obu rodzinach są od siebie separowani? Nie wiem dlaczego po prostu nie można wziąć najlepszych cech obu rodzin i połączyć to w całość. Oczywiście poszukałbym danych funkcji u innego producenta, tyle, że znowu mam paskudne słowo "kompromis". Atmel daje mi za free środowisko działające od strzału z wszystkimi rodzinami procków Atmela (AVR8, AVR32 i ARM), inni nie. Czyli muszę instalować 8 instancję eclipse w systemie (bo już dosłownie 7 różnych mam przy okazji innych środowisk), tym razem np. do STMów i już po dwóch dniach czytania tutoriali i konfiguracji mogę skompilować swoje "Hello world!". No i dokumentacja... wspólny jest tylko opis rdzenia, SysTick i NVIC, bo przecież cała reszta jest implementowana przez producenta, łącznie z układem generowania i dystrybucji zegara, więc nawet procka nie wystartuję w standardowy sposób. Znowu - nie piszę tego, żeby pokazać jak w innych prockach jest super. Po prostu są to codzienne problemy. Ktoś zawodowo związany z tematem ma motywację bo mu za to płacą, a co ma zrobić biedny hobbysta...

    Dodano po 4 [minuty]:

    treker UART to naprawdę potężny interfejs. Jedną z kolejnych ciekawostek zobaczysz w II części mojego artykułu o WS2812B na blogu kolegi dondu. Ponieważ ja uwielbiam takie zabawy z peryferiami, stąd moje narzekania na pewne nie do końca przemyślane ograniczenia peryferii w kilku ARMach. Po prostu odbierają mi radość :)

    0
  • #18 14 Lis 2014 18:16
    Marek_Skalski
    Moderator Projektowanie

    Oto moje odpowiedzi. Odnoszę się tylko do układów z rodziny STM32F4xx, ponieważ nie wiem nic o LPC, Kinetis czy układach od Renesas.

    tmf napisał:
    Powiedzmy, że wyjście TxD UART chcę zmodulować przebiegiem z timera?

    Nie robiłem nic takiego, bo nie widzę w tym większego sensu, ale do wyboru jest SIR encoder (kompatybilny z IrDA) albo zewnętrzne bramkowanie timera sygnałem z USART.
    Tak, trzeba odżałować dwa piny. Inna możliwość, to połączenie 2 timerów w układzie master/slave i ładowanie danych przez DMA. Nie będzie to USART, ale finalnie oferuje taką samą funkcjonalność: przebieg o jednej częstotliwości modulowany drugim, o innej częstotliwości.
    tmf napisał:
    konfiguracja IO w porównaniu z XMEGA jest uboga, jest OD, ale nie ma możlwiości wyboru stanu recesywnego, czy np. skew rate.

    Jest PP albo OD, jest konfiguracja slew-rate na zasadzie wyboru max. częstotliwości wyjściowej, np. 2, 25, 50 i 100MHz. I działa to bardzo dobrze.
    Są też opcje pull-up, pull-down i no-pull. Nie ma inwersji sygnału po ustawieniu jakiegoś bitu dla GPIO.
    tmf napisał:
    ...jeśli chcę mieć wyjście z danego układu peryferyjnego typu wired-OR lub wired-AND to jak to uzyskać na ARMie?

    Wired-AND -> konfiguracja jako OD + opcjonalnie pull-up. Wired-OR nie występuje.
    tmf napisał:
    Poza tym event system - o ile SAM i XMEGA go mają to inne ARMy już zazwyczaj nie.

    Licznik w trybie IC nie potrzebuje Event System, ponieważ ma dedykowane piny ICx.
    ADC nie potrzebuje Event System, ponieważ konwersja, zarówno podstawowa jak i dodatkowa (injected) może być wyzwalana z 1 z 6 liczników (w tym jeszcze poszczególne moduły IC/OC) lub pinów zewnętrznych, a same liczniki też mogą być połączone z innymi modułami.
    DAC karmi się przez DMA, wyzwalanie: 1 z 6 liczników lub zewnętrzny pin. Pewnie są jakieś specjalne sytuacje, kiedy to nie wystarczy, ale nie miałem z nimi nieprzyjemności.
    DMA nie potrzebuje Event System, ponieważ 2 kontrolery mają kanały dedykowane do peryferiów. Obsługują również I2C, SDIO, DCMI oraz HASH, czego w Xmega nie ma.
    USB nie potrzebuje Event System, ponieważ generuje przerwania z uwagi na konieczność ich obsłużenia. W przypadku USB nie widzę żadnej przewagi między przerwaniem, a zdarzeniem, ponieważ finalnie należy wykonać kawałek kodu, co trwa więcej niż kilka ns.
    tmf napisał:
    ...programowalną glue logic dostępną w XMEGA

    Tak, glue logic występuje, ale tylko w jednej serii E. Na razie alternatywą są produkty MCP, które również mają glue logic z LUT.
    tmf napisał:
    ...ale do 99% projektów z elektrody wystarczy XMEGA E5 za 6 zł, czy ARM z CM0 za cenę podobną

    Nie mogę się z tym zgodzić. Dużo więcej niż 1% na Forum stanowią tematy dotyczące USB, WiFi, BT, Ethernet'u, TFT i/lub kamery oraz karty pamięci. Seria Xmega E jest niewystarczająca. Za mało pamięci (RAM), za mało interfejsów.
    Do migania diodami, pomiaru temperatury czy sterowania jednym silnikiem z enkoderem to jeszcze wystarczy, ale niewiele ponadto.
    Żadna Xmega nie wysteruje jednocześnie 3 silników (BL)DC z enkoderami, pomiarem prądów i napięć. Żadna Xmega nie nadaje się do budowy urządzenia USB Audio z kodekiem TDM albo I2S na więcej niż 2 kanałach.
    Gdybym ja mógł sobie czegoś życzyć, to układów PCA, które były w rodzinie C51. Tam IC i OC były na tej samej podstawie czasu. W AVRach, nie ma możliwości synchronizowania pracy kilku liczników, a każdy może pracować albo w trybie IC, albo w trybie OC. Chciałbym też połączenia tego z modułem High-Speed PWM od Microchip, który jest w dsPIC33EPxxx.

    Dlaczego układy peryferyjne są różne? ponieważ są projektowane na różne procesy technologiczne, a projektanci są od siebie odseparowani w ramach ochrony wartości intelektualnych. Szczegóły techniczne powodują, że nikomu się nie opłaca i nie chce tego konwertować.

    0
  • #19 14 Lis 2014 18:41
    vonar
    Poziom 28  

    Marek_Skalski napisał:
    tmf napisał:
    ...programowalną glue logic dostępną w XMEGA

    Tak, glue logic występuje, ale tylko w jednej serii E. Na razie alternatywą są produkty MCP, które również mają glue logic z LUT.

    ARMy Cypressa (PSoC 5LP i większe PSoC 4) mają UDB (User Digital Blocks). Nie wiem jak to się ma do produktów Microchipa, ale Xmegi E bije na głowę. ;)

    0
  • #20 14 Lis 2014 18:48
    tronics
    Poziom 36  

    Cytat:
    Seria Xmega E jest niewystarczająca.

    Seria E to LPC, maksymalnie dużo fajnych rzeczy w małych, przyjemnych w montażu i nie wymagających specjalnych zabiegów na PCB obudowach. Jak ktoś chce robić coś dużego to, z tego co wiem, korzysta z serii A (i ewentualnie zewnętrznej pamięci SRAM/SDRAM na EBI - wolna, ale można sporo podpiąć). Oczywiście w tym momencie można sobie zadać pytanie - a czemu nie 32b architektura natywnie obsługująca duże pamięci, szerokie rejestry, liczniki etc. I to jest słuszne pytanie. Ale odpowiedź nie zawsze jest satysfakcjonująca, bo wybór MCU na podstawie samego HW jest chybiony. Ważne jest też jak, jako programista, poradzimy sobie z tym HW i jak czujemy się w proponowanym IDE. Mimo wszystko myślę, że przynajmniej na tym forum obecnie najpopularniejsze będzie AVR z ... Bascomem, a następnie AVR z wszelakimi C. Inna sprawa, że w mojej subiektywnej opinii Xmega z C będzie i tak dalej niż ARM pod względem popularności.

    0
  • #21 14 Lis 2014 19:03
    vonar
    Poziom 28  

    Marek_Skalski napisał:
    tmf napisał:
    Poza tym event system - o ile SAM i XMEGA go mają to inne ARMy już zazwyczaj nie.

    Licznik w trybie IC nie potrzebuje Event System, ponieważ ma dedykowane piny ICx.
    ADC nie potrzebuje Event System, ponieważ konwersja, zarówno podstawowa jak i dodatkowa (injected) może być wyzwalana z 1 z 6 liczników (w tym jeszcze poszczególne moduły IC/OC) lub pinów zewnętrznych, a same liczniki też mogą być połączone z innymi modułami.
    DAC karmi się przez DMA, wyzwalanie: 1 z 6 liczników lub zewnętrzny pin. Pewnie są jakieś specjalne sytuacje, kiedy to nie wystarczy, ale nie miałem z nimi nieprzyjemności.
    DMA nie potrzebuje Event System, ponieważ 2 kontrolery mają kanały dedykowane do peryferiów. Obsługują również I2C, SDIO, DCMI oraz HASH, czego w Xmega nie ma.

    Ale moim zdaniem system zdarzeń pozwoliłby zrealizować to wszystko (i więcej) bardziej elastycznie i elegancko. Poza tym synchronizacja liczników w STM32 jest dość pokręcona – niektóre mogą pracować zarówno jako master, jak i slave, inne tylko slave, inne wcale, jeszcze inne mogą co najwyżej wyzwalać DAC...

    0
  • #22 14 Lis 2014 19:04
    michalko12
    Specjalista - Mikrokontrolery

    tronics napisał:
    Seria E to LPC

    LPC800 czy LPC4370?

    0
  • #23 14 Lis 2014 19:07
    vonar
    Poziom 28  

    michalko12 napisał:
    tronics napisał:
    Seria E to LPC

    LPC800 czy LPC4370?

    Chodziło pewnie o „Xmega serii E to układy low pin count ...”

    No chyba, że nie złapałem dowcipu :D ;)

    0
  • #24 14 Lis 2014 19:19
    tmf
    Moderator Mikrokontrolery Projektowanie

    Marek_Skalski - kilka sensownych zastosowań modulacji UART już tu zostało pokazane, więc chyba na ten temat nie ma co dyskutować. Dziękuję za pewne wskazówki. Co prawda STM F4 nie wybiorę, ze względu na brak satysfakcjonującego mnie IDE, ale miło, że jednak pewne elementy o których pisałem są. Małe sprostowanie - timery w XMEGA można odpalać synchronicznie, m.in. dzięki event system. W SAM D to nawet rozwineli dodając więcej akcji timera wyzwalanych przez event system, m.in. start i stop. A propos event system to jest to naprawdę potężne narzędzie, o czym przekonałem się realizując z pomocą tego podsystemu kilka projektów w których finalnie procek zasypiał, bo wszystko załatwiał hardware. Z przykładów to np. sterowanie multipleksowe matrycami, generowanie obazu TV, czy w pełni sprzętowe ładowanie danych do różnych układów zewnętrznych, np. kodeka VS10003b. Oczywiście świat się obywał bez tego i z pewnością żyć się bez evsys daje, ale swoje zalety ma.
    WiFi, BT, ethernet, to wszystko czasami łatwiej jest realizować dedykowanymi scalakami, ba, w przypadku WiFi i BT i tak masz dedykowane moduły, bo mało który procek ma wbudowane tory radiowe (z tego co wiem to niektóre AVR mają), a nawet jeśli to i tak projektowanie układu na 2,4 GHz raczej proste nie jest. A od czasu kiedy mamy FT800 to i z TFT na małych prockach nie ma problemu. Ze względu na stopień integracji tych układów, wykorzystanie np. FT800 może być prostsze niż połączenie TFT z F4 pomimo, że ten ostatni ma interfejs do RAM i TFT. Z tej prostej przyczyny, że zbudowanie układu integrujacego MCU, pamięć zewnętrzną i TFT będzie wyzwaniem, chociażby ze względu na liczbę koniecznych połączeń i częstotliwość pracy. IMHO nierealne w przypadku pytek mniejszych niż 4-warstwowe i posiadania doświadczenia w projektowaniu PCB na takie częstotliwości. Z FT800 mamy prosty interfejs SPI.
    Oczywiście ze względu na tylko trzy dekodery QDEC z XMEGA więcej niż trzema silnikami BLDC z enkoderem nie zasterujesz, ale bez problemu zasterujesz nawet 4 silnikami BLDC bez enkodera, z kontrolą prądu, bo masz 2xAWeX i 4xkomparator z możliwością podłączenia DAC pod jedno z wejść. W połączeniu z DMA i event system daje to możliwosć całkowicie sprzętowego sterowania 4 silnikami BLDC. Pytanie o sens, skoro za grosze można kupić scalone sterowniki silników z wbudowanym mostkiem na kilka amperów, a oferta ciągle się poszerza. Także znowu jakąś część zastosowań załatwiają dedykowane scalaki.
    To tylko tak dla sprostowania, gdybym robił różne cuda, typu kamera, TFT, 8 silników + magia też wybrałbym coś bardziej wypasionego.

    0
  • #25 14 Lis 2014 20:07
    tronics
    Poziom 36  

    michalko12 napisał:
    tronics napisał:
    Seria E to LPC

    LPC800 czy LPC4370?
    Nie dostrzegłem ;) w tym komentarzu. Kolega chyba nie myślał, że LPC to wyłącznie przedrostek odnoszący się do rodziny mikrokontrolerów NXP? W tym konkretnym przypadku samo wpisanie frazy xmega lpc do wyszukiwarki google powoduje wyświetlenie na pierwszej stronie... uwaga, uwaga nie "NXP LPC1114 vs Xmega Series" czy podobnych, a odnośników do... a jakże, serii E Atmela, tudzież trybu pracy EBI (surprise, surprise!). Ja rozumiem, że to dział dot. mikrokontrolerów i temat jak najbardziej poruszający układy produkowane też przez NXP, ale jeśli nie miało to być humorystyczne wtrącenie (a właśnie przez brak emotikonek zakładam, że nie miało) to specjalnie dla kolegi michalko12 - owszem, jak vonar napisał, chodziło mi o low pin count. NXP swego czasu chciał szybko tanie cortexy robić konkurujące z atmegami, stąd seria LPC11xx, ale nie kojarzę by jakiś konkretny kawałek tortu tym wykroili, może cortex m0 to jednak za dużo wycięte z ARM. Często z kolei trafiam na STM32F1 (cortex m3) co sugeruje, że jest coś ciekawego w tej rodzinie.

    0
  • #26 15 Lis 2014 00:32
    Jado_one
    Poziom 22  

    tmf napisał:

    WiFi, BT, ethernet, to wszystko czasami łatwiej jest realizować dedykowanymi scalakami, ba, w przypadku WiFi i BT i tak masz dedykowane moduły, bo mało który procek ma wbudowane tory radiowe (z tego co wiem to niektóre AVR mają), a nawet jeśli to i tak projektowanie układu na 2,4 GHz raczej proste nie jest. A od czasu kiedy mamy FT800 to i z TFT na małych prockach nie ma problemu.
    [...] Z FT800 mamy prosty interfejs SPI.
    Oczywiście ze względu na tylko trzy dekodery QDEC z XMEGA więcej niż trzema silnikami BLDC z enkoderem nie zasterujesz, ale bez problemu zasterujesz nawet 4 silnikami BLDC bez enkodera, z kontrolą prądu, bo masz 2xAWeX i 4xkomparator z możliwością podłączenia DAC pod jedno z wejść. W połączeniu z DMA i event system daje to możliwosć całkowicie sprzętowego sterowania 4 silnikami BLDC. Pytanie o sens, skoro za grosze można kupić scalone sterowniki silników z wbudowanym mostkiem na kilka amperów, a oferta ciągle się poszerza. Także znowu jakąś część zastosowań załatwiają dedykowane scalaki.

    Własnie - wydaje się, że jest tendencja do wrzucania różnych skomplikowanych obsług do dedykowanych scalaków - pojawia się coś w stylu koprocesorów tematycznych, karmionych tylko danymi z głównego procesorka.
    Nie trzeba się już znać na Ethernecie, BT, kodekach audio i obsłudze TFT ;-)

    Następnym krokiem będzie chyba integracja tych peryferiów wewnątrz scalaków - bo dzisiaj często wąskim gardłem staje się np. magistrala SPI - gdyby układ był wewnętrznie podłączony do szyny danych/pamięci, szybkość transferu nie była by ograniczona.

    0
  • #27 15 Lis 2014 09:31
    BlueDraco
    Specjalista - Mikrokontrolery

    TMFie drogi,

    Zupełnie nie rozumiem, skąd Twoje obawy elektryczno-płytkowe co do Cortexów. Dotychczas wszystkie moje projekty mam zrobione na płytkach dwuwarstwowych w montażu jednostronnym i z połączeniami ani odsprzęganiem zasilania problemów nie napotkałem. Obudowy z rastrem wyprowadzeń 0.5 mm lutuję grotem minifalą, co zajmuje mi zwykle max. 5 minut (czasem minutę). Jeśli raster jest większy - 0.65 lub 0.8 - to z zamkniętymi oczami robisz to poniżej minuty. 100 MHz jest wyłącznie wewnątrz układu, na zewnątrz masz takie częstotliwości, jakie chcesz mieć w danym projekcie.

    A same płytki "amatorsko" możesz zrobić u Chińczyków (2 warstwy, mask, opis, frezowanie dowolnego kształtu) w cenie 2.5..5 USD/dm2 - tydzień produkcji i 1..8 tygodni oczekiwania na przesyłkę. (Jeszcze nie korzystałem, ale pewnie za chwię wypróbuję). W Polsce też można - ok. 40 zł/dm2 bez frezowania.

    A wracając do tematu tego wątku: trup całkiem świeży, zupełnie jak nowy. Pewnie przyda się w nowej wersji 20-letniego pilota TV, tańszej o 10 centów od starej - i już do niczego więcej. Nawet miganie diodami łatwiej i ładniej zrobić na najtańszym Cortexie.

    0
  • #28 15 Lis 2014 11:24
    tmf
    Moderator Mikrokontrolery Projektowanie

    Szanowny BlueDraco :)
    Ależ ja nie mam najmniejszych problemów z lutowaniem tych scalaków, ba, od kiedy wkładam płytkę do piekarnika to nawet BGA mi niestraszne, a powoli elementy 0805 wydają mi się monstrualnie wielkie i przechodzę na 0603. Problem mam z routowaniem ścieżek. Na 2-stronnym laminacie dobry projekt, czy w ogóle projekt, gdzie mam poroutowanych 100% połączeń to kilkanaście godzin pracy. Może nie jestem zbyt zdolny, ale tak to u mnie wygląda. Bardzo powoli płytki 4-warstwowe stają się dostępne, ale na dzisiaj taka płytka wykonana w rozsądnym czasie to koło 400-500zł. W dodatku trzeba kupić jakiś CAD, bo ciężko znaleźć coś darmowego z autorouterem. Oczywiście ten problem nie dotyczy tylko ARMów, taki sam jest np. w przypadku XMEGA A1 jeśli wykorzystujemy EBI.
    Co do częstotliwości - te 100 MHz (a czemu nie 168, skoro tyle fabryka daje) mam w środku, ale i tak odpowiednie odsprzęganie trzeba zapewnić. Jednak to już nie 20-30 MHz, które można traktować prawie jak prąd stały :) Jest tez problem z IO - oczywiście taktowanie mogę zmniejszyć dla IO, ale stromość zboczy będzie ciągle ogromna, czyli zakłócenia w szerokim paśmie, odbicia itd. Oczywiście wiem, że niektóre ARMy mają układy ograniczające stromość zboczy, ale jest to kolejny temat o którym trzeba pamiętać. Abstrahując od rodziny, MCU stają się co raz bardziej skomplikowane i wyrafinowane, wymagają też co raz większej wiedzy. Dlatego odpowiedni start jest co raz trudniejszy, co zresztą widać po pytaniach początkujących.

    0
  • #29 15 Lis 2014 19:28
    BlueDraco
    Specjalista - Mikrokontrolery

    Prawdziwi mężczyźni nie używają autorouterów. ;) Nie wyobrażam sobie, żeby jakiś głupi automat miał mi poplątać połączenia na płytce, którą ja potem mam uruchamiać.
    Ja się powoli przesiadam na 0402 - zaczynając od kondensatorów blokujących, ale BGA nie tykam - muszę widzieć połączenia, inaczej nie wierzę. BGA bez 4 warstw praktycznie nie zrobisz, chociaż można wskazać parę wyjątków od tej reguły. Nigdy nie miałem problemu z zakłóceniami od zboczy sygnałów na zewnątrz uC.
    Nie ma też obowiązku pędzenia procesora na 100 czy 168 MHz, jeśli duża wydajność obliczeniowa nie jest potrzebna. Mam parę projektów z Cortexami chodzącymi na 8, 12 lub 24 MHz.

    0
  • #30 15 Lis 2014 22:58
    tmf
    Moderator Mikrokontrolery Projektowanie

    Ja tam lubię jeśli autorouter zrobi mi połączenia, a ja później poprawiam/edytuję istotne. BGA moge się tykać, gdyż mam dostęp do RTG i mi kolega może prześwietlić płytkę w razie problemów. Oczywiście obowiązku pędzenia na 168 MHz nie ma, lecz 24 MHz to wydajnościowo mi XMEGA pokrywa. Więc nie czuję potrzeby przejścia na Cortex F4. 0402 zostawiam na przyszłość, już na 0603 trzeba uważać żeby nie wciągnąć w płuca :)

    0