Forum: Mikrocontroller und Digitale Elektronik MCP3913 sporadisch nach PowerUp Offset von 0x8000


von Ludwig (Gast)


Lesenswert?

Hallo Forum,

ich habe hier einen MCP3913 ADC von Microchip mit 6 Kanälen per SPI an 
einem STM32.
Sporadisch, also etwa einmal bei ca. bis zu 30 Einschaltvorgängen, legt 
sich der ADC weg. Die Kanäle liefern einen Offset von 0x8000 und 
reagieren nicht mehr auf neue Werte. Allerdings sieht man noch ein 
Rauschen auf den Werten und auch der DataReady Pin feuert weiterhin. Die 
Referenzspannung ist da, der Masterclock ist da.

Per Analyzer schaue ich mir die SPI Kommunikation an. Dabei sieht alles 
OK aus. Ich kann auch immer alle Register mit den erwarteten Werten der 
Konfiguration zurück lesen. Auch im Fehlerfall. Auch die unbeschriebenen 
Register haben ihre default Werte.
Im Fehlerfall ist direkt das erste Wandlungsergebnis nach dem 1. 
DataReady schon falsch. Vorher sind die Channel 0.
Im Fehlerfall ist auch das MOD Register 0, das passt aber vermutlich zum 
0x8000 Offset.
Die Bemerkung aus dem Errata zum Resetpuls und dem Masterclock habe ich 
beherzigt und auch mit dem Analyzer kontrolliert. Der Masterclock wird 
erst nach der steigenden Reset Flanke gestartet.

Nach einem PowerCycle oder Reset des ADC per Reset Pin läuft der ADC 
wieder. Wenn der ADC einmal läuft, ist mir das Problem während des 
Betriebs nicht aufgefallen.

Ich kann mir das Verhalten nicht erklären. Immer beim Start. Irgendwie 
passt es zum Errata, aber das habe ich ja beachtet. Die Software sehe 
ich auch nicht als Problem an, da die kaputten Werte schon im Analyzer 
in der Antwort zu sehen sind. Was kann die Hardware zu so einem 
Aussetzer bringen? Ref, AVDD, DVDD sind wie im Datenblatt angegeben 
abgeblockt.
Wenn es ein Bug im Chip wäre, hätten sicherlich mehr Leute das Problem. 
Das Errata ist von 2015.
Hat da jemand eine Idee zu?

von Martin (Gast)


Lesenswert?

Hallo,

ich habe das gleiche Problem, aber mit dem MCP3911, wenn der sich einmal 
aufgehängt hat, geht nur noch eine Power Reset, Soft Reset oder reset 
Pin funktionieren dann nicht.

Würde mich auch für eine Lösung interessieren. Als erstes werde ich mal 
die MCLK später einschalten.

von MiWi (Gast)


Lesenswert?

Ludwig schrieb:
> Hallo Forum,
>
> ich habe hier einen MCP3913 ADC von Microchip mit 6 Kanälen per SPI an
> einem STM32.
> Sporadisch, also etwa einmal bei ca. bis zu 30 Einschaltvorgängen, legt
> sich der ADC weg. Die Kanäle liefern einen Offset von 0x8000 und
> reagieren nicht mehr auf neue Werte. Allerdings sieht man noch ein
> Rauschen auf den Werten und auch der DataReady Pin feuert weiterhin. Die
> Referenzspannung ist da, der Masterclock ist da.
>
> Per Analyzer schaue ich mir die SPI Kommunikation an. Dabei sieht alles
> OK aus. Ich kann auch immer alle Register mit den erwarteten Werten der
> Konfiguration zurück lesen. Auch im Fehlerfall. Auch die unbeschriebenen
> Register haben ihre default Werte.
> Im Fehlerfall ist direkt das erste Wandlungsergebnis nach dem 1.
> DataReady schon falsch. Vorher sind die Channel 0.
> Im Fehlerfall ist auch das MOD Register 0, das passt aber vermutlich zum
> 0x8000 Offset.
> Die Bemerkung aus dem Errata zum Resetpuls und dem Masterclock habe ich
> beherzigt und auch mit dem Analyzer kontrolliert. Der Masterclock wird
> erst nach der steigenden Reset Flanke gestartet.
>
> Nach einem PowerCycle oder Reset des ADC per Reset Pin läuft der ADC
> wieder. Wenn der ADC einmal läuft, ist mir das Problem während des
> Betriebs nicht aufgefallen.
>
> Ich kann mir das Verhalten nicht erklären. Immer beim Start. Irgendwie
> passt es zum Errata, aber das habe ich ja beachtet. Die Software sehe
> ich auch nicht als Problem an, da die kaputten Werte schon im Analyzer
> in der Antwort zu sehen sind. Was kann die Hardware zu so einem
> Aussetzer bringen? Ref, AVDD, DVDD sind wie im Datenblatt angegeben
> abgeblockt.
> Wenn es ein Bug im Chip wäre, hätten sicherlich mehr Leute das Problem.
> Das Errata ist von 2015.
> Hat da jemand eine Idee zu?

Microchip damit konfrontieren und auf Antwort beharren. Wenn Du ein 
übriges Testboard hast ihnen das zur Verfügung stellen oder einen 
Supporting kommen lassen und mit den Messungen konfrontieren.

BTDT mit 2 anderen Chips von denen. Mit anderen Worten: die hatten bei 
den bei uns betroffenen Chips (analog und ein uc) ein lausiges 
Testsystem und testen nicht alles was nötig wäre... beim uC hat es 1 
Jahr gedauert bis der Fehler ins Errate übernommen wurde.

iaW: Microchip ist bei und nicht mehr in Neuentwicklungen enthalten - 
und bei den alten sind sie asap hinausgeflogen.

MiWi

von Ludwig (Gast)


Lesenswert?

Martin schrieb:
> ich habe das gleiche Problem, aber mit dem MCP3911, wenn der sich einmal
> aufgehängt hat, geht nur noch eine Power Reset, Soft Reset oder reset
> Pin funktionieren dann nicht.

Hallo Martin, also du hast auch den Offset 0x8000? Tritt das Problem 
auch während des Betriebs auf? Bei mir scheint es auch nach ein paar 
Stunden aufzutreten. Ich kann es zwar erkennen und resetten, da ich den 
negativen Eingangsbereich nicht nutze, aber vertrauenserweckend ist das 
nicht.

von Ludwig (Gast)


Lesenswert?

Martin schrieb:
> Soft Reset oder reset
> Pin funktionieren dann nicht.

Ah, bei mir klappt aber ein Reset über den Reset Pin noch.
Das mache ich aktuell, wenn die Raw-Werte unter einem negativen 
Schwellwert liegen, den ich im normalen Betrieb nie am Eingang haben 
kann.

von Ludwig (Gast)


Lesenswert?

Also das Einfrieren scheint doch nicht im Betrieb aufzutreten. Da waren 
nur sporadische Fehlmessungen. Vermutlich lag es an der fehlenden 
Synchronisation auf das Data Ready. Microchip hat tatsächlich 
geantwortet und auf das Errata verwiesen. Man solle auch die komplette 
Konfiguration machen, bevor der Master Clock eingeschaltet wird. Ob das 
Einfrieren nun gar nicht mehr auftritt ist schwer zu sagen. Ich ahbe es 
vorerst nicht mehr bemerkt. Ich teste aber nach dem Reset trotzdem auf 
den Fall, dass alle Kanäle sehr negativ sind und starte ggf. neu.

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.