Forum: Mikrocontroller und Digitale Elektronik UPDI - EMV - Tiny814


von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

Hallo Zusammen,
ich setze erstmals den Tiny814 ein und bereite die Baugruppe gerade auf 
den EMV Test nach DIN EN 60601-1-2 2015 vor.

Der Tiny814 verwendet das UPDI Interface, welches die Reset-Leitung 
gleichzeitig zur Debug-Leitung macht.

Übliche Mindestvorkehrung gegen Störgrößen an der Reset-Leitung sind ein 
Pull-Up-Widerstand und ein Stützkondensator. Diese Kombi wird vom 
Hersteller wie folgt kommentiert:

https://www.microchip.com/webdoc/GUID-DDB0017E-84E3-4E77-AAE9-7AC4290E5E8B/index.html?GUID-9B349315-2842-4189-B88C-49F4E1055D7F

TinyX-OCD (UPDI) Special Considerations
...
When designing a target application PCB where UPDI interface will be 
used, the following considerations must be made for correct operation:

    Pull-up resistors on the UPDI line must not be smaller (stronger) 
than 10kΩ. A pull-down resistor should not be used, or it should be 
removed when using UPDI. The UPDI physical is push-pull capable, so only 
a weak pull-up resistor is required to prevent false start bit 
triggering when the line is idle.
    If the UPDI pin is to be used as a RESET pin, any stabilizing 
capacitor must be disconnected when using UPDI, since it will interfere 
with correct operation of the interface
    If the UPDI pin is used as RESET or GPIO pin, all external drivers 
on the line must be disconnected during programming or debugging since 
they may interfere with the correct operation of the interface
...

Auf meiner konkreten Baugruppe habe ich einen 10k Pull-Up verbaut, mit 
optionalem Stützkondensator nach GND. Versorgung ist eine Li-Ion Zelle, 
zulässige Betriebsspannung im Feld 3,4..4,2V.
Die Baugruppe wird über Nadeladapter in Betrieb genommen. Die gesamte 
Resetleitung ist aus mechanischen Gründen ca. 15mm lang, läuft über der 
Massefläche.

Bei der Inbetriebnahme hat sich gezeigt, dass eine 10kR/10nF Kombi 
tatsächlich das UPDI blockiert. Ohne Kappa stabiler Debugbetrieb.
Der Kappa ist nach dem Programmieren natürlich schnell reingelötet, aber 
in der Serie würde ich das gerne vermeiden.

Frage: hat jemand konkrete Erfahrung mit dem UPDI unter 
Störbeaufschlagung?
Getestete Schaltungsvorschläge?

Danke,
 marcus

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

Um dieses Thema abzuschließen:
Wir haben gestern bei der benannten Stelle die EMV-Prüfungen 
durchgezogen. Arbeitsbeginn 08:00h - bestandene EN 60601-1-2 (Medizin 
EMV) und bestandene ETSI EN 301489-1/-17 ("Funkprüfung") um 16:10h. Das 
war ein Ersttest mit einer Menge neuer Komponenten. An den Layouts wurde 
nichts modifiziert.

Getestet wurden die Tiny in zwei Konfigurationen, auf insgesamt vier 
Prüfmustern:
- Reset/UPDI-Eingang mit 10k Pullup nach +3V VCC
- Reset/UPDI-Eingang mit 10k Pullup nach +3V VCC und 4n7 nach 0V

Die Leiterplatten des batteriebetriebenen Gerätes befinden sich in einem 
Kunststoffgehäuse, d.h. ohne gesonderte Schirm- und Ableitmaßnahmen. 
Einzige EMV-Maßnahmen sind die Verschaltung und das vierlagige Layout.

Auf den Platinen ist u.a. noch ein ESP32 verbaut, daher die Funkprüfung.

Höchste Störaussendung der Leiterplatten: 19dbuV bei 180MHz im Bereich 
bis 1GHz. Des weiteren praktisch unsichtbar bis 6GHz. Bis auf die 
Funksignale - die waren sauber sichtbar. ;)

Störbeaufschlagung:
ESD 8kV Kontakt (auf die Ladekontakte)/15kV Luft
HF-E 10V/m / 28V/m in den Funkbändern
HF-M 80A/m

Fazit: das UPDI ist in der vom Hersteller beschriebenen Verschaltung 
überraschend robust.

von Andre (Gast)


Lesenswert?

Hi Marcus,

