the indexing confusion in k358BMU774A reading example

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

the indexing confusion in k358BMU774A reading example

Jump to solution
542 Views
primo
Contributor I

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

 primo_0-1715369483808.png

 

0 Kudos
Reply
1 Solution
503 Views
mariuslucianand
NXP Employee
NXP Employee

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

View solution in original post

0 Kudos
Reply
1 Reply
504 Views
mariuslucianand
NXP Employee
NXP Employee

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

0 Kudos
Reply