Forum: Mikrocontroller und Digitale Elektronik SJA1000


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von takkom (Gast)


Lesenswert?

Hallo,

ich habe mir mit dem SJA1000 einen CAN Teilnehmer aufgebaut.
Funktioniert soweit. Der Teilnehmer wird von der LPT des rechner
angesteuert. Gibt es überhaupt eine Möglichkeit die Initialisierung des
SJA1000 rückgängig zu machen bzw. zu löschen?
Wenn ich z.B. den teilnehmer einfach mal so von der LPT entferne und
anschließend wieder auf die LPT aufstecke dann funktioniert die
Kommunikation zu dem anderen Teilnehmer, ohne dass ich den SJA1000
wieder neu initialisiere.

von Dietmar (Gast)


Lesenswert?

>Gibt es überhaupt eine Möglichkeit die Initialisierung des
>SJA1000 rückgängig zu machen bzw. zu löschen?

Was willst du denn damit bewirken?

Gruß

Dietmar

von takkom (Gast)


Lesenswert?

Ich stelle mir das so vor, wenn ich einen Button drücke, dann soll das
Senden bzw. Empfangen von Botschaften gestoppt werden und der SJA1000
soll zurückgesetzt werden. Ich könnte doch am RESET des SJA1000 0-Volt
draufgeben, dann müsste doch der SJA1000 einen RESET auslösen oder?
Dies habe ich mal bereits durchgeführt, aber der lässt sich nicht
zurücksetzen.
Meine Frage lautet, was müsste ich exakt tun?

von takkom (Gast)


Lesenswert?

Durch einen Button löse ich einen RESET Impuls (von HIGH auf LOW) am
SJA1000 aus.
Das kann ich doch so machen, oder?

von takkom (Gast)


Lesenswert?

Durch einen LOW PEGEL am RESET Anschluss, müsste doch der SJA1000
Controller zurück gesetzt werden.

von takkom (Gast)


Lesenswert?

Welche Möglichkeiten gibt es überhaupt den SJA1000 Controller zurück zu
setzen, so dass eine neue Initialisierung notwendig ist?

1. auf RESET Leitung des SJA1000 LOW Pegel schalten
2. bestimmtes Register setzen?

Gibt es eine Möglichkeit den STATUS des COntroller abzufragen?
z.B. BUS OFF, PASSIVE, ACTIVE...
Ich muss dazu sagen dass ich meine Applikation ohne den Interrupt des
SJA1000 verwende

von takkom (Gast)


Lesenswert?

... kann mir da keiner helfen?

von Michael W. (mictronics) Benutzerseite


Lesenswert?

So viele Fragen...

Hast Du dir schon mal die Mühe gemacht, das Datenblatt des SJA zu
lesen? Viele Deiner Fragen werden darin beantwortet.

Das dein SJA noch funktioniert, ohne neuen Init, nachdem du den vom LPT
getrennt und wieder angesteckt hast, kann nur bedeuten, das er weiterhin
mit Strom versorgt war.
Sobald du den Controller von der Versorgung trennst, bzw. einen Reset
auslöst, werden die Register mit Standardwerten beschrieben. Welche das
sind steht im Datenblatt.

Ich nehme mal an, du hast die Hardware nach irgendeiner Schaltung
nachgebaut. Vielleicht kannst du ja mal die Quelle deiner Schaltung
nennen.

von Peter D. (peda)


Lesenswert?

Ob man nun Drähte abzieht, kann der Chip natürlich nicht mitkriegen.
Solange er Saft (+5V) hat, macht er weiter.


Laut Datenblatt ist ein Software-Reset durch setzen des RR im CR
möglich und funktioniert auch.
Erst wenn man RR wieder auf 0 setzt, rennt er los.


Peter

von takkom (Gast)


Lesenswert?

Ich verstehe dann nicht warum der RESET am SJA1000 so nicht
funktioniert. Warum hat man dann überhaupt einen RESET Anschluss an dem
COntroller?

von takkom (Gast)


Lesenswert?

CR: RESET REQUEST

Bit 0 (Reset Request) dient dem Umschalten zwischen Operating-Mode und
Reset-Mode.
Bei Setzen dieses Bits wird ein Reset-Request ausgelöst. Die aktuelle
Übertragung wird abgebrochen und in den Reset-Mode gewechselt.

Das heisst ich muss dann dieses Bit dementsprechend verwenden!

von Peter D. (peda)


Lesenswert?

"Ich verstehe dann nicht warum der RESET am SJA1000 so nicht
funktioniert."


Wer hat denn gesagt, daß der nicht funktioniert ?

Einfach mal mit GND verbinden, dann ist Ruhe im Chip.


Ich nehme den Software-Reset um nen Pin zu sparen, das ist alles.


Peter

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.