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, 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
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.