Tak, da się to zrobić, wykorzystując tryb pracy DMA - double buffering.
Układy będą w jednej obudowie, a długość przewodów sygnałowych to max 20 cm. Doprecyzowałem także sprawę master-slave. Będzie jeden master, obsługiwany przez człowieka i kilka slavów wykonawczych, najlepiej na tej samej magistrali, stąd pierwszy bajt będzie bajtem adresu. Chodzi mi o to, żeby slavy odbierały te dane za pomocą DMA (stąd Xmega) , gdyż...
Witam. Mam następujący problem, wysyłam dane HEX przez port serial na Arduino Mega. I wszystko działa pięknie, tylko nie wiem dlaczego obcina mi zera. Wklejając kod programu używaj proszę znacznika SYNTAX. Składnia jest wtedy kolorowana i łatwo kod analizować, a dodatkowo posty są krótkie. Instrukcja: http://www.elektroda.pl/rtvforum/topic33...
Witam. Mam problem z obsłużeniem bibliotek Atmela do magistrali TWI dla mikrokontrolerów z rodziny Xmega. Próbuje odebrać dane z Mastera. Master to Atmega, która jest na pewno skonfigurowana poprawnie, gdyż dane odbierałem na innej atmedze. Problem pojawia się gdy chcę je odebrać na Xmedze, ze względu na moje początki z tym mikrokontrolerem. Może ktoś...
Posiadam Arduino Mega oraz moduł Ethernet 28j60, którym chce sterować przez stronę www. Korzystam z biblioteki Ethercard i korzystając z klasy Stash wysyłam dane z arduino na serwer Xively. Z xively bez problemu mogę pobierać dane na strone www. Problem pojawia się jak wysłać dane ze strony www na Arduino. Z tego co wyczytałem klasa Stash umozliwia...
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...
Witam Chciałem skonfigurować DMA z ADC i otrzymuje dziwne wyniki a właściwie co 2 raz zapisywana jest pusta linia. Poniżej załączam to co stworzyłem. Sugerowałem się przykładem z książki z 2 części o Xmegach. Korzystam z 2 kanałów wykorzystuje pin 1 z portu A oraz pin 1 z portu B. Czy jest ktoś w stanie powiedzieć co tu jest nie tak? Z góry dziękuję...
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...
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...
http://obrazki.elektroda.pl/4549134200_1... Chciałem zaprezentować Wam mój ostatni projekt który jest tzw „evaluation board”. Urządzenie to zostało zaprojektowane jako swego rodzaju projekt pośredni ,ponieważ potrzebny jest mi on do innego większego projektu ale samo w sobie jest pełnoprawnym urządzeniem. Płytka może być...
https://obrazki.elektroda.pl/9151185000_... Autor poniższego zestawienia jest inżynierem i konsultantem wsparcia dla systemów wbudowanych. W swojej karierze poznał on szereg różnych architektur mikrokontrolerów, różniących się wydajnością, wyborem peryferii, poborem zasilania etc. Wybór odpowiedniego układu stanowi zawsze o sukcesie...
Na procesorach bez wsparcia sprzętowego dla USB jego uruchomienie jest bardzo trudne i nieefektywne, a osiągane transfery są żałosne. USB jak każdy złożony protokół składa się z kilku warstw - interfejs sprzętowy zapewnia realizację warstwy elektrycznej i łącza, wraz z podstawowymi elementami wymiany danych - odbiór i nadawanie pakietów, enumeracja...
Przechodzę na Xmegę 32MHz z powodu pamięci i wydajność będzie porównywalna. :) Fakt, porównywalna. Np. liczbę 1 można porównać z liczbą 5. 32 MHz * 0.3 DMIPS/MHz też można porównać z 40 MHz * 1 DMIPS/MHz (F0x) ...albo z 84 MHz * 1.2 DMIPS/MHz (F401) Miałem nic nie pisać ale trochę manipulujesz faktami. Szybkość jest ważna, ale tylko jeśli jej potrzebujemy....
Przez DMA nie da się, bo te rejestry musiałyby leżeć w kolejnych komórkach pamięci. Z drugiej strony to dlaczego tak dziwacznie podłączyłeś ten kontroler? Nie lepiej było wykorzystać normalną szerokość szyny danych - 8-bit i całość podłączyć pod interfejs pamięci zewnętrznej? W takim układzie cały dostęp realizowany jest sprzętowo i można używać DMA....
Kombinujecie jak konie pod górkę. Podczas, gdy sprawa jest prosta. Albo wykorzystać procesor z odpowiednią liczbą pinów, co nie stanowi problemu (pod warunkiem, że nie przekroczymy obciążalności). Albo zastosować SPI i rejestry z zatrzaskiem, typu 74xx595, nie 164, które ze względu na brak zatrzasku absolutnie się nie nadają do sterowania multipleksowego....
Zacznij od próby napisania tej najbardziej krytycznej czasowo części programu (zapewne pętli odbierającej dane i zapisującej je do pamięci), a potem zastanów się, czy to ma szanse zadziałać zgodnie z wymaganiami czasowymi. Rzecz w tym, rejestracja danych odbieranych albo wysyłanie danych w odpowiedzi na żądanie odczytu z urządzenia powinna być zrealizowana...
Witam wszystkich, Próbuję uruchomić kartę mikro SD na płytce extrino od Leona, Mam książki Pana Tomasza Francuza i przerabiam przykład "Inicjalizacja" z katalogu KartySD. Książka "AVR Układy peryferyjne". Używam Atmel Studio 7. Uruchomiłem przykład na płytce DIL64 (także od Leona). Działa w trybie SPI. Ponieważ docelowo będę potrzebował SPI_USART sięgnąłem...
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.
Cześć, mam problem z komunikacją z modułem HC-05 za pomocą USART, operuję na uC xmega32A4U więc wspiera komunikację po USB z wykorzystaniem CDC. Komunikacja USB CDC działa, mogę wyświetlać różne wiadomości do serialu. Mam problem z komunikacją z modułem HC-05 - po odpaleniu terminala nie mogę wpisywać znaków (znaki nie pojawiają się pomimo ich wysyłania/...
Tak na szybko bo w tej chwili nie mam czasu, nie możesz do zmiennej wielobajtowej, modyfikowanej w przerwaniu, odwoływać się tak jak to robisz. Zastanów się, co się stanie jeśli przerwanie wystąpi w czasie wykonywania instrukcji ltoa, lub wysyłania danych? To co uzyskasz będzie mniej lub bardziej przypadkowe. Najpierw atomowo przepisz zawartość zmiennej...
Szanowni forumowicze, mam jeszcze jeden dylemat. Zdecydowałem się na wysyłanie liczb w postaci "bajtvalue" bo po cyfrze (znaku) potrzeba wiele razy więcej bajtów wysłać, a mogę nie mieć czasu na transmisję. Nie muszę również używać znaków separacyjnych lub zer wiodących w liczbach. Ale potrzebowałbym jednak w jakiś sposób zaznaczyć że po np. 3ech liczbach...
Witam. Mam problem z panelem dotykowym, a dokładniej z sygnałem TIRQ. Wyświetlacz 2,8 '' ze sterownikiem ILI9325 Panel dotykowy ze sterownikiem XPT2046 Dotyk podpięty do SPI na porcie C. Połączenie 1-1 bez pull-up'ow, rezystorów w linii i kondensatorów. pin 2 na porcie C dostaje sygnał o dotknięciu ekranu. Do tej pory potrzebowałem tylko wykrycia dotknięcia...
Czy np. można wykorzystać kolejne wejścia DAC w mikrokontrolerze, dla ściągania danych pomiarowych z różnych zakresów w tej samej chwili? ATTINY i ATMEGA posiadają max jeden przetwornik ADC. 8 wejść oznacza że przetwornik może mierzyć napięcie na dowolnym z nich, ale wciąż tylko na jednym. XMEGA w niektórych odmianach posiada 2 przetworniki ADC, ale...
Ostatnio tu: http://www.elektroda.pl/rtvforum/topic24... Ale w produkowanych nie kojarzę, może ktoś inny. Bo uprzyjemnia to bardzo projektowanie PCB i hardware. Przykładowo mam 1 uart, który dla potrzeb 1 wire remapuje RXD i TXD na 1 pin bez dodatkowego hardware. W czasie gdy DS konweruje temperaturę tym samym uartem przemapowanym na inne piny...
Myślę, że twój przykład jest niemiarodajny, ale to trzeba by przeanalizować program, żeby jednoznacznie określić co jest przyczyną. Zauważ, że karta zapisuje na raz cały sektor (512 bajtów), jeśli w pętli zapisujesz 1 bajt, a każdy zapis generuje zrzut sektora to 7-8kB jest realną prędkością. Jeśli soft jest mądry i to jakoś buforuje to powinno być...
Tak z ciekawości, co chcesz wyświetlać na tym LCD? Wiesz, że na AVR Mega 16MHz, przesłanie całej zawartości ekranu trwa ponad 300ms? Osiągniesz oszałamiające 3fps i to pod warunkiem, że CPU nie będzie robił nic innego niż wysyłał dane do LCD. Jak dasz komendę kasowania będziesz wyraźnie widział, jak ekran jest kasowany. Rysowanie napisów będzie całkiem...
Wysyłasz dane do bufora i te dane porównujesz z danymi zapisanymi we flash. Numer strony pamięci flash jest argumentem komendy.
Na pierwszy rzut oka wygląda poprawnie. Aczkolwiek są potencjalne problemy: - ustawiasz taktowanie zewnętrzne, odblokowując generator kwarcowy, ale jednocześnie blokujesz od rauz wewnętrzne RC 2 MHz. Przypuszczam, że nie jest to problemem i XMEGA nie pozwoli zablokować jedynego generatora, ale kto wie. Ja bym dla świętego spokoju zostawił ustawiony...
JarekC <- w zasadzie nie jest mi potrzebna tak "spora" moc obliczeniowa jaką udostępnia XMega, ale porównując cenę AtMega128 i AtXMega128X3 to wole wybrać XMega i powoli się z nim oswajać:). Druga sprawa to, że np. AtMega128 nie jest zalecany do nowych konstrukcji. tmf <- dzięki za obszerny opis. Póki co badam temat na sucho:). Z tego co napisałeś...
(...) różni zapis: port.OUTSET = pin od zapisu port.DIR |= 1<<pin? 4) czy w konfiguracji interface spi do komunikacji z ATM90E32 nie należy ustawić kolejność bitów wysyłanych przez SPI (bit "SPI_DORD_bm")? Nota aplikacyjna tego układu zawiera informację: "The transmission of address and data bits is from high to low, which means MSB first and...
kamyczek tak właśnie robię, nie kopiuję zawartości R0+R1 przed zakończeniem działań, jeżeli w tym samym czasie nie mnożę (za pomocą MUL ). Dopiero po zakończeniu wszystkich działań "obrabiam" dane zawarte w R0+R1. Na przykład wysyłam na port.
Lutowanie BGA (a stosowne ARMy chyba tylko w takich są obudowach) Dementuję takie pogłoski. Przykładowa płytka STM32F429-DISCO. Ma prawdopodobnie wszystko co potrzebuje autor tego tematu, kosztuje śmieszne pieniądze. Na pokładzie 64Mbit SDRAM, więc wystarczy na wiele ekranów. Alpha blending + overlay (obraz statyczny + dynamiczny) robi sprzętowo. Sercem...
...Czy SPI działa "niezależnie" tzn do rejestru wpisujemy wartości i SPI samo działa sobie z boku... Dokładnie tak; nie wysyłasz bitów 'ręcznie'. Jeżeli włączysz SPI, to zapisanie bajtu danych do rejestru automatycznie rozpoczyna transmisję i równolegle odbiór 8 bitów. Po zakończeniu operacji zostanie ustawiona flaga/flagi przerwania, a samo przerwanie...
http://mikrokontrolery.blogspot.com/2011... Przejrzyj, szczególnie kody. PRzyjrzyj się funkcjom, które co prawda nie są zaimplementowane, ale ich nazwy jednoznacznie wskazują na to co mogą one robić. Po prostu sprawdzaj czy urządzenie jest podłączone do PC i czy port jest otwarty do komunikacji.
Do tej kamery to proponuję wziąć inny kontroler :) Czytałeś ds do tej kamery? Czytałeś ds i manual do xmegi? Gdybyś czytał, to nie pytałbyś co wpisać, aby układ reagował na zbocze narastające. Nie wiem jak chcesz rozwiązać problem zbyt szybkiego zegara kamery (24MHz) względem możliwości xmegi, (16MHz) ale nawet jeżeli poradzisz sobie z odbiorem danych,...
Jeśli z jakiś magicznych powodów potrzebujesz 20MHz to wstaw XMEGA, będziesz miał nawet 32 MHz. Na dzielniku rezystorowym SPI i tak ci nie zadziała w sposób pewny dla CLK/2=8MHz, więc nic na tym nie zyskujesz. w sposób pewny to napewno nie zadziała, ale jednak jest różnica między 16, a 20 MHz. nie sądzę, że nic nie zyskujesz. Należy pamiętać, że procesor...
program nie wysypie się z powodu braku przecinka i zablokuje proca. Z powodu braku przecinka to jedynie się nie skompiluje. Stm nie można zablokować programowo, gdyż zawsze po reset przywracane są domyślne funkcje portów. Dlatego Znajdż checkbox "connect under reset" Wracając do tematu nowego atxmega, jeśli z ekranem lcd będziesz komunikować się poprzez...
Atmega jest podłączona bezpośrednio do GPS-a. Na razie zwiększyłem zegar do 2 MHz-ów. Nie do końca jestem przekonany do tego kodu... Może to jego wina, że wyświetla takie głupoty? Ja tam nie wiem dlaczego wewnętrzny osc. RC miałby uniemożliwiać poprawne działanie UARTA. Jeśli procesor ma pracować w temperaturach zbliżonych do temperatury popularnie...
Odczyt w zasadzie jest 24 bitowy. Przetwornik najpierw wysyła 16 najbardziej znaczących bitów, po czym stan wyjścia jest zerowany i wysyłanych jest 8 bitów kontrolnych. Oznacza to że na pierwszy odczyt CS i RD/WR są w stanie niskim, a na drugi w stanie wysokim. Czyli trzeba dokonać dwóch odczytów, zanim nastąpi kolejna konwersja. W takim razie, jak...
No chyba Kolega DS-a nie przeczytal. xxxx0bbbbbbbbbbbb (17 bitów!!! czyli że kolega musi wczytać 3 bajty) tak że dane nie są "czyste tylko moga zawierać coś na początku. Dalej jezeli MSB jest nisko to 29 bitów (cztery z przodu następnie zero póżniej 12 bitów MSB a następnie 12 bitów LSB https://obrazki.elektroda.pl/4957036200_... przy...
Podłączyłem wyświetlacz do procka i działa z bibliotekami z książki Tomasza Francuza "AVR Układy Peryferyjne". Mam taki pomysł żeby włączyć do wysyłania danych do wyświetlacza DMA. I tu pojawia się problem. Można wysyłać blokami po 128B, ale wtedy i tak przynajmniej kilka razy do transmisji musiał by się włączyć procesor żeby zmienić stronę pamięci...
Tak, możesz przesyłać dane na port IO przy pomocy DMA - będziesz miał wtedy co prawda 8 bitów, ale przecież 4 możesz nieużywać (o ile możesz sobie pozwolićna marnotrawstwo 4 pinów IO). Można to ominąć pisząc do tejestru TGL związanego z pinem, tylko wtedy trzeba przekodować ciąg wysyłanych bajtów.
1. Z zewnętrzną pamięcią SRAM XMEGA dałaby radę, zwykły AVR - nawet jakby to właściwie nic innego by nie robił. 2. On wymaga generowania V i HSync oraz na bieżąco wysyłania danych RGB, jest prawie bezużyteczny. 3. Obojętne, obsługa touch panela jest tak prosta że równie dobrze możesz to zrobić na aDC procesora. Wyjdzie taniej. 4. Przetwornica. Weź pod...
Może kiedyś opracuje cały zestaw. Dzisiaj będę bazował na modułach LED które potrzebują tyko danych dohttp://www.elektroda.pl/rtvforum/topic... wyświetlanie, natomiast zarządzanie poszczególnymi diodami odbywa się wewnątrz I tu się niestety mylisz. Pokazany moduł to goła matryca LED zawierająca tylko rejestry szeregowo/równoległe, do których...
Dodatkowo peryferia XMega można popędzać szybciej niż na 32MHz - masz PLL i można sobie wymnożyć tak, żeby było np. 64MHz, wtedy SPI będzie działało na 32MHz i będzie git nawet w trybie SPI. A czy można wysyłać dane do LCD szybciej, niż w sposób który zaprezentowałeś tutaj? http://www.elektroda.pl/rtvforum/topic21... Pomijając DMA, bo o tym...
Na tym akurat tak, ale na Xmega lub STM32F092 już nie, dlatego wolę na całkowitych próbować. Czy na floatach nie trzeba będzie robić tej całej interpolacji, tylko dać krok np. Dx=23.586? Program nie kompiluje się z głupiego powodu: nie znam instrukcji wysyłającej dane do DAC, ta zapisana w kodzie powyżej jest z SPL i nie działa pod CubeMX :(
W moim przekonaniu celem tego artykułu było wykazanie wyższości ARM nad AVR Xmega zadziała tak samo dobrze jak ARM. Obciążenie CPU będzie większe, bo to jednak 8-bit ale czas transmisji do LCD będzie taki sam (zakładając, że taktowanie SPI będzie 15MHz) jak i ARM. Niestety, jak już pisałem, cena Xmega nie zachęca. Do testów proponuję użyć biblioteki...
Weź pod uwagę, że przy 100 kHz i taktowaniu ATMega128 równym 16 MHz, na jeden okres sygnałju badanego przypada zaledwie 160 taktów zegara. A więc rozdzielczość z jaką będziesz mierzył sygnał jest mocno ograniczona. Oczywiście jeśli interesuje cię pomiar szerokości impulsów. Druga sprawa - w jaki sposób planujecie wysyłać po RS te dane? Bo jeśli masz...
Chodzi o standardy. VGA ma inny standard wysyłania danych niż TV. Jeśli podłączysz do TV przez wejście VGA to będzie to VGA. Zastanó się jeszcze na jakim MCU chcesz to zrobić? Na ATMega32 co wymaga trochę assemblera i przetaktowania MCU, czy na XMEGA? Co do standardu VGA nawet na wiki masz wszystkie potrzebne informacje: http://en.wikipedia.org/wiki/Video_Graph...
A jakie to ma znaczenie, ile bajtów wysyłasz? Błąd może pojawić się tylko wtedy jeśli przesyłany blok danych zahaczy o mapowany EEPROM przy zapisie. Jeśli prawidłowo są ustawione parametry transferu DMA to taka sytuacja nie może mieć miejsca. Przepraszam, zle to opisałem. Chodzi mi kolejne transakcje następujące po sobie. Ale z tym sobie poradzę, i...
Witam, zlecę napisanie programu w Atmel Studio (C/C++) na układ ATXMEGA32A4U obsługującego odbiór i nadawanie na dwa porty UART z pomocą DMA. Jeden port odbiera/wysyła 64 bajty danych binarnych, drugi - odbiera 1 kB, wysyła 4kB danych tekstowych. Klawo
Nawet jeśli połączysz 2 Atmegi, co zyskasz? Jeśli podłączysz kartę do jednej, będziesz musiał przesyłać dane odczytane z karty dodatkowo między uC. Jeśli podłączysz obydwie, jakoś i tak musisz to synchronizować, komunikować się co która kostka już odczytała, kiedy co oblicza i kiedy wysyła. Jeśli czujesz się na siłach napisać taki program na 2 współpracujące...
jak teraz przerobić lcd44780.h / ? Tego kodu nie przerwabiasz - to generyczny kod umożliwający transmisję po I2C. To co musisz dodać, to kod obsługi tego HD. Czyli musiz po I2C do zatrzasku który używasz (jakiś PCF?) wysyłać dane ustawiające odpowiednie piny, tak jak byś to robił przy klasycznym podłączeniu HD do IO mikrokontrolera. Najprościej przejrzeć...
Kol. (at)BlueDraco ma zapewne na myśli to, że po aktywacji SS i rozpoczęciu przesyłania danych slave wysyła aktualną zawartość rejestru SPDR na magistralę. Przy max. szybkości SPI masz zaledwie 16 taktów na wpisanie nowej wartości do tego rejestru, a to istotnie nie jest dużo. Jeśli pierwszy wysyłany bajt nie ma być poprzednią wartością rejestru danych,...
No więc zmierzyłem, licznik wykazał 440Khz po przyłożeniu do SCK SPI na PortC.7 w xmega... Prędkość odświeżania by się zgadzała właściwie idealnie. To jest najmniej 10x za mało. Czy jest możliwość że SPI się załącza inaczej niż chcę i nadal pokazywać rzekomo prawidłowy rejestr ustawień?? trzeba jeszcze zmienić treść bufora pamięci obrazu a to też zajmuje...
rs232 wysyłanie danych wysyłanie danych ds18b20 wysyłanie danych rs232
uszkodzony pilot skoda spalać scania nagłośnienie najlepsze firmy
pamięć ferrytowa koralik pamięć ferrytowa
Symbol linii przerywanej i dwóch ukośnych kresek na schemacie – ekranowany kabel, sprzężenie mechaniczne IEC, IEEE Dezaktywacja trybu awaryjnego Peugeot 607 2.2 HDi P1517