Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Maksymalna szybkość transmisji w magistrali CAN

saul 03 Kwi 2009 14:29 3369 9
  • #1 03 Kwi 2009 14:29
    saul
    Poziom 12  

    Witam,

    Powszechnie podaje się parametry dotyczące szybkości transmisji magistrali CAN w b/s (zakładając, że moja interpretacja jest prawidłowa). Teoretyczna maksymalna szybkość komunikacji tej magistrali to 1 Mb/s, zakładając oczywiście spełnienie wszystkich warunków dotyczących warstwy fizycznej, oscylatora, próbkowania sygnałów, etc.
    Szybkość transmisji sygnału w przypadku komunikacji szeregowej podaje się jednak zwykle w bodach, czyli w liczbie zmian poziomu sygnału w czasie jednej sekundy, co ma znaczenie w przypadku modulacji sygnału. Przy czym sygnał w CAN nie jest modulowany (prawda ?), jest kodowany w NRZ i transmitowany różnicowo (najczęściej) ale nie modulowany. A zatem jest to szczególny przypadek, gdy 1 bod/s = 1 bit/s . I teraz pytanie, po co ten cały wywód ? Po to żeby przedstawić moją wersję zdarzeń i spytać szanownych Państwa jak Wy to widzicie ? Czy może jestem w błędzie i w CAN'ie jednak jest jakaś modulacja ? (zdziwiłbym się bardzo mocno) Inną opcją jest to, że powszechnie podawane są informację na temat baud rate a nie bit rate tej magistrali, ale jest jeszcze mniej prawdopodobne. Niemniej wydaje mi się, iż najlepszym sposobem będzie skonfrontowanie swojej opinii z innymi.

    0 9
  • #2 06 Kwi 2009 22:01
    saul
    Poziom 12  

    No to odpowiadam sam sobie, może komuś to się kiedyś przyda. Tak, w tym wypadku baud rate = bit rate. Jeśli nie ma żadnej modulacji to jest to samo.

    0
  • #3 11 Kwi 2009 14:49
    Nawigator
    Poziom 33  

    Nie chce mi się szukać źródeł ale CAN nie jest kodowany NRZ tylko jest to zwyczajny serial z dodanymi bitami stuff celem synchronizacji zegarów węzłów. Dlatego długość ramki jest zmienna bo zależy od ilosci wstawionych bitów stuff przy stałe ilości transmitowanych bajtów.
    Nie wiem o jakiej modulacji tu mowa? Gdzie tu nośna itp?
    Poprawnym parametrem CAN jest czas trwania bitu a baudrate jest raczej zwyczajowe. Czyli 1Mbit/s to bit 1us.
    Gdzieś czytałem że były próby uzyskania 2,5Mbit/s ale na b. krótkich odległosciach.

    N.

    0
  • #4 19 Kwi 2009 00:46
    saul
    Poziom 12  

    Nawigator
    - CAN jest kodowany w NRZ, Zauważ, że jeśli wysyłasz na magistralę 3 stany dominujące pod rząd, Masz po prostu utrzymany stan dominujący przez czas odpowiadający transmisji 3 bitów. Nie ma powrotu żadnego stanu neutralnego, to jest NRZ.

    - Bit Stuffing jest tylko jedną z metod zabezpieczania transmisji przed błędami, nie służy wcale synchronizacji, do tego wykorzystane zostały inne mechanizmy. Bit Stuffing działa w ten sposób, że po każdych 5 bitach o takim samym poziomie (dominującym lub recesywnym) nadany musi zostać bit (poziom) komplementarny, jeśli w odebranym strumieniu zostanie wykrytych 6 takich samych stanów jest to równoznaczne z wykryciem błędu transmisji.

    - Długość ramki jest uzależniona przede wszystkim od liczby bajtów danych w ramce, która może się wahać w zakresie od 0 (dla ramki RTR) do 8.

    - Napisałem, że NIE MA tu modulacji w kontekście porównania do systemów komunikacji, w których takowa występuje co implikuje to, że nie zawsze 1 bod/s = 1 bit/s. Ponieważ tutaj nie ma modulacji nie ma też tego problemu.

    "Poprawnym parametrem CAN jest czas trwania bitu a baudrate jest raczej zwyczajowe. Czyli 1Mbit/s to bit 1us. " - jakim parametrem ? Czego ? Definiując szybkość komunikacji ? Chyba nie Miałeś do czynienia z tym od strony praktycznej.

    "Gdzieś czytałem że były próby uzyskania 2,5Mbit/s ale na b. krótkich odległosciach. " - ten standard ciągle ewoluuje i jest modyfikowany zależnie od zastosowań (np. TTCAN), ale o takich próbach nie słyszałem, byłbym wdzięczny za źródło. W sumie nie widzę większego sensu dla ograniczania maksymalnej rozległości magistrali do 10 m dla 2,5 Mb/s , CAN został stworzony głównie dla przemysłu, nie do transmisji dużych ilości danych. Od tego jest ethernet, FDDI, etc.

    Ja dla odmiany podam swoje główne źródła:
    - http://www.can-cia.org/
    - dokument CAN Specification Version 2.0 firmy BOSCH

    0
  • #5 19 Kwi 2009 17:35
    marekos
    Poziom 15  

    saul napisał:
    W sumie nie widzę większego sensu dla ograniczania maksymalnej rozległości magistrali do 10 m dla 2,5 Mb/s ,


    CAN ma bardzo ścisłą zależność szybkości transmisji od odległości wynika to z tego protokołu i żadne kombinacje nie pomogą aby wyciągnąć większy szybkość na danej odległości, musisz się zaglębić w sam protokół i doczytać. Wiąże się to raczej z osiągnięciem bardzo dużej niezawodności transmisji niż z uzyskiwaniem dużych prędkości.

    0
  • #6 19 Kwi 2009 18:06
    saul
    Poziom 12  

    Marekos
    - Chyba nieuważnie Przeczytałeś dyskusję, chodziło mi o to, że nie widzę sensu dla ograniczania rozległości magistrali tylko po to żeby uzyskać 2,5 Mb/s, że nie ma to sensu właśnie z uwagi na przeznaczenie i założenia tego systemu.

    A tak BTW. odnośnie jeszcze mojej odpowiedzi dla Nagitatora, to powinienem jeszcze skomentować tę linijkę:
    "Dlatego długość ramki jest zmienna bo zależy od ilosci wstawionych bitów stuff przy stałe ilości transmitowanych bajtów."
    - No nie bardzo, długość ramki jest zmienna ze względu na liczbę bajtów danych, bit stuffing jest realizowany na poziomie warstwy fizycznej i jest transparentny dla warstwy łącza danych (a tylko na jej poziomie można mówić o ramce).

    Pozdrawiam Szanownych Dyskutantów

    0
  • #7 20 Kwi 2009 08:19
    marekos
    Poziom 15  

    saul napisał:
    Marekos
    - Chyba nieuważnie Przeczytałeś dyskusję, chodziło mi o to, że nie widzę sensu dla ograniczania rozległości magistrali tylko po to żeby uzyskać 2,5 Mb/s, że nie ma to sensu właśnie z uwagi na przeznaczenie i założenia tego systemu.


    Jak byś doczytał na temat protokołu CAN to wtedy byś zrozumiał sens po co jest to ograniczenie na rozległość magistrali przy tak duzych prędkościach.

    0
  • #8 20 Kwi 2009 21:25
    saul
    Poziom 12  

    Marekos
    - od kilku postów staram się koledze wytłumaczyć, iż moja wypowiedź oznacza, że: wyciąganie dużej szybkości na magistrali CAN, gdy odbywa się to kosztem długości tejże magistrali (a tutaj zawsze odbywa się to kosztem jej długości, jako że TAK, prędkości te są limitowane dla danych długości) nie ma sensu. Magistrala ta stworzona została z innymi założeniami (maksymalna odporność na zakłócenia i błędy) i do innych zastosowań (przemysł, rozproszone systemy kontrolno - pomiarowe). Co więcej, to nie tyle jest odgórne ograniczenie rozległości co fizyczne ograniczenie szybkości transmisji sygnału w mediów przy tłumieniu wynikającym z długości przewodu.
    Nie uwierzę, że tym razem kolega mnie już nie zrozumiał, powiedziałem to tak prosto jak tylko byłem w stanie. Dalsze powtarzanie tego o czym obaj doskonale wiemy uznam za spam i zaśmiecanie forum.

    0
  • #9 21 Kwi 2009 07:54
    marekos
    Poziom 15  

    Skoro dalej tak uważasz, to ja nie jestem w stanie Cię przekonać, prosiłem tylko żebyś doczytał może kiedyś zrozumiesz dlaczego jest ograniczenie w CANie na rozpiętość magistrali.

    Dodam tylko taką podpowiedź że CAN to nie RS-485 i tłumienie sygnału w medium ma nie wiele wspólnego z zasięgiem transmisji.

    Pzdr.

    0
  • #10 21 Kwi 2009 11:43
    saul
    Poziom 12  

    Jak dla mnie EOT, dalsza dyskusja jest pozbawiona sensu.

    0
TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo