-
        

Ergebnis 1 bis 10 von 10

Thema: Reboot bei SPI Anschluss

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    12.07.2007
    Beiträge
    6

    Reboot bei SPI Anschluss

    Anzeige

    Hallo

    Meine Ausgangssituation ist. 2 Atmel's sollen über den SPI informationen austauschen was soweit auch funktioniert. Nun dient der eine (ATMega32) als Ausgabe Gerät für die Funktione des Anderen (ATMega64). Also der Mega32(SPI Master) wird über einen Stecker mit dem Mega64(SPI Slave) verbunden und begint sobald er strom (über das Kabel) hat mit der SPI kommunikation. Das Funktioniert auch ziemlich gut mein Problem ist nun das sich der Salve von Zeit zu Zeit Resetet(was noch verständlich wäre) oder trotz watchdog kommplet aufhängt .

    Statische Aufladungen an den Leitungen sind durch die Beschaltung unterbunden. Der ChipSelect hat einen Pulup damit der Salve bei getrenten Leitungen nicht Selektiert ist und keine sinlosen SPI Interrupts auftreten. Die SPI kommunikation wird über die ISR's abgewickelt. Da der SPI sonst funktioniert kann es kein Prinzipelles Problem sein. Ich habe auch schon aus dem "MCUCSR – MCU Control and Status Register" den Resetgrund ausgelesen dabei kam ich einmal auf einen watchdog und 3 mal (was mir föllig unverständlich ist) auf einen Resetgrund 0.

    Vor allem der Reset grund 0 und die Tatsache das sich ein Atmel überhaubt wegen des SPI aufhängen kann ist mir unklar da die Verarbeitungsfunktion auch mit föllig zufälligen Werten zurechtkommt ohne abzustürzen. Die Einzige mir einfallende Erklärung für die beschriebenen Probleme wäre ein ständig ausgelöster SPI-Interrupt was zu einen watchdog reset führen würde. Das erklärt aber weder einen Resetgrund 0 noch wieso ein solcher interupt ständig ausgelöst werden sollte.

    Ich bin für alle anregungen dankbar und mir wäre schon sehr mit einer Idee zur eigentlichen Fehlerursache Geholfen.

    mfG wuerzi.

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von darwin.nuernberg
    Registriert seit
    08.08.2004
    Ort
    A, A
    Alter
    53
    Beiträge
    1.305
    Blog-Einträge
    1
    Wie sieht denn die Versorgung aus,
    Netzteil gro genug?
    tummel sich auf der Versogung (VCC) störsignale?

    Probiers erst mal mit einer Kombination von Lade- und Siebkondensatoren.
    220uF, 10uF, 100nF und 10nF parallel geschaltet von VCC nach GND und zwar an beiden Modulen

    Hat Dein Reset auch einenPullUp?
    Hängt der Programmierstecker noch dran (ISP)?
    Gruss
    Darwin (meine Projekte sind auf meiner Pinnwand zu finden)

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.01.2007
    Beiträge
    134
    So was ähnliches hatte ich auch mal, nur mit einem 14 bit ADC als Slave (der wurde dann verdammt heiss). Geholfen haben zwei ganz simple Widerstände zwischen MISO und MOSI mit 1kOhm in Reihe.. seitdem ist der Hänger nicht wieder aufgetreten. Leider kann ich ohne Oszilloskop den wahren Grund nicht herausfinden..

    Grüsse, Stefan

    PS: föllig mit v

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    12.07.2007
    Beiträge
    6
    StromVersorgung erfolgt über einen 12Volt Bleiakku (zurzeit von einem 2A Labornetzteil Simuliert) der Gesamtstromverbrauch (noch einige ander Bautiele) im 12V Strompreis betrögt zur Zeit 119 mA die wandlung auf 5V erfolgt über eine SteppII Box von Falcom und ist absolut glat. Beide haben 470 µF Kondensatoren.

    Der reset hat einen PullUp und der Programmierstecker ist abgezogen.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    12.07.2007
    Beiträge
    6
    Wiederstände hab ich auch schon. Und wie gesagt der trit nicht Regelmäsig auf sindern eher Selten beim an und abstecken.

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von darwin.nuernberg
    Registriert seit
    08.08.2004
    Ort
    A, A
    Alter
    53
    Beiträge
    1.305
    Blog-Einträge
    1
    na mach noch mindestens 100nF oder 10nF dazu (für die ganz schnellen impulse)


    So'n fetter Elko ist etwas träge.


    (ich kann mich nicht zurückhalten: Widerstände nicht Wieder... ((Ich Kanntz ja auch niechd Bässer)) )
    Gruss
    Darwin (meine Projekte sind auf meiner Pinnwand zu finden)

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    12.07.2007
    Beiträge
    6
    100 nF hab ich auch drin der zusätzliche 10nF ist etwas schwer umzusetzen da das ganze schon auf Platine ist aber könnte das wirklich zum aufhängen führen bzw. würde da nicht die die Brown-out Dedection losgehen und mir einen entsprechenden Reset Grund anzeigen?

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von darwin.nuernberg
    Registriert seit
    08.08.2004
    Ort
    A, A
    Alter
    53
    Beiträge
    1.305
    Blog-Einträge
    1
    Na 'kleb' den dann doch provisotisch auf die Lötseite,
    allerdings weis ich jetzt auch nicht mehr viel.


    Umweltbedingungen (Störeinstrahlung)?
    Ich hattte mit meinem C64 oder wars gar noch der VC20 (lang lang ist's her) immer ein ähnliches Problem, wenn eine Leuchstofflampe eingeschaltet wurde.

    Möglich wären da viele Verursacher wie Elektrorasierer, Haarfön oder gar ein Heizlüfter (bei dem miesen Wetter (am Gletscherrand)).
    Gruss
    Darwin (meine Projekte sind auf meiner Pinnwand zu finden)

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    12.07.2007
    Beiträge
    6
    hab den 10nF Kondensator jetzt ausprobiert hat aber nichts gebracht. Aufgrund der schweren Reproduzirbarkeit dauern Tests leider sehr lange, weshalb mir eine Idee für die Ursache mehr helfen würde als Schaltungsveränderungen. Externe Faktoren sind annähernd ausschlisbar da genantes Problem an verschiedenen Orten auftrit sowohl in der arabischen Wüste als auch in der deutschen Stadt(obwohl man natürlich nie alle Umweltbedingungen ausschliesen kann).

    Die beste Spur die ich sehe sind die reset gründe aus dem MCUCSR - Register besonders das auftreten von 0. Ich denke es erfordert eine art Software workaround wenn die bedingungen eintreten die dies Verursachen. Da ich aber keine ahnung habe wie es zu einer 0 kommen kann weis ich auch nicht wo mein workaround ansetzen muss.

    Dennoch vielen dank für die mühe und den tip mit dem 10nF Kondensator der kommt auf die nächste Platine auf jeden fall mit drauf.

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    12.07.2007
    Beiträge
    6
    hat vieleicht sonst noch jemand eine idee aus einen Softwarereset auslösen kann wenn ohne den WD auszulösen (auser Stack überlauf das ab ich schon ausprobiert)

Berechtigungen

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