Oczywiście, że event system może reagować na zbocza - robi to analogicznie jak system przerwań. Czyli musisz skonfigurować poziom/zbocze i podłączyć pod event system.
O ADC będzie w drugiej części, już wkrótce. Tak, możesz zainicjować jednocześnie wszystkie kanały, lecz konwersja nie będzie jednoczesna. Cztery kanały ADC tworzą potok, konwersja w ramach potoku odbywa się co 1 takt CLKADC (kanały odpalane są zgodnie z priorytetem). Dla dwóch oddzielnych ADC jakie ma XMEGA możesz przetworniki odpalić jednocześnie....
Tak, da się. Licznik musi być taktowany z event system, którego kanał podłączasz pod pin, a sam licznik musi pracować w trybie capture, tak, że drugi event powoduje przepisanie licznika i w efekcie zatrzaśnięcie jego wartości.
A ja z uporam maniaka będę powtarzał: - XMEGA128A1 obsługuje tylko 4-bitowy SDRAM; - XMEGA128A1U obsługuje 4-bit i 8-bit SDRAM, ponieważ obsługuje EBI 4-port (porty E/F). Ale nawet jeżeli wybierzesz pamięć 8-bit, to zysk prędkości jest niewielki (<20%) ze względu na wszystkie dodatkowe czynności związane z adresowaniem i obsługą SDRAM. Zgodzę się...
Po pierwsze enkoder możesz obsługiwać sprzętowo na XMEGA - w tym celu konfigurujesz event system na QDEC, a dowolny timer będzie ci zliczał impulsy i pracował jako enkoder. Co do transmisji USART - można paczki odbierać przez DMA, co jest wygodne, można to zrobić w oparciu o przerwania. W tym celu odblokowujesz przerwanie RXComplete sygnalizujące gotowy...
To kiedy event jest generowany można sobie skonfigurować, np. dla pinu można wybrać zbocze lub poziom (narastające, opadające, poziom niski, wysoki), podobnie jest w przypadku innych generatorów eventów. Dla ADC może to być koniec przetwarzania lub uzyskanie wartości poniżej lub powyżej określonej wartości referencyjnej. ADC może też być targetem dla...
(at)Marek_Gorecki Przecież jeśli masz komparator i masz dostępne wejścia, a także wyjście (w każdym AVR, w tym w XMEGA, możesz przepiąć wyjście na pin IO MCU), to możesz ten komparator wykorzystać jako generator. Całkiem to ładnie działa, w dodatku komparatory w XMEGA są dosyć szybkie. Wyjście przez event system sobie routujesz na timer, a w E5 timer...
(at)kamil94goldman Jeśli to do sterowania PWM to możesz użyć AC w połączeniu z timerem. Timer na wyjściu daje 1 włączający klucz, prąd rośnie, włącza komparator, który przez event system wysyła polecenie zerowania timera, co wyłącza klucz do momentu, aż prąd spadnie poniżej progu zadziałania timera. Nie wiem czy event od AC jest generowany w sposób...
AT90PWMx - Produkt w fazie zakończenia produkcji. Nie ma sensu w to inwestować. ATTiny26 - zupełnie bez sensu jeśli idzie o falowniki. Praktycznie żadnego zysku względem mega88. ATXMEGAxx - od biedy może być do nauki. Ale pamiętaj o upierdliwości ADC w trybie single ended (offset), braku synchronizacji pracy liczników z jedną podstawą czasu, pomiar...
Tego jitteru w żaden programowy sposób nie wyeliminujesz. Jego powodem jest to, że wejście w ISR trwa nie zawsze tyle samo - XMEGA wykonuje instrukcje w ciągu 1, 2 lub 3 taktów, a ISR nie przerywa instrukcji, lecz CPU musi ją najpierw dokończyć. Więc w zależności od wykonywanej instrukcji już masz jitter 0-2 taktów. Do tego, jeśli MCU wykonuje inne...
Nowe procesory oparte o listę rozkazów AVR ujrzały światło dzienne, zegar do 32 MHz i wewnętrzne DMA pomiędzy pamięciami i peryferiami oraz Event System wyzwalający ustalone zdarzenia pomiędzy np. przerwaniami to moim zdaniem najciekawsze elementy architektury. No i 5...8 liczników 16 bit w każdym... Będzie o czym dyskutować. Więcej tu : http://www.atmel.com/products/AVR/defaul...
Warto dodać, że te nowe AVR serii Dx również są dostępne jako płytki curiosity nano, a więc z wbudowanym programatorem/debugerem. Istotnie to bardzo fajne procki. Mają też znany z XMEGA event system, niestety nie mają DMA USB. Wielka szkoda.
https://obrazki.elektroda.pl/3227491500_... https://filmy.elektroda.pl/98_1514068986... Właściwie mamy już Święta i świąteczny konkurs w DIY. A w nim sporo konstrukcji opartych na programowalnych diodach WS2812B. Stąd też, aby ułatwić innym realizację świątecznych projektów oświetleniowych, postanowiłem podzielić się rozwiązaniem...
https://obrazki.elektroda.pl/2220939900_... Mikrokontrolery AVR cieszą się niezmienną popularnością, ze względu na swoją prostotę, a jednocześnie spore możliwości. Co ciekawe, mimo, że od lat wszyscy wieszczą rychłą śmierć mikrokontrolerów 8-bitowych, mają się one ciągle dobrze, a kolejne, nowe rodziny są wprowadzane na rynek. Jakiś...
Wydaje się, że przejęcie Atmela przez Microchipa nie oznacza końca rodziny AVR, a wręcz przeciwnie. Tu link do wiadomości prasowej dotyczącej nowych procesorów AVR: https://www.microchip.com/pressreleasepa... Brzmi ciekawie, szczególnie pobór mocy w power down równy do 100 nA, możliwość pracy peryferii przy zatrzymanym...
W przypadku XMEGA manuale trzeba brać z przymrużeniem oka. A przynajmniej konfrontować to co piszą w manualu z rzeczywistością, pomaga w tym symulator wbudowany w Atmel Studio. Co prawda w manualu rejestru TIMCTRL nie ma, ale już w pliku io.h opisującym 256a3BU jego definicja jest: [syntax=c]typedef struct DAC_struct { register8_t CTRLA; /* Control...
Dla małych kontrolerów, w stylu ATmega, z powolnymi zegarami, trzeba by chyba napisać kod w ASM, aby mieć kontrolę nad tym, ile taktów zegara zajmuje wywołanie przerwania, włączenie lub wyłączenie licznika, bądź też jego przeładowanie. Dostępne są tylko liczniki 16 bitowe, więc trzeba byłoby je regularnie przeładowywać i zapamiętywać ilość przeładowań,...
Na tym polega piękno XMEGA i event system, że jak to wszystko skonfigurujesz to hula bez udziału rdzenia i żadnego kodu nie potrzebuje. Tak, timer określa częstotliwość pobierania próbek. Do tego timera podłączasz kanał evsys - do zdarzenia ovf timera. W ADC ten kanał wybierasz jako wyzwalacz konwersji. Drugi kanał evsys podłączasz pod zdarzenie końca...
AVRy są za cienkie tutaj (pasmo ADC, RAM) Wiem, to tylko było jako ciekawostka. Aczkolwiek... przy wspomaganiu obliczeń przez te klony może z tego wyjść całkiem niezłe FFT (oczywiście jako hobbystyczne rzeźbienie, bo prościej użyć jakiegoś ESP, czy pico właśnie). Kiedyś popełniłem analizę na VS1003B - pewnie jeszcze pamiętacie - był taki dekoder mp3....
Marico Oczywiście jeśli mówimy o AVR typu ATTiny lub ATMega, w przypadku XMEGA odtwarzanie wav praktycznie nie obciąża MCU dzięki wykorzystaniu DMA. Jeśli chodzi o DREQ to dzięki wykorzystaniu w XMEGA event system i DMA transfer danych do VS10xx odbywa się całkowicie sprzętowo z bufora w RAM MCU. Sprawdzanie DREQ przez pooling oczywiście jest bardzo...
(at)tronics IMHO układy typu ATMega256 nie mają sensu. Skomplikowana adresacja, jednocześnie zwykle przy takiej ilości FLASH chce się nieco większą moc obliczeniową lub więcej RAM, peryferia też nie są mocną stroną rodziny ATMega. IMHO ciekawie wyglądają nowe ATTiny - niby mają byc prostsze niż ATMega, a nowa rodzina ma zaawansowane peryferia z XMEGA...
Bo to trzeba użyć nowej atmegi tam licznik jest dwukierunkowy i będzie generował przerwania także przy przejściu przez '0' W XMEGA timer też jest dwukierunkowy. Problem się pojawia tylko przy rozszerzeniu do 32-bitów, bo event system transmituje wyłącznie zdarzenia overflow, ale nie underflow - nie steruje kierunkiem drugiego timera Niestety nie udało...
(at)tmf To kiedy można się spodziewać książki poświęconej tej serii procesorów W 95% informacje podane w książkach o XMEGA dotyczą też tej rodziny. Ale jeśli będzie zapotrzebowanie to czemu nie. Rozbudowane peryferia, custom logic i event system zbliżają te procesory do hybrydy AVR + megaproste CPLD, a to stwarza wiele ciekawych możliwości realizacji...
Nie. Xmega w obliczeniach nie jest szybsza niż stare AVR8. Większość wprowadzonych w niej rozwiązań ma za zadanie odciążyć rdzeń od liczenia czegoś, co nie jest potrzebne do liczenia. Np. zamiast CPU nadzorować pracę ADC i UART kopiując "manualnie" dane między rejestrami to xmega wykorzysta event system z dma i oprócz wstępnej konfiguracji rdzeń procesora...
Rozważałem użycie interfejsu szeregowego, ale pojawił się problem przepustowości no i organizacji wyników. AD7608 umożliwia taktowanie SPI 16MHz, więc 2MB/s powinienem wyciągnąć. I w sumie wszystko automatycznie się robi, więc fakt, może to pomóc. Ale policzmy: 8 wejść x 18 bit = 144tc. I zajmuje to czas 1/16MHz * 144tc = 9us. Więc max. prędkość ograniczona...
Czy komunikacja poprzez RS485 bez izolacji galwanicznej w takim układzie nie sprawia problemów? Bez problemów, RS485 toleruje napięcie wspólne do o ile pamiętam 12V. Poza tym układy na szynie mają wspólną masę, więc tym bardziej nie powinno być problemów. IMHO w znakomitej większości przypadków RS485 separacji nie wymaga. Czy zdradzi kolega tajemnicę...
Bardzie liczyłem że ma ktoś sprawdzony gotowy program. Masz tam sprawdzone kody obsługi I2C. Musisz tylok dodać obsługę tego HD, co jest raczej proste, zresztą pewnie też znajdziesz gotowce na I2C, wystarczy tylko podmienić komendy I2C na te z moich przykładów do XMEGA. Dlaczego enkoder w xmega działa tylko na CH0,2,4 / w systemie zdarzeń/ ? Bo tam...
XMEGA jest bardziej rozbudowana niż ATMega, więc więcej się nauczysz na niej - ma np. DMA, w pełni konfigurowalny zegar, event system, czy DAC. W efekcie masz w prostym 8-bitowcu peryferia, którymi normalnie dysponują 32-bitowce.
Ta matryca, którą masz jest naprawdę fajna. Wbrew pozorom możliwość wpisywania na raz 8 bitów jest wygodna - na XMEGA jeśli wykorzystasz DMA i event system tak jak napisałem (do wyzwalania przesłań DMA i generacji sygnałów SCK i LE użyjesz timerów), to całe sterowanie matrycą będzie realizowane całkowicie sprzętowo przez ukłądy peryferyjne XMEGA, a...
W XMEGA łaczysz timer z wybranym wejściem poprzez event system. EV możesz wykorzystać do wyzwolenia timera - zobacz w opisie timera polecenia jakie obsługuje. Jesli jednak chcesz mierzyć okres pomiędzy impusami to prościej ustawić timer w tryb mierzenia okresu i przez EV doprowadzić mierzony sygnał. Z kolei jeśli chcesz liczyć liczbe impusów, to po...
Wyzwalanie konwersji przy pomocy event system. Częstotliwość - można i jednym i drugim. Chociaż przy pomocy samego PER z pewnością wygodniej.
Efekt końcowy jest taki, że nie ma różnicy. Jednak dla porządku zablokował bym przerwanie w rejestrze MASK dlatego, że do rejestru kontrolengo pinu czasami się zapisuje coś nowego. W efekcie przypadkiem możesz odblokować konfigurację np. w związku z konfiguracją event system i nagle program zacznie wywoływać jakieś dziwne przerwania... Jak zablokujesz...
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...
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...
Wejście w przerwanie trwa co najmniej 15 taktów, czyli dla 48 MHz będzie to 0,3125 us (zapewne dłużej, bo FLASH będzie wymagał pewnie 1WS). I nagle się okaże, że mamy ten sam problem co w AVR - zaledwie kilka instrukcji do dyspozycji, zanim nie przekroczymy granicy 1 us. No dobra, niech nawet będzie 0.4us. Zostaje 0.6us, a więc jakieś 28 cykli - to...
Mikrokontrolery AVR firmy Atmel zdobyły bardzo dużą popularność na polskim rynku. Dotychczas producent oferował nam dwie rodziny: ATtiny oraz ATmega, które różniły się możliwościami i ceną, choć sposób ich programowania był identyczny. Wprowadzając najnowszą rodzinę, XMEGA, producent dokonał bardzo istotnych zmian, zarówno w budowie procesora, a także...
Przeczytaj dokładnie opis w nocie. Wyraźnie pisze, że pola EVSEL wybierają kanał Event System współpracujący z ADC, natomiast pola EVACT określają co ten kanał robi - NONE - nic nie robi, czyli EVSEL jest bez znaczenia, CH0 - kanał wybrany przez EVSEL wyzwala konwersję, SYNCSWEEP - robimy FLUSH + wyzwalamy konwersję. Zwyczajnie myślałem, że skoro wybieram...
Nie możesz ładować kolejnych wartości DAC, kiedy ci się podoba. Następna wartość musi wylądować w DAC w ściśle określonym czasie, wyznaczanym przez samplerate. Chyba, że konwersję DAC wyzwalasz np. przez event system - wtedy nową wartość trzeba załadować tuż przed zajściem zdarzenia wyzwalającego konwersję. Używanie jakiś programowych opóźnień zupełnie...
tmf dał byś radę wskazać gdzie jest zawarty przykład z ADC ? W przykładach, które pobrałem z helionu mam takie katalogi: ADV CDT DMA Event system FSM IR LED NVM OSC Porty IO Przerwania R02 R04 RTC Timery Usart Ale nie znalazłem nic o ADC
Da się to zrobić korzystając z różnych rozwiązań, np. wyprowadzając event sytem na IO, lecz jeśli chcesz podłączyć LCD z interfejsem i8080 to po prostu bierzesz XMEGA A1 i korzystasz z interfejsu pamięci zewnętrznej (EBI). DMA zapisuje/odczytuje dane, a sygnały sterujące generuje EBI.
Można mnożyć razy 8 i to zwykle wystarcza :) Raz miałem potrzebę zliczać SCK, dla prostego wyliczenia wydajności transferu danych - nie chciałem, aby dodatkowe instrukcje zliczające bajty miały wpływ na wynik. W tym celu można podać SCK na wejście taktujące timera. To chyba jedyna opcja w ATMega. W XMEGA jest o tyle łatwiej, że stosowne połączenie można...
Jeśli chcesz podłączyć enkoder absolutny i w dodatku sterowany silnikiem - zakładam, że impulsów na sekundę będzie sporo to tym bardziej przejdź na XMEGA - mają sprzętowy układ dekodera dla enkoderów m.in. absolutnych z indeksem. Wtedy podłączysz enkoder do dowolnego wejścia, które sobie zroutujesz do sprzętowego dekodera przy pomocy event system. Zresztą...
Obecnie ceny XMEGA kształtują się niżej niż takie same po względem ilości pamięci FLASH klasyczne AVRy. To znaczy cena XMEGA z 16 kB FLASH to 5-8zł (XMEGA16D4), do około 12-30 zł za większe. Przy czym nawet dla małych masz o wiele bardziej wypasione peryferia, np. kilka USARTów, kilka timerów 16-bitowych z możliwością podziału, DMA, Event System itd....
Panowie, a możecie mi jeszcze podpowiedzieć co robię źle w programie niżej? Otóż, chodzi mi o to, aby uruchomić timet TCC0, aby chodził sobie w kółko, a nastepnie podając na PIND6 abym zatrzaskiwał wartość tego timera i go wyświetlic potem. Timer skonfigurowałem tak: [syntax=c] TCC0.CTRLB = (1<<TC0_CCAEN_bp) | TC_WGMODE_NORMAL_gc; TCE0.CTRLA =...
Korzystając a Xmega nie potrzebujesz przerwań do obsługi operacji I/O. Po prostu skonfiguruj Event system na wywołanie transferu DMA między SRAM a portem będącym odpowiednikiem linii DTA. Jeżeli dodatkowo potrzebujesz korektę z linii adresowych, to wykonujesz transfer z linii ADR na rejestr indeksowy i w następnym takcie DTA do SRAM (czy odwrotnie)...
Trudno mi ocenić czy AVR nie uciągnie, bo obawiam się, że jeszcze jakieś warunki trzymasz w rękawie :) Robiłem jako przykład do książki sterowanie matrycą RGB z odcieniami kolorów realizowanymi przez PWM (czyli procek pełnił rolę układu WS2812) i XMEGA się nudziła, generując obraz na matrycy. Ale wynika to z wykorzystania DMA, timerów i event system,...
Witam , Po dłuższej przerwie próbuję się przeprosić z AVR-ami , przechodząc jednocześnie do XMega, zadanie jest proste - pomiar obrotów z wejścia PC0 . 1. Timer TCC1 - odmierza czas 100us 2. Timer TCC0 - używa przepełnień TCC1 jako zegara , strobem do pomiaru okresu / "częstotliwości" jest routowany sygnał z PC0 3. Flaga TCC0_CCA ma być z kolei wyzwalaczem...
A w jakim znaczeniu mega32 jest szybsza od 16? Rdzeń procesora jest ten sam i max. częstotliwość poprawnej pracy także. Nowsze megi mają co prawda podniesione o 4MHz (20 vs 16) a xmegi nawet do 32MHz, ale jeśli jest kolega pewien, że program zawsze robi to co musi i aż tyle czasu to zajmuje to zastanowiłbym się nad analizą co ile czasu zajmuje i ewentualnie...
Chyba najlepiej by było zrobić dodatkowe przerwanie, które realizowało by elementarne operacje na magistrali 1Wire, czyli włączało stan niski linii i go zwalniało. Wtedy nie byłoby tego czekania 480 us i to dodatkowe przerwanie mogłoby przerwać przerwanie silnika na nieistotny czas. Tylko, czy to nie jest za duża komplikacja? Na czas nadawania reset...
No więc kiedyś kolega drzasiek dumał nad powieszeniem ADC 8 bit na szynie EBI w xmega. Nie wiem czy to zrobił czy nie ale ja tak zrobiłem. I niestety jestem nieco zawiedziony. Przykładowo na wewn ADC da się wyciągnąć ok 6-8MSPS w 8bitowej rozdzielczości przy 48Mhz, nie jest to wcale zły wynik na adc w avr i bascom. Problem jest w tym że DMA w połączeniu...
xmega event system event count event driven
oporność głośnik schemat elektryczny lusterek mosfet bateria laptop
schemat inwertera hybrydowego schemat falownika hybrydowego
Sound Pad - Piszczenie dźwięku przy uruchamianiu Whirlpool ADG875 - Błąd F6 E4 - Przyczyny i Naprawa