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



Teraz jest 4 lip 2024, o 21:00


Strefa czasowa: UTC + 1





Utwórz nowy wątek Ten wątek jest zablokowany. Nie możesz w nim pisać ani edytować postów.  [ Posty: 19 ] 
Autor Wiadomość
PostNapisane: 16 cze 2012, o 15:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

W zasadzie to kosztem wprowadzenia można by przejść od razu do meritum, niemniej wypada słowem wstępu
opisać co nieco samą magistralę jak i jej zalety i wady, bowiem dla mnie jest to chleb powszedni, ale wielu z was
trochę się może wydać skomplikowane.

Wiec tak magistralę CAN (Controler AREA Network) powołano do życia w latach 80 w firmie Bosch (dzisiejsze O'Bosche):)
na potrzeby rynku motoryzacyjnego w celu poprawienia i zwiększenia niezawodności systemów ABS i wielu innych ....

W uproszczeniu zawierającym sedno działania CAN można powiedzieć że jest to asynchroniczna szeregowa magistrala
służąca do wymiany danych i tego się tego trzymać rękami, nogami i zębami (sztuczne szczeki są bardzo na miejscu).

CAN posiada wiele ciekawych własności niemniej tutaj wymienię tylko te podstawowe i postaram się je wyjaśnić :)

1. Posiada bardzo dużą odporność na zakłócenia elektromagnetyczne.

-- to zawdzięcza zastosowaniu różnicowej transmisji poszczególnych bitów.
-- dodatkowo każda ramka opatrzona jest sumą kontrolną CRC-15.

Cóż to oznacza dla nas... hmmm... matematycznie można obliczyć że jeden przekłamany bit może zostać nie wykryty
raz na 1000lat ciągłej pracy magistrali , więc prawdopodobieństwo niewykrycia wynosi 10^-11. Stanowi więc to
o dużej niezawodności magistrali, Co zresztą potwierdzają też badania i testy przeprowadzone przez firmę Bosch,
z których wynika iż w ciągu 4000h pracy wystąpiło około 3.95*10^(-3) nie wykrytych błędów transmisji.

2. Transmisja na magistrali CAN jest przeprowadzana metodą broadcastową.

Czyli oznacza to że magistrala pracuje w konfiguracji multi-master bez jednostki nadrzędnej.
Można więc uprościć powyższe stwierdzenie w taki sposób:

-- wszystkie urządzenia na magistrali są masterami.

3. Dostęp do medium transmisyjnego realizuje CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance)

Jest to sprytny mechanizm zapewniający transmisję wiadomości z uwzględnieniem jej priorytetu.
CSMA/CA w odróżnieniu od ETH (Ethernet) jest dużo skuteczniejszy i zapobiega utracie informacji w przypadku
kolizji na magistrali.


No dobra na razie wystarczy:) teraz może trochę jaśniej napiszę zamiast suchych faktów :)

Jak już zauważyliście magistrala CAN jest bardzo ciekawa, ale co w niej takiego jest że w ogóle warto sobie nią
głowę zawracać, czy potrzeba nam technologi samochodowych w układach, przecież mamy USART, I2C, SPI .....

