RTV forum PL | NewsGroups PL

Jak przesłać większe ilości danych przez magistralę CAN: UDP i wyświetlanie na LCD?

transmisja danych po magistrali CAN

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak przesłać większe ilości danych przez magistralę CAN: UDP i wyświetlanie na LCD?

Atlantis
Guest

Wed Mar 05, 2014 10:18 pm   



Jak to właściwie jest z transmisją większej ilości danych po magistrali
CAN? Z tego co mi wiadomo jedna ramka pozwala na przesłanie 8 bajtów.
Zwykle realizuje się to właśnie w ten sposób (kod rozkazu + kilka bajtów
danych) czy też istnieje możliwość uruchomienia jakiegoś stosu, który
umożliwiłby przesyłanie bardziej skomplikowanych treści?

Co jeśli chciałbym przekierować na do określonego urządzenia na
magistrali CAN treść pakietu UDP (kilkadziesiąt - kilkaset bajtów w
ASCII)? Co, gdybym chciał przesłać tekst do wyświetlenia na LCD? Jest
jakiś sposób, czy to rozwiązanie zostało stworzone z myślą o przesyłaniu
prostych komend i niczego wiecej?

Krystian
Guest

Thu Mar 06, 2014 8:31 am   



On 05-03-2014 22:18, Atlantis wrote:
Quote:
Jak to właściwie jest z transmisją większej ilości danych po magistrali
CAN? Z tego co mi wiadomo jedna ramka pozwala na przesłanie 8 bajtów.
Zwykle realizuje się to właśnie w ten sposób (kod rozkazu + kilka bajtów
danych) czy też istnieje możliwość uruchomienia jakiegoś stosu, który
umożliwiłby przesyłanie bardziej skomplikowanych treści?

Co jeśli chciałbym przekierować na do określonego urządzenia na
magistrali CAN treść pakietu UDP (kilkadziesiąt - kilkaset bajtów w
ASCII)? Co, gdybym chciał przesłać tekst do wyświetlenia na LCD? Jest
jakiś sposób, czy to rozwiązanie zostało stworzone z myślą o przesyłaniu
prostych komend i niczego wiecej?

Witam


W przypadku diagnostyki (CAN w samochodzie) stosuje się warstwę sieciową
ISO TP (możliwość) przesłania do 4095 bajtów(12 bitowy parametr dlugosci
ramki). Opisana jest w normie ISO15765-2. Nad tą warstwą siedzi UDS
(diagnostyka - warstwa aplikacji).
Nie wiem jak to realizuje się w przemysłowym zastosowaniu CAN.

Pozdrawiam
Krystian

Marek
Guest

Thu Mar 06, 2014 9:01 am   



On Wed, 05 Mar 2014 22:18:06 +0100, Atlantis <marekw1986NOSPAM@wp.pl>
wrote:
Quote:
Co jeśli chciałbym przekierować na do określonego urządzenia na
ASCII)? Co, gdybym chciał przesłać tekst do wyświetlenia na LCD?
Jest


No i w czym problem? Podziel swój pakiet na 8 części i wysyłaj
ciurkiem. Podłącz sobie skaner can np. do samochodu, po odpaleniu
silnika jest wręcz zalew danych z kilkudziesięciu czujników.

--
Marek

Piotr Gałka
Guest

Thu Mar 06, 2014 11:10 am   



Użytkownik "Atlantis" <marekw1986NOSPAM@wp.pl> napisał w wiadomości
news:lf84ai$l5v$1@portraits.wsisiz.edu.pl...
Quote:
Jak to właściwie jest z transmisją większej ilości danych po magistrali
CAN? Z tego co mi wiadomo jedna ramka pozwala na przesłanie 8 bajtów.
Zwykle realizuje się to właśnie w ten sposób (kod rozkazu + kilka bajtów
danych) czy też istnieje możliwość uruchomienia jakiegoś stosu, który
umożliwiłby przesyłanie bardziej skomplikowanych treści?

Co jeśli chciałbym przekierować na do określonego urządzenia na
magistrali CAN treść pakietu UDP (kilkadziesiąt - kilkaset bajtów w
ASCII)? Co, gdybym chciał przesłać tekst do wyświetlenia na LCD? Jest
jakiś sposób, czy to rozwiązanie zostało stworzone z myślą o przesyłaniu
prostych komend i niczego wiecej?

Koncepcja w której wszyscy mogą nadawać jednocześnie a wygrywa ten, kto ma
najważniejszą informację (to jest idea CANa od strony sprzętowej)logicznie
wymusza krótkie ramki aby ważne informacje nie musiały czekać na zakończenie
nadawania jakichś bzdetów przez kogoś komu się akurat udało dorwać do łącza.
Między kolejne ramki długiej transmisji zawsze można się wciąć z nie
cierpiącym zwłoki przerwaniem.
Gdyby było inaczej to samochody z CANem działały by jak Windows.
P.G.

Piotr (RtB)
Guest

Thu Mar 06, 2014 6:52 pm   



W dniu 2014-03-06 08:31, Krystian pisze:
Quote:
On 05-03-2014 22:18, Atlantis wrote:
Jak to właściwie jest z transmisją większej ilości danych po magistrali
CAN? Z tego co mi wiadomo jedna ramka pozwala na przesłanie 8 bajtów.
Zwykle realizuje się to właśnie w ten sposób (kod rozkazu + kilka bajtów
danych) czy też istnieje możliwość uruchomienia jakiegoś stosu, który
umożliwiłby przesyłanie bardziej skomplikowanych treści?

Co jeśli chciałbym przekierować na do określonego urządzenia na
magistrali CAN treść pakietu UDP (kilkadziesiąt - kilkaset bajtów w
ASCII)? Co, gdybym chciał przesłać tekst do wyświetlenia na LCD? Jest
jakiś sposób, czy to rozwiązanie zostało stworzone z myślą o przesyłaniu
prostych komend i niczego wiecej?

Witam

W przypadku diagnostyki (CAN w samochodzie) stosuje się warstwę sieciową
ISO TP (możliwość) przesłania do 4095 bajtów(12 bitowy parametr dlugosci
ramki). Opisana jest w normie ISO15765-2. Nad tą warstwą siedzi UDS
(diagnostyka - warstwa aplikacji).
Nie wiem jak to realizuje się w przemysłowym zastosowaniu CAN.

Można zdefiniować sobie własny protokół komunikacyjny na bazie CANa i
ISO TP (albo podobnych protokołów). Nic też nie stoi na przeszkodzie,
żeby potraktować ID ramki jako adres urządzenia i zbudować protokół
master-slave albo multimaster.
Mogę powiedzieć, że to się sprawdza - niedawno zdefiniowaliśmy protokół
master-slave pozwalający na przesłanie (teoretycznie) 2^32 bajtów w
jednej wiadomości i z powodzeniem wykorzystujemy (więcej szczegółów,
niestety, podać nie mogę).

Pozdrawiam,
Piotr

elektroda NewsGroups Forum Index - Elektronika Polska - Jak przesłać większe ilości danych przez magistralę CAN: UDP i wyświetlanie na LCD?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map