eine Frage hierzu: hast Du deinen UPDI Pin denn per RSTPINCFG[1:0] Fuse 
bits als potentielle RESET-Quelle (um-)konfiguriert?

So wie ich das sehe ist per default der Pin nämlich keine RESET-Quelle 
(getestet: UPDI Pin hart gegen GND gezogen, Controller läuft munter 
weiter).

Wieso würde ich den Pin denn dann überhaupt noch extern per R und/oder C 
beschalten? Aus Sorge der Controller wechselt versehentlich durch 
Störungen in den UPDI-Modus?

Das ein Kondensator den UPDI stört hast Du ja schon geschrieben, aber 
wie genau erachtest Du den 10k Widerstand nötig für
a) sicheren Betrieb der Schaltung im Feld
b) bestehen der EMV?

Danke und viele Grüße
  Andre

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

Andre schrieb:
> Hi Marcus,
...

Huhu Andre,
ich bin diese Woche noch in Japan, erst nächste Woche Mittwoch wieder im 
Büro. Ich kann im Moment nicht so tief auf das Thema eingehen. Trigger 
mich ggf. bitte nochmal an.

Bis dahin -> siehe unten

marcus

Andre schrieb:
...
> eine Frage hierzu: hast Du deinen UPDI Pin denn per RSTPINCFG[1:0] Fuse bits als 
potentielle RESET-Quelle (um-)konfiguriert?

nein, aber das ist eine interessante Idee, wenn Du den passenden 
Brenner und die passende Schaltung für etwaige Upgrades hast.

> So wie ich das sehe ist per default der Pin nämlich keine RESET-Quelle
> (getestet: UPDI Pin hart gegen GND gezogen, Controller läuft munter
> weiter).
>
> Wieso würde ich den Pin denn dann überhaupt noch extern per R und/oder C
> beschalten? Aus Sorge der Controller wechselt versehentlich durch
> Störungen in den UPDI-Modus?

Den Pin auf Ausgang zu setzen ist sicher schonmal nicht schlecht. Wenn's 
halt zum Restsystem passt. Siehe oben. Und reinschauen in den Chip kann 
man schlecht. Ich habe auch nur die Info aus dem Datenblatt und ein 
bisserl Microchip-Techsupport zu dem Thema. Beim o.g. Design geht es um 
kleine Stückzahlen bei hohen Margen (Medizinprodukt). Designvorgabe war 
schnelles und sicheres Bestehen des EMV-Tests. Time-to-market, etc. :)


> Das ein Kondensator den UPDI stört hast Du ja schon geschrieben, aber
> wie genau erachtest Du den 10k Widerstand nötig für
> a) sicheren Betrieb der Schaltung im Feld
> b) bestehen der EMV?

Bei EMV gibt es immer dieselbe Antwort: Das kommt auf Deine Anwendung 
an. Im oben genannten Beispiel hat das Layout gereicht. Wenn Du ein 
Review Deines Aufbaus wünscht, schreib mir bitte eine PM. Bin die 
letzten beiden Juli-Wochen in D. Danach ab der zweiten Septemberwoche 
wieder. ;)

von Andre (Gast)


Lesenswert?

Hi Marcus,

danke für Dein Angebot, ggf. komme ich mal darauf zurück!

Primär ging es mit aber um eine Diskussion um die Beschaltung des 
UPDI/RESET pins bei dieser neueren AVR Tiny-1 Familie.

Meine Meinung nach Studium des Datenblattes und Versuchen mit einem 
Aufbau ist:
Im Auslieferungszustand ist der Pin ausschliesslich zum UPDI-programming 
zu gebrauchen. GPIO oder RESET funktionalität erlangt er nur durch 
explizites ändern der fuses. Passiert dies nicht (z.B. weil kein RESET 
pin erforderlich ist), so ist eine externe Beschaltung des pins nicht 
erforderlich.
Hierzu würde mich Deine Meinung und die der anderen Forennutzer 
interessieren.

Und ja, ich weiss, bei "älteren" AVRs ist der RESET pin immer "scharf", 
und die Empfehlungen zur Beschaltung, auch von Atlem/Microchip, sind 
eindeutig. Aber es geht mir explizit um tiny-1 Familie (und 
vergleichbare neuere Modelle)

Viele Grüße
  Andre

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

Hi Andre,
bin grad mal ein paar Tage im Büro. Anfang August geht's aber wieder 
los.