hmmm no tak niby racja, no ale przyjrzyjmy się zatem prędkości magistrali. Otóż CAN pozwala transmitować dane
z prędkością do 1Mbps. Szybko prawda no ale nie jest aż tak kolorowo. 1Mbps jest , ale maksymalnie na odległość
do 40m. Czyli wraz ze wzrostem odległości prędkość maleje :( dodatkowo musimy też pamiętać, że rzeczywista
prędkość (efektywna) przesyłania danych po uwzględnieniu nagłówka i danych nadmiarowych wynosi aż ~50%.
Dotyczy to również danych z 24bitowym identyfikatorem.

W poniższej tabelce widzimy dostępne prędkości dla odpowiedniej długości magistrali:

Obrazek

Standard CAN definiuje nam tez kilka typów ramek, co ciekawe Ramka danych może zawierać tylko do 8 bajtów danych.
Z kolei mechanizm wykrywania i obsługi błędów używa ramek błędów (error frames). Dodatkowo istnieje możliwość
użycia ramek zdalnych RTR (Remote Transmission Request frames). Nie bez zasadne jest więc stwierdzenie,
że magistrala ta wpływa na elastyczność systemu oraz jest tania w implementacji.

No tak , ale co ma CAN do elastyczności UART jest też elastyczny podobnie jak I2C..

hehe zgadzam się z tym , ale wielu początkujących nawet nie zdaje sobie sprawy z ograniczeń w/w magistral.
żadna z w/w nie pozwala na dołączanie kolejnych węzłów bez zmian hardwerowych i softwerowych.

Jak napisałem wyżej CAN jest szeregową asynchroniczna magistralą. Bity na magistrali kodowane są metoda NRZ
(Non Return to Zero). CAN pozwala też na znaczne zmniejszenie okablowania, np producenci samochodów dzięki CAN
zmniejszyli wagę okablowania o kilka kilogramów jak też i ich długość o kilka kilometrów :)

Po dokładnym przyglądnięciu się magistrali CAN nie trudno nie zauważyć, że jest oparta na modelu warstwowym ISO/OSI.
Specyfikacja CAN definiuje jedynie warstwę fizyczną oraz łącza danych. Natomiast wybór medium transmisyjnego oraz
warstwę aplikacji pozostawia do zdefiniowania projektantom systemu. Myślę że jasno wynika to z Tabelki.

Obrazek

W odniesieniu do wspomnianego modelu warstwowego schemat transmisji wiadomości na magistrali CAN wraz
z uwzględnieniem jej postaci w przejściu przez kolejne warstwy.

Obrazek

Oczywiście musimy tez pamiętać iż od strony architektonicznej budowa węzła CAN zależy przede wszystkim od tego
w jakich warunkach i do czego będzie ona wykorzystywana. Rozglądnijcie się w około. Szybko zauważycie ze stale
poszukuje się rozwiązań bardziej odpornych na niekorzystne warunki w miejscu pracy starając się jednocześnie
zmniejszyć koszty całego systemu.

Typowa budowa węzła CAN:

Obrazek

Jak widzicie wyżej na jednej magistrali mamy 2 węzły o architekturach :

-- trójczłonowej , zawierający osobne urządzenia : mikrokontroler, kontroler CAN, oraz Transceiver
-- dwuczłonowej , czyli zawierający mikrokontroler z wbudowanym Kontrolerem CAN oraz Transceiver

Istnieje jeszcze oparta na układach FPGA, gdzie układ FPGA realizuję obsługę protokołu CAN, a mikrokontroler
może zostać zastąpiony procesorem Picoblaze osadzonym wewnątrz kodu VHDL. Transceiver występuje tutaj
także jako osobne urządzenie.


Ufff... Czas na podsumowanie czyli to co powinniście w sumie na tym etapie wiedzieć po przeczytaniu zawartych
wyżej informacji :)

CAN to dwuprzewodowa, pół-dupleksowa sieć z szybką komunikacją do 1 Mbit/s. Transmisja odbywa się w czasie rzeczywistym.
Magistrala CAN umożliwia wzajemną komunikację pomiędzy modułami elektronicznymi. Jest siecią multi-master, co oznacza,
że każdy z podsystemów sieci jest równorzędny przy inicjowaniu transmisji. Magistrala CAN jest bardzo bezpieczna,
odporna na błędy, zakłócenia i niezawodna dzięki zastosowaniu sprzętowej obsługi protokołu i kontroli błędów.



I to na razie tyle ... w następnej części/poście zajmiemy się integracja CAN z naszymi AVRkami dlatego
proponuje poszperać i zaopatrzyć się w układ MCP2515, który to jest Transceiverem CAN
Gdyż zajmiemy się dwoma standardami :

ISO11529-2: CAN o małej szybkości. oczywiście mała szybkość odnosi się do przesyłania danych od 5kb/s do 125kb/s.
ISO11898: CAN o dużej szybkości. Ten standard dotyczy szybkości przesyłania danych do 1Mb/s.

