STM8S208 - “beCAN” Controller


CAN Controller Takterzeugung

Der STM8 Microcontroller besitzt verschiedenen Möglichkeiten den Arbeitstakt für die CPU und die internen Peripherie-Blöcke zu erzeugen. Im nachfolgenden Bild ist der gesamte „Clock Tree“ dargestellt.

beCAN Takterzeugung

 

Für die Verwendung des CAN-Blocks wird der externe Oszillator „HSE“ (High Speed External) mit einem Quarz empfohlen um die für den CAN-Bus geltenden engen Takt-Grenzen zur Übertragung einzuhalten.

Im CLK_ECKR Register wird der „HSE“ aktiviert (Bit 0). Die Auswahl des HSE Oszillator Taktes als fMASTER erfolgt über das CLK_CMSR Register in welches der Wert „0xE1h“ eingetragen werden muß.

Die Frequenz des externen Oszillators gelangt so direkt an den „Baud Rate Prescaler“ im beCAN Block und wird dort entsprechend den eingestellten Teilverhältnis BRP[5..0] im Register CAN_BTR1 als „tq“ (Time Quantum) umgesetzt. Details dazu sind in 4. „Initialisierung", zu finden.

Die effektive Bit-Übertragungsrate auf dem CAN Bus wird über die das Register CAN_BTR2 gesteuert und setzt sich aus der Summe der jeweils verwendeten „tq“ Takte für, BS1[3..0] und BS2[2..0] , plus ein zusätzliches „tq“ für das „Sync-Segment“ zusammen, welche die drei Timing Segmente spezifizieren. Siehe dazu ebenfalls 4. "Initialisierung".

Copyright Notiz

Dieses Dokument sowie dessen Inhalt, insbesondere Texte, Fotografien und Grafiken, unterliegt dem Copyright (© 2017) und sind nur mit einer schriftlicher Zustimmung des Autors, Dipl.Ing.(FH) Franz Henkel zur vollständigen oder auszugsweisen Weiterverwendung in Form einer gedruckten oder elektronischen Kopie oder Replikation bzw. einer vollständigen oder auszugsweisen Bereitstellung des Inhalts in schriftlicher oder elektronischer Form, zu verwenden.