First of all, the FR system is the following:
- FR Drivers - Freescale "S12XFSTARTERKITE: S12XF 2-Node Starter Kit" from home page.
- Individual MessageBuffers (MB)
- Node1: TX1, RX2, RX5
- Node2: RX1, TX2, RX5
- Node3 (faulty): RX1(MB0), RX2(MB1), TX5
With Node3 I had a problem with using FlexRay in a Nested Interrupt hierarchy system. On the one hand there is a BLDC motor control with some interrupts(Timers, PWM, SPI), and on the other hand I use FR for communication. BLDC interrupts are on a higher level than FR ISRs, so they can - actually they do - interrupt these FR communication interrupts - I checked it with an oscilloscope -. If Node2 is out of the system, there is no problem with node3, both the BLDC control and FR works good.
But if Node2 is connected in - and Node3 receive information in Slot2 -, at the event, when the receive function can not read Slot1's MB0 until the end of the Slot2 communication cycle - when Slot2's MB1 should start to read - MB0 (Slot1's MB) is overwritten... Is there anybody who know the reason, and maybe the solution? It would be great
For further info there is the scope's view:
- blue - communication signal
- yellow - interrupt (read() function etc.)
- green - fault indicator (inverted)