Tak jak pisze (at)atom1477 pokaż layout płytki, dla kwarcu 16 MHz kondensatory powinny być rzędu 8-12 pF, ale dokładnie możesz je policzyć jeśli poznasz pojemności kwarcu z noty. Jest jeszcze jeden problem - BASCOM. Zobasz na wygenerowany asembler, jak wygląda procedura przełączania zegara. Być może tu jest problem. Próbowałeś odpalić program w debuggerze...
Fusebitów nie dotykaj, poza BOD nie ma tam nic ciekawego. To nie ATMega8, gdzie trzeba było konfigurować fusebitami zegar. W XMEGA zegar konfiguruje się programowo, domyślnie startuje na wewnętrznym RC 2 MHz, ten zegar możesz powielić korzystając z PLL do 32 MHz. Akurat kwarcu zegarkowego nie a się wrzucić na PLL ze względu na dolne ograniczenie częstotliwości,...
XMEGA zawsze startują z zegarem 2 MHz, programowo możesz sobie potem to zmienić - wybrać np. dostępny na Xplained kwarc zegarkowy, skorzystać (jak w powyższym przykładzie, błędnym zresztą) z wbudowanego RC 32 MHz, masz też do dyspozycji PLL i 3 preskalery zegara. Na twoim Xplained możesz wybrać dowolny wewnętrzny generator zegara, lub kwarc zegarkowy,...
To jest zwykła matematyka jak potrafisz uprościć wielomian uprościsz zapis w asemblerze tylko co tu upraszczać jak tam są operacje zajmujące pojedyncze cykle zegara ?
Jeśli dasz flush za każdym razem oczywiście musi też zdawać sobie sprawę z konsekwencji. Lepiej ustawić tak ADC aby na pewno było gotowe do kolejnej konwersji przy następnym trygerzu. Wtedy też konwersja wystartuje przy następnym takcie zegara.
Nie spudłowałem. Kolega pytał, czy ktoś tego używa! ;) Fakt, na AVR, jeśli komuś nie wystarcza 16 bitów, to stosując 24-bitowe typy ma działania tylko 3-, a nie czterokrotnie wolniejsze niż na Cortexach z o połowe niższą częstotliwścią zegara. ;)
SRAM będzuie zdecydowanie z XMEGA niż SDRAM. SDRAM pokazuje pazurki przy dostępie sekwencyjnym, gdzie może zapisywać/odczytywać co cykl zegara, niestety kontroler SDRAM z EBI XMEGA nie obsługuje trybu burst, więc każdy zapis/odczyt poprzedzony jest całą komendą dla SDRAM. To może trwać ponad 12 cykli zegara taktującego SDRAM, czyli 6 i więcej cykli...
Dlatego, że podczas symulacji Atmel Studio symuluje procesor, w efekcie wie ile wykonał instrukcji i jakich - program jest wykonywany instrukcja po instrukcji, nawet jeśli dajesz mu run. W trybie debugowania sprzętowego pomiędzy pułapkami sprzętowymi może minąć dowolna liczba, dowolnych instrukcji. W efekcie nie ma jak ich policzyć i cycle counter nie...
Nie masz żadnego opóźnienia pomiędzy ustawianiem linii CLK na 1 i na 0 tutaj:[syntax=c]SET_SCK; CLEAR_SCK; return Count;[/syntax] Nie wiem jaki masz zegar i nie mam praktyki z Xmega, ale są one dość szybkie i jest spora szansa, że ten impuls nie spełnia wymagania na minimalną długość 200ns. W tym drugim miejscu też czas może być na granicy. To tylko...
F_CPU to tylko parametr w Atmel Studio używany przez kompilator np. dla określania prawidłowych wartości w funkcji _delay_ms(xxx); To nie definiuje częstotliwości zegara. Xmega po każdym resecie startuje z wewnętrznego oscylatora 2MHz. Jeżeli chcesz inną częstotliwość, której nie uzyskasz z preskalera, to musisz skonfigurować źródło, zaczekać aż się...
O ile nauczysz się programować, to sprzętowo nie widzę problemu. 6 kanałów próbkowanych na 400Hz z urządzenia na SPI + 9 wartości 16-bitowych wyliczanych z pomiarów i to wszystko razem rozłożone na kody ASCII zapisywane do pliku .csv zrobiłem bez problemu na Xmega z zegarem 20MHz. Ten sam procek obsługiwał jeszcze dostęp do karty pamięci ((at)SPI) w...
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...
Ta zmiana jest właściwa - SoF służy do kalibracji oscylatora. Jednak nie genereuje on już 32 MHz, lecz jest przestrojony na 48 MHz, czego wymaga USB, a rdzeń jest zapewne taktowany przez preskaler, który robi z tego 24 MHz. Częstotliwość taktowania możesz określić przeglądając rejestry generatora zegara.
Jeśli moduł rf jest zintegrowany z mikrokontrolerem to korzysta on z wewnętrznej magistrali danych skraca to czas aktywności mikrokontrolera do minimum . Każdy inny moduł transceivera będzie wymagał wysłania do niego danych np. po spi to zajmuje czas bo raz że trzeba wysłać dane do modułu spi , napędzić zegar i je wysłać , w przypadku gdy masz zintegrowany...
Tak jak pisął kolega powyżej działa bardzo dobrze. Pokaz kod. Cos pewnie pomyliłeś. Dodano po 12 Masz tez linka ko grko do porstszej biblioteki. 1024 - to żadna wielka transmisja. Szczególnie że jest ona synchroniczna (czyli w odróznieniu od asynchronicznej zegary odbiornika i nadajnika nie moga się rozjechać).
Nie wiem jak to wygląda w bibliotece Atmela, przypuszczam, że niekoniecznie low speed jest zaimplementowane. W każdym razie jedyne co trzeba zrobić to wyzerować USB_SPEED_bm w CTRLA i skonfigurować zegar USB na 6 MHz. Z tego co mi się kojarzy to low speed ma spore ograniczenia i praktycznie do niczego się nie nadaje (jakieś małe transfery z urządzeń...
Te min 10kHz ma być cały czas aktywne w trakcie całego okresu programowania, a linią danych synchronizujesz się do tego zegara. Masz tak zrobione?
Tu masz małe kompendium różnych ustawień zegara systemowego w XMega (testowane i odpalone na ATXMega128A4U): [syntax=c] /* * XMEGA128A4U_Clock1.c * * Created: 2013-05-21 23:33:56 * Author: Piotr */ #include <avr/io.h> #include <util/delay.h> int main(void) { /* //internal 32MHz oscillator //-DF_CPU=32000000 OSC.CTRL |= OSC_RC32MEN_bm;//włącz...
Osobiście też uważam, że AVR Studio tu w zupełności wystarcza, załączam screen z ustawieniami dla kwarcu 16MHz: http://obrazki.elektroda.pl/3834405400_1... Dodano po 10 Cóż, kondensatory muszą być, inaczej (mnie przynajmniej) raz ruszało a raz nie. Natomiast jeśli masz obawy to są dwa rozwiązania na przyszłość - wybierać procki z JTAG,...
Powinno grać takie coś: [syntax=c]void Osc32MHz(void) { OSC.CTRL = OSC_RC32MEN_bm; // włączenie oscylatora 32MHz while(!(OSC.STATUS & OSC_RC32MRDY_bm)); // czekanie na ustabilizowanie się generatora CPU_CCP = CCP_IOREG_gc; // odblokowanie zmiany źródła sygnału CLK.CTRL = CLK_SCLKSEL_RC32M_gc; // zmiana źródła sygnału zegarowego na RC 32MHz LcdClear();...
Co to za funkcja xmit_mmc(0xff,1); Czy inicjujesz odpowiedzi dalszym wysyłaniem 0xFF? Musisz utrzymać zegar CLK SPI przez cały czas odbiorania danych. Wyslij tyle bajtów ile odczytujesz.
Albo kup XMEGA gdzie zegar się konfiguruje programowo i nie ma możliwości zablokowania procka.
W XMEGA zegar konfiguruje się programowo a nie fusebitami. Jeśli używasz XMEGA do USB i wykorzystujesz bibliotekę, do której wcześniej dałem ci linka to XMEGA jest w niej taktowana zegarem 24 lub 32 MHz - dokładnie nie pamiętam, ale zmienia się to w pliku konfiguracyjnym. Tak czy siak, nawet 24 MHz do przemiatania klawiatury jest wystarczające. Jeśli...
Witam, bawię się jako początkujący procesorami ARM i Xmega. I mam kilka przemyśleń, nie wiem czy słusznych. Zależy mi na bardzo szybkiej reakcji na przerwanie zewnętrzne INT. I tu jest moja wątpliwość, otóż co z tego, że taktowanie wynosi 72MHz, jeżeli w każdym przerwaniu zewnętrznym muszę najpierw dać ifa sprawdzającego skąd ono pochodzi czyli np:...
Najtańszy RTC to podłączyć kwarc pod TOSC ATMegi8, mając licznik, datę i czas sobie policzysz (zobacz time.h). A jeśli potrzebujesz podtrzymanie i wiele więcej, to najtaniej kupić XMEGA serii A3 - w cenie RTC dostaniesz doskonały procesor, z niezłym RTC.
Mowi Pan ze ten kontroler dopuszcza zegar SPI 10MHz. To kiepsko bo wtedy nie bedzie za plynne zmiana calego obrazu. Na youtube pokazane sa filmiki jak xmega jest przetaktowana i wtedy przy SPI 30MHz wszystko jest mega plynne. Wiec gdzie jest haczyk ? Pracuje z szybszym zegarem czy jednak nie ?
Ale po co ci zewnętrzny komparator? Wewnętrzny jest wystarczająco szybki do takich aplikacji. Jeśli zrobisz tak jak piszesz, to transmisja zdarzenia trwa 2 takty zegara. Jednak korzystając z wbudowanego w AWeX fault detection możesz dodatkowo skonfigurować stany IO w stanie fault.
Kod działa, przetestowałem na xmedze 128a3 i atmedze 32a. Nrfy miały dolutowane na pinach, pomiędzy Vcc i GND po dwa kondensatory, tantal 10u i ceramik 100n. Xmega taktowana zegarem wewnętrznym 2MHz, atmega taktowana kwarcem 16MHz. Używałem starych nawyków z atmeg a nie struktur ze względu na to, żeby nie popełnić trudnych do wykrycia błędów przy portowaniu...
(at)tmf Odnosząc się do Twojego postu (#15), to warto zwrócić uwagę na inne kontrolery LCD, np. [url=http://www.allshore.com/pdf/solomon... lub ILI9806G. Każdy z nich może bez problemu pracować z zegarem rzędu 64MHz. Odnośnie małej elastyczności EBI z Xmega, to jest to tylko i wyłącznie problem Xmega. Jest cała masa innych...
Ok. Zrobiłem taki prosty test, wyciąłem wszystko z kodu, i w do-loop wstawiłem pętle for do 8 z wysyłaniem 8 bitów po SPIx_DATA = data. I teraz ciekawy wynik daje regulacja zegara Xmega, 44Mhz daje 780Khz na lini SCK (miernik częstotliwości) A na 60Mhz, daje już 1,88Mhz, szybciej ok 2,4x, a zegar tylko 1/4 na oko szybszy, jak to jest? SPI na maks, włączony...
Spakowany plik w załączniku. Hardware tak jak wcześniej. Użycie: podpięcie układu pod USB, odpalenie terminala na porcie który utworzył układ. Naciskanie przycisków wywołuje akcje: s - wyświetlanie wartości HEX rejestru DACB.STATUS strzałka w górę - zwiększanie napięcia DAC na wyjściu DAC0 (PortB2) strzałka w dół - analogicznie zmniejszanie pozostałe...
Witam 1. Poszukuje kości SDRAM do współpracy z Xmega128 dzięki której będę mógł zmapować 16MB . 2. Jak wygląda sprawa w projektowaniu PCB , czy tutaj są wartości krytyczne ,tak jak np w przypadku procesorów ARM i SDRAM ? Doczytałem że xmega z sdram może pracować max z zegarem 64MHz (jeśli się mylę proszę mnie poprawić). Na początku chciałbym upchnąć...
Sorki, pomieszałem wartości. W Xmega zegar dla timera pracował z 128 lub 256MHz, ale dla 12-bit timera uzyskałem częstotliwości PWM 16 i 32KHz. Na pewno na STM32 są także podobne timery. Co do Xmega, to nie jestem jakimś jej fanem, ale swego czasu sporo się nią bawiłem i w sporym stopniu ją poznałem, dlatego teraz biorąc się za STM32 mam jakieś porównanie.
BOD jest wyłączony. Jak będe w domu, to sprawdzę, ale zakładałem, że pobór prądu w trybie IDLE z wewnętrznym zegarem 2MHz uzwględnia także oscylator.
Te wewnętrzne oscylatory są niedokładne do tego stopnia, że ostatnio na wewnętrznym 8MHz w Atmega16 nie mogłem się dogadać po serialu 38400 bo predkość faktyczna była 40000 i w terminalu tylko krzaki. Czyli zachowuje się dokładnie tak, jak to opisane jest w nocie.Dopiero nowsze AVRy - XMEGA i nowe ATMega oraz AVR Dx mają wewnętrzny zegar na tyle stabilny,...
(at)dawid.barracuda Pokaż jak ustalasz szybkość UART na XMEGA. Jeśli masz wolne piny to zawsze prościej jest użyć trybu synchronicznego UART. Wtedy master generuje zegar dla slave i nie trzeba się bawić w precyzyjne ustawianie baudrate.
W XMEGA poszczególne peryferia procesora mogą być taktowane różnymi zegarami. Rdzeń procesora chodzi max na 32MHz, ale niektóre układy mogą działać nawet na 128MHz (np. timery). A nawet lepiej, bo w nowszych XMEGA można wykorzystywać oba zbocza zegara timera, co daje efektywne taktowanie timera równe 256 MHz!
A wiesz że Mera 400 to K-202 Karpińskiego? I nie ma zegara centralnego taktującego rejestry :)
Tak, XMEGA chodzi max do 3,6 V, niemniej dzięki DMA można pobrać stan portu w ciągu 1-4 taktów, co dla zegara 32 MHz przekłada się na mniej niż 160 ns, w dodatku całkowicie sprzętowo, bez udziału MCU.
I nie znajdziesz, bo się nie da. Nie tylko w XMEGA, ale w żadnym powszechnie używanym MCU. Policz sam - 16 bitów to zliczanie do 65536, chcesz kilkuset kHz, więc 65536* kilkaset kHz daje nam konieczność taktowania licznika zegarem rzędu kilkunastu GHz. Nierealne.
Jeśli nie masz żadnego punktu odniesienia to nie ma możliwości sprawdzenia z jakim zegarem działa MCU. Przynajmniej w ATMega, w XMEGA masz zegary referencyjne i możesz przestawiać programowo źródło zegara, więc w tym typie AVR da się to zrobić. Można odczytać fusebity, ale to da ci tylko wgląd w konfigurację, ale np. jaki kwarc jest podłączony to się...
Wiem ile to 20/2, ale z jakiejś przyczyny nie zlicza pełnej połowy, o czym wspomina autor. http://mdiy.pl/miernik-czestotliwosci-na... Ja go sobie tak przerobiłem aby wyświetlać na lcd od nokii, lub słać dane po spi do innego MCU, w moim przypadku do xmega, bo jej timery są chyba jakieś skopane albo tak przekomplikowane że nie umiałem...
Czy prawidłowo zastosowałem się do wskazówki stosując najpierw zapis: OSC.CTRL |= OSC_XOSCEN_bm; a na końcu całej operacji wyłączając 2MHz tak: OSC.CTRL = OSC_XOSCEN_bm; ? IMHO tak jest prawidłowo. Wyłączenie generatora 2 MHz nie jest niezbędne, po prostu zmniejsza zużycie prądu. Stosuję optymalizację Os więc pewnie pomimo mojej niewiedzy wszystko...
USART w trybie SPI też działa na 16MHz. f_BAUD = f_per/(2 x (BSEL + 1)) - Manual Xmega AU (ver.F) strona 282. Sam się o tym kiedyś przekonałem nieświadomie jak mi układ nie chciał odpowiadać, bo dostawał za szybki sygnał zegara.
Witam, Ćwiczę ostatnio Xmegę. A ponieważ chcę uprościć konstrukcję, to chce wykorzystać RTC32 i V-bat. Generalnie wszystko udało się już uruchomić poza PWM-ami, łącznie z zegarem i teoretycznie systemem podtrzymania bateryjnego. Pisze teoretycznie, bo nie do końca jestem zadowolony z jego działania. Jeśli chodzi o przykładowe procedury, to korzystałem...
Witam, w temacie https://www.elektroda.pl/rtvforum/topic3... przy pomocy użytkownika JarekC udało mi się dojść, że w funkcji sysclk_init() wyłączane jest doprowadzanie zegara do wszystkich peryferiów. Postanowiłem więc włączyć potrzebne mi peryferia tzn. DMA, DAC, ADC, timer TCC0 i system zdarzen. Chcę wykorzystac te peryferia do generowania...
Ależ dyskusje egzystencjalne, jasny gwint! A wracając do tematu... istnieje możliwość kalibrowania kwarców trymerem jak na schemacie http://obrazki.elektroda.pl/6143433200_1... To metoda stara jak świat ale może okazać się wystarczająca. DS1307 wprawdzie nie potrzebuje żadnych kondensatorów, ale nic nie stoi na przeszkodzie żeby je...
Bo też stosu w AVR zazwyczaj się nie zmienia. Domyślnie biblioteka AVRlibc i kod startowy umieszczają go na końcu SRAM, stos rośnie w dół i dopóki go nie przepełnisz nie ma problemu. Można zmienić jego lokalizację (opisałem to w książce), ale w 99% przypadków jest to niepotrzebne. W praktyce położenie stosu (a raczej innych segmentów pamięci, bo ze...
Witam Czy ktoś z was robił może obsługę wewnętrznego zegara RTC uC AVR z rodziny Xmega D4 ? Jakieś wsparcie od Bascom AVR-a jest w tym kierunku? Pytanie pójdzie do MCS-a ale najpierw tu jeszcze pytam. Dziękuję i pozdrawiam
Witam Próbuję wykonać ćwiczenie z kursu Leona http://www.leon-instruments.pl/2014/01/k... Uruchamiałem ten kod pod eclipse Luna z najnowszym toolchainem. Ww właściwościach projektu dla AVR hardware podałem właściwą sygnaturę procka i jego częsttliwość 62000000 Hz , kompilator wykrzykuje ostrzeżenie jak mam definicję zegra...
Witam Jak jesteś przy Atmedze8 to polecam Atmegę88V, najtańszy procesor z tej serii i pobiera prawie zero prądu, ale jak kiedyś pisałem to wszystko zależy od filozofii programowania, przez dobrze zaplanowany program można zmniejszyć pobór prądu kilkadziesiąt razy. Piotr Ale on używa ATMega8A, który bierze mniej więcej tyle samo prądu co ATMega88V....
Nie wiem, czy to literówka, ale zegar ustawiasz dla TCE0, a resztę dla TCC0. W efekcie TCC0 nie działa, bo nie ma zegara. Próbujesz też ustawić TCC0 w tryb 8-bitowy. Tak rzeczywiście chcesz? Wtedy wszystkie rejestry trzeba traktować jako 8-bitowe. Przy zdarzeniu z pinu, na pinie musisz też określić co ma wywołąć zdarzenie - czy poziom sygnału, czy zbocze.
który program wysteruje 512 lamp RGB w 512 kanałach? Jeśli chcesz to załatwić mergerem - łącząc 3 linie w jedną to znowu pytanie po co akurat DMX? Każdy wysyłający 512kanałów. Wystarczy ruszyć głową. Jaką paletę barw widzi oko ludzkie? 24bit czy mniej? Mniej. Idziemy dalej, jaka jest nieliniowość LED? Dodajmy nieliniowość oka ludzkiego. Dochodzimy...
(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...
(...)(niestety nie da się programowo przełączyć źródła sygnału zegarowego w AVRach) W zwykłych AVRach nie, ale seria Xmega już oferuje takie możliwości
Problemem okazały się brak mocy procesora, stąd wyższy poziom optymalizacji pomógł go, przynajmniej tymczasowo, rozwiązać. Dalej jestem ciekaw czemu tak się stało, mimo poszlak, że procesor tej wolnej mocy powinien mieć więce Nie podałeś jakim zegarem taktujesz procek (XMEGA domyślnie to 8 MHz, ale można max 32 MHz), nie podajesz jak kodowany jest...
Dokładne wartości znajdziesz w nocie użytego kwarcu. Z pewnością dla kwarcu 12 MHz i 32 kHz będą różne. Na oko można strzelać, że dla kwarcu 12 MHz to będzie coś koło 8-10pF, dla kwarcu zegarkowego koło 20pF. Pamiętaj, że jeśli użyjesz kwarcu zegarkowego to drugi nie jest ci potrzebny, chyba, że wewnętrzny RC ma za małą częstotliwość. Kalibrację wewnętrznego...
(at)tmf & (at)R-MIK co ciekawe po dodaniu małego kondensatora ceramicznego między pin C0 a GND wygląda na to że wszystko działa poprawnie. Może te 8 cylki filtru nie wystarcza? Policz stałą czasowa filtra RC (ja dawałem 10nF, podciąganie jest ok 40k), czas drżenia styków (10..20ms) a czas trwania 8 cykli i wszystko stanie sie jasne. Drżenia styków...
Rejestru PER faktycznie nie definiowałem (podobne jak w xmega128a3u dla którego kod działa bez takiej definicji) myślałem że nie jest to koniecznie podczas gdy chcę zmierzyć "szerokość pulsu". Niemniej ustawienie rejestru PER nic nie zmienia.. Co do odpalenia zegara to robię to w ramach przerwania za pomocą: "TCD5.CTRLA=TC45_CLKSEL_DIV64_gc" i tu bym...
Fusebitów nie (chyba, że czegoś nie wiem), ale zegar już jest możliwy w niektórych np. Xmega. O który AVR pytasz? Do czego to potrzebujesz?
spoko spoko, jeszcze pare miesiecy i w normalnej sprzedazy beda procki z nowej serii XMega z gwarantowanymi 32MHz
Witam. ... Przepraszam że nie odpisywałem, ale rozwiązałem problem i nie zaglądałem. Dziękuję za zainteresowanie. Napisałem na piechotę ustawienia zegara bez ASF.
No cóż, standardowo pokaż schemat i program. Jednak musiałeś coś zmienić, w końcu MCU to nie czary. Jesteś pewien, że XMEGA startuje? Może coś grzebnąłeś przy zegarach i timingi się posypały?
A jak ściągasz te wejścia do masy? Poprzez wewnętrzny pull down? Wyłączyłeś zegary zbędnych peryferii w rejestrach redukcji poboru mocy (PPR?). Jakie jest taktowanie? XMEGA przełączona na generator ULP, wyłączone zbędne zegary (RS 32 MHz, RC 2 MHz, zewnętrzny oscylator?).
Komparator jest w stanie wykryć zmianę a układ INT0 nie? To troche dziwne. Niespecjalnie dziwne. Zwykły pin przełączy się, gdy napięcie opadnie poniżej poziomu niskiego sygnału logicznego, który jest definiowany jako procent Vcc - problem w tym, że Vcc obniża się po zaniku i proporcjonalnie obniża się próg przełączenia pinu. W efekcie, gdy nawet w...
Dla serii ATMega max to 20 MHz (tylko dla nowych układów serii, stare mają max 16 MHz). Dla serii XMEGA max 32 MHz. Aczkolwiek przy XMEGA jest kilka zegarów i niektóre podsystemy mogą pracować z częstotliwością do 64 MHz (kontroler EXRAM) lub do 128 MHz (timery w pewnych trybach). To ostatnie jest też spotykane w niektórych ATTiny (te które mają PLL).
Gdyby ktoś chciał, kody w Bascom do lcd 240x240 GC9A01 okrągły Kody dla xmega, można je bujać nawet na 50MHz, chociaż nie ma gwarancji, że wszystkie peryferia będą dobrze działać. Wystarczy normalnie wpisać żądany zegar w milionach, przykładowo Const Xtal = 48000000 Do Atmega trzeba by przerobić linie używające SPI. Zamiast używać bascomowych poleceń,...
Nie mówiłeś do czego potrzebujesz tak dużej pamięci w systemie embedded :) Możesz próbować obsługiwać tę pamięć "ręcznie" pisząc program machający poszczególnymi pinami i przełączający kierunki portów danych, ale w takim razie już lepiej podłącz pamięć 16-bitową do PORT J i PORT K. Jeżeli ostatecznie nie będzie działać z Xmega, to będziesz mógł jej...
Wkrótce najwyraźniej pojawi się nowa rodzina mikrokontrolerów Microchipa - następców XMEGA? Póki co jest już wsparcie w MPLab i Atmel Studio, czyli po plikach nagłówkowych można się zorientować jakie będą możliwości tych układów. Oznaczenia AVR128DA64 - pierwsza liczba to wielkość FLASH, druga to liczba pinów (28, 32, 48 lub 64), 16 kB SRAM. Co mają:...
Dobra, dosyć wygłupiania się. Najpierw spróbuję odpalić ten wyświetlacz na AVR. Tam jest trochę łatwiej, przy okazji dowiem się, czy wyświetlacz jest sprawny, w dodatku na AVR odpalałem już SPI. Potem poczytam o rejestrach SPI na STM32 i wtedy się odezwę, bo jak na razie rzeczywiście bez sensu. EDIT Udało się odpalić wyświetlacz na AVR Xmega z 32MHz...
M8 i układ energooszczędny to oksymoron. Zmień procesor na nowszy, zastosuj zewnętrzny kwarc zegarkowy 32768 Hz i timer w trybie asynchronicznym - większość AVR ma RTC - real time counter, który służy właśnie do takich celów. W darmowych przykłądach do mojej książki (link w stopce) masz przykłąd wykorzystania timera w trybie asynchronicznym do zliczania...
(at)drzasiek widzę że zrobiłeś to do czego ja się właśnie zabieram. Czy jesteś w stanie mi napisać jak ustawić ten zewn. kwarc 12Mhz, i pll 2 lub 4x ? tzn jak w asm, czyli konkretnie rejestry i jakie bity mam ustawić czy coś? Niestety męczę sie w Bascom bo nie znam C. Na początek chciałem zaświecić led ale na razie chyba ta xmega ma źle ustawiony ten...
No brawo, brawo... Xmega na 60MHz, bo za mało fps. Przecież ten uC chodzi tylko na 32MHz legalnie i dlatego PLL nie może się zatrzasnąć na 60MHz. A tak naprawdę to chyba 120MHz? Czasami komuś uda się uzyskać 48MHz, ale to już spore ryzyko, bo działa tylko przy spełnieniu pewnych warunków i różne cuda potrafią się zdarzyć. Kiedyś testowałem xmega256A3BU...
Tymczasem strona 6 dokumentacji zaleca, a wręcz nakazuje podłączenie rezystora 10k z Resetu do + zarówno jeśli używamy go jako Reset jak i do zegara w PDI. http://www.atmel.com/Images/doc8278.pdf
W czym napisany jest program? Ale lepsze pytanie nie w czym ale jak? Pomijając proste programy, piszę używając maszyny stanow.... ....Ciekawe jest natomiast sterowanie LED-ami. Użyłem USART w trybie 7-bit, tyle, że należy pamiętać, że to AtMega z max zegarem 20MHz a nie Xmega gdzie ustawienie USART na 2,4Mb/s nie jest problemem...... .......jak więc...
Nie będzie to specjalnie trudne, nawet na AVR. Jak pisałem, zainteresuj się rodziną XMega, masz tam podwójny ADC z pipeline, DMA umożliwiający ładowanie wyników wprost do pamięci lub urządzenia IO, samplowanie 2Msps przy 12-bitowej rozdzielczości, a nawet szybciej dla niższej. Programowe wzmocnienie 1-64x i wiele innych. No tak, kiedyś trzeba będzie...
Z tą różnicą w zegarach to raczej 8 MHz vs. 48 MHz (ATmega8 vs. CM0) albo 32 MHz vs. 168 MHz (XMEGA vs. CM4), czyli 5:1 lub 6:1 na zegarze i 4:1 na CPI - razem 20:1 - tak precyzyjnie.
Potrzebuję porady. Przeznaczenie układu jest banalne - zewnętrzny czujnik dla stacji pogodowej. Generalnie układ działa tak, że co 15 min wybudza się, zbiera wszystkie dane i je wysyła radiem, następnie zasypia. Tryb uśpienia konfiguruję tak: [syntax=c] #include "power_cfg.h" #include "wdt_driver.h" void power_sleep_mode_cfg(void) { set_sleep_mode(SLEEP_MODE_PWR_SAVE);...
Łatwiej by było gdybyś napisał co ci nie działa i czego się spodziewasz. Ale przypuszczam, że chodzi o to, że konwercja DAC wyzwalana jest z EVCH0, na którym eventy są z preskalera zegara, zamiast zdarzeń overflow timera?
Teraz chciałbym już wykonać profesjonalne narzędzie, poświęcić temu więcej czasu i pieniędzy, zobaczyłbym co by z tego wyszło. Trzeba wkońcu jakoś zacząć na tej elektronice zarabiać :) Oj, to z zegarem powyżej datasheet jednak nie ryzykowałbym.
ad 1. Nie trzeba, można to zrobić programowo. Jednak JTAG jest niepotrzebny - domyślnie używany jest interfejs PDI, który nie koliduje z pinami IO. ad 2. Tak, można programowo modyfikować fusebity. Z tym, że nie ma to wielkiego sensu, bo: - fusebity ustawia się raz, wygodnie jest więc jeśli zrobi to programator. - w większości przypadków w XMEGA nie...
A po co ci te informacje? Bo one nie mają żadnego praktycznego zastosowania. Jeśli 20MHz to za mało to masz serię XMega do 32MHz. Jeśli to ciągle za mało to zmień rodzinę. Parametry z noty są określane tak, żeby założony odsetek układów pracował w podanych warunkach. To znaczy, że większość będzie pracować przy szybszym zegarze, a jak szybkim nie ma...
to raczej jakaś nisza rynkowa, np. sterowniki dzwonów w katedrach w Belgii. 👍 Faktycznie, ciekawe, czy da sie tym PIC-em sterować WS2812 przez USART lub SPI. W AVR nie ma z tym problemu (piszę o Mega), w Xmega, dzięki DMA, zero problemu.
Próbuję odczytać dane kalibracyjne z czujnika ciśnienia MS5611. Na procku xmega128a3u SPI działa a na xmega32e5 nie. Podłączenia zostawiam na tych samych portach i pinach. Częstotliwość zegara też taka sama - 2MHz. Na E5 próbowałem ustawiać większe dzielniki prędkości transmisji ale nic to nie daje. Czy procki Xmegi z serii E5 mają jaką inną, nietypową...
Witam Mam kolejny problem, nie chodzi mi timer, siódmy, pozostałe 6 działa i nie mogę znaleść przyczyny, symulator nic nie pokazuje, rejestry nieustawione mają jakieś przypadkowe wartości, zrobiłem osobny programi na sam timer i nic, timer ma mi uruchomić przerwanie co 50mS tutaj teraz akurat tak nie będzie bo zegar jest 2M wew dlatego zmieniłem dzielnik...
Witam dziękuję za odpowiedzi. Oczywiście przypisanie wartości stopy do int'a było moim bezmyślnym babolem. Przelecę nią przez "dłuższy" typ do metrów w int'cie i zrobię zaraz testy. - Soft odbiera poprawnie, ale do testów na szybko używam terminala. - Aż takiej dokładności konwersji jednostek nie potrzebuję. Wystarczy przybliżenie *0.3 ;) - No magia....
Prawdę mówiąc nie widzę sensu w realizacji dzielenia przez 40 sprzętowo. Ale jak pisałem, jeśli masz wolny timer, to do rejestru PER timera za pomocą którego realizujesz QDEC wpisujesz 39, wtedy co 40 impulsów wygeneruje ci przepełnienie, które możesz transmitować przez event system jako zegar dla drugiego timera, który w efekcie będzie zliczał co 40...
W xmega nie przełacza się zegarów za pomocą fusebit. Przełącza się źródło sygnału w programie. Przykład jest umieszczony na stronie Atmela pliki AVR1003.pdf i AVR1003.zip [url=http://www.atmel.com/dyn/products/a... Przykład jest w C ale to nie problem w asemblerze ustawić odpowiednio te same rejestry (w tej...
Jeżeli VSS przypiąłeś do 3,3V, to pamięć raczej nie będzie działać. Widzisz jaki babol. poprawię i dam znać. Oczywiście miałeś rację z VSS poprawiłem. Impulsy SPI dużo lepsze(pełne, schodzą do zera) odpowiedź nie wyraźna kod: http://obrazki.elektroda.pl/3489815000_1... niebieski zegar żółty MISO chyba coś się zmienia http://obrazki.elektroda.pl/3209129900_1...
Ustawianie zegara http://obrazki.elektroda.pl/9237508000_1...
czy przy zwartym pinie na stałe do VCC także potrafisz wywołać te przerwanie? EDIT: Jakie długie przewody podłączone są do płytki? Może załącz zdjęcie aplikacji. Tak, jestem. W zasadzie to praktycznie nie zrobiło różnicy. I to mnie najbardziej zdumiewa. Przewody mają około 10cm. W chwili obecnej wszystko sobie leży po prostu na biurku. Może ja robię...
(at)tmf Znalazłem taki arkusz kalkulacyjny z timingami z80 Timingi do Z80 są w jego nocie. Co mnie zaskoczyło, uaktualnianej ciągle, mało tego, Z80, z wyższymi zegarami ciągle są dostępne. Emulacja Z80 jak pisałem nie jest problemem, spokojnie mi AVR wystarczy. Myślałem nad emulacją Z80 + ULA i tu się robią małe schody. Emulacja programu wykonywanego...
Zegar SPI jest pochodną zegara systemowego. Jeżeli ustawiłeś zegar z PLL na 48MHz, to zegar SPI przy najszybszym taktowaniu podniosłeś do 24MHz. Wielkich możliwości w zakresie regulacji zegara tutaj nie ma. Nie zmienia to faktu, że dla Xmega pamięć z interfejsem QSPI nie ma wartości dodanej, ponieważ nie ma jak posklejać sprzętowo rozrzuconych bitów...
Witam Napotkałem taki oto problem, nie potrafię uruchomić procesora z wew. innym oscylatorem niż fabryczny. Przeszukując elektrodę oraz google. natrafiłem np na takie kody źródłowe: kod pochodzi z http://www.forbot.pl/forum/topics7/minis... //ustawienie taktowania mikrokontrolera //z wewnętrznego oscylatora 32MHz CLKSYS_Enable(...
Przypadkowo działało, być może dzięki bouncingowi styku. Nie ma możliwości, aby przy braku zegara MCU mógł wykryć zbocze. W nowszych MCU (np. XMEGA) niektóre piny portu mogą działać asynchronicznie, wtedy należy ich użyć do wybudzania z głębokiego snu. Zawsze warto sprawdzić w nocie, co o tym piszą.
Panowie, bez jaj. Ten LCD mam 128x160 pixeli, łącznie w trybie 16-bitowym ramka ma 40 kB. To dla SPI 10 MHz (ATMega) daje daje ponad 30 fps. Dla XMEGA (SPI 16 MHz) daje prawie 49 fps, dla ARMa dostaniemy tyle samo. Dlaczego? Bo wystarczy rzut oka do noty, aby się przekonać, że maksymalny zegar dla trybu SPI tego kontrolera to 15 MHz, połowa z tego przy...
Próbowałem wprowadzać różne timingi pomiędzy wskazane przez Ciebie makra (tak jak się domyslaleś, sa to SetBits i ResetBits), próbowałem wszystkich dostepnych częstotliwości pinów, nawet 100MHz i nic to nie pomogło. Wyświatlacz nadal idiotycznie miga. Próbowałem tez z wyłączonym SysTickiem, który miga diodami, ale też nic, gdyż wyświetlacz startuje...
Można uruchomić ATmega88 z większymi częstotliwościami, ale to dużo nie zmieni, gdyż nie osiągniesz takich częstotliwości jakie byś chciał. Dane możesz odbierać wolniej bez problemu, ale to ograniczy ilość sampli w sekundzie... Teraz zaczynają tworzyć jakieś XMEGA jak się nie mylę i one mają większe zegary ;)
Witam Siedzę sobie i walczę o uruchomienie zegara RTC PCF8563 z XMEGĄ 64A3. Pogooglalem trochę i napisałem kawałek softu do obsługi TWI. Nie wiem co jest z nim nie tak, bo dopiero przesiadam się z ATMEGA na ATXMEGA, a w ATMEGA obsługa TWI wyglądała nieco inaczej. Układ PCF 8563 z adresem 0xA0, zasilanie 3.3V, PullUpy 4k7 - wszystko zmontowane na płytce...
http://obrazki.elektroda.pl/6914408400_1... http://obrazki.elektroda.pl/8024236400_1... ATxmegi to łakomy kąsek dla kogoś, kto już poznał "stare" AVRki - zwiększona szybkość (32MHz!), o wiele więcej peryferiów (5 UARTów! 16 kanałów PWM!), modularna budowa i można używać tych samych dobrze znanych narzędzi. Ale potem...
xmega zegar xmega częstotliwości mikro xmega
tworzyć instalka silnik simulink mikrofon bezprzewodowy antena
łucznik naprężacz sprinter podłączenie webasto
Czy mogę użyć kondensatora 4.7 nF zamiast 6.8 nF? Tryb serwisowy pralki Samsung WW80TA026AE - instrukcja