www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

CAN (Controller Area Network)
Pojdi na stran Prejšnja  1, 2
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
ciko
Član
Član



Pridružen-a: Čet 27 Mar 2008 11:41
Prispevkov: 126
Aktiv.: 0.60
Kraj: Novo mesto

PrispevekObjavljeno: Sob Jan 10, 2009 1:28 pm    Naslov sporočila:   Odgovori s citatom

Našel sem zelo lep primer za lpc2xxx, kjer je lepo razloženo:

http://www.standardics.nxp.com/support/documents/microcontrollers/zip/an10674.zip


Še nekaj ostalih stvari o canu
http://www.standardics.nxp.com/support/documents/microcontrollers/?search=can&Search.x=0&Search.y=0

Lep pozdrav
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
janiP
Član
Član



Pridružen-a: Čet 23 Okt 2008 23:00
Prispevkov: 145
Aktiv.: 0.71
Kraj: Ljubljana

PrispevekObjavljeno: Sob Jan 10, 2009 2:54 pm    Naslov sporočila:   Odgovori s citatom

ciko je napisal/a:
Našel sem zelo lep primer za lpc2xxx, kjer je lepo razloženo:

http://www.standardics.nxp.com/support/documents/microcontrollers/zip/an10674.zip


Sem na hitro pogledal, res je zelo lep primer.
Sam se trenutno precej ukvarjam s CANom, konkretno s krmilniki na CANopen-u (kot sem razlagal v prejšnjih postih).
Sicer pa delam z 16 bitnimi dsPIC-i od Microchipa. Malo razmišljam, da bi šel na močnejše mikrokontrolerje, samo nimam preveč časa, da bi se šel nekaj novega. Ko bo Microchip še malo dodelal svoje 32 bitnike, bom najbrž presedlal na njih.

Sicer so mi pa LPC-ji zelo všeč. Glede tvoj dokument mislim, da bi moj CANopen odlično tekel v njih. Samo, kot sem rekel, težko bi si vzel čas za osvojitev nove družine.
Drugače pa, če se kdo odloči uporabiti CANopen z LPC-ji, mu bom z veseljem pomagal.


p.s. Trenutno delam malo večjo zadevo, ki bo imela dve CANopen zanki, skupno z 15 krmilniki. Ker je stvar lepo razdeljena na posamezne segmente, so krmilniki precej enostavni. Pa še poraba kablov in žic je drastično zmanjšana zaradi CANopen-a.


LP,
Jani
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
janiP
Član
Član



Pridružen-a: Čet 23 Okt 2008 23:00
Prispevkov: 145
Aktiv.: 0.71
Kraj: Ljubljana

PrispevekObjavljeno: Tor Nov 24, 2009 10:43 pm    Naslov sporočila:   Odgovori s citatom

oker je napisal/a:
Pozdravljeni
Prebral sem tvojo razlago o Canopen.Zanima me kako tvoriš ta Device profil in kako ga implementiraš v sam čip
lp oker


Bom na kratko opisal potek dela, kako naredim enostavno napravo z digitalnimi/analognimi vhodi/izhodi po CANopen standardih.


Še prej pa na kratko še nekaj o CANopen-u: to je nek skupek standardov. Osnovni se dobijo zastonj na tej strani, še precej več jih je na razpolago za člane CiA. Osnovni je DS301, od 400 naprej so 'device profili'.
Na tej povezavi je en hitri trening za CANopen.


Za izdelavo je potrebno imeti:
- dsPIC30/33F mikrokrmilnik s CAN modulom ali Explorer16 demo ploščo od Microchipa.
- CAN transciever
- Microchipov C30 prevajalnik, IDE, programator
- nekaj, s čimer vzpostaviš in stestiraš CANopen komunikacijo, lahko je tudi samo še en enak mikrokrmilnik
- za referenco dva standarda: CiA DS301 in CiA DS 401
- mojo prosto kodo za CANopen, ki se jo dobi na povezavi, kot je opisano v prejšnjih prispevkih.