A do czego można zastosować CAN poza samochodem ?? ---- a na przykład :)

--- zastosowania w technice cywilnej:
inteligentne budynki,
przemysł lotniczy,
przemysł samochodowy - samochody osobowe i cię żarowe,
ciężki sprzęt budowlany,
pojazdy specjalne (np. wozy strażackie),
przemysłowe układy automatyki i sterowania;
--- zastosowania w technice wojskowej:
transportery opancerzone - kołowe i gąsienicowe,
stacje radiolokacyjne – morskie i lądowe,
mosty przewoźne,
symulatory,
--- inne zastosowania:
sworznie pomiarowe,
czujniki i przetworniki pomiarowe,
sterowniki plc,
pulpity i konsole operatorskie,
konwertery.

Jak więc widzicie CAN ma szerokie zastosowania i każdy znajdzie coś dla siebie :)
Do przeczytania w następnym artykule.....


CDN.... ale nie koniecznie dzisiaj :P

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
 
PostNapisane: 16 cze 2012, o 16:01 
Offline
Moderator
Avatar użytkownika

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

O kurczę ale się szybko skończyło czytanie :( buuuuu

A na poważnie - SunRiver mega świetny wstęp a czyta się lekko i przyjemnie więc dlatego nagły szok gdy dotrze się już do końca. Sam z wypiekami na twarzy będę czekał ale spokojnie na resztę - wiem co to znaczy przygotowywać takie materiały i ile to roboty i zachodu.

_________________
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  
 
PostNapisane: 16 cze 2012, o 16:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lis 2011
Posty: 534
Lokalizacja: Mierzyn
Pomógł: 9

SunRiver - czyta sie super . Czekam na reszte z niecierpliwoscia. Wielkie dzieki :)

_________________
pozdrawiam
Jachu



Góra
 Zobacz profil  
 
PostNapisane: 16 cze 2012, o 17:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

No cóż bez wprowadzenia i poznania koniecznych faktów , cały następny materiał który się powoli wykluwa w odległych i nie dostępnych
czeluściach chorego umysłu :) -- normalnie sam się boje tam zaglądać :) będzie się opierał o to co właśnie przeczytaliście,
nie wiem czy uda mi się to wszystko wyłuszczyć zrozumiale , ale nie obejdzie się bez ściśle teoretyczno-matematycznych rozważań
w wszystko po to by wam namieszać w głowach, rozrzucić i zmieszać z błotem tok rozumowania , namotać i na końcu pokazać
że wszystko jest banalnie proste:) Zatem zapewnić was mogę iż na pewno będzie prozą, choć zawieje i grozą, przejdzie w grecką tragedię
składając się u końca na komedię sytuacyjną :)

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
 
PostNapisane: 16 cze 2012, o 17:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 lut 2012
Posty: 243
Lokalizacja: wlkp
Pomógł: 2

Czy słyszałeś SunRiver o sieci DMX?



Góra
 Zobacz profil  
 
PostNapisane: 16 cze 2012, o 18:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

Oczywiście że znam dobrze interfejs systemu sterowania DMX (Digital Multiplex Signal) zakładam że chodzi ci o protokół DMX512 lub USITT DMX512, Kiedyś zajmowałem się oświetleniem scenicznym zresztą, zbudowałem kilka sterowników DMX z Dimmer-Packami :)
Nie jest to sieć :) Ale bardzo zbliżone gdyż cały system składa się z węzłów zwanych Daisy-Chain ze sterownikiem na początku i rezystancją terminującą na końcu. A całość sterowania polega na adresacji fizycznej urządzeń w systemie. w zasadzie jest to układ bliższy szynie I2C posiada podobne właściwości.
To tak w uproszczeniu:)

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
 
PostNapisane: 16 cze 2012, o 18:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 lis 2011
Posty: 582
Lokalizacja: okolice Wrocławia :)
Pomógł: 24

Coś za szybko się skończyło to czytanie...
Czekam z niecierpliwością na kolejne części :)


