Altera SoCAL  16.0
The Altera SoC Abstraction Layer (SoCAL) API Reference Manual
 All Data Structures Variables Typedefs Groups
Register : IF2 Arbitration Register - IF2ARB

Description

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_IF2ARB_ID_LSB   0
 
#define ALT_CAN_MSGIF_IF2ARB_ID_MSB   28
 
#define ALT_CAN_MSGIF_IF2ARB_ID_WIDTH   29
 
#define ALT_CAN_MSGIF_IF2ARB_ID_SET_MSK   0x1fffffff
 
#define ALT_CAN_MSGIF_IF2ARB_ID_CLR_MSK   0xe0000000
 
#define ALT_CAN_MSGIF_IF2ARB_ID_RESET   0x0
 
#define ALT_CAN_MSGIF_IF2ARB_ID_GET(value)   (((value) & 0x1fffffff) >> 0)
 
#define ALT_CAN_MSGIF_IF2ARB_ID_SET(value)   (((value) << 0) & 0x1fffffff)
 

Field : Message Direction - Dir

Message Direction

Field Enumeration Values:

Enum Value Description
ALT_CAN_MSGIF_IF2ARB_DIR_E_RX 0x0 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.
ALT_CAN_MSGIF_IF2ARB_DIR_E_TX 0x1 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).

Field Access Macros:

#define ALT_CAN_MSGIF_IF2ARB_DIR_E_RX   0x0
 
#define ALT_CAN_MSGIF_IF2ARB_DIR_E_TX   0x1
 
#define ALT_CAN_MSGIF_IF2ARB_DIR_LSB   29
 
#define ALT_CAN_MSGIF_IF2ARB_DIR_MSB   29
 
#define ALT_CAN_MSGIF_IF2ARB_DIR_WIDTH   1
 
#define ALT_CAN_MSGIF_IF2ARB_DIR_SET_MSK   0x20000000
 
#define ALT_CAN_MSGIF_IF2ARB_DIR_CLR_MSK   0xdfffffff
 
#define ALT_CAN_MSGIF_IF2ARB_DIR_RESET   0x0
 
#define ALT_CAN_MSGIF_IF2ARB_DIR_GET(value)   (((value) & 0x20000000) >> 29)
 
#define ALT_CAN_MSGIF_IF2ARB_DIR_SET(value)   (((value) << 29) & 0x20000000)
 

Field : Extended Identifier - Xtd

Extended Identifier

Field Enumeration Values:

Enum Value Description
ALT_CAN_MSGIF_IF2ARB_XTD_E_STANDARD 0x0 The 11-bit (standard) Identifier will be used
: for this Message Object.
ALT_CAN_MSGIF_IF2ARB_XTD_E_EXTENDED 0x1 The 29-bit (extended) Identifier will be used
: for this Message Object.

Field Access Macros:

#define ALT_CAN_MSGIF_IF2ARB_XTD_E_STANDARD   0x0
 
#define ALT_CAN_MSGIF_IF2ARB_XTD_E_EXTENDED   0x1
 
#define ALT_CAN_MSGIF_IF2ARB_XTD_LSB   30
 
#define ALT_CAN_MSGIF_IF2ARB_XTD_MSB   30
 
#define ALT_CAN_MSGIF_IF2ARB_XTD_WIDTH   1
 
#define ALT_CAN_MSGIF_IF2ARB_XTD_SET_MSK   0x40000000
 
#define ALT_CAN_MSGIF_IF2ARB_XTD_CLR_MSK   0xbfffffff
 
#define ALT_CAN_MSGIF_IF2ARB_XTD_RESET   0x0
 
#define ALT_CAN_MSGIF_IF2ARB_XTD_GET(value)   (((value) & 0x40000000) >> 30)
 
#define ALT_CAN_MSGIF_IF2ARB_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:

Enum Value Description
ALT_CAN_MSGIF_IF2ARB_MSGVAL_E_IGNORED 0x0 The Message Object is ignored by the Message
: Handler.
ALT_CAN_MSGIF_IF2ARB_MSGVAL_E_CONSIDERED 0x1 The Message Object is configured and should be
: considered by the Message Handler.

Field Access Macros:

#define ALT_CAN_MSGIF_IF2ARB_MSGVAL_E_IGNORED   0x0
 
#define ALT_CAN_MSGIF_IF2ARB_MSGVAL_E_CONSIDERED   0x1
 
#define ALT_CAN_MSGIF_IF2ARB_MSGVAL_LSB   31
 
#define ALT_CAN_MSGIF_IF2ARB_MSGVAL_MSB   31
 
#define ALT_CAN_MSGIF_IF2ARB_MSGVAL_WIDTH   1
 
