Forum: Mikrocontroller und Digitale Elektronik SENT Schnittstelle


von Frank Büttner (Gast)


Lesenswert?

Hallo,

neuerdings haben ja z.B. einige Hall-Sensoren anstelle der bekannte 
PWM-Schnittstelle eine sog. SENT-Schnittstelle. (Single Edge Nibble 
Transfer) Beispielsweise der Infineon TLE4998S4. Die Vorteile und die 
Funktion von SENT leuchten mir grundsätzlich ein, ist ne tolle Sache.

Was mich interessieren würde: hat jemand schon Erfahrungen mit der 
Implementierung gesammelt? Gibt es irgendwo ne beispielhafte Firmware? 
Wie hoch ist beispielsweise auf einem 8051er der Ressourcenverbrauch? 
Grundsätzlich müsste ein Timer und ein I/O Pin völlig reichen.

Eine mehr grundsätzlichere Frage: Wo ist bei der ganzen Sache eigentlich 
das "Single Edge"? Ist damit die kurze LOW-Zeit am Beginn der 
Sync-Period gemeint? Oder gibt es (wie in manchen Datenblättern zu 
vermuten wäre) am Beginn eines jeden Nibble ne extra LOW-Time zur 
Synchronisation? Das wäre irgendwie logisch: sonst könnte man sich die 
Einteilung in Nibble auch sparen und gleich 12 Datenbits übertragen.

Gruß

Frank

von Frank Büttner (Gast)


Lesenswert?

????

von Martin K. (mkohler)


Lesenswert?

!!!!

von Diana (Gast)


Lesenswert?

Hallo,
ich weiß das ist ein alter Thread, trotzdem beantworte ich mal zumindest 
einen Teil der Frage, falls noch mal jemand danach sucht.

arbeite momentan auch (u.a) an SENT. Soweit ich das verstand habe, 
bedeutet single edge hier "nur", dass es reicht, nur die fallende Flanke 
zu messen (und nicht "double edge" = fallende und steigende Flanke) und 
aus Zeit zwischen 2 fallenden Flanken sowie berechnetem UT_sent (aus 
Syncronisation = 56 TICKS) die Ticks zu berechnen, die minus 12 dann die 
Daten ergeben.
Es gilt dabei, wie im Datenblatt angegeben, für einen 16-Bit-Timer:
Zählerstand/(2^16 -1) =(TICKS *UT_sent)/(2^16)(Ü* 1/F_OSC

GRUß Diana

von Alex S. (alex_muc)


Lesenswert?

Frank Büttner schrieb:
> Hallo,
>
> neuerdings haben ja z.B. einige Hall-Sensoren anstelle der bekannte
> PWM-Schnittstelle eine sog. SENT-Schnittstelle. (Single Edge Nibble
> Transfer) Beispielsweise der Infineon TLE4998S4. Die Vorteile und die
> Funktion von SENT leuchten mir grundsätzlich ein, ist ne tolle Sache.
>
> Was mich interessieren würde: hat jemand schon Erfahrungen mit der
> Implementierung gesammelt? Gibt es irgendwo ne beispielhafte Firmware?
> Wie hoch ist beispielsweise auf einem 8051er der Ressourcenverbrauch?
> Grundsätzlich müsste ein Timer und ein I/O Pin völlig reichen.
>
> Eine mehr grundsätzlichere Frage: Wo ist bei der ganzen Sache eigentlich
> das "Single Edge"? Ist damit die kurze LOW-Zeit am Beginn der
> Sync-Period gemeint? Oder gibt es (wie in manchen Datenblättern zu
> vermuten wäre) am Beginn eines jeden Nibble ne extra LOW-Time zur
> Synchronisation? Das wäre irgendwie logisch: sonst könnte man sich die
> Einteilung in Nibble auch sparen und gleich 12 Datenbits übertragen.
>
> Gruß
>
> Frank

Hallo Frank,

ist ein ganz einfaches Protokoll, man braucht wirklich nur einen Input 
und einen Timer mit einer Auflösung von wenigen us. Ich glaube 10us ist 
die Maximalzeit für einen CLK.
- I/O auf Input mit INT auf falling-edge, die meisten Hall-Sensoren 
haben OD-Ausgänge, also einfach noch intern Pull-up programmieren
- INT freigeben und bei Flanke in der Service-Routine alten Timer-Wert 
puffern und Timer resetten + starten, Nibble-Counter ++
- gepufferten Wert auswerten --> 56CLKs = Sync ansonsten Abbruch + 
Nibble-Counter =0
- warten bis Nibble-Counter die Endzahl erreicht hat
- dazwischen immer Puffervariable mit den Timerwerten auswerten
  also 12CLKs = 0000b
       13CLKs = 0001b
          .
          .
       27CLKs = 1111b

Wie gesagt, simples Protokoll :)

Viel Spass,

Alex

von Marc (Gast)


Lesenswert?

Hallo Leute!

Jaja, der Thread ist alt hust , ich weiß! Hab aber dazu mal eine 
Frage:

Bei der SENT Schnittstelle darf ja der Takt des Senders um +-20% 
abweichen.
Wie ermittelt man da am klügsten die TICK-Dauer?


MfG Marc

von Micha (Gast)


Lesenswert?

Hallo Marc,

die Antwort passt zeitlich gar nicht mehr zur Frage, aber inhaltlich. 
;-)

Der Empfänger muss sich auf den Sync-Impuls (56 Ticks) des Senders 
synchronisieren, d.h. der gleicht die Toleranz des Senders aus. Dafür 
gibt's den Sync-Impuls...

Gruß,
Micha.

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.