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

ATmega 325 - Czujnik temperatury TC72, komunikacja przez SPI a ISP.

cyber90 23 Gru 2013 14:07 2727 5
REKLAMA
  • #1 13091401
    cyber90
    Poziom 15  
    Chcę skomunikować się z czujnikiem TC72, oto link do dokumentacji:
    http://ww1.microchip.com/downloads/en/DeviceDoc/21743B.pdf

    Korzystam z programatora AVRmkII który wykorzystuje interfejs ISP, a komunikacja z czujnikiem przebiega przez SPI. Chcę wykorzystać sprzętowe SPI ATmega 325. Pierwszy znak zapytania to połączenie czujnika. Proszę sprawdzić czy podłączając w taki sposób jest możliwość programowania przez sprzętowe SPI.

    ATmega 325 - Czujnik temperatury TC72, komunikacja przez SPI a ISP.

    Oczywiście na linii RESET jest odpowiedniej wartości rezystor i kondensator. A wartość rezystora podciągającego linię SS wynosi 10K. Z materiałów znalezionych w internecie wynika że mogę bezpośrednio podłączyć linię CE z linią SS procesora, ale nie wiem w jaki sposób potem miałbym zmieniać stan skoro ta linia musi być podciągnięta do Vcc.
  • REKLAMA
  • REKLAMA
  • #3 13092670
    cyber90
    Poziom 15  
    Znam ten artykuł, tylko kwestia czy dobrze go teraz interpretuję.
  • REKLAMA
  • #4 13092726
    Mateusz@
    Poziom 18  
    Kolego prawie dobrze, podłącz pin CE układu do pinu SS mikrokontrolera, nie usuwaj tego rezystora podciągającego.
  • REKLAMA
  • #5 13117020
    cyber90
    Poziom 15  
    Schemat wygląda następująco:
    ATmega 325 - Czujnik temperatury TC72, komunikacja przez SPI a ISP.

    Przeglądnąłem instrukcję do TC72 i napisałem do do odczytu pojedyńczej temperatury. Zaraz sprawdzę czy działa tylko muszę napisać jeszcze funkcje do wyswietlacza. Mam parę wątpliwości otóż w inicjalizacji SPI ustawiam SCK i MOSI a SS i MISO jako wejścia. Następnie przed wyborem CE ustawiam SS jako wyjście, czy w taki sposób zadziała programowe SPI pomimo że programuję przez ISP?

    Druga wątpliwość to ustawienie zegara i fazy. Trochę sie gubię w tym datashecie z tymi zboczami. Wspomagam się również tym opisem:
    https://www.elektroda.pl/rtvforum/topic756336.html


    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • #6 13201023
    cyber90
    Poziom 15  
    Mógłby ktoś doradzić co jest źle? Chcę sprawdzić czy czujnik odpowiada, czyli odebrać identyfikator urządzenia ?

    Moje funkcje:

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Program main:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Dane po sprawdzeniu wynoszą 0, a powinny 0x54. Jakiś pomysł?
    Wrzucam link do instrukcji:
    http://ww1.microchip.com/downloads/en/DeviceDoc/21743B.pdf
REKLAMA