Forum: Mikrocontroller und Digitale Elektronik Frage zum TLE9562-3QX


von Bob E. (embedded_bob)


Lesenswert?

Servus!

Ich verstehe gerade nicht wie genau dieser Motor-Treiber angesteuert 
wird. Also wie genau sage ich dem Treiber wann er was schalten soll? Für 
mich kommt gerade nur SPI infrage aber ist der Chip auch ohne SPI 
ansteuerbar?
Bzw. was genau würde passieren wenn man den IC nur einschaltet und keine 
SPI Botschaften an ihn schickt?

Link zum Datenblatt: 
https://www.infineon.com/dgdl/Infineon-TLE9562-3QX-DataSheet-v01_00-EN.pdf?fileId=5546d4627883d7e00178ca35b1603873

Danke vorab.
Gruß
Bob

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Ohweh 289 Seiten nur für das Datenblatt.
https://www.infineon.com/cms/de/product/power/motor-control-ics/brushed-dc-motor-driver-ics/dc-motor-system-ics/tle9562-3qx/
da gibt es noch mehrere Applikationstexte
z.B:
TLE9560/1/2 BDC Gate Driver Setting Guide

Gate Driver Setting Guide 2.4 Software setup
"The GUI requires the installation of the Infineon Toolbox...."

Ich fürchte, ohne genauere Daten der Mosfets zu kennen, kann man erst 
mal garnichts einfach einschalten und sich wohlfühlen.

von Wolfgang (Gast)


Lesenswert?

Bob E. schrieb:
> Also wie genau sage ich dem Treiber wann er was schalten soll?

Mit PWM1/3?

von Bob E. (embedded_bob)


Lesenswert?

Christoph db1uq K. schrieb:
> Ohweh 289 Seiten nur für das Datenblatt.
> 
https://www.infineon.com/cms/de/product/power/motor-control-ics/brushed-dc-motor-driver-ics/dc-motor-system-ics/tle9562-3qx/
> da gibt es noch mehrere Applikationstexte
> z.B:
> TLE9560/1/2 BDC Gate Driver Setting Guide
>
> Gate Driver Setting Guide 2.4 Software setup
> "The GUI requires the installation of the Infineon Toolbox...."
>
> Ich fürchte, ohne genauere Daten der Mosfets zu kennen, kann man erst
> mal garnichts einfach einschalten und sich wohlfühlen.

Hallo Christoph, verbaut sind folgende MOSFET: SQJQ906E-T1_GE3

Aber was haben die Mosfet mit der Startsequenz bzw. dem SPI zutun ?

von Bob E. (embedded_bob)


Lesenswert?

Wolfgang schrieb:
> Bob E. schrieb:
>> Also wie genau sage ich dem Treiber wann er was schalten soll?
>
> Mit PWM1/3?

Das dachte ich auch, aber bei zwei H-Brücken und 4 HS-Treibern könnte 
das mit zwei PWM Signalen knapp werden.

von Darth Moan (Gast)


Lesenswert?

Bob E. schrieb:
> Bzw. was genau würde passieren wenn man den IC nur einschaltet und keine
> SPI Botschaften an ihn schickt?

Moin,

genau den chip kenne ich nicht. Aber nach einem Blick ins DB würde ich 
sagen der WD läuft aus und schaltet wieder ab.
Hat der andere Thread nix gebracht?

von Bob E. (embedded_bob)


Lesenswert?

Darth Moan schrieb:
> Bob E. schrieb:
>> Bzw. was genau würde passieren wenn man den IC nur einschaltet und keine
>> SPI Botschaften an ihn schickt?
>
> Moin,
>
> genau den chip kenne ich nicht. Aber nach einem Blick ins DB würde ich
> sagen der WD läuft aus und schaltet wieder ab.
> Hat der andere Thread nix gebracht?

Leider nicht. Das Problem ist halt, dass der LDO des Treibers erst 
meinem uC einschalten muss und dieser erst dann SPI Daten verschicken 
kann.

Evtl. sollte ich ein Redesign in betracht ziehen. Muss mich wohl wieder 
auf Treiber-Suche begeben. Eine andere Lösung fällt mir gerade nicht 
ein.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Die Appnote heißt "Step-by-step MOSFET driver setting guide and 
calculator description". Also muss man erst mal die Parameter kennen, 
die über SPI in den Controller geschickt werden, und die werden mit der 
"Toolbox" berechnet.

von Darth Moan (Gast)


Lesenswert?

Bob E. schrieb:
> Leider nicht. Das Problem ist halt, dass der LDO des Treibers erst
> meinem uC einschalten muss und dieser erst dann SPI Daten verschicken
> kann.

Wie lange dauert denn der Versuch Saft zu ziehen?

Wenn ich mich recht erinnere, versucht ja dein Chip kurzzeitig VCC1 
einzuschalten, oder?
Wird RSTN dabei losgelassen oder ist der VCC1 puls zu kurz dafür?

Hast du mal ein Wakeup Signal angelegt?
Im anderen thread stand alle auf GND, richtig?
Im Schaltplan war der WK1 input mit dem STB input eines CAN Transceivers
verbunden. Wo kommt da das Signal her? Oder hab ich mich verguckt?

von Xerxes (Gast)


Lesenswert?

Läuft der LDO denn nun korrekt ?

von Asdf Q. (Gast)


Lesenswert?

Bob E. schrieb:

> Bzw. was genau würde passieren wenn man den IC nur einschaltet und keine
> SPI Botschaften an ihn schickt?

Der Chip liefert VCC1 (typischerweise an den Controller) und erzeugt 
einen Reset-Impuls (typischerweise ebenfalls für den Controller). 
Außerdem wird der Watchdog gestartet.

Wenn der Controller innerhalb einer bestimmten Zeit nicht reagiert (z.B. 
weil er noch nicht aufgelötet ist oder man nur das nackte Evalboard zum 
SBC hat), dann wird ein weiterer Reset-Impuls erzeugt wenn der Watchdog 
abläuft.

von Bob E. (embedded_bob)


Lesenswert?

Darth Moan schrieb:
> Bob E. schrieb:
>> Leider nicht. Das Problem ist halt, dass der LDO des Treibers erst
>> meinem uC einschalten muss und dieser erst dann SPI Daten verschicken
>> kann.
>
> Wie lange dauert denn der Versuch Saft zu ziehen?
>
Am Oszi konnte ich sehen, dass es nur ca. 100-200 ns sind.

> Wenn ich mich recht erinnere, versucht ja dein Chip kurzzeitig VCC1
> einzuschalten, oder?

Richtig

> Wird RSTN dabei losgelassen oder ist der VCC1 puls zu kurz dafür?

Konnte bisher am RSTN immer nur 0V messen.

> Hast du mal ein Wakeup Signal angelegt?
> Im anderen thread stand alle auf GND, richtig?

Richtig, diese habe ich nachträglich auf Masse gezogen.

> Im Schaltplan war der WK1 input mit dem STB input eines CAN Transceivers
> verbunden. Wo kommt da das Signal her? Oder hab ich mich verguckt?

Ja das ist richtig es ist mit einem CAN Transceiver verbunden jedoch ist 
auch der auf Masse gezogen (alle WKx). Somit sollte der Transceiver 
ausgeschaltet bleiben.

von Bob E. (embedded_bob)


Lesenswert?

Xerxes schrieb:
> Läuft der LDO denn nun korrekt ?

Nein.. die Frage hat sich anfangs aber generell an den Treiber bezogen.

von Bob E. (embedded_bob)


Lesenswert?

Soul E. schrieb:
> Bob E. schrieb:
>
>> Bzw. was genau würde passieren wenn man den IC nur einschaltet und keine
>> SPI Botschaften an ihn schickt?
>
> Der Chip liefert VCC1 (typischerweise an den Controller) und erzeugt
> einen Reset-Impuls (typischerweise ebenfalls für den Controller).
> Außerdem wird der Watchdog gestartet.
>
> Wenn der Controller innerhalb einer bestimmten Zeit nicht reagiert (z.B.
> weil er noch nicht aufgelötet ist oder man nur das nackte Evalboard zum
> SBC hat), dann wird ein weiterer Reset-Impuls erzeugt wenn der Watchdog
> abläuft.

Wie muss der Controller denn reagieren? Indem es ein SPI Signal 
verschickt? Das würde ja so nicht gehen bevor er ordentlich hochfahren 
kann. Außerdem kann ich auch auf den Software-Dev. Mode vom Treiber 
nicht drauf. -> Also INTB auf Masse ziehen. Es verhält sich gleich.

von Bob E. (embedded_bob)


Lesenswert?

Kann mir jemand einen anderen Treiber empfehlen oder sollte ich hierfür 
einen neuen Thread öffnen ? Danke vorab.

von Markus W. (naggusm)


Lesenswert?

Hallo mal kurz was generisches wegen dem Start-Up.

Wie schon geschrieben löst der Chip kurzzeitig einen Reset aus der an 
den uC gehen soll (nachdem der VCC1 stabil ist). Der uC hat dann 2* 
200ms Zeit den Watchdog via SPI zu triggern, ansonsten geht er in den 
fail-safe state. Das sieht man auch in der großen State-Machine im 
Datenblatt (Kapitel 5.3).

Du kannst den Watchdog aber deaktivieren, indem du z.B. einen 1kOhm 
gegen Masse an den INTN Pin verbindest. Danach musst du gar kein 
Watchdog mehr triggern.

Bzgl. der PWM -> der Baustein ist dafür angedacht, zwei Motoren in einer 
H-Brücken Konfiguration anzusteuern. Das heißt pro Vollbrücke ist immer 
ein Halbbrücke statisch auf High oder Low und die zweite Brücke macht 
dann die PWM die über den Eingang reinkommt.

Um den Baustein in Betrieb zu nehmen brauchst du zwingend eine SPI, da 
der Gate-Treiber erst aktiviert werden muss.

Noch was weiteres zu beachten ist, dass der Baustein einen eingebauten 
CRC Check auf der SPI hat. Dieser lässt sich aber deaktivieren durch 
eine statische SPI Sequenz die man einmal senden muss.

Hier mal eine Codesequenz die für Arduino gemacht wurde.
Dieser Code wurde ursprünglich für TLE9563 geschrieben, lässt auf dem 
9562er aber genauso nutzen. Muss vlt. etwas geändert werden weil man ja 
4 statt 3 Brücken hat.


  SPI.begin();
  SPI.setBitOrder(LSBFIRST);
  SPI.setDataMode(SPI_MODE1);
  SPI.setClockDivider(SPI_CLOCK_DIV2);
  SBC_CRC_Disable();
  //genctrl
  SBC_SPI(0b00010000,0b1000111000110000);
  //ls_vds mon
  SBC_SPI(0b00010010,0b0000000110110110);
  //hs_vds min
  SBC_SPI(0b00010011,0b0000000110110110);
  //hbmode
  SBC_SPI(0b00010101,0b0000101110111011);

  //clear stat regs
  SBC_SPI(0b01000000,0);



void SBC_CRC_Disable() {
  digitalWrite(CSN,LOW);
  SPI.transfer(0xe7);
  SPI.transfer(0x55);
  SPI.transfer(0x55);
  SPI.transfer(0xc3);
  digitalWrite(CSN,HIGH);
}
uint16_t SBC_SPI(uint8_t addr, uint16_t data) {
  uint16_t outdata = 0;
  digitalWrite(CSN,LOW);
  SPI.transfer(addr|0x80);
  outdata = (uint16_t) SPI.transfer(data&0xFF);
  outdata |= (uint16_t) (SPI.transfer((data>>8)&0xFF)<<8);
  SPI.transfer(0xA5);
  digitalWrite(CSN,HIGH);
}

: Bearbeitet durch User
von Bob E. (embedded_bob)


Lesenswert?

Markus W. schrieb:

> Wie schon geschrieben löst der Chip kurzzeitig einen Reset aus der an
> den uC gehen soll (nachdem der VCC1 stabil ist). Der uC hat dann 2*
> 200ms Zeit den Watchdog via SPI zu triggern, ansonsten geht er in den
> fail-safe state. Das sieht man auch in der großen State-Machine im
> Datenblatt (Kapitel 5.3).
>
> Du kannst den Watchdog aber deaktivieren, indem du z.B. einen 1kOhm
> gegen Masse an den INTN Pin verbindest. Danach musst du gar kein
> Watchdog mehr triggern.

Hi Markus, danke für die ausführliche Antwort, das wird mir sicher noch 
helfen.
Leider funktioniert das ausschalten des WD noch nicht. Habe den Pin INTN 
gerade über 1k auf Masse gezogen jedoch tut sich wieder nichts. Kurzer 
Moment in dem die 5V Vcc geliefert werden aber dann ist es wieder weg.

Ich habe nun eine Platine worauf nur die Kondensatoren und einige 
periphere Widerstände (die ins Leere führen) drauf sind. Es hilft aber 
immernoch nicht. Ich schätze ohne SPI wird das nichts.

von Markus W. (naggusm)


Lesenswert?

Bob E. schrieb:
> Leider funktioniert das ausschalten des WD noch nicht. Habe den Pin INTN
> gerade über 1k auf Masse gezogen jedoch tut sich wieder nichts. Kurzer
> Moment in dem die 5V Vcc geliefert werden aber dann ist es wieder weg.

