-
        

Ergebnis 1 bis 1 von 1

Thema: LPC1768 ADU Burst Mode Problem

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.11.2007
    Ort
    Berlin
    Beiträge
    522

    LPC1768 ADU Burst Mode Problem

    Anzeige

    Hallo zusammen,
    Ich verwende bei meinem LPC1768 sechs Kanäle des ADU im Burst Mode mit einer Abtastrate von 1000 Messungen pro Sekunden pro Kanal. Habe also 6000 Interrupts pro Sekunde. Läuft auch alles einwandfrei. Meistens jedenfalls. Ich hatte ein sporadisches Fehlverhalten meines Gerätes und es lieft in einen Fehlerzustand. Nach einem erneuten aus und wieder einschalten lief alles wieder einwandfrei wie gewohnt. Habe es als ESD Problem oder was auch immer eingestuft. Nun trat plötzlich wieder dieses Problem auf also begann ich zu suchen und habe mein Gerät immer wieder ein und ausgeschaltet und beobachtet wann es schief geht.

    Nach x Einschaltungen ging es schief: 47,21,34,48

    Da muss also was sein. Die gesamte wichtigen Stellen der Software für den ADU abgesucht. Da war eigentlich nichts ungewöhnliches.
    Also habe ich Tests eingebaut. Habe unter anderem das Global Result Register AD0GR eigentlich versehentlich zweimal gelesen. und man staune mit unterschiedlichem Ergebnis. Die Kanalnummer änderete sich (CHN). zwar nicht immer, aber manchmal. Dann habe ich zwischen diesen beiden Leseoperatioen alle Interrupts ausgeschaltet, damit nicht einer dazwischen funkt. Und trotzdem kam es zu unterschiedlichen Ergebnissen, aber wie gesagt nicht immer. Ich fing dann an die Prioritäten meiner Interrupts zu ändern. und stellte fest, daß mein beschriebenes Problem nur auftritt, wenn es einen höher priorisierten Interrupt als den ADU Interrupt gibt. Zum Beispiel Timer oder Uart. Solange der ADU eine höhere Priorität hat, tritt das Problem nicht auf. Wenn ich aber alle Interrupts sperre während ich 2 mal das Result Register lese, kann doch eigentlich garnichts passieren. es sei denn ich würde mir dafür soviel Zeit lassen, daß die nächste ADU Konvertierung schon fertig wird, dann würden sich sicherlich die Channel Bits ändern. Also müsten die CHN Bits doch immer gleich bleiben. Was sich ändert ist das "DONE" Bit, da dies beim ersten Lesen des Registers gelöscht wird, das ist ja auch völlig korrekt, aber warum ändert sich die Channelbits ???

    Ne Woche ist rum und ich habe mir mal das neueste Errata-Sheet von NXP herunter geladen. Nu war ich ja erstaunt, da gibt es einen neuen Fehler, der hört sich an, als hätte er mit meinem Problem zu tun. Da steht man soll nicht das Ergebnis vom AD0GDR Benutzen sondern die entsprechenden AD0DR0..7 verwenden. Also habe ich mal den Code entsprechend geändert und siehe da auch nach 500 Einschaltungen trat kein Problem mehr auf. Bin jedoch etwas verunsichert. Denn der Burst Modus läuft ja weiter und um im Interrupt festzustellen welche Kanalwandlung grad fertig wurde, verlasse ich mich natürlich auf die drei CHN Bits. Wie soll ich sonst den Kanal ermitteln. Dann lese ich aber nicht wie vorher den ADU Wert aus dem AD0GDR-Register sondern je nach ermitteln Kanal aus den dazugehöigen Datenregistern AD0DR0..AD0DR7
    Das scheint auch zu funktionieren. Die Frage bleibt eigentlich: Kann ich mich auf die CHN Bit verlassen oder nicht ?
    Vielleicht hat ja schon jemand ähnliche Erfahrungen mit dem Burst Mode gemacht.
    Für Info wäre ich Euch dankbar.

    Siro
    Geändert von Siro (20.02.2012 um 16:30 Uhr)

Ähnliche Themen

  1. LPC1768 internal Pullup
    Von Siro im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 1
    Letzter Beitrag: 16.03.2011, 16:28
  2. LCD an PCF8574P im I2C-Mode
    Von Vector3 im Forum Sensoren / Sensorik
    Antworten: 5
    Letzter Beitrag: 30.03.2009, 09:02
  3. SFR08 im ANN-mode
    Von boeser_bube im Forum Sensoren / Sensorik
    Antworten: 3
    Letzter Beitrag: 21.11.2008, 19:05
  4. CTC Mode
    Von Thorsten im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 22.09.2006, 12:55
  5. POWER-DOWN MODE bei AVR?
    Von Rasuth im Forum AVR Hardwarethemen
    Antworten: 8
    Letzter Beitrag: 12.08.2006, 03:22

Berechtigungen

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