#define ALT_CAN_MSGIF_IF2ARB_MSGVAL_SET_MSK   0x80000000
 
#define ALT_CAN_MSGIF_IF2ARB_MSGVAL_CLR_MSK   0x7fffffff
 
#define ALT_CAN_MSGIF_IF2ARB_MSGVAL_RESET   0x0
 
#define ALT_CAN_MSGIF_IF2ARB_MSGVAL_GET(value)   (((value) & 0x80000000) >> 31)
 
#define ALT_CAN_MSGIF_IF2ARB_MSGVAL_SET(value)   (((value) << 31) & 0x80000000)
 

Data Structures

struct  ALT_CAN_MSGIF_IF2ARB_s
 

Macros

#define ALT_CAN_MSGIF_IF2ARB_OFST   0x28
 
#define ALT_CAN_MSGIF_IF2ARB_ADDR(base)   ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_CAN_MSGIF_IF2ARB_OFST))
 

Typedefs

typedef struct
ALT_CAN_MSGIF_IF2ARB_s 
ALT_CAN_MSGIF_IF2ARB_t
 

Data Structure Documentation

struct ALT_CAN_MSGIF_IF2ARB_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_IF2ARB.

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

Macro Definitions

#define ALT_CAN_MSGIF_IF2ARB_ID_LSB   0

The Least Significant Bit (LSB) position of the ALT_CAN_MSGIF_IF2ARB_ID register field.

#define ALT_CAN_MSGIF_IF2ARB_ID_MSB   28

The Most Significant Bit (MSB) position of the ALT_CAN_MSGIF_IF2ARB_ID register field.

#define ALT_CAN_MSGIF_IF2ARB_ID_WIDTH   29

The width in bits of the ALT_CAN_MSGIF_IF2ARB_ID register field.

#define ALT_CAN_MSGIF_IF2ARB_ID_SET_MSK   0x1fffffff

The mask used to set the ALT_CAN_MSGIF_IF2ARB_ID register field value.

#define ALT_CAN_MSGIF_IF2ARB_ID_CLR_MSK   0xe0000000

The mask used to clear the ALT_CAN_MSGIF_IF2ARB_ID register field value.

#define ALT_CAN_MSGIF_IF2ARB_ID_RESET   0x0

The reset value of the ALT_CAN_MSGIF_IF2ARB_ID register field.

#define ALT_CAN_MSGIF_IF2ARB_ID_GET (   value)    (((value) & 0x1fffffff) >> 0)

Extracts the ALT_CAN_MSGIF_IF2ARB_ID field value from a register.

#define ALT_CAN_MSGIF_IF2ARB_ID_SET (   value)    (((value) << 0) & 0x1fffffff)

Produces a ALT_CAN_MSGIF_IF2ARB_ID register field value suitable for setting the register.

#define ALT_CAN_MSGIF_IF2ARB_DIR_E_RX   0x0

Enumerated value for register field ALT_CAN_MSGIF_IF2ARB_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_IF2ARB_DIR_E_TX   0x1

Enumerated value for register field ALT_CAN_MSGIF_IF2ARB_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_IF2ARB_DIR_LSB   29

The Least Significant Bit (LSB) position of the ALT_CAN_MSGIF_IF2ARB_DIR register field.

#define ALT_CAN_MSGIF_IF2ARB_DIR_MSB   29

The Most Significant Bit (MSB) position of the ALT_CAN_MSGIF_IF2ARB_DIR register field.

#define ALT_CAN_MSGIF_IF2ARB_DIR_WIDTH   1

The width in bits of the ALT_CAN_MSGIF_IF2ARB_DIR register field.

#define ALT_CAN_MSGIF_IF2ARB_DIR_SET_MSK   0x20000000

The mask used to set the ALT_CAN_MSGIF_IF2ARB_DIR register field value.

#define ALT_CAN_MSGIF_IF2ARB_DIR_CLR_MSK   0xdfffffff

The mask used to clear the ALT_CAN_MSGIF_IF2ARB_DIR register field value.

#define ALT_CAN_MSGIF_IF2ARB_DIR_RESET   0x0

The reset value of the ALT_CAN_MSGIF_IF2ARB_DIR register field.

#define ALT_CAN_MSGIF_IF2ARB_DIR_GET (   value)    (((value) & 0x20000000) >> 29)

Extracts the ALT_CAN_MSGIF_IF2ARB_DIR field value from a register.

#define ALT_CAN_MSGIF_IF2ARB_DIR_SET (   value)    (((value) << 29) & 0x20000000)

Produces a ALT_CAN_MSGIF_IF2ARB_DIR register field value suitable for setting the register.

#define ALT_CAN_MSGIF_IF2ARB_XTD_E_STANDARD   0x0