Das muss funktionieren. Hast du mal geprüft ob der Pegel auf dem INTN 
Pin wirklich logisch 0 ist (während dem POR also power-supply ramp-up)?
Du musst den INTN entkoppelt mit 1k auf Masse ziehen (kein direkter 
Kurzschluss).

Wenn VCC1 kurz nach dem Start direkt wieder weggeht wäre als mögliche 
Optionen noch, dass der VCC1 einen Überstrom detektiert - das passiert 
z.B. wenn die Kapazität am VCC1 zu groß gewählt wird.

Und ja, man braucht zwischend SPI um den Gate-Treiber nutzen zu können. 
Aus dem Stand macht der Chip gar nichts.

von Darth Moan (Gast)


Lesenswert?

Bob E. schrieb:
>> Wie lange dauert denn der Versuch Saft zu ziehen?
>>
> Am Oszi konnte ich sehen, dass es nur ca. 100-200 ns sind.

Hmm, ist das nicht eigentlich zu kurz für eine VCC1 Kurzschluss 
Erkennung?
Selbst die VSINT Undervoltage Detection Filter Time ist ja schon min 
5us.

Kommt VSINT überhaupt über die Undervoltage Schwelle?

Bob E. schrieb:
>> Im Schaltplan war der WK1 input mit dem STB input eines CAN Transceivers
>> verbunden. Wo kommt da das Signal her? Oder hab ich mich verguckt?
>
> Ja das ist richtig es ist mit einem CAN Transceiver verbunden jedoch ist
> auch der auf Masse gezogen (alle WKx). Somit sollte der Transceiver
> ausgeschaltet bleiben.

Mir ging es dabei um ein Wakeup Signal an den TLE9562.

Also wenn ich das richtig verstehe, dann legst du an VSINT 12V an, dabei
geht die Versorgung ca 200ns in die Strombegrenzung, aber danach liegt 
an VSINT 12V sauber an, richtig?

Aber VCC1 und RSTN sind und bleiben bei 0V?

Wenn du dann ein Wakeup Signal an einen WKx Pin legst, was passiert 
dann?
Wieder kurz in die Strombegrenzung?

von Bob E. (embedded_bob)


Lesenswert?

Markus W. schrieb:

> Das muss funktionieren. Hast du mal geprüft ob der Pegel auf dem INTN
> Pin wirklich logisch 0 ist (während dem POR also power-supply ramp-up)?
> Du musst den INTN entkoppelt mit 1k auf Masse ziehen (kein direkter
> Kurzschluss).

Du hast Recht. Es funktioniert. Auf dem Minimalbeispiel zumindest. 
Versuche das gleiche jetzt auf der Bestückten Platine, also von 10k auf 
1k wechseln. Vielleicht hilft es. Danke !!

von Bob E. (embedded_bob)


Lesenswert?

Darth Moan schrieb:
> Bob E. schrieb:
>>> Wie lange dauert denn der Versuch Saft zu ziehen?
>>>
>> Am Oszi konnte ich sehen, dass es nur ca. 100-200 ns sind.
>
> Hmm, ist das nicht eigentlich zu kurz für eine VCC1 Kurzschluss
> Erkennung?
> Selbst die VSINT Undervoltage Detection Filter Time ist ja schon min
> 5us.
>
> Kommt VSINT überhaupt über die Undervoltage Schwelle?
>
> Bob E. schrieb:
>>> Im Schaltplan war der WK1 input mit dem STB input eines CAN Transceivers
>>> verbunden. Wo kommt da das Signal her? Oder hab ich mich verguckt?
>>
>> Ja das ist richtig es ist mit einem CAN Transceiver verbunden jedoch ist
>> auch der auf Masse gezogen (alle WKx). Somit sollte der Transceiver
>> ausgeschaltet bleiben.
>
> Mir ging es dabei um ein Wakeup Signal an den TLE9562.
>
> Also wenn ich das richtig verstehe, dann legst du an VSINT 12V an, dabei
> geht die Versorgung ca 200ns in die Strombegrenzung, aber danach liegt
> an VSINT 12V sauber an, richtig?
Nein nicht ganz richtig. Ich lege 12V VSINT an - sauber und ständig. Die 
5V VCC also der Ausgang des LDO liegt dann für rund 200ns an und bricht 
dann ein.

