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ę...
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?
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...
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,...
Całe dane, czy pojedyncze bajty?
Błąd tkwi wszędzie :) Przede wszystkim - bufor zapisu do EEPROM to w zależności od typu XMEGA max 32 bajty. A więc nie jest tak, że masz zmapowane wszystkie konórki EEPROM do bufora. W danej chwili zmapowana jest jedna strona (max 32 bajty). Bufor zawiera informację, które bajty zostały zmodyfikowane i tylko te są zapisywane do EEPROM po wydaniu polecenia...
Chętnie bym ci pomógł, ale używasz stałych, zamiast symboli i trzebaby to teraz zdekodować czytając notę procesora, Ogólnie zapis do EEPRON w XMEGA odbywa się blokami - czyli po zmapowaniu EEPROM do SRAM, modyfikujesz odpowiednie komórki (co ważne, muszą one być w obrębie jednej storny EEPROM), a nastęnie dokonujesz zapisu strony. Symulator działa ok,...
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.
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...
Takie XMEGA tylko z zasilaniem do 5V i zegarem do 24 MHz. Z wad: nie widzę USB (pewnie z powodu zasilania 5V) i nie widzę DMA. Za to dużo poprawionych timerów, rozbudowany event system, custom logic i sensory pojemnościowe. Jeśli utrzymają podane ceny, to będzie to bardzo fajna alternatywa dla klasycznych ATMega i ATTiny. Z innych zalet, to podobnie...
Podejrzewałem złą filtrację zasilania Xmegi, ale sprawdziłem w trzech różnych płytkach/układach, gdzie pracuje XMEGA z prawidłowym filtrowaniem - wszędzie problem istnieje. Zauważyłem natomiast, że opisany przeze mnie efekt występuje jeśli w opcjach EEprom mam zaznaczony "ptaszek" Erase EEPROM before programming. Odhaczając powyższą opcję programowanie...
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...
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ć...
(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...
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ęć).
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...
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...
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...
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... ?
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...
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...
Nie ma znaczenia jak fizycznie jest realizowana pamięć EEPROM. Zauważ, że proces kasowania i zapisu jest rozdzielny, nawet w niektórych ATMegach możesz konfigurując odpowiednio rejestr kontrolny EEPROM tylko skasować wybraną komórkę, lub tylko ją zapisać (bez kasowania). Domyślnie te operacje są połączone, zapis z programu wywołuje najpierw kasowanie,...
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...
(at)tme zgodzę się z Tobą i nie zgodzę. W nie najtańszym TME, pamięć 512bajtów[url=https://www.tme.eu/pl/deta... kosztuje 6,24 zł netto w detalu. Godzina pracy programisty, skromie licząc, 30zł. Czy w ok 20 minut da sie napisać obsługę EEPROM tak aby wydłużyć jej żywotność? Czy 20 minut wystarczy...
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.
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ć...
Transfer jednego bajta to w najlepszym przypadku 4 takty. Możesz sobie podłączyć DMA pod SPI, więc jak najbardziej można przesyłać z pamięci, do odpowiednio skonfigurowanej pamięci SPI poprzez ten interfejs. Dlatego też nie ma sensu rozpatrywać go na poziomie indywidualnych transferów, lecz transakcji. Mówiąc krótko, jeśli prawidłowo skonfigurujesz...
Rozumiem, w takim razie, że zawsze warto używać _update, zamiast _write? To zależy co chcesz zrobić. Jak zainicjować EEPROM domyślnymi wartościami to obowiązkowo write. Jak zapisać blok danych uprzednio odczytanych z eeprom to zdecydowanie update. Zawsze można dać _update. Jedyna różnica pomiędzy _write i _update polega na tym, że _update sprawdza,...
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.
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...
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...
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...
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...
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,...
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...
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...
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...
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...
(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...
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 , 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...
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...
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?...
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...
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...
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
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....
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....
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...
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...
eeprom xmega zapis eeprom xmega eeprom xmega zapis
pralka uszkodzona grzałka ponowny uruchomić drukarka schemat połączenia pompy paliwa
Renault Scenic diesel dCi szarpie, czarny dym, gaśnie, brak rozruchu – typowe usterki Ford Mondeo Mk4 1.6 TDCi 115KM – lokalizacja portu do ładowania klimatyzacji R134a