Ich habe aufgrund meiner langen Abwesenheit alle Muster an den Kunden 
gegeben, daher kann ich im Moment keine Tests machen. Interessant ist 
das Kapitel UPDI im Datenblatt, ich denke das erklärt Deine 
Beobachtungen. Das Kapitel ist sicher mal lesenswert.
Meine konkrete Erfahrung ist, dass ein Pin im UPDI-Modus ohne Schirmung 
recht harte Tests ohne Probleme übersteht. Das deckt sich mit den 
Aussagen vom technischen Support.

Nebenbemerkung: Ich verwende als Programmierinterface gerne TagConnect. 
Hat den Vorteil, dass keine Bauteile auf der Platine bestückt werden 
müssen und keine Antennen aus der Platine herausragen. Man sieht die 
Pads ganz gut hier: http://harerod.de/applications_ger.html#DigIO
Ist bei Bedarf auch geeignet für Nadelbett.


Andre schrieb:
...
> Primär ging es mit aber um eine Diskussion um die Beschaltung des
> UPDI/RESET pins bei dieser neueren AVR Tiny-1 Familie.
>
> Meine Meinung nach Studium des Datenblattes und Versuchen mit einem
> Aufbau ist:
> Im Auslieferungszustand ist der Pin ausschliesslich zum UPDI-programming
> zu gebrauchen. GPIO oder RESET funktionalität erlangt er nur durch
> explizites ändern der fuses. Passiert dies nicht (z.B. weil kein RESET
> pin erforderlich ist), so ist eine externe Beschaltung des pins nicht
> erforderlich.
> Hierzu würde mich Deine Meinung und die der anderen Forennutzer
> interessieren.

Attiny214/414/814 Datasheet DS40001912A
UPDI Kapitel:

Tatsächlich passiert was beim Runterziehen des UPDI-Pins: das UPDI 
erkennt einen BREAK-Befehl.

Interessant sind auch die verschiedenen Varianten, wie UPDI enabled 
werden kann und etwaige Interaktion mit dem Debugger. Ich bin im Moment 
an dem Punkt, dass 10k extern wohl die flexibelste Lösung darstellt.

Dieses Verhalten erklärt wohl, warum das Interface mit einem 10k PullUp 
allein schon keine Probleme im EMV-Test macht. Traut man dem Datenblatt, 
dann wäre gar keine Beschaltung auch schon OK. Schon für EMV möchte ich 
jedoch jeden Pin, vor allem auch unbenutzte, auf einem legalen 
Logikpegel wissen.

Grüße,
 marcus

: Bearbeitet durch User
von Andre (Gast)


Lesenswert?

Hi Marcus,

danke für Deinen Beitrag.
Ich habe inzwischen Rückmeldung vom Microchip support, und dieser 
empfiehlt explizit bei ausschliesslicher Verwendung des Pins für UPDI 
diesen gar nicht extern zu beschalten. Zumindest wenn ein erneuter UPDI 
Zugang erforderlich ist nach der Bestückung.
Sollte der Pin als Reset um-gefused werden bleibt die klassische 
Empfehlung (R und C) bestehen.

Danke und viele Grüße
  Andre

von Teddy (Gast)


Lesenswert?

Andre schrieb:
> Hi Marcus,
>
> danke für Deinen Beitrag.
> Ich habe inzwischen Rückmeldung vom Microchip support, und dieser
> empfiehlt explizit bei ausschliesslicher Verwendung des Pins für UPDI
> diesen gar nicht extern zu beschalten. Zumindest wenn ein erneuter UPDI
> Zugang erforderlich ist nach der Bestückung.
> Sollte der Pin als Reset um-gefused werden bleibt die klassische
> Empfehlung (R und C) bestehen.
>
> Danke und viele Grüße
>   Andre

Wie stellt man sich das bei >1Million Stückzahlen vor?
Erst ohne R und C den Controller flashen und dann R und C nach löten?

So ein Unfug!

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

Teddy schrieb:
...
> Wie stellt man sich das bei >1Million Stückzahlen vor?
> Erst ohne R und C den Controller flashen und dann R und C nach löten?

Wer ist "man"?
Schon bei wesentlich kleineren Stückzahlen werden die Bausteine fertig 
programmiert vom Hersteller an den Fertiger geliefert.

> So ein Unfug!
Braucht der Frosch noch eine längere Leiter, um über seinen Tellerrand 
hinauszuschauen?

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.