STM8S208 - “beCAN” Controller


beCAN Register Struktur

Die beCAN Registerstruktur ist etwas komplex, da es direkt adressierbare und indirekt adressierbare Register gibt.

Übersicht direkt adressierbare Register

Direkt adressiert werden die folgenden, in der Liste dargestellten Register die jederzeit über fest zugeordnete Adressen ansprechbar sind. Diese Register erlauben den Zugriff auf Informationen die während des laufenden CAN-Betriebs von Bedeutung sind.

In diesem Adressbereich befindet sich auch das Page Select Register das für die nachfolgenden, nicht direkt adressierbaren Register bzw. für die Mailboxen und Filterbänke die "Bank-Switch Adresse" beinhaltet.

BeCAN Liste der direkt adressierbaren Register (Feste Adressen)
    Adressbereich : 0x00.5420h – 0x00.5427h (für STM8S208)

Adresse

Register Name

Bezeichnung

Inhalt

0x00.5420h CAN_MCR Master Control Register

TTCM-ABOM-AWUM-NART-RFLM-TXFP-SLEEP-INRQ

0x00.5421h CAN_MSR Master Status Register

RX-TX-WKUI-ERRI-SLAK-INAK

0x00.5422h CAN_TSR Transmit Status Register

TXOK2-TXOK1-TXOK0-RQCP2-RQCP1-RQCP0

0x00.5423h CAN_TPR Transmit Priority Register

LOW2-LOW1-LOW0-TME2-TME1-TME0_CODE1_CODE0

0x00.5424h CAN_RFR Receive FIFO Register

RFOM-FOVR-FULL-FMP[1..0]

0x00.5425h CAN_IER Interrupt Enable Register

WKUIE-FOVIE-FFIE-FMPIE-TMEIE

0x00.5426h CAN_DGR Diagnostic Register

TXM2E-RX-SAMP-SLIM-LBIKM

0x00.5427h CAN_PSR Page Select Register

PS[2..0]

 Übersicht indirekt adressierbare Register

Alle weiteren Register bzw. Speicherbereiche (Mailboxes) werden über ein Paging-Verfahren in einen reservierten Adressbereich (0x00.5428h ... 0x00.5437h) eingeblendet. Dazu wird das oben beschriebene „Page Select Register“ verwendet das die Auswahl der zu aktivierenden „Page“ (Seite) ermöglicht.

Die „Seite“ mit den Configuration/Diagnostik Registern (siehe links) wird durch den Wert 0x0000.0110h (Page 6) im „Page Select Register“, in den „Paging Adressbereich“eingeblendet.

Die Register innerhalb der Configuration/Diagnostik „Page“ sind im wesentlichen für die Einstellung der CAN-Bus Funktionalität zuständig. Diese Einstellungen müssen üblicherweise nur bei der Initialisierung des CAN-Controllers nach einem Anlegen der Versorgungsspannung konfiguriert werden.

Durch das „Paging“ und eine „Lock“-Funktion nach Verlassen des INIT Modes werden diese Register darüber hinaus gegen unabsichtliches Schreiben geschützt. Damit wird sichergestellt dass keine unvorhergesehenen Bus-Problem im Betrieb auftreten können.

Details über die einzelnen Register im direkt als auch im indirekt adressierbaren Bereich werden im weiteren Verlauf dieses Dokuments beschrieben.

BeCAN Liste der indirekt adressierbaren Register (Page 6: Adressen)
Adressbereich : 0x00.5428h – 0x00.5437h (für STM8S208)

Adresse

Register Name

Bezeichnung

Inhalt

0x00.5428h CAN_ESR Error Status Register LEC[2..0], BOFF, EPVF, EWGF
0x00.5429h CAN_EIER Error Interrupt Enable Register ERRIE, LECIE, BOFIE, EPVIE, EWGIE
0x00.542Ah CAN_TECR Transmit Error Counter Register TXOK2-TXOK1-TXOK0-RQCP2-RQCP1-RQCP0
0x00.542Bh CAN_RECR Receive Error Counter Register LOW2-LOW1-LOW0-TME2-TME1-TME0_CODE1_CODE0
0x00.542Ch CAN_BTR1 Bit Timing Register 1 RFOM-FOVR-FULL-FMP[1..0]
0x00.542Dh CAN_BTR2 Bit Timing Register 2 WKUIE-FOVIE-FFIE-FMPIE-TMEIE
0x00.542Eh reserved
0x00.542Fh reserved
0x00.5430h CAN_FMR1 Filter Mode Register 1 FMxn für Filter Bänke 0 ... 3
0x00.5431h CAN_FMR2 Filter Mode Register 2 FMxn für Filter Bänke 4 ... 5
0x00.5432h CAN_FCR1 Filter Configuration Register 1 FACTn, FSCxn für Filter Bänke 0 und 1
0x00.5433h CAN_FCR2 Filter Configuration Register 2 FACTn, FSCxn für Filter Bänke 2 und 3
0x00.5434h CAN_FCR3 Filter Configuration Register 3 FACTn, FSCxn für Filter Bänke 4 und 5
0x00.5435h reserved
0x00.5436h reserved
0x00.5437h reserved

Page Select Register

Die nachfolgende Liste zeigt die nötigen Einstellungen im Page Select Register, welches die Bits: PS0, PS1 und PS2 enthält.

Im nachfolgenden Bild sind die einzelnen Seiten, die eingeblendet werden können dargestellt. Durch das FIFO Prinzip der RX-Mailboxen ist für diese nur eine Page Select Adresse (Page 7) reserviert.

Der Inhalt der einzelnen Seiten („Pages“) wird in "Indirekte Register" genauer beschrieben.

BeCAN Page Select Liste (Paging Adressen)
Mailbox/Pages Page (Seite) PS2 PS1 PS0
TX Mailbox 0 Sende-Mailbox 0 0 0 0 0
TX Mailbox 1 Sende-Mailbox 1 1 0 0 1
Filter Pages 0:1 CAN-ID Filter 0 und 1 2 0 1 0
Filter Pages 2:3 CAN-ID Filter 2 und 3 3 0 1 1
Filter Pages 4:5 CAN-ID Filter 4 und 5 4 1 0 0
TX Mailbox 2 Sende-Mailbox 2 5 1 0 1
Configuration/Diagnostics „Register“ Auswahl 6 1 1 0
RX Mailbox (FIFO) Empfangs FIFO (3 Mailboxen) 7 1 1 1

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.