Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 18 lip 2025, o 13:01


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
    Autor Wiadomość
    PostNapisane: 4 mar 2021, o 17:34 
    Offline
    Użytkownik

    Dołączył(a): 20 lut 2013
    Posty: 166
    Pomógł: 0

    Witam. Panowie potrzebuje pomocy :( . Mianowicie próbuje okiełznać komunikację z ADC AD7192 przez programowe SPI (Biblioteka do SPI od Mirka).

    Czytając notę katalogową wychodzi mi że:
    " The SCLK active edge is the falling edge of SCLK. " - strona 7 czyli aktywnym zboczem jest zbocze opadające ?
    W stanie nie aktywność SCLK ma być w stanie wysokim, i od najstarszego bitu czyli MSB - strona 8

    Według tego wychodzi że trzeba ustawić w bibliotece MK_SPI:
    czyli PHASE na 0 I POLARITY NA 1

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    No teraz zacząłem pisać sobie bibliotekę do odczytu/zapisu tego układu:

    AD7192_def.h
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    AD7192.h
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    AD7192.c
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    i w main.c
    Najprościej próbuje odczytać stan tego rejestru konfiguracyjnego i odczytaną wartość wypluwam na uarta żeby mieć podgląd co odczytał:

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    W nocie i tabeli 14 na stronie 18
    "Idling the DIN pin high between data transfers minimizes the effects of spurious SCLK pulses on the serial interface. "

    Wysyłam bajt do rejestru komunikacyjnego: 01010000 - i to wygląda niby dobrze
    Z noty wynika że powinien odebrać 24 bity i taką wartość tego rejestru 00000000 00000001 00010111.

    Z tego wywnioskowałem żeby zamiast: spi_xmit_byte(0x00); wpisać spi_xmit_byte(0xFF); w funkcji odczytu. W jakimś sensie to pomogło

    Jednak w odpowiedzi jakby wartość przesuniętą o jeden bit, tzn brakuje najmłodszego( tzn. całość jest przesunięta w prawo o 1 bit?). Co powoduje to przesunięcie i jak je usunąć ? :? :shock:

    Wartość fizycznie wygląda dobrze w Salae Logic a w putty widać to przesunięcie o którym pisałem:
    ObrazekObrazek

    Link do noty:
    https://www.analog.com/media/en/technic ... AD7192.pdf



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 mar 2021, o 00:35 
    Offline
    Użytkownik

    Dołączył(a): 26 mar 2014
    Posty: 34
    Pomógł: 11

    Aktywnym zboczem dla ADC jest zbocze opadające ale dopiero przy zboczu narastającym dane są poprawne. Strona 11, opis pinu DOUT/RDY.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 13 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO