- LiFePO4 Speicher Test         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Kann ein Chip Registereinträge verliehren?

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.01.2005
    Ort
    Bayern
    Alter
    38
    Beiträge
    795

    Kann ein Chip Registereinträge verliehren?

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo Leute!

    Ich habe ein Platinchen gebaut, mit dem man sich am CAN-Bus vom Auto spielen kann.

    Verwendete Hardware:
    Mikrocontroller: ATMega32
    CAN-Controller: MCP2515

    Nunja, bei längerem Betrieb reagiert auf einmal der CAN-Controller nicht mehr.
    Um "genau" zu sein, nach ca. 3Tagen.

    Mache ich ein AEG (Ausschalten, Einschalten, Geht), dann funktioniert es wieder für 3 Tage.

    Nun ist die Frage:
    Ist es Möglich, dass der MCP2515 CAN-Controller seine
    Registereinträger auf irgendeine Weise verliehrt nach 3 Tagen?
    Gruß,
    Franz

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    So allgemine gesagt: .......JA

    Das der Controller nicht mehr reagiert kann aber ganz andere Gründe haben.

    Könnte zb. auch ein Überlauf sein oder ein Programfehler der ins Nirvana zeigt.
    Gruß
    Ratber

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.01.2005
    Ort
    Bayern
    Alter
    38
    Beiträge
    795
    Hallo Ratber,

    Danke für Deine Antwort!

    Einen Programmfehler oder Pufferüberlauf schließe ich in diesem Fall mal aus,

    Das Programm läuft ständig im "Kreis" und macht innerhalb
    von Sekunden die gleichen Aufgaben.

    Aber generell ist sowas möglich sagst Du oder?

    Weil ich werd jatzt mal eine zeitlich gesteuerte Re-Initialisierung einbauen
    für die CAN-Controller.
    Gruß,
    Franz

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Ja,wie gesagt,Prinzipiell möglich aber die genaue Ursache kann vielfältig sein.


    Das Programm läuft ständig im "Kreis" und macht innerhalb
    von Sekunden die gleichen Aufgaben.
    Irgendein Stack im Spiel oder vieleicht knappe Timings ?

    Was noch sein könnte wäre ein unterbrochenes Protokoll so das der Contr. in einer Schleife klebt ?
    Irgendeine Fehlerabfrage eingebaut ?

    Breakpoints mit Ausgabe auf LCD/LED etc. wären vieleicht angesagt.
    Der Zeitrahmen ist ja scheinbar reproduzierbar.

    Hast du schon rausgefunden ob der Ausfall Zeitlich bedingt oder von der Zahl der Operationen abhängig ist ?


    Edit:
    Die grausligsten Schreibfehler entfernt
    Gruß
    Ratber

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    13.08.2004
    Ort
    Niedersachsen
    Alter
    44
    Beiträge
    96
    Tritt dieser Fehler immer nach ganz genau der gleichen Zeitspanne auf? In dem Fall ist es wahrscheinlich doch ein Puffer oder Zählerüberlauf.

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.01.2005
    Ort
    Bayern
    Alter
    38
    Beiträge
    795
    Hallo,

    Der Atmel macht auch noch andere Sachen, wie auch ein
    LCD ansteuern. Diese Aufgaben erfüllt er weiterhin.

    Nur gesendet und empfangen wird nichts mehr.
    Der Puffer ist aber gegen Überlauf geschützt.

    Nagut was heißt geschützt, er verweirft das was nicht reinpasst...

    Aber dann muß er trotzdem anstehende Sachen senden...
    (Normalerweise)

    Ich werd mal mehr Beobachtungspunkte einbauen.

    Aber ein Verlust der Registerenträge kann ja auch plausiebel klingen oder?
    Aber immer so gleich...

    Ich kann es zeitlich nicht genau messen, wann der Fehler eintritt,
    aber su um die 3 Tage dauert es...
    Gruß,
    Franz

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Ja,wie gesagt,die Zeit oder die Zahl bis zum ausfall wäre ein hinweis.

    Das der Controller weiterarbeitet würde das mehr auf den CAN-Treiber verschieben oder doch auf das Programm wenn vieleicht aufgrund eines Fehlers unsinn geschrieben würde.

    Wie gesagt,Wenn,wenn,wenn.
    So aus dem Stehgreif nicht einfach.
    Dazu das der Can-Bus Fluch und Segen zugleich ist.


    Naja,schau mal in Ruhe.
    Gruß
    Ratber

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.01.2005
    Ort
    Bayern
    Alter
    38
    Beiträge
    795
    Jo, aber jetzt geh ich mal ins Betti.

    Danke für die Hilfe!
    Gruß,
    Franz

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Aus ser Ferne kann man da wenig sagen. Neben Silicon-Bugs (also Fehler in der Hardware) können es Fehler in der Software oder durch andere Ereignisse sein, zB Transienten auf der Spannungsversorgung oder ein alpha-Teilchen zischt durch den Speicher.

    Die häufigsten SW-Fehler wurden schon aufgezählt. Daneben ist ein häufiger Fehler, daß bei Interrupt-Programmierung nicht-atomar auf Variablen zugegriffen wird. zB wird auf einer 8-Bit-Architektur ein 16-Bit-Wert gelesen/geschrieben, was die Architektur von Haquse aus nicht kann. Der Zugriff muss daher auf zwei 8-Bit-Zugriffe aufgeteilt werden. Geschieht zwischen diesen Zugriffen ein Interrupt, der die Variable verändert, hat man schon 8 Bit gelesen, die anderen 8 noch nicht *autsch*.

    Auffällig ist, daß es alle 3 Tage passiert. Evtl auch eine Interrupt-Bedingung, daß 2 Interrupts zusammen auftreten oder einer verloren geht oder oder oder....
    Disclaimer: none. Sue me.

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555

    Re: Kann ein Chip Registereinträge verliehren?

    Zitat Zitat von Kaiser-F
    Hallo Leute!
    Nun ist die Frage:
    Ist es Möglich, dass der MCP2515 CAN-Controller seine
    Registereinträger auf irgendeine Weise verliehrt nach 3 Tagen?
    Moin moin,

    Es gibt bei den CAN Bausteinen Fehlertolerannte Typen welche einen Selbsttest sowie Bus Test eingebaut haben. Dort werden interne Fehlerzähler hochgezählt und wenn die "überlaufen" geht der Kontroller vom Bus um den "Rest der Welt" nicht zu blockieren. Ob und wie man diese Fehlerzähler auslesen kann um zu prüfen das Fehler vorgefallen sind? Siehe auch http://de.wikipedia.org/wiki/Controller_Area_Network

    Gruß Richard

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress