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



Teraz jest 31 mar 2020, o 01:51


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
Autor Wiadomość
 Tytuł: magistrala CAN
PostNapisane: 5 lis 2017, o 18:51 
Offline
Nowy

Dołączył(a): 10 maja 2016
Posty: 9
Pomógł: 0

Witam,

Zwracam się do Was z pytaniem odnośnie magistrali CAN (mcp2515). Natknąłem się na problem, którego nie do końca rozumiem. Jeśli wysyłam z jednego urządzenia kilka różnych wiadomości (o różnym ID), to urządzenie odbiorcze częściej odbiera wiadomość, która została wysłana pierwsza, a pozostałe bardzo rzadko. Udało mi się już ustalić, że prawdopodobnie chodzi o bufory mcp2515. Wiem, że każdy z nich ma swój priorytet i najpierw bufor o najwyższym priorytecie jest wysyłany. Zatem dlaczego dla takiego schematu transmisji jak niżej, wiadomość 1 jest częściej wysyłana? Przecież bufor 0 i 1 zostaną zapełnione i przez 100ms podczas delay powinny zostać oba wysłane, jednak tak się nie dzieje. Zrobiłem test i przez kilka minut odbiornik odebral 2500 wiadomosci nr 1 i tylko 300 wiadomosci nr 2.

1. CAN_wyslij(wiadomosc_1)
2. CAN_wyslij(wiadomosc_2)
3. delay(100);

Jeżeli między wysłaniem wiadomości 1 i 2 wstawie delay, to odbiornik odbiera tyle samo wiadomosci nr 1 i 2. Jednak takie rozwiązanie od razu odpada. Zmniejszając delay różnica w ilości odebranych wiadomości się zwiększa.

1. CAN_wyslij(wiadomosc_1)
3. delay(50);
2. CAN_wyslij(wiadomosc_2)
3. delay(50);

Czy mógłby mi ktoś wyjaśnić dlaczego mcp2515 nie wysyła wiadomości z drugiego bufora podczas delay(100) i co mogę zrobić aby wiadomości zostały wysłane jedna po drugiej?

Z góry dziękuje.

Edit.

Napisałem kod, w którym czekam aż zwolni się bufor 0 i tylko przy jego pomocy wysyłam wiadomości. Efekt ten sam. Może to nie wina nadawcy, a odbiorcy?



Ostatnio edytowano 5 lis 2017, o 21:39 przez Papryk, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2017, o 20:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 gru 2013
Posty: 120
Pomógł: 16

SunRiver jest chyba ekspertem od tego scalaczka :) Ja obecnie rozgryzam MCP2517FD ale do transmisji jeszcze nie doszedłem :)

_________________
http://strefapic.blogspot.com



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ł: MSN [Bot] i 3 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