AT90CAN128 zu langsam?

OP #443339
Lesenswert?

Hallo,
ich habe 2 AT90CAN128 beide auf EVO boards eines von 
http://www.microcontroller-starterkits.de/ und eines von Ulrich Radig 
(http://www.ulrichradig.de/) um Hardwarefehler auszuschließen.
Bei beiden habe ich es nicht geschafft, den CAN-Bus zum laufen zu 
bekommen.
Habe deshalb mit BASECOM-AVR ein kleines testprog laufen lassen:

 $regfile = "m128can.dat"
 $framesize = 32
 $swstack = 32
 $hwstack = 32
 $crystal = 16000000


 Config Porta.3 = Output
  Do
     Porta.3 = 1
    Waitms 1000
     Porta.3 = 0
    Waitms 1000
  Loop

  End

mit dem Ergebnis, dass anstatt einer Sekunde 7 Sekunden gewarted wird.
Im Anhang ist ein Screenshot der Fuses.
Bei beiden Boards hängt ein 16MHz Quartz an X1, X2
Das Problem mit dem CAN-Bus hab ich noch mal genauer beschrieben unter 
http://www.roboternetz.de/phpBB2/viewtopic.php?t=24991
Angehängte Dateien:
Gast #443341
Lesenswert?

Ich verstehe nichts von Bascom, da ich selber nur mit C/C++ arbeite und 
mit diesem speziellen Controller habe ich auch noch nix gemacht.

- Aber: Hat dieser Controller einen internen RC-Oszillator? Ist dieser 
vielleicht eingeschaltet (anstelle des externen Quarz-Oszillators)?
- Oder: besitzt dieser Controller einen Takt-Vorteiler, der evtl. 
aktiviert ist?
Das alles würde ein unerwartet langsameres Arbeiten erklären.

Also bitte einmal die Fuse-Einstellungen prüfen!
Gast #443345
Lesenswert?

Ah, ich habe Deinen Anhang mit den Fuse-Einstellungen übersehen! 
Verzeihung!
Sieht so aus, als sei der externe Quarzoszillator eingestellt.

Aber die Fuse für 'Divide Clock by 8 internally; [CKDIV8=0]' sehe ich 
nirgens.
Gast #443351
Lesenswert?

Den Sinn dieser Fuse habe ich auch noch nicht erkannt, ich weiß nur, 
dass sie standartmäßig aktiviert ist. Deswegen habe ich mal ein paar 
Stunden gesucht, warum mein CAN-Bus nicht lief. Wenn dein 
Programmierprogramm die Fuse nicht kennt, nimm eine anderes. Die ist 
bstimmt die Wurzel des Übels!

Henrik
Gast #443399
Lesenswert?

Eines ist klar: Ohne mindestens einen Abschluss (Frage im RN) 
funktioniert CAN überhaupt nicht - nicht mal bei 4mm und 1bit/sec.

Wenn ein CAN Device nicht senden kann, gibt's üblicherweise irgendwelche 
Fehleranzeigen/Registerinhalte/... und auch Loopback/Selftest-Modi.
Gast #443599
Lesenswert?

Hört jemand dem CAN aktiv zu? Wenn nicht, ist Error völlig normal weil 
kein ACK kommt.

Ansonsten wär's hilfreich, wenn du mal rausfindest was genau für ein 
Error das ist (CANGSTA,CANTEC,CANSTMOB).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren