TOP
SSV Software Systems Register  Register
Log in to check your private messages  Log in to check your private messages
Startseite FAQ Search Mitglieder Profile  Log in 
SSV Support-Forum
CAN timing 19.2 kbit/s

 
Post new topic   Reply to topic    SSV-Forum Forum Index >>> DNP/5282
<<< Previous topic - Next topic >>>  
Display posts from previous:   
Author Message
thw



Joined: 17 Feb 2009
Posts: 4

PostPosted: 18.02.2009, 17:08    Post subject: CAN timing 19.2 kbit/s Reply with quote

Ich versuche die Kommunikation zweier CAN-Geräte zu lesen,
per Oszilloskop konnte ich die Geschwindigkeit von 19,2 kbit/s bestimmen.

Um das CAN-Interface des 5282 zu konfigurieren benutze ich folgenden Code:
Code:

#define CONF_TIMING 3
...
CAN_BTR_VAL1 = PROPSEG;            
CAN_BTR_VAL2 = ( (RJW<<6)+(PSEG1<<3)+(PSEG2) );   
...
Config_par_t  cfg;
cfg.target = CONF_TIMING;          
cfg.val1   = CAN_BTR_VAL1;
cfg.val2   = CAN_BTR_VAL2;
ioctl(can_fd, CAN_IOCTL_CONFIG, &cfg);   


Leider habe ich es bisher nicht geschafft, den Wert für PRESDIV ins Register zu schreiben,
daher setze ich vor dem obigen Code die Baudrate per set_bitrate auf 20 kbit/s.

Bisher konnte ich kein Datenpaket einlesen.

Der Busstatus ändert sich beim Lesen: 0,128,256,384,400
Beim Schreiben wird das erste Paket gesendet, alle weiteren füllen den tx_buffer.

Als Parameter fürs Timing wurden bereits *alle* möglichen Werte getestet.

Danke im Vorraus!
Back to top
View user's profile Send private message
kdw



Joined: 05 May 2006
Posts: 1460

PostPosted: 19.02.2009, 14:17    Post subject: CAN … Reply with quote

Hallo THW.

„Beim Schreiben wird das erste Paket gesendet, alle weiteren füllen den tx_buffer.“ … Das könnte auch auf physikalische Probleme mit dem CAN-Bus hindeuten.

Was passiert, wenn man die can4linux Demos (canrx, cantx) von der Starterkit-CD-ROM einsetzt?

Gruß

KDW
Back to top
View user's profile Send private message
thw



Joined: 17 Feb 2009
Posts: 4

PostPosted: 19.02.2009, 15:21    Post subject: Reply with quote

Hallo kdw,

die Ausgabe der binarys von der cd:

Code:

 ./canrx
using CAN device /dev/can0
set baudrate to 20 Kbit/s
waiting for msg at 0x0xe77efe:
Received with ret=0
Received with ret=0
Received with ret=1:    943928519.528838 id=-1 len=0 msg='' flags=0x10
Received with ret=0
Received with ret=0
...


Das obige "Paket" wird nur einmal empfangen und zeigt wohl den Busstatus an.

Code:

# ./cantx
using CAN device /dev/can0
set baudrate to 20 Kbit/s
sending system time: msg='02:23:59' id=0 len=8 flags=0x00
sending system time: msg='02:24:00' id=1 len=8 flags=0x00
sending system time: msg='02:24:01' id=2 len=8 flags=0x00
sending system time: msg='02:24:02' id=3 len=8 flags=0x00

Da die beiden anderen Nodes regen Traffic erzeugen, lässt sich das vom dnp gesendete Frame
nur schwer indentifizieren.
Der Busstatus beim Senden wechselt zwischen 564,592 und 68.
Ohne Verbindung zum Bus ist er 592.

Soweit ich es überblicke, müsste es ein Timingproblem sein.

Kann man die Funktionen der GPIO Beispiele übertragen?
Code:

#define PRESDIV_REG (MCFBAR + 0x001C0008)
...
ssvhwa_write8(PRESDIV_REG, PRESDIV);
i = ssvhwa_read8(PRESDIV_REG);

Leider funktioniert es nicht wie erhofft! Rolling Eyes
Back to top
View user's profile Send private message
kdw



Joined: 05 May 2006
Posts: 1460

PostPosted: 23.02.2009, 12:16    Post subject: Testumgebung … Reply with quote

Hallo THW.

Mir ist nicht ganz klar, wie die Testumgebung aussieht, in der das Problem auftritt.

Wie viele Teilnehmer wurden hier zu einem CAN-Netzwerk zusammengeschlossen?

Um was für Systeme handelt es sich?

Welche Ausdehnung hat das gesamte CAN-Netzwerk (Kabellänge im Meter)?

Wie sieht es mit den Abschlusswiderständen aus?

Gruß

KDW
Back to top
View user's profile Send private message
thw



Joined: 17 Feb 2009
Posts: 4

PostPosted: 23.02.2009, 16:34    Post subject: Reply with quote

Hallo kdw,

Das CAN-Netzwerk besteht aus 2 Geräten + DNP/5282.
Die beiden Geräte sind Bestandteil eines Zapfanlagensystems,
welches permanent miteinander per CAN kommuniziert.
Die Transceiver sind vom Typ Phillips PCA82C250.

Der Aufbau ist: A-B-DNP, mit Abschlusswiderständen an A und DNP.
Die Leitungslänge beträgt 4m.

Das System funktioniert und der Traffic lässt sich am Oszi beobachten.

Was leider nicht gelingt, ist das "mitlesen" per DNP-CAN.

Grusz, thw
Back to top
View user's profile Send private message
kdw



Joined: 05 May 2006
Posts: 1460

PostPosted: 24.02.2009, 16:50    Post subject: CAN mit 19.2 … Reply with quote

Hallo THW.

Danke für die Info. Leitungslänge ist dann ja auf jeden Fall unkritisch. Das die Abschlusswiderstände OK sind, setzte ich voraus.

Dann können es eigentlich nur die 19.2 Kbps sein. Das ist definitiv keine offizielle CAN-Geschwindigkeit. Der Entwickler der can4linux-Software sagt dazu: „Ich vermute diese Bitrate lässt sich mit der aktuellen CPU Frequenz (des DNP/5282) wirklich nicht mit wenigstens 1% Genauigkeit einstellen. Dann geht kein Empfang und Senden führt zu Fehlern.“

Gruß

KDW
Back to top
View user's profile Send private message
thw



Joined: 17 Feb 2009
Posts: 4

PostPosted: 25.02.2009, 11:36    Post subject: Reply with quote

Hallo kdw,

vielen Dank für die Mühe. Schade, dass es wohl nicht funktionieren kann.

Grusz thw
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    SSV-Forum Forum Index >>> DNP/5282 All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

SSV Software Systems GmbH

Dünenweg 5
30419 Hannover

Fon: +49(0)511  ·  40 000-0
Fax: +49(0)511  ·  40 000-40

sales@ssv-embedded.de


Impressum    ·    Datenschutz    ·    AGB

© 2023 SSV SOFTWARE SYSTEMS GmbH. Alle Rechte vorbehalten.

ISO 9001:2015