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

Atmega128 i mcp4921, brak komunikacji

-=lechu=- 14 Lis 2009 01:04 1565 2
REKLAMA
  • #1 7257729
    -=lechu=-
    Poziom 11  
    Witam !

    Dołączyłem do atmega128 dac mcp4921. No i nie chcą ze sobą gadać a właściwie dac nie chce słuchać komend.
    SPCR=0x53;
    SPSR=0x00;
    PORTG &= ~cs_dac; //chip select = 0
    delay_us(10);
    spi(0x7A);
    spi(0x55);
    PORTG |= cs_dac; // chip select = 1
    Kod w Codevision. Podłączyłem analizator logiczny i przebiegi wyglądają wzorcowo a mimo to układ milczy. Może ktoś uruchamiał juz taki zestaw. Mi się juz pomysły kończą. Na tym spi mam podłączony jeszcze ade7754 (oczywiście z innym cs) i z nim nie mam problemu. Muszę się tylko przełączać między trybami spi bo ade7754 czyta dane na narastającym zboczu zegara a mcp4921 na opadającym. Ale jak wspomniałem do przebiegów trudno się przyczepić. Jakieś sugestie ?

    Pozdrawiam
    Lechu
  • REKLAMA
  • #2 7258382
    kamyczek
    Poziom 38  
    Wysyłasz 16 bitów może w odwrotnej kolejnosci od msb-lsb czy lsb-msb . Ocena problemu wymaga schematu i jakiegoś wykresu twojego przebiegu z analizatora .
  • #3 7310646
    -=lechu=-
    Poziom 11  
    Witam,
    przepraszam że dopiero teraz ale trafił się nieoczekiwany wyjazd. Zrzut z analizatora poniżej:
    Atmega128 i mcp4921, brak komunikacji

    Tryb 00, MSB pierwszy. Tak tez zostalo to zdekodowane przez analizator. Tutaj wysyłam 0x7A i potem 0x55 czyli zgadza się.

    Pozdrawiam
    Lechu

    Dodano po 5 [godziny] 7 [minuty]:

    No i problem rozwiązany. Nie dochodził do przetwornika sygnał ldac, ktory po kazdym wpisie danych trzeba wyzerowac i z powrotem ustawić na 1. No cóż diabeł zawsze tkwi w szczegółach.

    Pozdrawiam
    Lechu
REKLAMA