Wrangler napisał(a):
Czy słyszałeś SunRiver o sieci DMX?


Myślę że lepiej byłoby go zapytać o czym nie słyszał ;)

_________________
sig off ;(



Góra
 Zobacz profil  
 
PostNapisane: 16 cze 2012, o 18:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 lut 2012
Posty: 243
Lokalizacja: wlkp
Pomógł: 2

Dokładnie chodzi mi o oświetlenie sceniczne. Co sądzisz o połączeniu CAN i DMX, ma ta jakiś sens? Obeznany jak najbardziej nie jestem w temacie, ale mam znajomego, który takie coś chce zrobić. Niby jeszcze czegoś takiego na rynku nie było. Jeżeli rzeczywiście nie ma podobnej kombinacji, to może widocznie nie było sensu czegoś takiego robić? Projekt dotyczy sterowania oświetleniem scenicznym z PC, ale i również zsynchronizowane jest z tym całym systemem analogowe sterowanie z łączników instalacyjnych. Mózgiem tego wszystkiego ma być jakiś ARM, więcej szczegółów nie pamiętam..



Góra
 Zobacz profil  
 
PostNapisane: 16 cze 2012, o 18:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

Ujmę to tak niema sensu łączenia CAN z DMX . DMX podobnie jak MIDI został opracowany na potrzeby runku Muzycznego w celu
właśnie zastąpienia układów sterowania ręcznego. W zasadzie implementacja sterowania DMX w PC jest bardzo prosta
i w tym wypadku niema potrzeby ze się tak wyrażę wywarzania otwartych drzwi. Popatrz urządzenia pracujące pod DMX
są dostępne bez problemu podobnie jak wszelkie przystawki i konsole, jest to standard przewidziany właśnie do tego celu
Ramka danych obejmuje cały zakres możliwości sterowania. Budowanie układu z CAN byłoby zbędnym utrudnieniem.
Możliwe że lepiej by było pokombinować LIN ale koszta instalacji i skomplikowanie całości było by nie opłacalne.
To trochę tak jakbyś chciał wymyślać koło od nowa. :)

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
 
PostNapisane: 16 cze 2012, o 19:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 lut 2012
Posty: 243
Lokalizacja: wlkp
Pomógł: 2

Być może będę się z nim widział w poniedziałek, to może dowiem się czegoś więcej i wtedy skomentujesz coś więcej. Mnie po prostu o tyle zaciekawił ten jego projekt, że usłyszałem coś w stylu "tego jeszcze nie było".
Jakiś cel na pewno w tym musi być, no bo marnować czas i pieniądze.. no nie wiem.. tylko czy właśnie można to samo połączenie jakie ma spełniać CAN z DMX można by wykonać inaczej i lepiej.
Nie wiem o jakie funkcje CAN ma uzupełniać DMX. Dam znać, bo jestem ciekaw, co ktoś inny zupełnie postronny ma na ten temat coś rzeczowego do powiedzenia.
No i czy ten pomysł to faktycznie takie "WoW". :)



Góra
 Zobacz profil  
 
PostNapisane: 16 cze 2012, o 19:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

Dokładnie czegoś takiego nie było, Można się pokusić o komunikacje w CAN z urządzeniem sterującym DMX , ale łączenie tych protokołów w jeden jest bez sensowne i bezcelowe jeśli chodzi mu o zredukowanie ilości kabli to jest to bez sensowne.
Z DMX nie masz możliwości odczytu czyli jeden sterownik wysyła dane na wszystkie 512 kanałów po kolei od 1 do 512 i powtarza
urządzenie na kanale po prostu tylko odbiera niema żadnej kontroli. Może o to mu chodzi żeby urządzenie odpowiadało??

Lepiej by było jakby pokombinował nie z CAN-em , a z np sterowaniem cable-free .

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
 
PostNapisane: 16 cze 2012, o 19:26 

Pomógł: 0

Można powiedzieć SunRiver megusta ;).
Masz jakieś doświadczenia w współpracy AVRów na CAN przy zakłóconym mocno środowisku, tj. w zakładach produkcyjnych.

