Problem z DS2450 - maska konwersji i stabilność wskazań

Tutaj mozesz poruszać tematy ogólne powiązane z elektroniką, np. dyskusje na temat podzespołów, układów, zasad ich działania. Czyli można pisać o wszystkim czego nie da się przyporządkować do innych działów.
ODPOWIEDZ
rapelc
-
Posty: 8
Rejestracja: 31 sty 2009, 9:08
Lokalizacja: Świdnica

Problem z DS2450 - maska konwersji i stabilność wskazań

Post autor: rapelc » 25 gru 2009, 22:35

Chodzi o skonfigurowanie 4-ro kanałowego przetwornika analogowo cyfrowego DS2450 firmy Maxim-Dallas

Angielski znam zbyt słabo i nie jestem w stanie w jakiś sensowny sposób zrozumieć opisu w pdf-ie w tabelce na str.10:
READ-OUT CONTROL (CONVERSION COMMAND) Figure 7b.
Algorytm jest narysowany na str. 9 pdf-a:
FUNCTION COMMAND FLOW CHART Figure 6 (continued).
Na podstawie tego co się doczytałem, również tabelka na str. 17 pdf-a:
TX Reset Reset Pulse (480 - 960 µs)
RX Presence Presence Pulse
TX CCh Issue “Skip ROM” Command
TX 3Ch Issue “Convert” Command
TX 08h input select mask CH-D
TX 40h read-out control byte
RX <CRC16> CRC of command, mask, control byte
RX <multiple data bytes> continue reading until byte is FFh

określa wymaganą kolejność wydawania komend dla rozpoczęcia przetwarzania analogowo-cyfrowego.
Z tego do czego udało mi się dojść ustawiając odpowiednio tę maskę chodzi o określenie końca przetwarzania, aby móc odczytać prawidłowe wyniki, tylko że nie rozumiem o co chodzi. Są 3 możliwości ustawienia 2-ch bitów dla wszystkich 4 kanałów osobno: 00, 01, 10. Lecz nie mogę w jakiś sensowny sposób przetłumaczyć co te trzy możliwe kombinacje oznaczają.
W przykładzie programów w Bascomie na końcu wywołania funcji Convert

( RX <multiple data bytes> continue reading until byte is FFh)

jest pętla która kręci się aż zmienna pomocnicza osiągnie FFh, lecz dla jakiegoś tam przykładu z ustawieniem tej maski. Próbowałem rozgryźć to metodą prób i błędów ale nic to nie dawało, nie widziałem żadnych różnic. Nawet dla ustawienia maski 00 program działał, ale jak, czy dobrze czy też źle, to nie mam pojęcia. Maskę tę trzeba ustawić bo inaczej nie ma wyników przetwarzania.

Dla informacji program w Bascomie na którym sprawdzałem DS2450:

Kod: Zaznacz cały

'konfiguracja maski konwersji
1wreset                       'aktywacja magistrali
1wwrite &Hcc               'skiprom - wybor ukladu 1wire bo jest tylko 1
 1wwrite &H3C             'convert = komenda rozpoczecia przetwarzania
 1wwrite &B00001111   'wybor kanalow: A,B,C,D
 1wwrite &B00000000   'maska konwersji (mozliwe: 00, 01, 10)
  Crc(1) = 1wread(2)    'czyta CRC 16 bitowe
  Do                            'koniec przetwarzania gdy
   X = 1wread(1)          'odczytywany bajt
  Loop Until X = &HFF    'bedzie rowny FFh
Jeszcze jedno pytanie.
Czy komuś udało się w praktyce uzyskać na tej kostce stabilne przetwarzanie o rozdzielczości powyżej 8 bitów? Bo mi do rozdzielczości 8 bitów wskazania napięcia były stabilne, a powyżej 8 bitów to młodszy bajt był niestabilny. Jego wskazania były przypadkowe w pewnym zakresie, tak jakby pewne pasmo wartości napięcia było zaszumione. Sprawdzałem to dla ustawień zakresu napięcia 5,12V.
Ostatnio zmieniony 27 gru 2009, 0:22 przez rapelc, łącznie zmieniany 1 raz.

ODPOWIEDZ