MCP2515 CAN-Controller
Abstract
SPI-Schnittstelle
Zur Kommunikation mit der MCU (Micro-Controller-Unit) bietet der Chip eine SPI-Schnittstelle mit bis zu 10 MHz Taktrate an. Hierüber wird der Beistein parametrisiert, Register ausgelesen und geschrieben, sowie Statusinformationen abgefragt.
Hierzu stehen folgende SPI-Kommandos zur Verfügung:
Kommando | Codierung HEX (BIN) | Parameter | Antwort |
---|---|---|---|
WRITE | 0x02 (0000 0010) | 1. Byte = Adresse des zu beschreibenden Registers. 2. und weitere Bytes = zu schreibende Daten | -keine- |
READ | 0x03 (0000 0011) | 1. Byte = Adresse des auszulesenden Registers | Inhalt des Registers. Jeder weitere Leseaufruf liefert das nachfolgende Register. |
BIT MODIFY | 0x05 (0000 0101) | 1. Byte = Adresse des zu modifizierenden Registers. 2. Byte = Maske, 3. Byte = Wert | -keine- |
READ STATUS | 0xA0 (1010 0000) | -keine- | 1 Byte: Flags div. Puffer und Register. |
Empfang
uC MCP |---- 0xA0 --->| |<--- 0x01 ----| |---- 0x03 --->| |---- 0x61 --->| |<--- 0x40 ----| |<--- 0x00 ----| |<--- 0x4F ----| |<--- 0x68 ----| |---- 0x03 --->| |---- 0x60 --->| |<--- 0x66 ----| |---- 0x03 --->| |---- 0x65 --->| |<--- 0x08 ----| |---- 0x03 --->| |---- 0x66 --->| |<--- CD1 ----| |<--- CD2 ----| |<--- CD3 ----| |<--- CD4 ----| |<--- CD5 ----| |<--- CD6 ----| |<--- CD7 ----| |<--- CD8 ----| |---- 0x05 --->| |---- 0x2C --->| |---- 0x01 --->| |---- 0x00 --->|
Senden
uC MCP |---- 0x03 --->| |---- 0x30 --->| |---- 0x00 --->| |---- 0x02 --->| |---- 0x36 --->| |---- CD1 --->| ... |---- CD8 --->| |---- 0x02 --->| |---- 0x35 --->| |---- 0x08 --->| |---- 0x02 --->| |---- 0x31 --->| |---- 0x40 --->| |---- 0x00 --->| |---- 0x00 --->| |---- 0x00 --->| |---- 0x05 --->| |---- 0x30 --->| |---- 0x08 --->| |---- 0x08 --->|