PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AT90CAN128 will nicht senden!



spyman
12.11.2006, 21:51
Hallo,

mein erster Post hier ist ein großer Hilfeaufruf, denn ich versuche nun schon seit ner ewigkeit, dass der AT90CAN128 Daten sendet. Kann sich mal jemand bitte bitte der Sache annehmen und schaun, ob er einen Fehler findet?

Versuchsaufbau:
Senden:
AT90CAN128 montiert auf ATMegaEvoBoard von http://www.microcontroller-starterkits.de und nochmals montiert auf ExBoard von Ulrich Radig ( http://www.ulrichradig.de ),
beide mit einem 16MHz Quartz. Das ATMegaEvoBoard verwendet ein TJA1054, beim ExBoard habe ich sowohl ein TJA1054 wie auch ein PCA82C250 getested.

Programmieradapter:
STK200 / 300 Kompatiebler Adapter und SI Prog beide wie auf http://www.lancos.com/prog.html#hardware beschrieben.
Ein driter besteht aus 2 x 270 Ohm für den Parallelport.

Entwicklungsumgebung:
WinXP SP2, AVR-Studio 4.12 SP4, PonyProg 2000, BASECOM-AVR 1.11.8.3

Empfangen:
CAN200 Dongle ( http://private.addcom.de/horo/can200 ) der an nem eigenen Rechner mit Win2k SP4 und eigener Empfangssoftware basierend auf dem Treiber von Jürgen Eder ( http://www.ariga.de/deutsch/can/index.htm ) hängt. Der geht auch, da ich dort Daten angezeigt bekomme, die ein fertiges Steugergerät sendet.

CAN:
- 11-Bit-Identifier
- 100kBit/s
- länge zwischen Controller und CAN200 ca. 4m Cat 5 Kabel.

Fragen:
Weis jemand, ob man bei Lowspeed Can und 4m Kabel auch Abschlusswiderstände braucht?
Stimmen die Fuses?
Hat jemand noch eine Idee?

Ich hab alles in sämtlichen kombinationen ausprobiert, aber ich finde den Fehler einfach nicht.

Merci,
Michi

spyman
14.11.2006, 15:17
So hab mal nen kleinen Test gemacht, hab das Prog

$regfile = "m128can.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 16000000
$baud = 9600
do
Print "**** RN-CONTROL sagt Hello World *****"
wait 1
loop
end in Basecom auf den Controller geladen und erhalte im Terminal-Fenster eine lange Reihe(abhängig von der Stringlänge) von merkwürdigen "C" die alle unten noch nen Hacken haben, kann es sein, dass da also gernerell was nicht stimmt? Oder ist dass ein anderer Fehler, der damit nichts zu tun hat?
Habs übrigens ebenfalls mit beiden Boards getested, jedesmal das gleiche.

linux_80
14.11.2006, 18:33
Hallo,

in diesem Fall kommt dann immer die Frage,
läuft der AVR mit den angegebenen 16MHz ?
Sind die Fusebits darauf umgestellt ?

spyman
14.11.2006, 21:13
Soweit ich das beurteilen kann, stimmen die Fuses, aber zur kontrolle, hab ich ja nen Screenshot hochgeladen. Ich glaub nicht, dass die Frequenz stimmt, da ich mit hilfe von wait 1 (BASECOM), das ja laut Beschreibung eine Sekunde den Ablauf anhält, aber irgendwie haut des ned so hin, denn wenn ich damit nen pin wechselnd an bzw ab stelle, dauert das so ca. 8 sec. pro umstellung