TC397 mcmcan tx interrupts problem

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
User17270
Level 1
Level 1
First like received
Hi,

I have been unable to make mcmcan transmit complete or transmit event fifo new
event interrupts fire for the TC397. No issue with the DRX interrupt. The arrangement
is two nodes of a single mcmcan module connected via fd capable transceivers, one
transmitting, the other receiving.

I can see the packet on my scope, I can see the bit set in the tx buffer location
of the TXBTOi register and the tx event in my messageRAM for the transmitting
node. The TCE and TEFNE bits are set inside the IEi register and those bit
locations get set in the IRi register after the transmission. All this information
indicates that the transmission was successful yet the program does not enter
the ISRs. I am familiar with the errata item regarding mcmcan interrupt flag
clearing.

The oddest thing is that I have on rare occasion seen the debugger enter the TC
interrupt but I cannot explain the difference in conditions when it occurs.
Spooky.
The other cores are doing minimal work - simply running an interrupt on the
stm for application timing.

Is there something I am missing here? Has anyone else made these mechanisms
work?

-rob
0 Likes
2 Replies
User17270
Level 1
Level 1
First like received
Answering my own post now that I have a better understanding of SRNs and the
code is working. The 16 CAN module interrupts must be shared between the 4
nodes. Only 1 of the 4 nodes can use the full set of interrupts. This is
stated implicitly in the user manual rather than explicitly.

This point is important for system design. Using multiple nodes of a module
might not be feasible for an interrupt driven system if the nodes are
bidirectional and aware of the full range of errors and status events.

-rob
0 Likes

Hello User17270,

I read your post, i have query regarding the interrupts. 

My use case, 

CAN MODULE 0 is being used, with node3 and node0 with tx and Rx.

Query 1 :Does it mean that,if use Node 3 Rx interrupt, its not possible to use node0 Rx interrupts? because they belong to both the same CAN MODULE.

Query2 : How is the interrupts mapped, I see there are 16interrupts lines for CAN MODULE 0,

if i need to enabled Node3 Rx interrupts, which interrupt line should be mapped?

 

Thanks

0 Likes