CAN SERIAL COMMUNICATIONS CONTROLLER

CAN_MSGxCON0

Address:

1Ex0H (x = 1–F)

x = 1–15 (87C196CB)

Reset State:

Unchanged

Program the CAN message object x control 0 (CAN_MSGxCON0) register to indicate whether the message object is ready to transmit and to control whether a successful transmission or reception generates an interrupt. The least-significant bit-pair indicates whether an interrupt is pending.

This register consists of four bit-pairs — the most-significant bit of each pair is in true form and the least-significant bit is in complement form. This format allows software to set or clear any bit with a single write operation, without affecting the remaining bits.

87C196CB

7

MSGVAL

MSGVAL

TXIE

TXIE

 

 

 

 

0

RXIE

RXIE

INT_PND

INT_PND

 

 

 

 

Bit

Bit

 

 

Function

Number

Mnemonic

 

 

 

 

 

 

 

 

7:6

MSGVAL

Message Object Valid

5:4

TXIE

Transmit Interrupt Enable

 

 

Receive message objects do not use this bit-pair.

 

 

For transmit message objects, set this bit-pair to enable the CAN

 

 

peripheral to initiate a transmit (TX) interrupt after a successful trans-

 

 

mission. You must also set the interrupt enable bit (CAN_CON.1) to enable

 

 

the interrupt.

 

 

 

bit 5

bit 4

 

 

 

0

1

no interrupt

 

 

1

0

generate an interrupt

 

 

 

3:2

RXIE

Receive Interrupt Enable

 

 

Transmit message objects do not use this bit-pair.

 

 

For receive message objects, set this bit-pair to enable the CAN peripheral

 

 

to initiate a receive (RX) interrupt after a successful reception. You must

 

 

also set the interrupt enable bit (CAN_CON.1) to enable the interrupt.

 

 

bit 3

bit 2

 

 

 

0

1

no interrupt

 

 

1

0

generate an interrupt

 

 

 

1:0

INT_PND

Interrupt Pending

 

 

 

 

 

Figure 7-18. CAN Message Object x Control 0 (CAN_MSGxCON0) Register

When the SIE bit in the CAN control register is set, the CAN controller generates a successful reception (RXOK) interrupt request each time it receives a valid message, even if no message ob- ject accepts it. If you set both the SIE bit (Figure 7-17) and an individual message object’s RXIE bit (Figure 7-18), the CAN controller generates two interrupt requests each time a message object receives a message. The status change interrupt is useful during development to detect bus errors caused by noise or other hardware problems. However, you should disable this interrupt during normal operation in most applications. If the status change interrupt is enabled, each status change generates an interrupt request, placing an unnecessary burden on the CPU. To prevent re- dundant interrupt requests, enable the error interrupt sources (with the EIE bit) and enable the re- ceive and transmit interrupts in the individual message objects.

7-31

Page 92
Image 92
Intel 87C196CB, 8XC196NT user manual can Message Object x Control 0 CANMSGxCON0 Register

8XC196NT, 87C196CB specifications

The Intel 87C196CB and 8XC196NT are microcontrollers from the C196 family, which was designed to meet the demands of embedded control technology. These microcontrollers are popular in various applications due to their robust architecture, extensive I/O capabilities, and specialized functionality, making them ideal for automotive, industrial, and communication systems.

The 87C196CB is distinguished by its 16-bit architecture, offering a balance of processing power and efficiency. It features a 16-bit data bus, which allows for fast data processing, and a 16-bit address bus, supporting up to 64KB of program memory. The microcontroller integrates on-chip memory, including 2KB of ROM and 128 bytes of RAM, which facilitates faster execution of programs and data handling.

One of the standout features of the 87C196CB is its versatility in I/O operations. It comes equipped with 32 general-purpose I/O lines that can be configured for various functions, including input, output, and interrupt handling. This flexibility enables developers to optimize the microcontroller for their specific application needs.

The 8XC196NT builds on the capabilities of its predecessor, offering advanced functionalities such as an enhanced instruction set and integrated peripherals. It includes additional features like timers, serial communication interfaces, and analog-to-digital converters, which expand its usability in complex embedded systems. The 8XC196NT supports multiple addressing modes, allowing for more efficient programming and memory management.

Both microcontrollers utilize innovative technologies that improve performance and power efficiency. The on-chip operating system support aids in real-time processing and multitasking, making them suitable for time-sensitive applications. Power management features are also incorporated, allowing these microcontrollers to operate in low-power modes, which is crucial for battery-operated devices.

The 87C196CB and 8XC196NT microcontrollers are characterized by their reliability and long service life, meeting the stringent demands of industrial applications. Their ability to perform tasks rapidly, combined with their diverse peripheral support, makes them popular choices among engineers and developers designing embedded systems. Overall, the Intel 87C196CB and 8XC196NT microcontrollers remain relevant in the rapidly evolving landscape of embedded technology, facilitating innovative solutions across various industries.