Sam to kodo kar precej uporabljam. Sestavljena je iz dveh delov:
- 'stack' - to je koda v c-ju, v objektno-orientiranem stilu. Je delujoča osnova, primerna za vse nadaljnje nadgradnje, ki jo prevedeš in naložiš v mikrokrmilnik. Vsebuje skoraj ves standard DS301.
- urejevalnik spremenljivk - GUI vmesnik, kjer vpišeš katere spremenljivke še potrebuje aplikacija. Generira dve datoteki s C-kodo in dokumentacijo naprave.


Potek, kako narediti I/O enoto v skladi z DS401:
Kot prvo, se zažene urejevalnik spremenljivk, kamor se vnese npr. naslednje spremenljivke:
6000h: Read input 8-bit
6200h: Write output 8-bit
6401h: Read analogue input 16-bit
6411h: Write analogue output 16-bit
6446h: Analogue output offset integer

Kar v urejevalniku se nastavi še komunikacijske in mapne parametre za 'Process data objects' v skladu s standardom.

Nato zgeneriraš datoteke. *.h in *.c datoteki vključiš v program.
Napišeš še nekaj svoje kode kot npr.: prebereš prvih osem pinov Porta B in vrednost zapišeš v spremenljivko OD_readInput8Bit[0]. Ali prebereš vrednost iz OD_writeOutput8Bit[0] in jo zapišeš na Port E. Podobno za ostale spremenljivke. Za osnovno delovanje bi morala stvar, ko prevedeš kodo in jo naložiš v mikrokrmilnik, delovati.



Lep pozdrav!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
glavič
Član
Član



Pridružen-a: Pon 17 Maj 2004 23:12
Prispevkov: 321
Aktiv.: 1.35
Kraj: Grosuplje

PrispevekObjavljeno: Sob Sep 11, 2010 6:39 pm    Naslov sporočila:   Odgovori s citatom

janiP je napisal/a:
CAN naprave so ponavadi povezane med sabo ena za drugo s parico. Pri 1Mbps je maksimalna dolžina 40m, pri bolj običajnih 125kbps je dolžina 500m, pri 10kbps je nekaj km.

Kakšni kabli pa se uporabljajo za take dolžine? Vmes ni nobenih ojačevalec ipd. zadev?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 39.61
Kraj: Kranj - struževo

PrispevekObjavljeno: Sob Sep 11, 2010 7:13 pm    Naslov sporočila:   Odgovori s citatom

Twisted pair.
Cat5 mrežni kabel po povsem v redu. Terminacija na začetku in koncu mora biti prilagojena kablu - ponavadi 110 ali 120 ohm.
In ne pozabi povezati mase.

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
janiP
Član
Član



Pridružen-a: Čet 23 Okt 2008 23:00
Prispevkov: 145
Aktiv.: 0.71
Kraj: Ljubljana

PrispevekObjavljeno: Pon Avg 29, 2011 11:30 am    Naslov sporočila:   Odgovori s citatom

Če koga zanima je na razpolago je nova verzija odprtokodnega stacka za CANopen:

http://sourceforge.net/projects/canopennode/


CANopen je višjenivojski standardiziran protokol, ki temelji na CAN-u. Nekaj lastnosti: NMT slave, Heartbeat producer/consumer, Error control, Emergency message, PDO linking and dynamic mapping, SDO expedited and segmented transfer, SDO master, Sync producer/consumer. Glej http://www.can-cia.org/.


Trenutno je na razpolago za 16 in 32 bitne PIC-e in pa za SC2x3, noben problem pa ne bi bil prenos tudi na kakšnega ARM-a.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
MarkoM
Član
Član



Pridružen-a: Tor 12 Sep 2006 15:29
Prispevkov: 2825
Aktiv.: 12.34
Kraj: Lovrenc na P.

PrispevekObjavljeno: Pon Avg 29, 2011 11:40 am    Naslov sporočila:   Odgovori s citatom

