Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

dsPIC33FJ32GS606 - Wykorzystanie sprzętowego DAC do programowego ADC 16bit

elmłot 16 Wrz 2013 12:03 1734 12
  • #1 16 Wrz 2013 12:03
    elmłot
    Poziom 18  

    Witam, chciałem się dowiedzieć jaka jest możliwość stworzenia programowego przetwornika ADC na bazie peryferii dsPIC33FJ32GS606 . PIC ma dwa przetworniki ADC 10bit , ale oba będę zajęte , natomiast czy jest możliwość stworzenia trzeciego przetwornika wykorzystując DAC , jak szybki może być przy 16 bitowej rozdzielczości o ile da się to uzyskać.

    0 12
  • #2 16 Wrz 2013 12:38
    94075
    Użytkownik usunął konto  
  • #3 16 Wrz 2013 13:03
    elmłot
    Poziom 18  

    Będą próbkować szybko i równocześnie dlatego lepiej by oba działały mając jeden kanał.
    Po za tym są 10 bitowe i albo trzeba dołożyć osobny przetwornik ADC 16bit i częstotliwości próbkowania rzędu 10-20kHz , albo na bazie DAC stworzyć przetwornik ADC 16bit .

    0
  • #4 16 Wrz 2013 15:49
    BlueDraco
    Specjalista - Mikrokontrolery

    Kolejny przykład rozpoczynania projektu od wyboru procesora, przed określeniem wymagań na ten procesor.
    Zapewne najprościej będzie użyć zewnętrznego ADC z interfejsem SPI.

    0
  • #5 16 Wrz 2013 16:28
    elmłot
    Poziom 18  

    To proszę znaleźć procesor który ma dwa szybkie ADC powyżej 1MHz 8bit , i trzeci Adc 16bit może być wolniejszy i nie chodzi o ilość kanałów a jednostek ADC.
    Pytam tylko czy jest możliwość użycia komparator+DAC w celu symulowania ADC i na jakie parametry można liczyć takiego programowego ADC.

    0
  • #6 16 Wrz 2013 19:48
    Marek_Skalski
    Moderator Projektowanie

    Proszę bardzo...
    Cała rodzina STM32F4xx ma 3x12-bit ADC @2.4MSPL @16+ kanałów. A jeżeli bardzo chcesz DAC, to ma 12-bitów zamiast 10 w dsPIC. Wątpię też czy na 10-bitowym DAC + komparator (z uC) dostaniesz więcej niż 8 bitów ADC. Warto? Poza tym z dsPIC dość ciężko się pracuje. Robiłeś coś na dsPIC? Jaki masz debugger?
    A tak poważnie mówiąc, to jeżeli potrzebujesz przetwornik 16-bitowy, to kupujesz i podłączasz osobno. Wybór jest bardzo duży.

    0
  • #7 16 Wrz 2013 20:32
    elmłot
    Poziom 18  

    STM-my już sprawdzałem i nawet na początku myślałem o STM ale jednak inne peryferia dsPica (szybkie PWM) nieco przechylają szalę + cena. W cenie STM mam dsPIC + ADC16bit-wolny. Pytam tylko czy można coś pokombinować , czy nie da rady osiągnąć 16bit.
    Mam wolnozmienny sygnał o średniej dynamice i 16bit jest wskazane natomiast szybkość ADC może być na poziomie 10-20 kHz (f próbkowania) , oraz dwa sygnały o niskiej dynamice ale wymagające bardzo szybkiego próbkowania w celu interpolacji.
    12bit w ADC STM to za dużo dla sygnałów o niskiej dynamice (wystarcza 8bit) a za mało dla tego o wyższej dynamice . PIC jest nie lepszy od STM pod tym kątem , ale ma to co wystarcza tzn dwa ADC 2,2MHz 10bit dla tych sygnałów o niskiej dynamice i nie ma nic dla tego o wysokiej ;)

    0
  • #8 16 Wrz 2013 21:21
    Marek_Skalski
    Moderator Projektowanie

    Na pewno dokładnie przeczytałeś notę tego dsPIC'a? Te 1.04ns to tylko taka zagrywka marketingowa. Realnie masz 8.32ns, bo nie masz dostępu do 3 najmłodszych bitów rejestru. Niestety jedną z najsłabszych rzeczy w dsPIC są porty, które są powolne i żarłoczne w kwestiach prądowych. A jak znam życie, to generowanie impulsów na poziomie 10ns niesie w sobie wystarczająco dużo wyzwań, by rozdzielczość 1ns była po prostu nie do osiągnięcia.
    Inna sprawa, że skoro masz sygnał wolnozmienny, to przez oversampling możesz go sobie spokojnie rozszerzyć w pomiarach. Niekoniecznie dostaniesz 16-bitów, ale 15+znak już spokojnie.
    Cena procesora, to akurat chyba mało istotna rzecz. Przy masowej produkcji to ma znaczenia, ale w przypadku prototypów największym kosztem jest czas realizacji projektu. Założę się, że godzina Twojej pracy kosztuje więcej niż większość kontrolerów nadających się do zrealizowania tego projektu. Skoro masz specyfikację, to po co kombinujesz? Bierz co trzeba, łącz, programuj, sprzedaj i jedź na wakacje :)

    0
  • #9 16 Wrz 2013 21:55
    elmłot
    Poziom 18  

    Mareczku , skoro ADC działają z f=2,2 MHz (poniżej 500 ns ) to odpowiedź (PWM) nie będzię szybsza . Fakt że chcę to zrobić i cenowo i gabarytowo - nisko. Czy będzie z tego masówka - raczej nie. Ale nawet jeśli uda się seryjnie robić to ewentualne korzyści w części pójdą na wycieczkę z rodziną gdyż to jest ważniejsze niż wakacje jakie masz na myśli, a częśc na inne moje pomysły. Lubię kombinować pod górę. I już nie pracuje :)
    Czyli sugerujesz , że da się osiągnąć 16 bit przy wolnozmiennym sygnale.
    Nie wiem czy to zabawa w kotka i myszkę : 16 bit vel 15 bit +znak ? Jeśli tak to dziękuje .

    0
  • #10 17 Wrz 2013 18:20
    archanoid
    Poziom 25  

    Witam . Kolego a nie rozważałeś zewnętrznego przetwornika .

    0
  • #11 17 Wrz 2013 20:35
    elmłot
    Poziom 18  

    Tak i jeśli nie będzie innej możliwości to jedynie ADC dokupić trzeba.

    0
  • #12 17 Wrz 2013 22:15
    nsvinc
    Poziom 35  

    W sumie tak sie nie robi zeby wykorzystywać DAC w do ADC ;] troche to sprzeczne...

    Skoro wziąłeś procesor do przetwornic, i mowisz o dwóch równoległych kanałach samplujących jednocześnie, to śmierdzi mi to dwufazową przetwornicą gdzie prąd kluczy mierzysz tymi ADC a dodatkowy ADC potrzebujesz do pętli kontroli napięcia wyjściowego ;]
    A jeśli mam rację, to siłą rzeczy będziesz potrzebować DACe do ustalenia trip pointa ograniczenia szczytowego prądu kluczy. Skoro chcesz samplować tak szybko to najpewniej chcesz wyliczać moment wyłączenia kluczy lub current trip point na podstawie prądu początkowego (valley current).
    A jeśli mam rację - to chyba lekko przedobrzyłeś z częstotliwością samplowania; biorąc pod uwagę zaawansowane mozliwosci wyzwalania adc w trybie continuous sampling, nie ma problemu by prawidłowo skonwertować prąd początkowy dlawika i w przerwaniu policzyć trip point a nastepnie zapisać go do DAC.
    Takie rozwiązanie było opisywane w jakims pdfie naukowym dostepnym w necie ;] i mogę stwierdzic ze dziala ;d
    Ale to tylko spekulacje dotyczące Twego projektu ;)

    W sumie mogę stwierdzić tylko jedno - uzyj zewnętrznego ADC. Częstotliwość próbkowania taka jak podałeś to z powodzeniem wytrzyma SPI chodzące na przerwaniu...

    0
  • #13 18 Wrz 2013 09:36
    elmłot
    Poziom 18  

    ADC Sar tak działa , więc pomyślałem że skoro nie będę wykorzystywał DAC to może przy jego użyciu uda się stworzyć ADC. Sygnał który chce analizować jest o częstotliwościach w zakresie do 1kHz (wyższe harmoniczne tego sygnału podstawowa rzędu 100Hz).

    0