> Aber VCC1 und RSTN sind und bleiben bei 0V?
>
RSTN Ja, VCC1 bricht ein. Zumindest bisher, jetzt konnte ich es am 
Minimalbeispiel auf 5V halten.
> Wenn du dann ein Wakeup Signal an einen WKx Pin legst, was passiert
> dann?
> Wieder kurz in die Strombegrenzung?

Das muss ich noch probieren. Danke :D

von Asdf Q. (Gast)


Lesenswert?

Bob E. schrieb:

> Leider funktioniert das ausschalten des WD noch nicht. Habe den Pin INTN
> gerade über 1k auf Masse gezogen jedoch tut sich wieder nichts. Kurzer
> Moment in dem die 5V Vcc geliefert werden aber dann ist es wieder weg.

Der Watchdog und der Testpin zum Deaktivieren desselben haben nichts mit 
der VCC1 zu tun. Es wird lediglich ein Reset-Impuls erzeugt, der den 
Microcontroller neu startet.

von Bob E. (embedded_bob)


Lesenswert?

Soul E. schrieb:
> Bob E. schrieb:
>
>> Leider funktioniert das ausschalten des WD noch nicht. Habe den Pin INTN
>> gerade über 1k auf Masse gezogen jedoch tut sich wieder nichts. Kurzer
>> Moment in dem die 5V Vcc geliefert werden aber dann ist es wieder weg.
>
> Der Watchdog und der Testpin zum Deaktivieren desselben haben nichts mit
> der VCC1 zu tun. Es wird lediglich ein Reset-Impuls erzeugt, der den
> Microcontroller neu startet.

Genau und wenn keine Antwort vom  uC kommt schaltet der Treiber die 5V 
auf der VCC Seite aus. Bisher ist mein uC ungeflasht entsprechend sollte 
auch nichts plausibles zurück kommen.

von Markus W. (naggusm)


Lesenswert?

Bob E. schrieb:

> Genau und wenn keine Antwort vom  uC kommt schaltet der Treiber die 5V
> auf der VCC Seite aus. Bisher ist mein uC ungeflasht entsprechend sollte
> auch nichts plausibles zurück kommen.

Was mich bisschen irritiert ist, dass du schreibst dass der VCC1 nach 
100-200ns ausgeht. Normalerweise sollte das aber im ms Bereich sein.

von Bob E. (embedded_bob)


Lesenswert?

Markus W. schrieb:
> Bob E. schrieb:
>
>> Genau und wenn keine Antwort vom  uC kommt schaltet der Treiber die 5V
>> auf der VCC Seite aus. Bisher ist mein uC ungeflasht entsprechend sollte
>> auch nichts plausibles zurück kommen.
>
> Was mich bisschen irritiert ist, dass du schreibst dass der VCC1 nach
> 100-200ns ausgeht. Normalerweise sollte das aber im ms Bereich sein.

Ganz so genau hab ich vor lauter euphorie nicht auf den genauen 
Zahlenwert geachtet. Evtl. vertue ich mich auch, die 100-200ns waren aus 
dem Gedächtnis von der Messung die einige Zeit vorher stattgefunden hat. 
Möglich dass es im ms Bereich liegt.

von Darth Moan (Gast)


Lesenswert?

Soul E. schrieb:
> Der Watchdog und der Testpin zum Deaktivieren desselben haben nichts mit
> der VCC1 zu tun. Es wird lediglich ein Reset-Impuls erzeugt, der den
> Microcontroller neu startet.

Das steht im DB in 5.6.3 Transition into Fail-Safe Mode aber anders.

"After 4x consecutive Watchdog failure" geht es in den Fail Safe Mode 
und da ist VCC1 OFF.

Oder interpretiere ich das falsch?

von Markus W. (naggusm)


Lesenswert?

Darth Moan schrieb:
> Soul E. schrieb:
>> Der Watchdog und der Testpin zum Deaktivieren desselben haben nichts mit
>> der VCC1 zu tun. Es wird lediglich ein Reset-Impuls erzeugt, der den
>> Microcontroller neu startet.
>
> Das steht im DB in 5.6.3 Transition into Fail-Safe Mode aber anders.
>
> "After 4x consecutive Watchdog failure" geht es in den Fail Safe Mode
> und da ist VCC1 OFF.
>
> Oder interpretiere ich das falsch?

Das ist schon richtig so.
Der Watchdog hat nach einem power-on reset einen default-value von 200ms 
(siehe Datenblatt-Wert von "Long Open Windows" -> t_lw). Es müssten 
genau genommen dann 4*200ms sein bis er in den fail-safe state geht, 
wenn der test-pin nicht aktiv ist.

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.