Tool/software: CCS, CAN FD Analyzer
Hey,
My project requires communication between a Master and 9 Slaves via CAN FD. Data from Master (ID: 10, 0xA) to all Slaves (IDs 1, 2, 3... 9) is being broadcasted and in return, I programmed the Slaves to respond with a single-frame acknowledgement.
While testing, when there's the Master and 4 Slaves on the CAN FD bus, in response to the broadcasted data, I only observe a maximum of two Slaves that respond with an acknowledgement frame on the CAN FD Bus Analyzer Software Tool.
I'm sure that the other two Slaves are receiving the data since I have a counter that runs after reception, I also observed that the response (transmission from Slave to Master after receiving data from Master) frame is being structured but I can't tell if its actually being sent.
Individually, if there's only the Master, a Slave and the CAN FD Analyzer, the acknowledgement is being sent as seen on the CAN FD Software Tool, but only when there's multiple Slaves, I'm facing this issue.
Master Broadcast Data ID configuration:
txMsg[0][BROADCAST_CONTROLDATA].id = (MCU << 12) | (0 << 8) | (BROADCAST_CONTROLDATA << 4) | (1);
txMsg[0][BROADCAST_CONTROLDATA].rtr = 0U;
txMsg[0][BROADCAST_CONTROLDATA].xtd = 1;
txMsg[0][BROADCAST_CONTROLDATA].esi = 0U;
txMsg[0][BROADCAST_CONTROLDATA].dlc = 15;
txMsg[0][BROADCAST_CONTROLDATA].brs = 1U;
txMsg[0][BROADCAST_CONTROLDATA].fdf = 1U;
txMsg[0][BROADCAST_CONTROLDATA].efc = 1U;
txMsg[0][BROADCAST_CONTROLDATA].mm = 0xAAU;
(All the parameters are the same for both Master and Slave except for those that are specified below for Slave's acknowledgement)
txMsg_Config_Para_st.id = (Lcu_node_id << 12) | (MCU_ID << 8) | (BROADCAST_CONTROLDATA << 4) |(6);
txMsg_Config_Para_st.data[0] = 0x06;
txMsg_Config_Para_st.dlc = 4U;
Data bit-rate is at 5 Mbps while the arbitration bit-rate is at 500 Kbps. I'm of the assumption that the bus is too busy to accommodate more than 2 LCUs which is why all 4 acknowledgements sent by 4 Slaves on the bus currently aren't always read by the Master. I have another counter declared as an array in the Master's program whose element's increment when the master receives the particular Slave's acknowledgement.
With 4 Slaves on the bus, all of which are programmed the same, I get different number of acknowledgements. There is also a lot of randomness in the reception of acknowledgements in the Master control card.
Please let me know if I can provide additional data should you need it to resolve this issue.
Best,
Nalin P.

(I had only 7 local nodes and a main node on the bus here in the data)
