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



Teraz jest 28 mar 2024, o 12:45


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
PostNapisane: 26 sty 2019, o 14:50 
Offline
Użytkownik

Dołączył(a): 25 wrz 2014
Posty: 137
Lokalizacja: Konin/Poznań
Pomógł: 0

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 :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sty 2019, o 17:07 
Offline
Użytkownik

Dołączył(a): 05 kwi 2014
Posty: 339
Pomógł: 10

A dales pullup?

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sty 2019, o 17:15 
Offline
Użytkownik

Dołączył(a): 05 wrz 2017
Posty: 169
Pomógł: 31

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sty 2019, o 18:09 
Offline
Użytkownik

Dołączył(a): 25 wrz 2014
Posty: 137
Lokalizacja: Konin/Poznań
Pomógł: 0

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sty 2019, o 10:00 
Offline
Użytkownik

Dołączył(a): 25 wrz 2014
Posty: 137
Lokalizacja: Konin/Poznań
Pomógł: 0

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sty 2019, o 10:55 
Offline
Użytkownik

Dołączył(a): 05 kwi 2014
Posty: 339
Pomógł: 10

Google nie dziala?

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

Otwierasz pdf od atmega32 i masz rejestry od spi.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sty 2019, o 14:24 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

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

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 mar 2019, o 21:53 
Offline
Użytkownik

Dołączył(a): 25 wrz 2014
Posty: 137
Lokalizacja: Konin/Poznań
Pomógł: 0

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) :)



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: 8 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 6 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