Enumerated value for register field ALT_CAN_MSGIF_IF2ARB_XTD

The 11-bit (standard) Identifier will be used for this Message Object.

#define ALT_CAN_MSGIF_IF2ARB_XTD_E_EXTENDED   0x1

Enumerated value for register field ALT_CAN_MSGIF_IF2ARB_XTD

The 29-bit (extended) Identifier will be used for this Message Object.

#define ALT_CAN_MSGIF_IF2ARB_XTD_LSB   30

The Least Significant Bit (LSB) position of the ALT_CAN_MSGIF_IF2ARB_XTD register field.

#define ALT_CAN_MSGIF_IF2ARB_XTD_MSB   30

The Most Significant Bit (MSB) position of the ALT_CAN_MSGIF_IF2ARB_XTD register field.

#define ALT_CAN_MSGIF_IF2ARB_XTD_WIDTH   1

The width in bits of the ALT_CAN_MSGIF_IF2ARB_XTD register field.

#define ALT_CAN_MSGIF_IF2ARB_XTD_SET_MSK   0x40000000

The mask used to set the ALT_CAN_MSGIF_IF2ARB_XTD register field value.

#define ALT_CAN_MSGIF_IF2ARB_XTD_CLR_MSK   0xbfffffff

The mask used to clear the ALT_CAN_MSGIF_IF2ARB_XTD register field value.

#define ALT_CAN_MSGIF_IF2ARB_XTD_RESET   0x0

The reset value of the ALT_CAN_MSGIF_IF2ARB_XTD register field.

#define ALT_CAN_MSGIF_IF2ARB_XTD_GET (   value)    (((value) & 0x40000000) >> 30)

Extracts the ALT_CAN_MSGIF_IF2ARB_XTD field value from a register.

#define ALT_CAN_MSGIF_IF2ARB_XTD_SET (   value)    (((value) << 30) & 0x40000000)

Produces a ALT_CAN_MSGIF_IF2ARB_XTD register field value suitable for setting the register.

#define ALT_CAN_MSGIF_IF2ARB_MSGVAL_E_IGNORED   0x0

Enumerated value for register field ALT_CAN_MSGIF_IF2ARB_MSGVAL

The Message Object is ignored by the Message Handler.

#define ALT_CAN_MSGIF_IF2ARB_MSGVAL_E_CONSIDERED   0x1

Enumerated value for register field ALT_CAN_MSGIF_IF2ARB_MSGVAL

The Message Object is configured and should be considered by the Message Handler.

#define ALT_CAN_MSGIF_IF2ARB_MSGVAL_LSB   31

The Least Significant Bit (LSB) position of the ALT_CAN_MSGIF_IF2ARB_MSGVAL register field.

#define ALT_CAN_MSGIF_IF2ARB_MSGVAL_MSB   31

The Most Significant Bit (MSB) position of the ALT_CAN_MSGIF_IF2ARB_MSGVAL register field.

#define ALT_CAN_MSGIF_IF2ARB_MSGVAL_WIDTH   1

The width in bits of the ALT_CAN_MSGIF_IF2ARB_MSGVAL register field.

#define ALT_CAN_MSGIF_IF2ARB_MSGVAL_SET_MSK   0x80000000

The mask used to set the ALT_CAN_MSGIF_IF2ARB_MSGVAL register field value.

#define ALT_CAN_MSGIF_IF2ARB_MSGVAL_CLR_MSK   0x7fffffff

The mask used to clear the ALT_CAN_MSGIF_IF2ARB_MSGVAL register field value.

#define ALT_CAN_MSGIF_IF2ARB_MSGVAL_RESET   0x0

The reset value of the ALT_CAN_MSGIF_IF2ARB_MSGVAL register field.

#define ALT_CAN_MSGIF_IF2ARB_MSGVAL_GET (   value)    (((value) & 0x80000000) >> 31)

Extracts the ALT_CAN_MSGIF_IF2ARB_MSGVAL field value from a register.

#define ALT_CAN_MSGIF_IF2ARB_MSGVAL_SET (   value)    (((value) << 31) & 0x80000000)

Produces a ALT_CAN_MSGIF_IF2ARB_MSGVAL register field value suitable for setting the register.

#define ALT_CAN_MSGIF_IF2ARB_OFST   0x28

The byte offset of the ALT_CAN_MSGIF_IF2ARB register from the beginning of the component.

#define ALT_CAN_MSGIF_IF2ARB_ADDR (   base)    ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_CAN_MSGIF_IF2ARB_OFST))

The address of the ALT_CAN_MSGIF_IF2ARB register.

Typedef Documentation

The typedef declaration for register ALT_CAN_MSGIF_IF2ARB.