|
Miałem za duże mniemanie o tym parującym klocu którym jest Xmega.
nie oznacza to jednak że jest bezużyteczna.
przykładowo na wewn ADC da się wyciągnąć ok 8-9MSPS w 8bitowej rozdzielczości, nie jest to wcale zły wynik na adc w avr i basicu.
Problem jest w tym że DMA w połączeniu z szyną danych poprzez którą się łączę z ADC powinna chyba wycisnąć więcej niż pożal się boże 9MSPS. Bo tyle chyba udało mi się wydusić, i to przy kręceniu wora na 50Mhz a fabrycznie powinno być 32Mhz (nie dzwońcie na policję). lipa mocno. Może jest ekspert na sali od DMA? Może bez znaczenia dla języka wie czy da się wykombinować większą prędkość toczenia danych bo chyba tu jest problem w prędkości owego DMA.
Bo to było tak, ADC udaje ram bo przy każdym cyklu zegara który bierzemy z pinu ramu read enable otrzymujemy próbkę. Tak jakbyśmy wyciągali dane z array z zewn RAMu. array>array. Proste w sumie. Ale ponoć DMA miałobyć takie kurła szybkie że niby 2x zegar, a ten marnuje masę cykli na przetoczenie. A ram ustawiony na max, bez waitstait. Co prawda to blisko prędkości granicznej ADC1173 czyli 15MSPS ale szkoda nie wykorzystać tych 5-6MSPS. #xmega #avr #elektronika
Podgląd | Rozmiar pliku: 163 KB
+: fanzonun
Uruchomiłem zewn ADC 8bitowy na szynie równoległej. Normalnie odpowiednio sterowany może wycisnąć jakieś 15MSPS, ale niestety nie umiem programować w takie układy. Miałem nadzieję że będzie tak szybki jak wewn ADC xmega ~2MSPS na maksymalnie uproszczonym kodzie ale niestety tak nie jest. Wyciska jakieś 0,8MSPS. Co jest bezwartościowe jak moje życie.
Ale podłączyłem go do portu sterowania zewn ramem więc może da się więcej z niego wycisnąć.
Tym bardziej że EBI bo tak się nazywa ta szyna zewnętrzna może ganiać 2x szybciej niż Core xmegi czyli jak ganiasz kloc na 32Mhz to EBI na 64Mhz.
Daj bug żeby z tego coś wyszło bo się potnę mokrym herbatnikiem.
#xmega #avr #elektronika
Podgląd | Rozmiar pliku: 137 KB
@horteksic: dzięks. Niestety nie wiem jak to dopracować operowanie na zzewn szynie za pomocą DMA bo robi bałagan już po 2 próbce, 1 jest ok potem się coś paprze.
Najlepsze że to bascom a guwnospecjaliści twierdzą że basiciem można sobie co najwyżej leda zaświecić.
Jednak niestety nie będę robił pionowego trybu, za mało miejsca w każdym wymiarze, zrobię standardowo jak w normalnych skopometrach, czyli wejścia u dołu i ew gniazdo oscyloskopu na boku. To rozwiąże sporo problemów. Do tego przyciski czy coś pod ekranem. Tu uruchomione, jeszcze nie jest podłączone wszystko. Oczywiście niestabilne wyniki ADC przyprawiają o buldupy.
#elektronika #xmega #avr
Podgląd | Rozmiar pliku: 75 KB
+: fanzonun
Podgląd | Rozmiar pliku: 44 KB
#xmega: Przyznam ze nie mialem do czynienia z xmega, bawie sie raczej atmega328. Jak pewnie wiesz tanie atmegi maja bardzo kiepskie ADC wiec w jednym z projektow uzylem 4 kanalowego 16bit ADC - ads1115. Na ebay kupisz go za niecale 3E, jego zaleta jest to ze ma wewnetrzne zrodlo referencyjne i programowalny "gain amplifier", niski pobor mocy i calkiem dobra rozdzielczosc. Przy pomocy przetwornika mierzylem prady w zakresie 4-20mA z dokladnoscia 1uA. Jesli pozostaniesz przy ADC xmegi to polecam zadbac o stabilne i dobrze przefiltrowanie napiecie zasilania (jesli zasilacz to kondensatoryduzej pojemnosci na wyjsciu), uzylbym takze nadprobkowania - jeden wynik liczyc ze sredniej z 16 lub 32 probek co nieco zniweluje szum przetwornika i zasilania i poprawi rozdzielczosc samego ADC. Nie wiem czy xmega ma wbudowany regulator zrodla referencyjnego dla ADC, jesli nie to bardzo stabilne zasilanie jest kluczowym czynnikiem stabilnych wynikow.
@Szeryf: Wiesz ja zauważyłem że atmega ma ADC niskiej rozdzielczości ale za to stabilny. W xmega tych 2 megasamplowych jest na odwrót, dstatecznie stabilne, ale mogłoby być minimalnie lepiej. Teraz mi skacze wyniczek gdy podłączę mierzone napięcie całkowicie bezpośrednio, np 1V, o 1-2 punkty, jak pamiętam to adc w Atmega32 mi w ogóle nie skakało, albo max 1 pkt. I nie ma znaczenia że dam najniższą prędkość adc w xmega. I oczywiście robię uśrednianie, tzn pobór 10 próbek po czym sumowanie i dzielenie przez 10. Nieco pomaga. Wezmę ze starego mierniczka który niegdyś zrobiłem ADS7828. 12 bit ale regulowany ref, co oznacza że przy 4,095V będę miał 1mV / 1 bit. I jest też dość stabilny, też czasem skacze o max ok 1 punkt przy ref ok 2,5V.
Ale będzie wymagał przetworniczki aby śmigał na 5V abym mógł dać ref te 4V. Zobaczymy co z tego wyjdzie.
A ads1115 teraz nie widze na alleguwno. B chyba bym szarpał. A ponad 3 tygodnie mi się nie chce czekać. Ale dokładności tego 1 uA to zazdraszczam.
Pokażesz mi schemat wzmacniacza do pomiaru w szczególności małych prądów który użyłeś? Chciałem zrobić pomiar 2mA lub 20mA, i potem zakres 1000mA.
@FoxMurder: Dalem tylko rezystor choc powinien byc tez dodatkowy duzy rezystor i maly kondensator jako filtr dolnoprzepustowy. Jak napisalem wspomniany ADS1115 ma programowalny wzmacniacz a dodatkowo caly uklad ma wspolpracowac z sygnalem 4-20 przy ktorym moglem sobie pozwolic na duzy rezystor i spadek na nim kilku volt. Ponizej zakresy w ktorych pracuje ADS1115 przy wykorzystaniu wbudowanego wzmacniacza.
To boost small signals, the gain can be adjusted on the ADS1x15 chips in the following steps:
GAIN_TWOTHIRDS (for an input range of +/- 6.144V)
GAIN_ONE (for an input range of +/-4.096V)
GAIN_TWO (for an input range of +/-2.048V)
GAIN_FOUR (for an input range of +/-1.024V)
GAIN_EIGHT (for an input range of +/-0.512V)
GAIN_SIXTEEN (for an input range of +/-0.256V)
@FoxMurder: Jedyny problem przy ADC1115 to jego powolnosc, oscyloskop na nim najwyzej dla zakresu audio.
@Szeryf: To nie jest do oscyloskopu przecież to ma mniej niż 1000 sampli na sekunde. Nawet z atmega ledwo da się wycisnąć częstotliwości audio. Na xmega widać ledwo 200Khz. Ale mniejsza o to. Bardziej mnie nurtuje jak robić symetryczne pomiar tak by nie był zaburzony odbiór sztucznej masy przez różne rezystory dzielników napięć.
@FoxMurder: ADS1115 moze dodatkowo pracowac jako 2 przetworniki roznicowe, nie testowalem.
www_spiria_com/en/blog/iot-m2m-embedded-solutions/measuring-small-currents-adc
@Szeryf: ten co mam 12 bitowy też może. W sumie może zobaczę jak tego się używa. Ale to też mnie nie ratuje za bardzo bo muszę dać dzielniki napięcia i wzmocnić napięcie najpierw.
@Szeryf: nagle mi się ten mój adc po i2c nie uruchamia czy sam nie wiem.
Niby czyta dane z 3 kanałów ale zawsze są sztywne 1033 1033 i 1034. Ale jak odłączę kable to jest tak samo. Już nie wiem sam.
Mam co prawda bascom ale działało na xmega128a3. Teraz nie. Kurwica mnie strzela.
@FoxMurder: Wczesniej tez probowalem pisac na bascomie ale po namowie kumpla z pracy sprobowalem arduino. Arduino to swietna sprawa - polecam jesli nie pisales jeszcze ...
@Szeryf: Ale nie ma chyba do xmega w arduino
nie masz może na zbyciu tego ads1115?
@Szeryf: Niedolutowane piny TQFP, nawet nie widać że nie było kontaktu... jestem niedoj@%em.
@Szeryf: chociaż to nie wyjaśnia czemu nie działało na TWI-F a tylko na C
Kref mnie zalewa z niestabilności adc xmegi. Skacze sobie o 5 pkt średnio. Turbodebil.
Nadaje się od 1V w górę, ale dokładnie milivoltów nie zmierzę. Niby multimetry też ale stabilniejsze wyniki mają nawet guwnomierniki. Cóż będzie trzeba odżałować na jakiś ads, ale prawie żaden nie jest kilkukanałowy prawie wszystkie fajne są jednokanałowe a to mało, najmniej 4 muszę mieć. Taki interfejs podstawowy dziś ułożyłem. Brak wszystkiego kanały pokazują z grubsza losowe dane.
#elektronika #xmega #avr
Podgląd | Rozmiar pliku: 120 KB
+: fanzonun
© Copyright 2005-2024 Milanos.pl Wszystkie prawa zastrzeżone. Korzystanie z serwisu oznacza akceptację Regulaminu
FoxMurder
ponad 7 lat temu
Tak wyglądały pierwsze wersje z kolorowym wyświetlaczem. Były też inne kiedyś ale nie mam zdjęć.
To z 2015 też na xmega, na lcd małym 128x160 #xmega
Podgląd | Rozmiar pliku: 165 KB
+: fanzonun