logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Czy możliwe jest przetwarzanie 24-bitowe A/C i C/A na Arduino z sygnałem 128Hz, 2V p-p?

varo1978 15 Sty 2017 22:33 5577 6
  • #1 16202655
    varo1978
    Poziom 3  
    Witam,
    Chciałbym zbudować układ jak na uproszczonym schemacie w załączniku. Z generatora chciałbym wygenerować sygnał np. sinusoida, 128Hz, 2V p-p i przepuścić to w pierwszej kolejności przez przetwornik A/C potem w uC przechwycić sygnał i np: przemnożyć amplitudę x2 i podać na wyjście C/A, ALE chciałbym aby przetwornik był 24 bitowy w układzie delta-sigma z wejściem +/- 25V.
    Na końcu podać sygnał wyjściowy na oscyloskop i zmierzyć czas opóźnienia sygnału.
    Pytanie: Czy to jest możliwe na Arduino i jak się do tego zabrać? Nie ukrywam, że trochę kiedyś programowałem na uC ale były to raczej jakieś migające diody :).
    Pozdrawiam i będę wdzięczny za pomoc.
    Maciej
  • Pomocny post
    #2 16203379
    jarek_lnx
    Poziom 43  
    Da się i na arduino ale obydwa przetworniki musisz podłączyć na zewnątrz uC.

    Nie ma przetworników z wejściem ±25V, spodziewaj sie ±2,5V albo ±1,6V, ba większość generatorów funkcyjnych nie da ±25V, więc będziesz musiał dać dzielnik na wejściu A/C.

    Arduino ma 8 bitowy uC, przerzuczanie 24bitowych danych też trochę potrwa, całkowity czas jaki zmnierzysz na oscyloskopie będzie sumą czasów przetwarzania A/C C/A oraz programu na uC ta ostania część może być zmienna, jeśli co da jitter i utrudni dokładny pomiar.

    Domyślam sie że pomysł rzucił jakiś niedouczony nauczyciel, dopytaj się czego oczekuje po takim pomiarze.
  • Pomocny post
    #3 16207658
    Konto nie istnieje
    Poziom 1  
  • #4 16207828
    varo1978
    Poziom 3  
    Witam, Przede wszystkim dziękuję za odpowiedzi. Myślałem aby zrobić tak aby stworzyć 3 różne płytki połączone kabelkami. Na pierwszej umiejscowić A/C na drugiej uC i na trzeciej C/A i wyjść na oscyloskop. Kiedyś robiliśmy taki pomiar na uczelni ale był to procesor DSP chyba jakiś z rodziny SHARC Analog Devices.
    Czy myślicie, że po pierwsze: nie powinno być to na 3 różnych płytkach tylko na jednej?, po drugie: powinien być DSP albo może układ w FPGA a nie zwykły uC? po trzecie: zagadnienie jest skomplikowane i bez dokładnej/ścisłej wiedzy (będąc samoukiem) będzie to strata czasu?
    Procesory DSP nie są już takie drogie a ze strony Analog Devices można pobrać darmowe oprogramowanie (oczywiście ma ograniczenia co do wielkości kodu).
    Myślę, że temat jest ciekawy, nie spotkałem w książkach/czasopismach przykładów współpracy zewnętrznych przetworników A/C i C/A z uC.
    Co myślicie?
    Pozdrawiam
  • Pomocny post
    #5 16207910
    Konto nie istnieje
    Poziom 1  
  • Pomocny post
    #6 16208638
    jarek_lnx
    Poziom 43  
    Zwykle sprzeciwiam sie robieniu rzeczy które niczemu nie służą. Nadal zastanawiam się co ma pokazać taki pomiar. Otrzymasz jakąś wartość zmierzoną z dokładnością kilka rzędów wielkości gorszą niż można określić innymi metodami (zaglądając do dokumentacji) i wynik ten nie będzie cechą charakterystyczna samego ADC ani DAC.
    Jako wynik określający cały zestaw ADC+uC+DAC też nie wiele powie bo w każdym praktycznym zastosowaniu dane w uC będą jakoś przetwarzane co wymaga czasu.

    Przetworniki o wysokiej rozdzielczości stosuje sie do zadań wymagających precyzji, często zmierzenie parametrów takiego "idealnego" elementu wymaga wiele pracy i specjalnych układów pomocniczych, poniżej przykład takiego pomiaru:
    AN-120
  • Pomocny post
    #7 16211242
    arturt134
    Poziom 27  
    Możesz zastosować CODEC, czy układ zawierający w jednej obudowie przetworniki AC i CA sigma-delta z oversamplingiem + komplet filtrów. Na pewno jak wejdziesz na stronę TI (http://www.ti.com/lsds/ti/audio-ic/audio-codec-product.page#) to znajdziesz jakiś fajny zestaw ewaluacyjny z dobrze zrobionym zasilaniem, dobrze poprowadzonymi masami i elementami analogowymi zapewniającymi prawidłowe wejście i wyjście sygnału.
    Taką płytkę możesz dołączyć do swojego procka (ARM, czy DSP + ARM, zależnie od zapotrzebowania na moc obliczeniową) i spróbować napisać jakiś program przetwarzający sygnał wejściowy.

    Co do 24 bitów, to używając przetwornika audio udało mi się prawie osiągnąć to co deklaruje producent (100 dB dynamiki A-weighted z deklarowanych przez producenta 103dB), ale to wymaga naprawdę dużego doświadczenia, 4-warstwowej PCB, dobrych (czyli drogich:) wzmacniaczy operacyjnych i cyfrowej filtracji sygnału.
REKLAMA