Funkcja odczytuje bajt z EEPROM, porównuje z bajtem do zapisania i jeśli są różne to zapisuje, jeśli takie same, to przechodzi dalej nie robiąc nic. Ponieważ w XMEGA dostęp do EEPROM jest znacznie bardziej zaawansowany (m.in. możliwość jednoczesnego zapisu całej strony EEPROM i odczytu EEPROM przez region zmapowany w przestrzeń adresową MCU, warto się...
Wiec od konca. Adresy pamieci FLASH, EEPROM i SRAM pokrywaja sie. W zwiazku z tmy istnieja inne instrukcje assemblera umozliwiajace dostep do FLASH i SRAM. EEPROM nie jest mapowany w przestrzen adresowa procesora, do niego dostep odbywa sie za pomoca specjalnych rejestrow (z wyjatkiem XMega, gdzie EEPROM jest w przestrszeni adresowej). Dlatego nie istnieje...
A ta pomoc to na czym ma konkretnie polegać? Mamy okazać Ci współczucie czy napisać "nie martw się"? Bo rozumiem, że skoro nie zamieściłeś kodu to technicznej pomocy nie oczekujesz?
Nie, odczyt jest 4-krotnie wolniejszy - w przypadku zwykłych AVR, w przypadku XMEGA EEPROM można zmapować w obszar SRAM i wtedy odczyt jest mniej więcej tak szybki jak z SRAM.
Przykłady bardziej zaawansowanego użycia EEPROM masz w przykładach do moich książek o XMEGA, tam też jest to dokładnie opisane. W skrócie - możesz w XMEGA korzystać z EEPROM dokładnie tak jak w ATMega (czyli funkcje z eeprom.h), lub możesz wykorzystać dodatkowe możliwości jakie daje kontroler w XMEGA. Czyli możliwość mapowania EEPROM w obszar SRAM,...
Tak na szybko. Najtańsza XMEGA 9.70 zł netto EEPROM: 1kB; SRAM: 4kB; Flash: 32kB; QFN32 XMEGA 18 zł netto EEPROM: 2kB; SRAM: 8kB; Flash: 128kB; TQFP64 To jest główna przyczyna porażki w Arduino, cena procesora. Rynek we wszystkim dąży do obniżania parametrów by być konkurencyjnym cenowo.
Problem rozwiązany zgodnie z ostatnim postem.
ad 1. Zapewne żaden. ad 2. Dokładnie. Podczas odczytu zwracana jest zawartość EEPROM (skopiowana do bufora lub ostatnio zapisana), podczas zapisu, zapis odbywa się do bufora. Pomyśl o tym tak, że masz np. 32 bajtowy bufor, do którego możesz zapisywać. Po uzupełnieniu w nim danych, możesz je skopiować na raz do EEPROM, na dowolną stronę, której adres...
Czy dobrze rozumiem, że dostęp do pamięci flash oraz EEPROM w xmegach zawsze wykorzystuje kontroler NVM? Zawsze wykorzystuje hardware NVM, ale niekoniecznie modyfikuje stan tego układu. Odczyt FLASH odbywa się bez konieczności modyfikacji NVM (o ile mówimy o odczycie bajtów/słów), więc dostęp do EEPROM nie powinien tu robić problemów. Problem zaczyna...
Witam Jak w temacie - wykonuję zapis danych do pamięci EEPROM, po ich weryfikacji wszystko jest ok. Mogę je odczytywać i wszystko działa. Problem się pojawia, gdy chce je odczytać po ponownym uruchomieniu procka - dane się "ulatniają"!? O co chodzi? Dodam, iż używam AVR Studio 4 i korzystam z bibliotek Atmel'a. Zapisuje dane w pojedynczych bajtach:...
No zgodziłbym się z Wami w 100% gdyby nie to, że niestety nie do końca to działa tak jak opisujecie. Jeżeli faktycznie Bit 0 – BBPODF: Battery Backup Power-on Detection Flag odpowiadało za sygnalizację, że bateria jest po wyłączeniu zasilania powinna być ustawiana ZAWSZE (przy podłączonej baterii), a tak nie jest. Ustawia się tak 50/50. I drugie....
Sprecyzuj pytanie o jaki AVR chodzi. Bo np. dostęp do EEPROM w XMega jest znacząco inny niż w innych typach AVRów.Podobnie dostęp do zewnętrznej pamięci SRAM (tu też wszystko zależy co to za pamięć).
Nie ma czegość takiego jak błąd wysyłanego bajta. DMA rozpatruje się jako całą transakcję. Zastanów się w jakiej sytuacji może wystąpić błąd DMA - w XMEGA praktycznie tylko wtedy, gdy ustawisz transfer DMA do zmapowanej pamięci EEPROM, lub odczytujesz EEPROM, gdy jest wyłączony, lub zablokujesz kanał DMA.
Tak próbowałem na kilku egzemplarzach XMega, nówkach sztukach. Właściwie zostaje chyba programator. Niedawno ufajczyłem Dragona, więc tymczasowo korzystam z AT90usb162+ GTL2003 z firmware LUFA151115.
Dziękuję wszystkim za podpowiedzi. Zdecydowałem, że przy takiej liczbie danych najlepiej będzie dorobić pamięć FRAM do układu. Pozdrawiam. Nie ma jak sobie wziąć starego trupa i potem próbować go reanimować:) ATMega32 to historia, weź sobie np. ATMega328 i tam po pierwsze całkowity czas zapisu to już tylko 3,4 ms, w dodatku można go rozdzielić na kasowanie...
Fajne te xmegi :) Daleko im do ARM i w stosunku do nich są koszmarnie drogie. Mają jednak pewną zaletę, niespotykana w ARM, rejestr TOGGLE w GPIO i EEPROM, to czego trochę w ARM mi brakuje. Więcej zalet Xmega nie pamiętam za co serdecznie żałuję i postanawiam sie poprawić :-) Prosiłem kilka razy, aby Kolega sprawdzał informacje przed wysłaniem postu....
ad 1. Wear leveling robi się identycznie niezależnie od języka. ad 2. Po prostu zapisujesz wszystko podwójnie i przy odczycie przepisujesz tą kopię, która ma poprawne CRC. Warto też pomyśleć nad sprzętem - zapewnić detekcję zaniku zasilania i podtrzymanie na czas zapisu EEPROM. Prawdę mówiąc na twoim miejscu wybrałbym z AVR jakąś XMEGA, gdyż ma możliwość...
(at)mas24 Do tej pory wszystko masz w SRAM, więc możesz to używać jakkolwiek chcesz. Natomiast po skopiowaniu do EEPROM już nie. TFunkcja kol. (at)michalko12 oczywiście kopiuje wszystko do EEPROM, na lokalnej kopii w SRAM ciągle możesz pracować. BTW, o ile dobrze pamiętam działasz też na XMEGA? Tam masz fajnie, bo EEPROM można zmapować w obszar przestrzeni...
Tak mają organizację peryferiów podobną do XMEGA oraz liniową przestrzeń adresową (FLASH,RAM ,EEPROM,IO są w tej samej przestrzeni adresowej). Właśnie kończę dwa niewielkie projekty oparte o ATTINY204 i ATTINY804. I na dokładkę piszę bootloader z szyfrowaniem AES128, staram się go upchnąć poniżej 1kB.
Witam , przejdę od razu do sedna , xmega32a4u programuje w bascomie przez klona avrmk2 bez żadnych problemów , xmega czyta wartości wewnętrznej eeprom i program działa ok ale gdy chcę podejrzeć zawartość eeprom przez bascoma pokazują się same 00 ( flash bez żadnych problemów ) i nie informuje o żadnych błędach . Próbowałem różnych prędkości itp. ale...
Zapis nie musi zajmować dużo czasu, jeśli przed wywołaniem zapisu sprawdzisz, czy żaden inny zapis do EEPROM się nie odbywa. Jeśli nie, to wywołanie _write lub _update dla bajtu trwa chwilę, bo funkcja natychmiast wraca i nie czeka na koniec zapisu. Więc tu blokowanie przerwań będzie bezpieczne. Co innego w przypadku zapisu blokowego, ale przecież nie...
Jeśli używasz unsigned mode to offset jest normalną rzeczą w XMega. Dokonaj kalibracji przetwornika: 1. Podłącz jeden z wolnych pinów ADC do GND 2. Ustaw kanał ADC na ten pin i dokonaj kilku pomiarów uśredniając wynik 3. Zapamiętaj wartość z punktu 2 np w EEPROM'ie 4. Od każdego pomiaru odejmij wartość z kalibracji
Każdy klawisz joya masz podłaczony od osobnego portu czy osobnego pinu w jednym porcie? Jeżeli idzie o 32 MHz , spróbuj podkręcić go o ile warunki projektu pozwalają. Nie sprawdziłem zapisu eepromu ale timery, uart działały do 55Mhz (5 x 11.0592 Mhz) przy standardowym zasilaniu 3.3V. Jutro przetestuję eeprom po przetaktowaniu. Wracając do tematu, jeśli...
Czy są dostępne EEPROMY z tym interfejsem? Oj chyba takiego cuda nie znajdziesz. W avrze, z którego korzystam SPI (który podobno można użyć jako I2C, czego nie robiłem) jest zajęty Przecież nic nie stoi na przeszkodzie podłączyć kilka peryferii na SPI, a to z którym chcesz się komunikować wybierać poprzez CS danego układu. W skrócie; Do LCD, ustawiasz...
Tyle że u mnie procesor ma jeszcze spory zapas mocy obliczeniowej. Przetaktowałem żeby SPI było szybsze. A tu Ci niespodzianka: Przy 24MHz wszystkie peryferia włącznie z EEPROMem w ATMega8-16 zasilanej z 3,0V działają prawidłowo już od 2 lat. PS. 2 lata temu XMEGA była może w planach więc nawet nie myślałem o tym. A jakiś ARM czy coś to za duża różnica...
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...
(at)paluszasty Właśnie sprawdzałem jak wygląda kwestia dostępu do FLASH i jest tak jak pisałem. Definiujesz stałą z const i automatycznie ląduje ona we FLASH, a z programu masz do niej dostęp bez żadnych specjalnych udziwnień. Czyli definicja: const char tmpchar1 Chyba że z jakiegoś powodu chcemy umieścić zmienne zadeklarowane jako const w RAMie, jak...
Koledzy, EBI w XMEGA to nie zabawka :) Zawiera układy logiczne generujące sprzętowo do 4 sygnałów CS dla ustawionych obszarów pamięci (początek, wielkość). W efekcie można połączyć pamięć (a nawet różne typy, np. jednocześnie SRAM i SDRAM) oraz LCD. Zapis pod jeden adres spowoduje aktywację pamięci, pod inny aktywację kontrolera LCD. Transfer typu EBI-EBI...
Witam, Jakieś 3 miesiące temu abudowałem programator AVRISP mkII na bazie wsadu LUFA i /usr/local/bin/avrdude -c avrispmkII -p x16a4 -vvv -U flash:w:xmega16a4u.output.test.h... avrdude: Version 6.1, compiled on Sep 26 2014 at 23:47:35 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2014...
AVR1605: XMEGA Boot Loader Quick Start Guide Atmel AT03160: Migrating Bootloader from ATxmega128A1 to other Atmel XMEGA Devices Może ten http://alexforencich.com/wiki/en/xboot/s... ?
W plikach nagłówkowych są zdefiniowane etykiety określające adresi wielkość EEPROM. Także przejrzyj i użyj odpowiedniej. Samo liczenie CRC dla EEPROM niestety polega na odczycie i wrzuceniu do modułu CRC, tego procesu nie zautomatyzujesz. Chyba, że dla 32 bajtowych bloków - możesz mapować EEPROM do przestrzeni adresowej MCU i wrzucać do modułu CRC przez...
Próbowałem "przeskoczyć" z AVR na ARM. Zniechęcił mnie brak eepromu. Jeżeli to było kryterium to gratuluję :). xmega to taka trochę efemeryda dla mnie jak by włożyć 4x4 i inne bajery z land rovera do malucha
To zastosuj XMEGA, bo: 1. Działa od 1,8V, a przy 3,3V masz 32 MHz, 2. EEPROM można zapisywać stronami, zapis strony 32 bajtowej trwa tyle samo co zapis 1 komórki. 3. To też AVR, więc generalna koncepcja jest podobna. Aczkolwiek przy 3,3V i zwykłej ATMega też zapewne się uda, pamiętaj tylko, żeby po detekcji zaniku zasilania wyłączyć wszystko, przestawić...
Sei() to chyba włącza globalne przerwania?? Tak, ale eeprom_write_byte je wyłaczy ale nie przywróci. W jakiej wierszi bibliotek był błąd obsługi eeprom (złe adresy IO), zrobiłem więc swoją, w której: - czekam na koniec operacji na eeprom - zapamiętuję SREG - sei() - start zapisu - odtworzenie SREG Oryginalna działała tak: - sei() - czekanie na koniec...
Xmega obsłuży do 16MB RAM ? To byloby świetnie - jeszcze ich nie stosowalem. Czy ktoś ma schemat jak to podłączyć do procka ? EEprom i Flash nie moze byc, to ma być szybka normalna ram widziana najlepiej jako przestrzeń adresowa lub szybka szeregowa RAM.
Zrobiłem sobie odtwarzacz plików wav na Atiny85. Obecnie dźwięki przechowywane są na karcie sd. Jak już pisano raczej musisz kupić pamięć FLASH. W SO08 dostaniesz o pojemności 4-8 MB, są też ciut większe. Więc jeśli potrzebujesz tylko ok. 1 MB to będzie ok. Oczywiście musisz przerobić mocno program - obsługa FLASH jest zupełnie inna niż kart SD. Pytanie...
W złym miejscu szukałeś. Twój problem nie jest związany z Atmel Studio lecz z toolchainem - kompilatorem i linkerem. I w dokumentacji tych programów musisz szukać rozwiązań. Katalog w ktorym znajdzie się plik elf jest dowolny - określa to skrypt Makefile, akurat domyślnie dla celu Debug w AS plik ten znajduje się w podkatalogu Debug, dla celu Release...
Witaj, Nie obraź się, ale Twoje pytanie: Do tej pory w swoich projektach wykorzystywałem młodszych "braci" sześćdziesiątki czwórki: m8, m16, m32 . Jednak "nadejszla wekopomna chfyla"... Czas sięgnąć po coś z większą ilością pinów, pamięci programu, RAM, EEPROM. Póki co wybór mój padł na AtMegę 64 - nie twierdzę, że jest to wybór optymalny. jest nieco...
BOD się jako tako nadaje, bo zazwyczaj się go wykorzystuje do utrzymania MCU w stanie RESET kiedy zasilanie już jest niewystarczające. Można co prawda go ustawić na więcej, co da trochę czasu, przy okazji należy zmodyfikować wektor RESET tak aby domyślna funkcja zanim wystartuje program sprawdzała źródło RESET - jeśli jest nim BOD to wtedy może zapisywać...
GCC jakimiś protezami obsługuje przestrzenie adresowe, nie zawsze sprawnie mu to wychodzi To chyba nie dotyczy też tiny 1 series i atmega 0 series gdzie całość (eeprom, sram, flash) jest w jednolitym obszarze adresowym. brak priorytetów przerwań (nie dotyczy xmega) j.w. brak sprzętowego dzielenia Cortex M0 też ;)
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...
Pewnie nie są, tym bardziej, że operacje kasowania i zapisu są rozdzielne. Tak jak pisze piotrva, zapis polega na odczycie pamięci do bufora, uaktualnieniu bufora, skasowaniu strony i zapisie z bufora do pamięci. Najlepiej ten mechanizm widać właśnie w XMEGA, gdzie ma się do bufora zapisu dostęp programowy i można na raz zapisywać cała stronę, także...
Pytanie do autora: czy dało by się z zewnętrznego eepromu / flasha przy pomocy event system odczytywać dane dla diod? Tu nie ma potrzeby komplikować. Np. z pamięci SPI lub równoległej możesz odczytywać dane, np. przy pomocy DMA i transferować je bezpośrednio na UART / SPI użyty do komunikacji w WS'ami.
Jakoś ominąłem ten wątek i nie zauważyłem, że pojawiły się kolejne odpowiedzi. Jeśli odpalimy USB, to potrzebny jest zegar 48 MHz (lub 12 MHz). Powstaje on z podkręconego zegara 32 MHz (wpisanie innych wartości kalibracyjnych dla generatora umożliwia jego przestrojenie z 32 na 48 MHz). Zegar jest stabilizowany ramkami USB. Ponieważ max dla rdzenia to...
W nie najtańszym TME, pamięć 512bajtówFM25L04B-G kosztuje 6,24 zł netto w detalu. (at)NoweMillennium A co ci da ta zewnętrzna pamięć 512 bajtów? Przecież to nic nie zmienia. Nawet, gdyby przyjąć, że to będzie 512 kB to owszem, założenia projektu niby spełnia - z wear leveling uzyskamy te ponad 3 lata retencji danych, ale... i tak trzeba zrobić podtrzymanie...
A po wywołaniu avrone z parametrem -h: Usage: avrone.exe [commands] [options] Commands: -h, -? Print this help. -he Print exit codes. -e[c|e|a|b|u]Chip erase (-e, -ec). Additional XMEGA commands: erase EEPROM (-ee), erase BOOT section (-eb), erase APP section (-ea), erase user signature...
Bardzo fajny projekt. Kolego a_noob może xmega16A4U lub xmega32A4U by wystarczyła na początku. Ale co jeśli kolega wymyśli sobie jakieś bardziej skomplikowane efekty czy opcje kilku różnych efektów? W projekcie widzę 2 przyciski które mogą posłużyć do zmiany efektu. Wtedy może okazać się że jednak 16/32kB pamięci Flash to za mało. Ja zawszę wole przewymiarować...
Sprawdź tez co działa, a co nie. Przypuszczam, że EEPROM się posypie prędzej. Z drugiej strony IMHO takie przetaktowywanie jest bez sensu, namęczysz się, stworzysz niestabilny układ i nic nie zyskujesz. Nawet przetaktowyrując do tych 64MHz raptem uzyskujesz 100% przyrost wydajności, przechodząc na ARM lub AVR32 zyskujesz na dzień dobry kilkaset procent.
To moje pierwsze starcie z protokołem I2C. Ściągnąłem biblioteki twi_master_driver.c i inne niezbędne, próbuję opanować jak to wszystko działa. Podłączyłem do Xmegi zewnętrzny eeprom "24LC08" i próbuję się tym bawić. Zapis chyba opanowałem. Fragment głównego pliku http://obrazki.elektroda.pl/1135586300_1... I po sprawdzeniu kostki w...
Sprzętowe podciaganie - czyli słabe pull-upy z procka. Nie jest to dobre rozwiązanie szczególnie do i2c. Zależy od prędkości. I2C korzysta z OC i po to są pull-up... I2C w NXP (wydzielone z philips) jest OC także po stronie procesora - w każdym razie piny dedykowane I2C w LPC1xxx są OC na stałe, w xmega kwestia konfiguracji, w atmega jaki input i HiZ...
Źle do tego podchodzisz. Myślisz, że jeśli umieścisz dane w pamięci nieulotnej, to rozwiąże to twój problem? Otóż nie. Jeśli zależy ci na zachowaniu danych, to musisz projekt przemyśleć począwszy od części elektronicznej, a na końcu dodać obsługę programową. Czyli należy wykonać detekcję utraty zasilania i zapewnić procesorowi podtrzymanie do czasu...
Cześć, U mnie działa na Xmega16d4 bez żadnych problemów, za to na Xmega64a1 nie mogę zaflashować kontrolera. Z terminala idzie zmienić tylko fusy, eeprom i flash odpada (usersig, boot, app, apptable itp). Z linii komend da się zaprogramować eeprom ale już flash nie - nie wiedzieć czemu. Rzucam informację zwrotną od avrdude: avrdude -p x64a1 -c usbasp...
Witam Nie wiem czy jest sens integrować w sofcie jeszcze funkcje ładowania, mając specjalizowany kontroler Li-Po (sample) i to o wymiarach 3x3 mm, tym bardziej że do pracy nie potrzebuje praktycznie żadnych elementów zewnętrznych, 1 rezystor ustalający prąd ładowania, i LED sygnalizujący ładowanie, pozatym ma wbudowane funkcje zabezpieczające aku przed...
Też możliwe, że jak zdecyduję się na robienie wersji kolorowej (pewnie w oparciu o przykład powyżej) to użyję już nieco mocniejszego PICa, np: pic32mx795f512l. Zachęcam gorąco do prób. Mocniejszy PIC nie będzie potrzebny - swego czasu pokazałem jak wygenerować VGA na XMEGa - procesorze o wiele słabszym. Przykład można pobrać - jest w jednym z przykładów...
Właśnie od kilku dni bawię się AtxMega32A4. Widać, że konstruktorzy popracowali nad nim i ma wiele ciekawych funkcji i ogólnie szybko i sprawnie uruchamia się kolejne peryferia (używam AvrGCC). Cieszy praktyczny system zegarów (w tym wewnetrzny 32MHz) ustawianych programowo, priorytetowy system przerwań, czy szybki 12 bit ADC/DAC. Ale jeśli jesteśmy...
Masz 100x tyle modeli, które aż tak bogate nie są. Zresztą nie bez przyczyny powstała seria CM0/CM0+, a właśnie po to by "wygryźć" 8 bitowce i seria ta takich "ficzerów" to akurat nie ma. No o tym pisałem że masz ogromny wybór. A jak porównujemy Xmega i STM to np: STM32F303RDT6 - cena £3.63 / szt Flash: 384KB SRAM: 64KB + 16KB CCM (razem 80KB)...
Tak jak koledzy piszą - jeśli producent daje max 32 MHz to ma jakiś powód, gdyby układ działał np. na 50MHz to producent sam sobie by kagańca nie zakładał. Jeśli jednak chcesz ryzykować - wydaje się, że XMEGi z serii U (z USB) działają poprawnie do 48 MHz. Dlaczego? Bo taki zegar jest potrzebny do poprawnego działania USB i przynajmniej ten podsystem...
Tymon, niekoniecznie. Jeśli ktoś jest ukierunkowany na robienie jednego typu układów, w którym procek w obudowie TQFP32-100 jest ok, potrzebuje paru kB FLASH i raczej sporych zasobów, to ARM jest ok. Ale jeśli ktoś buduje różne układy, raz wykorzystujące większe procki, a raz takie ATTiny, to wchodzenie w dwie różne rodziny może być nieopłacalne. Cena...
Jak zrozumiałem, kolega chce szyfrować transmisję pomiędzy sterownikiem PLC a innymi elementami sieci przemysłowej. Szyfrowanie realizować będzie para układów montowana na końcach linii transmisyjnej. Jakiego typu to linia? Różnicowa skrętka, Ethernet? Domyślam się, że nie ma zagrożenia dla elementów końcowych linii, bo ewentualny haker wpiąłby się...
Witam , problem polega na odczytywaniu tylko 2 bajtów z bufora uart , wysyłając 5 zaków np.12345 na wyświetlaczu pojawią się tylko 12 a reszty po prostu nie ma . Czy ktoś napotkał podobny problem ...[syntax=vbnet]$regfile = "xm32a4udef.dat" $crystal = 32000000 $hwstack = 32 $swstack = 32 $framesize = 32 Debug Off Config Submode = New Config Eeprom =...
Mój układ ma osobne zasilanie, atxmege programuje w układzie docelowym. Zauważyłem, ze pamięci eeprom nie mogę zaprogramować w AVR Dragonie, i musze przekładać programator na AVRMK2 aby programować eeprom... ogólnie dziwne rzeczy z tymi programatorami mam. Ogólnie mówiąc AVR dragon to zasilany jest z USB (chyba). a jeżeli chodzi o tryb debugera sprzętowego...
Są też mikrokontrolery z pinem oznaczonym VBAT i podtrzymanie pamięci mają na pokładzie. W przypadku AVR (Xmega256A3Bx) będą to skromne 2 bajty, tak całe 16 bitów :), ale w przypadku STM32F4xx może to być znacząco więcej (np. 4kB). Ogólnie, zamiast dodatkowego elementu w układzie, masz wszystko w jednym i bez ryzyka, że braknie czasu na zapis do EEPROM.
Dziękuję za wszystkie odpowiedzi. Ten układ chciałem zrobić dla siebie, ponieważ interesuję się elektroniką i robotyką. Proszę o wyrozumiałość jeśli moje pytania będą się wam wydawały banalne, ale chodzę dopiero do szóstej klasy. Możesz zrobić odtwarzanie z EEPROM, pod warunkiem, że będzie to zewnętrzny EEPROM. Koledzy już ci uświadomili, że wewnętrznego...
Pojawił się nowy problem... Sekcje w pamięci programu działają bez problemu, natomiast jest kłopot ze zmiennymi w pamięci ram. Na zwykłe AVR to wystarczyło dodać adres 0x800000 i działało. Na Xmega jednak nie chce:/ Kompiluje się ładnie, ale przy próbie zaprogramowania: avrdude: ERROR: address 0x802010 out of range at line 1204 of SMC.hex Przy...
Tytuł jest mylący - układ nie ma optoizolacji. Po obu stronach połączone są masy, dodatkowo Vcc przez rezystory podciągające na I2C. W efekcie nie wiadomo czemu ten ADM służy. GND i GND_I to nie to samo podobnie jak Vcc i +5V. A w czym pomoże zamiana UART na I2C? Przecież I2C nie mają więcej Możesz przez UART skonfigurować VID, PID, deskryptor, funkcje...
jedyna zaleta jaką widzę to płaska przestrzeń adresowa, co wyeliminuje obsys związany z avr-g++, To jeden z wielu powodów, dla których zrezygnowałem z AVR na rzecz ARM. Te "PROGMEM" i "PSTR" czy tam "F" w Arduino, może doprowadzić do rozpaczy. Nie ma możliwości aby w np "sprintf" ("sprintf_P") mieszać stringi z FLASH i RAM. jedynym istotnym ograniczeniem...
Miło mi, że Kolega obserwuje temat. Producent podaje: ATxMega128A1-AU microcontroller with 128 KB Flash, 8KB RAM, 4 KB EEPROM, 32Mhz clock JTAG 5x2 pin connector for in-circuit debugging with ATJTAGICE-MK2 PDI 3x2 pin connector for programming with any AVRISP mkII compatible programmer 8 MHz scillator circuit 32768 Hz oscillator circuit Reset button...
Witajcie, Nie mogę się połączyć z procesorem. Oto kolejność w jaką chcę eliminować możliwe powody: 1. Błędne podłączenie procesora. 2. Zła konfiguracja programów. 3. Złe przylutowanie procesora do płytki. 4. Zniszczony procesor? 1. Pełne podłączenie jest przedstawione w załączniku. Czerwony pytajnik dotyczy dużej kropki, czy przypadkiem ona nie symbolizuje...
Witam, Usiłuję rozpocząć 'przygodę' z układami Xmega, i chyba utknąłem na kwestii wsparcia przez program avrdude. Oczywiście odpowiednie wpisy w configu umieściłem, oto wycinek: #---------------------------------------... # ATXMEGA32D4 #---------------------------------------... part id= "x32d4"; desc =...
Warto analizować kod bibliotek. Warto nie używać tych, które nie używają sprzętu i przerwań. Programowe interfejsy SPI, I2C czy co gorsza odbiór UART to wrzód na ..... Arduino. Fakt, że czasem, przy rozbudowie projektu, trzeba dodać jakiś układ peryferyjny po np I2C a wyprowadzenia I2C są zajęte. Nie bardzo opłaca się robić nową PCb z innym mikrokontrolerem,...
(at)tmf - odnośnie podpięcia zewnętrznie do GND to masz przecież w notce AVR1300: Unsigned Mode In unsigned mode the conversion result from the ADC is: TOP V VV RES REF INP * Δ+ = VINP is the single ended input and ΔV = VREF x 0.05. TOP is the top value given by the configured resolution. For 12-bit mode TOP is 4096 and 8-bit mode TOP is...
Proponował bym Ci też procesor nieco mocniejszy - np ARM z większą ilością RAM-u i bogatszymi peryferiami. Jeśli już to pójdę w stronę Xmega. Na ARM robiłem (LPC i STM) w czasach gdy wymagały (przynajmniej LPC) zasilania 3..3,6V a potrzebny był zakres 3..5V przy pracy bateryjnej. Teraz przesiadka na ARM zaowocowała by kilkumiesięczna nauką. Nie wiem...
powinno być cos innego bo umieściłem tam tablice i jak programuje xmega128 to programuje tez dodatkowo wewnętrzny eeprom i wszystko działa. Zawartość eeproma wewnętrznego mam w pliku projekt.asm (jak kompiluje to mam plik "projekt.eep" , a zawartość eeproma mam zaczętą od dyrektywy ".ESEG" a poniżej etykiety i rozne ".db" więc jak kompiluje, to zawartość...
http://obrazki.elektroda.net/24_12463822... Witam, Chciałbym przedstawić, prosty, wygodny i poręczny program, który spełnia zadania: 1. kalkulator FuseBit dla procesorów serii AVR 2. programator (graficzna nakładka AVRDUDE) 3. Wersja angielska i polska 4. Opisy fusków przetłumaczone na j.polski + małe objaśnienia do fusebitów 5. Można programować...
do Radzio M. Raczej układy matrycowe nie wchodzą w grę. Potrzebuję wpiąć każdy przycisk w zacisk ARK + wspólna masa. Przyciski powinny podciągnięte do Vcc wejścia ściągać do masy Może spróbuj zastosować gotowe układy scalone serii CMOS. Masz Układy CD4514BC• CD4515BC się nie nadadzą bo tą są dekodery BCD a ja potrzebuję coś odwrotnego i układ...
Niby prosty enkoder a tyle problemów ;) Niby działa ale jednak nie zawsze i nie za dobrze, nadal zdarzają się jakieś skoki lub postoje. Chciałem użyć regulacje wartości zadanej do regulacji napięcia w mojej przetwornicy typu flyback sterowanej XMEGą Tranzystor przełączający flybacka jest sterowany przez driver IR2125 który posiada zabezpieczenie przeciążęniowe/zwarciowe...
http://obrazki.elektroda.pl/2572322100_1... Witam wszystkich, dziś chciałbym zaprezentować moją płytkę startową dla procesorów AVR Xmega serii A4. Płytka powstała, po części do zastosowań komercyjnych (sterownik do reklam świetlnych), a po części do rozpoczęcia przygody z nową rodziną mikrokontrolerów. Zakupiłem co prawda wcześniej...
Witam , mam nadzieję iż nie zanudziłem bez reszty.. W zestawieniu z moimi "dokonaniami asm." kolega michalko12, jest najbliższy temu co ja kiedyś robiłem . Oto wersja asm z przełącznikiem kompilacji aby kompilować jako samodzielny plik - kto chce ->ten może :D ( ta wersja to 16-timerów, 16-nasto bitowych, każdy cztery tryby konfiguracji, oczywiście...
rj1307 napisał: I drugie pytanie, jeśli dobrze zrozumiałem, nie mogę adresować xram'u od 0 tylko od adresu powyżej końca pamięci wewnętrznej mikrokontolera. Jak więc zapisać pełne 64kB? Bezpośrednio sie nie da. W kontrolerze trzeba ustawić adresowanie 32 kB. Pamięć trzeba podzielić na dwa obszary po 32kB. Linią adresową A15 (nie musi to być PC7) wybieramy...
http://obrazki.elektroda.pl/4393045000_1... Ja bym zalecał nie obciążać przetwornika odbiorczego (gdzieś widziałem charakterystyki impedancji >10kΩ) dlatego dła by pierwszy stopień nieodwracający, wyłączony nadajnik (o małej impedancji) podłaczony przez transformator, albo nawet sam transformator też stanowią obciążenie. Dodałem...
Hmm, po mojej przygodzie z jednym PICem z rodziny 18F nie jestem jakimś szczególnym ich fanem ;), ale może coś się zmienia w dobrą stronę? Czy ktoś jest w stanie wyjaśnić zagadkowe pojęcia typu Możliwość zwektoryzowanej obsługi przerwań Czy oznacza to, że w końcu po wystąpieniu przerwania nie trzeba "if-ować" po wszystkich możliwych flagach, żeby dowiedzieć...
Dziękuję szczerze na odpowiedzi (wiem, że wszystko kosztuje czas :(). -kondensatorach na wejściu stabilizatorów Faktycznie przydałby się jakiś większy elektrolityczny w uF -kondensatorach na pinach zasilających procka są na każdym po 100 nF, dodatkowo rozdzieliłem zasilanie analogowe od cyfrowego -Dioda D1 - jesteś pewien, że na pewno tak ma być podłączona?...
https://obrazki.elektroda.pl/1655231800_... Microchip, po zakupieniu Atmela, utrzymuje nadal projekty, jakie realizowała ta firma przed przejęciem. Wypuszczane są kolejne układy z rodzin AVR (tinyAVR i megaAVR) jak i 32-bitowe mikrokontrolery z rdzeniem ARM-Cortex. Do układów tych dodawane są nowe rozwiązania, czego przykładem może...
Zarys. AVRy to sympatyczne uC (mikrokontrolery) firmy znanej chyba wszystkim z produkcji legendarnej "51" z pamięcią Flash - http://www.atmel.com . Rodzina ta należy do procesorów RISC - choć lista rozkazów jest dość rozległa Smile. Większość rozkazów wykonują w JEDNYM takcie - w przeciwieństwie do np. 12 taktowych MCS-51. Dodatkowo posiadają mechanizm...
Teraz mam inny problem. Chcę robić pomiar temperatury i zapisywać na kartę SD. Używam do tego modułu prototypowego tego autora: Ponieważ post dotyczy innego tematu niż oryginalny wątek, temat podzieliłem. Na przyszłość proszę w przypadku napotkania problemów niezwiązanych z oryginalnym tematem postu zakładać nowy wątek. W ten sposób inni będą mogli...
To podstawowy i najczęściej popełniany błąd początkujących. Zdefiniuj "błąd"? Początkujący w godzinę w BASCOM napisze program do eval boarda z obsługą klawiszy, wyświetlacza, eepromu na spi, rtc na i2c komunikującego się z PC przez UART. Pokaż mi co zrobi początkujący w C bez dogłębnej analizy noty katalogowej i krótkiego streszczenia co dany rejestr...
grko napisał: IMO nieprawda a czy Xmegi przypadkiem nie mapuja przypadkiem eepromu do data memory ? Tak, w tym przypadku można włączyć mapowanie EEPROM do SRAM, co ma też tą zaletę, że można programować EEPROM stronami (co bywa nawet 32x szybsze niż programowanie komórka, po komórce). Wiem, że w niektórych uC występuje interfejs XMEM, który obsługuje...
Posprawdzam jeszcze dokładnie timingi układów które mam i jeśli nie będzie przeciwwskazań, to spróbuję programator zrobić i przetestować Jeśli ktoś będzie próbował bawić się pamięciami równoległymi to jest pewne przeciwwskazanie, o którym nie pomyślałem na początku: XMEM (przynajmniej w 162) nie ma sprzętowego wsparcia sygnału !CE. Nie zawsze jest...
http://obrazki.elektroda.pl/8568697100_1... Witam, chciałbym Wam zaprezentować prostą konstrukcję, która znacznie ułatwia tworzenie i debuggowanie sieci opartych o moduły RFMxx (RFM22/23/63). Są to popularne moduły radiowe, dostępne w bardzo przyzwoitej cenie, oferujące sporo możliwości. Ktoś w czasie, gdy dostępne są tanie moduły WiFi...
wszystko prawda, tylko po co dawać coś innego niż Os? No tu się wybitnie nie zgodzę. Ja prawie zawsze stosuję ostatecznie -O3, bo prawie zawsze zależy mi na szybkości wykonania a nie na minimalizacji zajętości flasha. Ja bym właśnie powiedział, że -Os stosuje się w wyjątkowych przypadkach. Mój przykład, nad którym obecnie działam: uC XMEGA 32A4. Musi...
Czyli jak widać brak eepromu doskwiera nie tylko mi. Trzeba zatem sobie wyraźnie powiedzieć, że to jest OGROMNA wada Armów. Bo na każdym kroku słychać tylko ochy i achy dotyczące Armów. Wolałbym 100 bajtów eepromu w każdym procesorze, aniżeli 200 liczników czy 100 Uartów i 1GB flasha. Pod tym względem cudowne były i są Xmegi , szkoda tylko, że sie nie...
Witam, Mam problem z modułem bazującym na ATxmega32E5 (AVT1807, > atprogram -t avrispmk2 -i pdi -d atxmega32e5 info Tool avrispmk2 has firmware version: 1.17 Target voltage: 3.30 V Device information: Name: atxmega32e5 JtagId: N/A CPU arch.: AVR8_XMEGA Signature: 0x1e954c Lockbits: 0xff Fuses: 0xffffffffffffff...
Podłączyłem JTAGICE mkII do Atmega 32 w komercyjnym urządzeniu żeby ocenić czy procesor nie jest uszkodzony i jakiś cudem po moich eksperymentach procesor okazał się wyczyszczony. Przy pierwszych odczytach lock bity miały wartość 0xC0 (wszystko zablokowane), przy kolejnych zrobiło się 0xFF. Praktycznie urządzenie jest już stracone, procesor wyczyszczony...
Niestety brak oczekiwanych rezultatów. Zmieniłem tą wartość, skompilowałem program pod avr-gcc 4.7.2 (atmel toolchain 3.4.2) i po wgraniu hexa, programator nie jest widziany w systemie. [syntax=bash]C:\Users\miszczo\Downloads\... (1)\lufa-LUFA-140928\Projects\AVRISP -MKII>avr-gcc -v Using built-in specs. COLLECT_GCC=avr-gcc COLLECT_LTO_WRAPPER=c:/avr/avr8_gnu_tool...
Witam. Mam problem z zapisem do zewnętrznej pamięci EEPROM AT24C164. Działa mi zapis tylko w zakresie 0-1023 a powyżej 1023 nie działa poprawnie. Podłączyłem EEPROM do portu E. http://obrazki.elektroda.pl/7314126500_1... Mam 3 funkcje odpowiedzialne za obsługę TWI. http://obrazki.elektroda.pl/8868169800_1... Piny A1 i...
Kod, w którym testowałem liczby stałopozycyjne: ------ Build started: Project: FFP, Configuration: Debug AVR ------ Build started. Project "FFP.cproj" (default targets): Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!=''). Target...
http://obrazki.elektroda.pl/4192018300_1... Witam! Postanowiłem przedstawić mój projekt urządzenia do rejestracji danych na karcie SD (tzw. data logger). Urządzeniu nadałem nazwę MADACU stanowiący skrót od szumnej nazwy Measurement And Data Acquisition Control Unit. Urządzenie miało być uniwersalne tzn. służyć do pomiaru temperatury,...
http://obrazki.elektroda.pl/2991403700_1... Firma Atmel wypuściła na rynek nową serię mikrokontrolerów AVR - XMEGA® E-Series, przeznaczoną do zastosowań w urządzeniach kompaktowych z niewielką przestrzenią. Nowe MCU cechuje oszczędność energetyczna połączona z kombinacją pamięci (Flash, EEPROM, SRAM) oraz niskim prądem uśpienia...
Chciałbym zaoferować następujące usługi: -projektowaniem płyt PCB (Kicad) -tworzenie programów w języku C na mikrokontrolery AVR(ATMega, XMega, Atiny), ARM (STM32, LPC) -rozwiązywanie projektów i zadań elektronicznych(np. Technika bardzo wysokich częstotliwości, Technika transmisji sygnałów, wzmacniacze, teoria obwodów) Doświadczenie w pracy z: -modemami...
Witam. Mam problem z xmega 128A3-AU. Zbudowałem prosty woltomierz do 20V lecz przy zwarciu pinu ADC z masą nie ma 0V tylko napięcie waha się od 0 do 0.06V. Czy jest jakiś sposób na uśrednienie tego nie niszcząc płytki PCB? Program napisany w bascomie. [syntax=basic4gl]$regfile = "xm128a3def.dat" $crystal = 32000000 $hwstack = 128 $swstack = 128 $framesize...
eeprom xmega zapis eeprom xmega eeprom xmega zapis
centrala alarmowy schemat gazowanie reduktor creative volume control
maxcom mm428bb satel uszkodzone wyjście
Brak iskry w Piaggio X8 125 2006 po wymianie akumulatora Audi A4 1.8T gaśnie podczas jazdy - możliwe przyczyny