ATNEL tech-forum
https://forum.atnel.pl/

ADXL345 - problem z transmisją SPI 4-wire
https://forum.atnel.pl/topic21914.html
Strona 1 z 1

Autor:  Vroobee [ 26 sty 2019, o 14:50 ]
Tytuł:  ADXL345 - problem z transmisją SPI 4-wire

Witam,

znowu mam problem z uruchomieniem modułu po SPI wykorzystując software'ową wersję tej komunikacji.

Sprawa jest następująca - próbuję skomunikować się z modułem ADXL345 po SPI 4 wire. Schemat połączenia wzięty z noty katalogowej modułu ADXL345 (dokładnie używam tego modułu https://kamami.pl/czujniki-przyspieszenia-akcelerometry/234150-modadxl345.html?search_query=adxl345&results=11). Podłączenie sprawdzałem wielokrotnie, na pewno jest w porządku. Te same instrukcje były wykorzystywane dla RFM73 i tak wszystko działało - tu natomiast nie chce za bardzo. Podgląd na oscyloskopie wysłanej instrukcji pinem MOSI aby odczytany został DEVICE ID (rejestr 0x00), wybaczcie za słabą czytelność - takie eksportowanie z Hanteka:
Obrazek

Dla pewności dodaję również info z noty odnośnie transmisji SPI:
ObrazekObrazek

Oraz fragmenty programu, które są istotne.
main.c
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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


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


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


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


Gdybyście byli chętni pomóc i zwrócić uwagę na jakieś błędy to przyjmę z podziękowaniem :)

Autor:  wchpikus [ 26 sty 2019, o 17:07 ]
Tytuł:  Re: ADXL345 - problem z transmisją SPI 4-wire

A dales pullup?

Wysłane z mojego SM-G950F przy użyciu Tapatalka

Autor:  abel11 [ 26 sty 2019, o 17:15 ]
Tytuł:  Re: ADXL345 - problem z transmisją SPI 4-wire

Tak bez jakiegoś specjalnego zgłębiania się w kod, to czy kod kolegi pracuje w MODE 3? (clock polarity CPOL= 1 and clock phase CPHA = 1) strona 15 noty katalogowej.
Poniżej zamieszczam obrazek z wikipedii:
Obrazek

Porównaj wrzucone przez Ciebie przebiegi wg noty katalogowej ADXL345 z tym co zaleca nota katalogowa RFM73, z pewnością SCK jeden i drugi układ wymaga odwrotnie w idle.
Obrazek

Wydaje mi się że RFM73 ma MODE0, a ADXL345 z tego co napisano ma MODE3.

Autor:  Vroobee [ 26 sty 2019, o 18:09 ]
Tytuł:  Re: ADXL345 - problem z transmisją SPI 4-wire

Okej, faktycznie - nie zgadza się. Podpowie ktoś jak zrealizować CPHA = 1 w funkcji SPI_RW ? Bo jeśli chodzi o CPOL = 1 to wystarczy tylko zamienić stany. Co do CPHA nie mam pojęcia.

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


Przebieg wyjściowy wygląda podobnie jak ten z noty ale nadal nic. Ktoś miałby jeszcze jakąś podpowiedź ?

Obrazek

Autor:  Vroobee [ 27 sty 2019, o 10:00 ]
Tytuł:  Re: ADXL345 - problem z transmisją SPI 4-wire

Pomoże ktokolwiek ? :) podrzucić chociaż jakiś trop

Autor:  wchpikus [ 27 sty 2019, o 10:55 ]
Tytuł:  Re: ADXL345 - problem z transmisją SPI 4-wire

Google nie dziala?

https://www.electronicwings.com/avr-atm ... ga1632-spi

Otwierasz pdf od atmega32 i masz rejestry od spi.

Autor:  mirekk36 [ 27 sty 2019, o 14:24 ]
Tytuł:  Re: ADXL345 - problem z transmisją SPI 4-wire

Vroobee napisał(a):
Podpowie ktoś jak zrealizować CPHA = 1 w funkcji SPI_RW ? Bo jeśli chodzi o CPOL = 1 to wystarczy tylko zamienić stany. Co do CPHA nie mam pojęcia.


https://youtu.be/8HVVq2WA3yg?t=1471

Autor:  Vroobee [ 11 mar 2019, o 21:53 ]
Tytuł:  Re: ADXL345 - problem z transmisją SPI 4-wire

Witam,

po dłuższej rozkminie tematu dlaczego to nie działa mi SPI z modułem ADXL345 (konkretnie takim bo to dość istotne https://kamami.pl/czujniki-przyspieszenia-akcelerometry/234150-modadxl345.html?search_query=adxl345&results=11) znalazłem rozwiązanie. OTÓŻ linia SDO była domyślnie w module złączona do masy dlatego nie dostawałem żadnej odpowiedzi zwrotnej mimo poprawnej konfiguracji SOFT SPI. Po usunięciu zworki moduł zwraca po wysłaniu komendy DEVID piękne E5 (czy tam 229 decymalnie, jak kto woli) :)

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/