![]() |
Altera SoCAL
16.0
The Altera SoC Abstraction Layer (SoCAL) API Reference Manual
|
The Arbitration Registers ID28-0, Xtd, and Dir are used to define the identifier and type of outgoing messages and are used (together with the mask registers Msk28-0, MXtd, and MDir) for acceptance filtering of incoming messages. A received message is stored into the valid Message Object with matching identifier and Direction=receive (Data Frame) or Direction=transmit (Remote Frame). Extended frames can be stored only in Message Objects with Xtd = one, standard frames in Message Objects with Xtd = zero. If a received message (Data Frame or Remote Frame) matches with more than one valid Message Object, it is stored into that with the lowest message number.
Register Layout
Bits | Access | Reset | Description |
---|---|---|---|
[28:0] | RW | 0x0 | Identifier Mask |
[29] | RW | 0x0 | Message Direction |
[30] | RW | 0x0 | Extended Identifier |
[31] | RW | 0x0 | Message Valid |
Field : Identifier Mask - ID | |
ID28 - ID0 29-bit Identifier (Extended Frame). ID28 - ID18 11-bit Identifier (Standard Frame). Field Access Macros: | |
#define | ALT_CAN_MSGIF_IF1ARB_ID_LSB 0 |
#define | ALT_CAN_MSGIF_IF1ARB_ID_MSB 28 |
#define | ALT_CAN_MSGIF_IF1ARB_ID_WIDTH 29 |
#define | ALT_CAN_MSGIF_IF1ARB_ID_SET_MSK 0x1fffffff |
#define | ALT_CAN_MSGIF_IF1ARB_ID_CLR_MSK 0xe0000000 |
#define | ALT_CAN_MSGIF_IF1ARB_ID_RESET 0x0 |
#define | ALT_CAN_MSGIF_IF1ARB_ID_GET(value) (((value) & 0x1fffffff) >> 0) |
#define | ALT_CAN_MSGIF_IF1ARB_ID_SET(value) (((value) << 0) & 0x1fffffff) |
Field : Message Direction - Dir | |||||||||||||||||||||||||||||||
Message Direction Field Enumeration Values:
Field Access Macros: | |||||||||||||||||||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_DIR_E_RX 0x0 | ||||||||||||||||||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_DIR_E_TX 0x1 | ||||||||||||||||||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_DIR_LSB 29 | ||||||||||||||||||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_DIR_MSB 29 | ||||||||||||||||||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_DIR_WIDTH 1 | ||||||||||||||||||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_DIR_SET_MSK 0x20000000 | ||||||||||||||||||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_DIR_CLR_MSK 0xdfffffff | ||||||||||||||||||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_DIR_RESET 0x0 | ||||||||||||||||||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_DIR_GET(value) (((value) & 0x20000000) >> 29) | ||||||||||||||||||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_DIR_SET(value) (((value) << 29) & 0x20000000) | ||||||||||||||||||||||||||||||
Field : Extended Identifier - Xtd | ||||||||||||||||
Extended Identifier Field Enumeration Values:
Field Access Macros: | ||||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_XTD_E_STANDARD 0x0 | |||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_XTD_E_EXTENDED 0x1 | |||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_XTD_LSB 30 | |||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_XTD_MSB 30 | |||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_XTD_WIDTH 1 | |||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_XTD_SET_MSK 0x40000000 | |||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_XTD_CLR_MSK 0xbfffffff | |||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_XTD_RESET 0x0 | |||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_XTD_GET(value) (((value) & 0x40000000) >> 30) | |||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_XTD_SET(value) (((value) << 30) & 0x40000000) | |||||||||||||||
Field : Message Valid - MsgVal | ||||||||||||||||
The CPU must reset the MsgVal bit of all unused Messages Objects during the initialization before it resets bit Init in the CAN Control Register. MsgVal must also be reset if the Messages Object is no longer used in operation. For reconfiguration of Message Objects during normal operation. Field Enumeration Values:
Field Access Macros: | ||||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_MSGVAL_E_IGNORED 0x0 | |||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_MSGVAL_E_CONSIDERED 0x1 | |||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_MSGVAL_LSB 31 | |||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_MSGVAL_MSB 31 | |||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_MSGVAL_WIDTH 1 | |||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_MSGVAL_SET_MSK 0x80000000 | |||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_MSGVAL_CLR_MSK 0x7fffffff | |||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_MSGVAL_RESET 0x0 | |||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_MSGVAL_GET(value) (((value) & 0x80000000) >> 31) | |||||||||||||||
#define | ALT_CAN_MSGIF_IF1ARB_MSGVAL_SET(value) (((value) << 31) & 0x80000000) | |||||||||||||||
Data Structures | |
struct | ALT_CAN_MSGIF_IF1ARB_s |
Macros | |
#define | ALT_CAN_MSGIF_IF1ARB_OFST 0x8 |
#define | ALT_CAN_MSGIF_IF1ARB_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_CAN_MSGIF_IF1ARB_OFST)) |
Typedefs | |
typedef struct ALT_CAN_MSGIF_IF1ARB_s | ALT_CAN_MSGIF_IF1ARB_t |
struct ALT_CAN_MSGIF_IF1ARB_s |
WARNING: The C register and register group struct declarations are provided for convenience and illustrative purposes. They should, however, be used with caution as the C language standard provides no guarantees about the alignment or atomicity of device memory accesses. The recommended practice for writing hardware drivers is to use the SoCAL access macros and alt_read_word() and alt_write_word() functions.
The struct declaration for register ALT_CAN_MSGIF_IF1ARB.
Data Fields | ||
---|---|---|
uint32_t | ID: 29 | Identifier Mask |
uint32_t | Dir: 1 | Message Direction |
uint32_t | Xtd: 1 | Extended Identifier |
uint32_t | MsgVal: 1 | Message Valid |
#define ALT_CAN_MSGIF_IF1ARB_ID_LSB 0 |
The Least Significant Bit (LSB) position of the ALT_CAN_MSGIF_IF1ARB_ID register field.
#define ALT_CAN_MSGIF_IF1ARB_ID_MSB 28 |
The Most Significant Bit (MSB) position of the ALT_CAN_MSGIF_IF1ARB_ID register field.
#define ALT_CAN_MSGIF_IF1ARB_ID_WIDTH 29 |
The width in bits of the ALT_CAN_MSGIF_IF1ARB_ID register field.
#define ALT_CAN_MSGIF_IF1ARB_ID_SET_MSK 0x1fffffff |
The mask used to set the ALT_CAN_MSGIF_IF1ARB_ID register field value.
#define ALT_CAN_MSGIF_IF1ARB_ID_CLR_MSK 0xe0000000 |
The mask used to clear the ALT_CAN_MSGIF_IF1ARB_ID register field value.
#define ALT_CAN_MSGIF_IF1ARB_ID_RESET 0x0 |
The reset value of the ALT_CAN_MSGIF_IF1ARB_ID register field.
#define ALT_CAN_MSGIF_IF1ARB_ID_GET | ( | value | ) | (((value) & 0x1fffffff) >> 0) |
Extracts the ALT_CAN_MSGIF_IF1ARB_ID field value from a register.
#define ALT_CAN_MSGIF_IF1ARB_ID_SET | ( | value | ) | (((value) << 0) & 0x1fffffff) |
Produces a ALT_CAN_MSGIF_IF1ARB_ID register field value suitable for setting the register.
#define ALT_CAN_MSGIF_IF1ARB_DIR_E_RX 0x0 |
Enumerated value for register field ALT_CAN_MSGIF_IF1ARB_DIR
On TxRqst, a Remote Frame with the identifier of this Message Object is transmitted. On reception of a Data Frame with matching identifier, that message is stored in this Message Object.
#define ALT_CAN_MSGIF_IF1ARB_DIR_E_TX 0x1 |
Enumerated value for register field ALT_CAN_MSGIF_IF1ARB_DIR
On TxRqst, the respective Message Object is transmitted as a Data Frame. On reception of a Remote Frame with matching identifier, the TxRqst bit of this Message Object is set (if RmtEn = one).
#define ALT_CAN_MSGIF_IF1ARB_DIR_LSB 29 |
The Least Significant Bit (LSB) position of the ALT_CAN_MSGIF_IF1ARB_DIR register field.
#define ALT_CAN_MSGIF_IF1ARB_DIR_MSB 29 |
The Most Significant Bit (MSB) position of the ALT_CAN_MSGIF_IF1ARB_DIR register field.
#define ALT_CAN_MSGIF_IF1ARB_DIR_WIDTH 1 |
The width in bits of the ALT_CAN_MSGIF_IF1ARB_DIR register field.
#define ALT_CAN_MSGIF_IF1ARB_DIR_SET_MSK 0x20000000 |
The mask used to set the ALT_CAN_MSGIF_IF1ARB_DIR register field value.
#define ALT_CAN_MSGIF_IF1ARB_DIR_CLR_MSK 0xdfffffff |
The mask used to clear the ALT_CAN_MSGIF_IF1ARB_DIR register field value.
#define ALT_CAN_MSGIF_IF1ARB_DIR_RESET 0x0 |
The reset value of the ALT_CAN_MSGIF_IF1ARB_DIR register field.
#define ALT_CAN_MSGIF_IF1ARB_DIR_GET | ( | value | ) | (((value) & 0x20000000) >> 29) |
Extracts the ALT_CAN_MSGIF_IF1ARB_DIR field value from a register.
#define ALT_CAN_MSGIF_IF1ARB_DIR_SET | ( | value | ) | (((value) << 29) & 0x20000000) |
Produces a ALT_CAN_MSGIF_IF1ARB_DIR register field value suitable for setting the register.
#define ALT_CAN_MSGIF_IF1ARB_XTD_E_STANDARD 0x0 |
Enumerated value for register field ALT_CAN_MSGIF_IF1ARB_XTD
The 11-bit (standard) Identifier will be used for this Message Object.
#define ALT_CAN_MSGIF_IF1ARB_XTD_E_EXTENDED 0x1 |
Enumerated value for register field ALT_CAN_MSGIF_IF1ARB_XTD
The 29-bit (extended) Identifier will be used for this Message Object.
#define ALT_CAN_MSGIF_IF1ARB_XTD_LSB 30 |
The Least Significant Bit (LSB) position of the ALT_CAN_MSGIF_IF1ARB_XTD register field.
#define ALT_CAN_MSGIF_IF1ARB_XTD_MSB 30 |
The Most Significant Bit (MSB) position of the ALT_CAN_MSGIF_IF1ARB_XTD register field.
#define ALT_CAN_MSGIF_IF1ARB_XTD_WIDTH 1 |
The width in bits of the ALT_CAN_MSGIF_IF1ARB_XTD register field.
#define ALT_CAN_MSGIF_IF1ARB_XTD_SET_MSK 0x40000000 |
The mask used to set the ALT_CAN_MSGIF_IF1ARB_XTD register field value.
#define ALT_CAN_MSGIF_IF1ARB_XTD_CLR_MSK 0xbfffffff |
The mask used to clear the ALT_CAN_MSGIF_IF1ARB_XTD register field value.
#define ALT_CAN_MSGIF_IF1ARB_XTD_RESET 0x0 |
The reset value of the ALT_CAN_MSGIF_IF1ARB_XTD register field.
#define ALT_CAN_MSGIF_IF1ARB_XTD_GET | ( | value | ) | (((value) & 0x40000000) >> 30) |
Extracts the ALT_CAN_MSGIF_IF1ARB_XTD field value from a register.
#define ALT_CAN_MSGIF_IF1ARB_XTD_SET | ( | value | ) | (((value) << 30) & 0x40000000) |
Produces a ALT_CAN_MSGIF_IF1ARB_XTD register field value suitable for setting the register.
#define ALT_CAN_MSGIF_IF1ARB_MSGVAL_E_IGNORED 0x0 |
Enumerated value for register field ALT_CAN_MSGIF_IF1ARB_MSGVAL
The Message Object is ignored by the Message Handler.
#define ALT_CAN_MSGIF_IF1ARB_MSGVAL_E_CONSIDERED 0x1 |
Enumerated value for register field ALT_CAN_MSGIF_IF1ARB_MSGVAL
The Message Object is configured and should be considered by the Message Handler.
#define ALT_CAN_MSGIF_IF1ARB_MSGVAL_LSB 31 |
The Least Significant Bit (LSB) position of the ALT_CAN_MSGIF_IF1ARB_MSGVAL register field.
#define ALT_CAN_MSGIF_IF1ARB_MSGVAL_MSB 31 |
The Most Significant Bit (MSB) position of the ALT_CAN_MSGIF_IF1ARB_MSGVAL register field.
#define ALT_CAN_MSGIF_IF1ARB_MSGVAL_WIDTH 1 |
The width in bits of the ALT_CAN_MSGIF_IF1ARB_MSGVAL register field.
#define ALT_CAN_MSGIF_IF1ARB_MSGVAL_SET_MSK 0x80000000 |
The mask used to set the ALT_CAN_MSGIF_IF1ARB_MSGVAL register field value.
#define ALT_CAN_MSGIF_IF1ARB_MSGVAL_CLR_MSK 0x7fffffff |
The mask used to clear the ALT_CAN_MSGIF_IF1ARB_MSGVAL register field value.
#define ALT_CAN_MSGIF_IF1ARB_MSGVAL_RESET 0x0 |
The reset value of the ALT_CAN_MSGIF_IF1ARB_MSGVAL register field.
#define ALT_CAN_MSGIF_IF1ARB_MSGVAL_GET | ( | value | ) | (((value) & 0x80000000) >> 31) |
Extracts the ALT_CAN_MSGIF_IF1ARB_MSGVAL field value from a register.
#define ALT_CAN_MSGIF_IF1ARB_MSGVAL_SET | ( | value | ) | (((value) << 31) & 0x80000000) |
Produces a ALT_CAN_MSGIF_IF1ARB_MSGVAL register field value suitable for setting the register.
#define ALT_CAN_MSGIF_IF1ARB_OFST 0x8 |
The byte offset of the ALT_CAN_MSGIF_IF1ARB register from the beginning of the component.
#define ALT_CAN_MSGIF_IF1ARB_ADDR | ( | base | ) | ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_CAN_MSGIF_IF1ARB_OFST)) |
The address of the ALT_CAN_MSGIF_IF1ARB register.
typedef struct ALT_CAN_MSGIF_IF1ARB_s ALT_CAN_MSGIF_IF1ARB_t |
The typedef declaration for register ALT_CAN_MSGIF_IF1ARB.