mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SENT Schnittstelle


Autor: Frank Büttner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Frank Büttner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
????

Autor: Martin Kohler (mkohler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
!!!!

Autor: Diana (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Alex Schmidt (alex_muc)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Marc (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.