Hello,
Recently, i have been working on the example using bmu_k358 to communicate with Bcc_774a over TPL. However, i am confused on the choice of indexes when accessing the data in the TD package. According to the result observed on freemaster, the readings are correct. The question is, what is the reasoning behind the index, and which part of the datasheet specifies the location of data? I have checked through the datasheets I can find, and i did not establish any connections.
The answers will help a lot, thanks
Solved! Go to Solution.
Hello @primo,
This TD Handler Block has been introduced to help you access the data from the TD Handler structure. The idea behind this is that you are composing a transaction descriptor full of commands, then you send the transaction descriptor using the Bms_Common -> Bms_TD_Send, and then you request, via the same procedure the data standing from some particular registers. Now, the TD Handler helps you to get the actual TPL vector of uint16 responses. Now the TPL has 6 x uint16, where only the bytes 2, 3, 4, and 5 have meaningful data, like for example the voltages, while the other bytes 0, 1, and 6 contain TPL-specific data. To understand more, please check the MC33665A Datasheet V3.0 , from the NXP website. So basically with the TD Handler, you have access to all the bytes transferred via the TPL bus, and with those indexes, you only select the position of the DATA to be transferred.
Now, an alternative for this block is to use the Bms SL E2E block which receives the address of the register and the number of registers to be returned, but the MBDT only integrates the DEMO version of the Safety Library which provides this block, so you only be able to use this block for a limited amount of time.
Regards,
Marius
Hello @primo,
This TD Handler Block has been introduced to help you access the data from the TD Handler structure. The idea behind this is that you are composing a transaction descriptor full of commands, then you send the transaction descriptor using the Bms_Common -> Bms_TD_Send, and then you request, via the same procedure the data standing from some particular registers. Now, the TD Handler helps you to get the actual TPL vector of uint16 responses. Now the TPL has 6 x uint16, where only the bytes 2, 3, 4, and 5 have meaningful data, like for example the voltages, while the other bytes 0, 1, and 6 contain TPL-specific data. To understand more, please check the MC33665A Datasheet V3.0 , from the NXP website. So basically with the TD Handler, you have access to all the bytes transferred via the TPL bus, and with those indexes, you only select the position of the DATA to be transferred.
Now, an alternative for this block is to use the Bms SL E2E block which receives the address of the register and the number of registers to be returned, but the MBDT only integrates the DEMO version of the Safety Library which provides this block, so you only be able to use this block for a limited amount of time.
Regards,
Marius