Jestem ciekaw, czy w ogóle warto w to brnąć, czy lepiej jednak pomyśleć o procesorach hitachi, motorola, pic.
Za jakiś czas kroi mi się poważny projekt, który będzie musiał prawdopodobnie wytrzymać sporo zakłóceń.
Can co prawda jest bardziej standardem samochodowym, ale spotkałem go nie raz już w maszynach przemysłowych. Sortownikach szczególnie.



Góra
  
 
PostNapisane: 16 cze 2012, o 19:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

Ależ oczywiście że tak właśnie do mocno zakłóconych środowisk CAN zaprojektowano. Owszem powstał on na potrzeby motoryzacyjne ,
ale stosowany jest szeroko :) miedzy innymi w urządzeniach przemysłowych :)

a gorszego środowiska jak samochód już chyba niema :) i CAN właśnie spisuje się rewelacyjnie :)
a jego implementacja jest bardzo prosta , choć można użyć gotowe układy z wbudowanym kontrolerem CAN

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
 
PostNapisane: 17 cze 2012, o 14:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 24 paź 2011
Posty: 580
Lokalizacja: Warszawa
Pomógł: 0

aż zamówiłem sobie MCP2515 xD

_________________
sig off ;(



Góra
 Zobacz profil  
 
PostNapisane: 21 cze 2012, o 10:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lis 2011
Posty: 534
Lokalizacja: Mierzyn
Pomógł: 9

http://www.elektroda.pl/rtvforum/topic2168306.html

tu tez troche i linki do jakis przykladow.
SunRiver czekam na dalsze czesci :)

_________________
pozdrawiam
Jachu



Góra
 Zobacz profil  
 
PostNapisane: 21 cze 2012, o 12:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

Musicie poczekać trochę bo mnie zmogło ostatnie 2 dni gorączka w okolicy 40 St , zapożyczone mam tylko obrazki , i to niektóre , spędzam sporo czasu z CAM wiec mogę spokojnie pisać z pamięci , ale w opisie ze względu na terminologie nie da się uniknąć podobieństw. :(
z tego powodu jest mi bardzo przykro, .... bo albo nie napisze się nic odkrywczego , albo ktoś to już zrobił , na szczęście dla mnie kolejna magistralą
będzie LIN , a tego jeszcze nikt nie opisywał .

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
 
PostNapisane: 21 cze 2012, o 12:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lis 2011
Posty: 534
Lokalizacja: Mierzyn
Pomógł: 9

SunRiver napisał(a):
Musicie poczekać trochę bo mnie zmogło ostatnie 2 dni gorączka w okolicy 40 St , zapożyczone mam tylko obrazki , i to niektóre , spędzam sporo czasu z CAM wiec mogę spokojnie pisać z pamięci , ale w opisie ze względu na terminologie nie da się uniknąć podobieństw. :(
z tego powodu jest mi bardzo przykro, .... bo albo nie napisze się nic odkrywczego , albo ktoś to już zrobił , na szczęście dla mnie kolejna magistralą
będzie LIN , a tego jeszcze nikt nie opisywał .


SunRiver - pisz i nie przejmuj sie ze ktos juz cos napisal. jakby Mirek na to patrzyl nie mielibysmy takich dwoch wspanialych pozycji :) Wiec czekam i nie wykrecisz sie :)
ZDROWIEJ :)

_________________
pozdrawiam
Jachu



Góra
 Zobacz profil  
 
PostNapisane: 21 cze 2012, o 12:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

Tak, tak .... kuruj się na spokojnie ......... tylko wiesz ............ nie przeginaj za bardzo z czasem, bo jak już to nastąpi, to my tam pojedziemy do ciebie i raz ale za to porządnie cię wykurujemy ;)



Góra
 Zobacz profil  
 
PostNapisane: 7 lip 2012, o 21:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

ech....

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Ten wątek jest zablokowany. Nie możesz w nim pisać ani edytować postów.  [ Posty: 19 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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