aly je napisal/a:
Twisted pair.
Cat5 mrežni kabel po povsem v redu. Terminacija na začetku in koncu mora biti prilagojena kablu - ponavadi 110 ali 120 ohm.
In ne pozabi povezati mase.

Nisem 100% vendar bi naj CAN delal brez povezane mase med enotami?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 39.61
Kraj: Kranj - struževo

PrispevekObjavljeno: Pon Avg 29, 2011 3:11 pm    Naslov sporočila:   Odgovori s citatom

MarkoM je napisal/a:
Nisem 100% vendar bi naj CAN delal brez povezane mase med enotami?

Še vedno so na vodilo priključeni transceiverji le navadni čipi, z napajanjem 5V in zaščitnimi diodami. Če imaš med dvema čipoma potencialno razliko 100 voltov, bo vsaj enega zanesljivo scvrlo. Torej morata biti približno na istem potencialu, kar ti lahko zagotovi le vodnik za GND (lahko kot shield).

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 39.61
Kraj: Kranj - struževo

PrispevekObjavljeno: Pon Avg 29, 2011 3:12 pm    Naslov sporočila:   Odgovori s citatom

Tu sem našel še nekaj informacij:
http://www.can-wiki.info/SaeJ1939

med drugim tudi primere za PIC-e:
http://ww1.microchip.com/downloads/en/AppNotes/00930a.pdf
http://ww1.microchip.com/downloads/en/DeviceDoc/51454a.pdf

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 39.61
Kraj: Kranj - struževo

PrispevekObjavljeno: Tor Avg 30, 2011 2:48 pm    Naslov sporočila:   Odgovori s citatom

Sedaj me je en lep čas matral tale avtomobilski standard J1939, pa sem se malo poglobil v SAE J1939-21.

Tukaj pa sem spisal program - calculator za kodiranje in dekodiranje PGN (Parameter Group Number) in celotnega ID number (29-bit).

Če komu pride prav... Tukaj je Very Happy



CAN_ID_PGN_calc_screen.png
 Opis:
 Velikost datoteke:  24.72 KB
 Pogledana:  54 krat

CAN_ID_PGN_calc_screen.png



CANbus_J1939_ID_PGN_calc.zip
 Opis:

Download
 Ime datoteke:  CANbus_J1939_ID_PGN_calc.zip
 Velikost datoteke:  440.04 KB
 Downloadano:  8 krat


_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
matjazkariz
Član
Član



Pridružen-a: Sre 03 Nov 2004 18:09
Prispevkov: 1026
Aktiv.: 4.32

PrispevekObjavljeno: Sob Sep 03, 2011 12:58 am    Naslov sporočila:   Odgovori s citatom

Jaz se tudi kar dosti ukvarjam s CAN. Trenutno raziskujem možnosti za razvoj WiFi - CAN naprave. Mislim, da bo kar v celoti na Microchip produktih...

J1939 sem tudi že uporabljal v kamionih ter na ladijskih motorjih. Za parsanje glavnih podatkov sem si izdelal aplikacijo.

Drugače pa je za zaščito transceiverjev res dobro uporabljati tudi GND. Na vsak svoj projekt dodam tudi TVS diode naprimer PESD1CAN, common mode choke za filtracijo motenj in pF kondenzatorje za redukcijo EMI.

_________________
LP, Matjaž
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 39.61
Kraj: Kranj - struževo

PrispevekObjavljeno: Sob Sep 03, 2011 9:25 am    Naslov sporočila:   Odgovori s citatom

Isto dvojno zaščitno diodo uporabljam tudi jaz. Za ostale navedene komponente pa zmanjka prostora na 1x2 cm velikem vezju Neutral
EMI motnje se da zmanjšati tudi na druga način; recimo MCP2551 transceiver ima možnost nastavitve slew-rate z zunanjim uporom.

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2
Stran 2 od 2

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 6 dni


Powered by phpBB © 2001, 2005 phpBB Group