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

Poszukuję szybkiego przetwornika A/C , z równoległym interf.

autoservice 07 Sie 2007 18:12 3126 8
REKLAMA
  • #1 4155223
    autoservice
    Poziom 20  
    Posty: 516
    Pomógł: 7
    Ocena: 16
    Witam
    Jak w temacie. Szukam jak najszybszego A/C 1 kanał, koniecznie z równoległym interfejsem, podpięty będzie pod AVR'a z 16Mhz. Chcę wycisnąć jak najwiekszą ilość próbek w określonym czasie sterując tym AVR'kiem. Przetwornik łatwo dostępny w polsce , cena też nie za wysoka, raczej z tych niskich. Jeśli nie ma tanich to jakieś max. 100zł. Sample odpadają potrzebuję więcej.
    Dzięki. Pozdrawiam.
  • REKLAMA
  • #2 4156565
    BoskiDialer
    Poziom 34  
    Posty: 1530
    Pomógł: 353
    Ocena: 42
    ADS830E - 8bit 60MHz.. z dostępnością niewiem, na tme 30zł(+waciki).
  • REKLAMA
  • #3 4157379
    autoservice
    Poziom 20  
    Posty: 516
    Pomógł: 7
    Ocena: 16
    ...oj aż taki szybki nie musi być, zresztą on potrzebuje jakiegoś zegara zewnętrzenego. Mi wystarczy 500ksps, no może max 1msps. I żeby przetwornik nie wymagał żadnych układów zewnętrznych, proste sterowanie poprzez AVR'a, przetwarzanie na żądanie.
    Pozdrawiam.
  • REKLAMA
  • #4 4159017
    zbv
    Poziom 20  
    Posty: 391
    Pomógł: 33
    Ocena: 12
    Proponuję TDA8703 można go kupić w Polsce i cena też do przyjęcia
  • #5 4160824
    autoservice
    Poziom 20  
    Posty: 516
    Pomógł: 7
    Ocena: 16
    Witam
    No czytam noty katalogowe tych scalaków i nie mogę zakumać jak sterować konwersją na żądanie...w obu układach. Jak to jest w ADS... 8 cykli zegarowych i dane pojawiają się na wyjściu? Czy może z każdym taktem pobierana jest kolejna próbka i potem pojawia się na wyjściu...
    W TDA są dwa tryby które mnie interesują, np. opadające zbocze tylko nie wiem dokładnie jak to działa , ta nota Philipsa jest uboga :( W kilku projektach z użyciem TDA widzę, że zegar np 20MHz jest podłączony przez różne dzielniki częstotliwości. Ale skąd wiadomo, że zakończyła się dana konwersja i można odczytać dane? Najlepiej to chciałbym mieć możliwość sterowania całym A/C przez uP. Myśłałem nawet o tym aby na jednym z pinów generować zegar i go podawać na wej. CLK przetwornika i tym sposobem będę miał przetwarzanie na żądanie...dobrze rozumuję? ;)
    Dzięki .
    Pzdr.
  • REKLAMA
  • #6 4160877
    BoskiDialer
    Poziom 34  
    Posty: 1530
    Pomógł: 353
    Ocena: 42
    Z dokumentacji ADS'a wynika tyle, że z każdym cyklem zegara na wyjściu pojawia się wynik kolejnej próbki, a opóźnienie pomiędzy pobraniem próbki a zwróceniem wyniku to 4 cykle - gdyby podłączyć sygnał zegara przetwórnika bezpośrednio pod zegar procesora, a szynę danych pod jeden cały port, to można by pobierać wartość bez dodatkowego oczekiwania i sterowania w jednym cyklu - odczytanie wartości na pinach - teoretycznie było by to 16MS przy 16MHz. Procesor miał by na wejściu wartość próbki z przed 4 cykli zegara..
  • #7 4160938
    autoservice
    Poziom 20  
    Posty: 516
    Pomógł: 7
    Ocena: 16
    ...no tak, ale pozostaje jeszcze kwestia przeniesienia wyniku z portu procesora do rejestrów lub pamięci SRAM.
    Mi wystarczy jeśli będę sterował tym zegarem z pinu procka, wtedy programowo będę mógł ustawiać podstawę czasu dla takiego mini oscyloskopu rejestrującego kawałek przebiegu.
    uzyskanie 100..500kSPS takim sposobem nie powinno być chyba większym problemem.
    Teoretycznie aby go wysterować wystarczy zmienić stan bitu CLK na pinie procka, odczytać wynik z portu, załadować do rejestru i potem do pamięci. Zajmie max 5...8cykli procka. Przy 16Mhz da nam to 2MSPS co już jest wynikiem super jak dla moich potrzeb :)
    Pzdr.
  • #8 4160963
    BoskiDialer
    Poziom 34  
    Posty: 1530
    Pomógł: 353
    Ocena: 42
    Łącząc Clk bezpośrednio (no.. za jakimś buforem HC) pod zegar procka masz jak już mówiłem, max odczyt co jeden cykl zegara... co prawda nie musisz odczytywać wyniku w każdym cyklu - jeśli procek będzie pobierał wartość co 32 cykle (500kSPS), przetwórnik nawet tego nie zauważy. Kod był by na pewno o wiele prostrzy - jeden cykl odczyt (bezpośrednio do rejestru), 2 cykle zapis do pamięci. szybciej sie nie da. No ale jeśli nie zależy aż tak bardzo na szybkości, albo zależy na minimalizowaniu poboru prądu, to czemu by nie (tylko trzeba jeszcze pamiętać o parametrze min 10kSPS którego się doczytałem)
  • #9 4277314
    zbv
    Poziom 20  
    Posty: 391
    Pomógł: 33
    Ocena: 12
    Widziałem w jednym z projrktów w Elektronice Praktycznej taką sztuczkę że przetwornik był taktowany sygnałem ALE procesor, co ułatwiało odczyt danych i zapis do pamięci.

Podsumowanie tematu

✨ Poszukiwany jest szybki, jednokanałowy przetwornik analogowo-cyfrowy (A/C) z równoległym interfejsem, kompatybilny z mikrokontrolerem AVR 16 MHz, umożliwiający sterowanie konwersją na żądanie i uzyskanie wysokiej częstotliwości próbkowania (około 500 ksps do 1 Msps). Wymagania obejmują prostotę sterowania bez dodatkowych układów zewnętrznych oraz dostępność i niską cenę (do około 100 zł). W dyskusji zaproponowano modele ADS830E (8-bitowy, do 60 MHz, wymaga zewnętrznego zegara) oraz TDA8703 (dostępny w Polsce, przystępny cenowo). Omówiono sposób sterowania zegarem przetwornika z mikrokontrolera, gdzie sygnał zegarowy generowany z pinu AVR pozwala na konwersję na żądanie i odczyt danych z portu równoległego. ADS830E wymaga 8 cykli zegara na konwersję, a wynik pojawia się z opóźnieniem 4 cykli. Przy taktowaniu 16 MHz teoretycznie można osiągnąć do 2 Msps, jednak praktycznie 500 ksps jest realne ze względu na czas przeniesienia danych do pamięci. Dyskutowano także o minimalnej częstotliwości próbkowania (około 10 ksps) i sposobach synchronizacji zegara przetwornika z mikrokontrolerem. Wspomniano o przykładzie z Elektroniki Praktycznej, gdzie przetwornik był taktowany sygnałem ALE procesora, co ułatwiało synchronizację i zapis danych.
Wygenerowane przez model językowy.
REKLAMA