MBDT for S32k44 HVBMS registers

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

MBDT for S32k44 HVBMS registers

1,724 次查看
mgomez
Contributor II

Hello!

I have a question regarding the bcc_775a_read_32ct example of the MBDT S32k344.

Does anyone know what are this numbers and where can I find them:

(I know that they are the addresses and can be configures through the external tool but I cannot make the connection and find them)

mgomez_0-1681884022196.png

 

Are they related to the number of the address of the datasheet of the image I atteched below?

mgomez_1-1681884022213.png

 

Also, where does this faults mean? What do they verify? Where can I fin this?

mgomez_2-1681884022180.png

 

On the other hand, I have been trying to read the voltages of 4 devices from 1 BCC chain but I don´t how to change the adress of each. I have been doing it as shown in the picture below: changing the device adress and then adding another data store memory for the cell voltages of the second device. However, I cannot see anything in FreeMaster I cannot find the adress of the second device. Am I doing it right?

mgomez_3-1681884022115.png

 

If I am working with 2 device do I nedd to change the number ' Bcc775aDriver/Bcc775aChain1DevNum-4'  to 2? What does this mean?

mgomez_4-1681884022233.png

 

Finally, How can I do an Stateflow to periodically switch the Device Address and each step time to read data from other BCC in a round robin approach is there any example of that?

-Do I need to initialize all the devices or just with one inizialization process is enough?

-Do I need to add a memory data for each cell voltage device?  

Thank you very much in advance !!

0 项奖励
回复
3 回复数

665 次查看
mariuslucianand
NXP Employee
NXP Employee

Hello @mgomez,

There is no direct link between the absolute number of the mentioned registers and the numbers you are showing in the screenshots below.

The communication between the S32K3 and the BCC, works on the request <> response pattern. Inside the example model, we are using the Bcc_775_MSR_GetData to request the both PRIMARY and SECONDARY chains, from the periodic measurements.

mariuslucianand_0-1747767355161.png

So in the blocks above, we are requesting some registers values, the ones you are mentioning below. Now, the actual transactions between the S32K3 the BCCs, uses Transaction Descriptors, which needs to be configured in the external configuration tools and also can be selected inside the Bcc Blocks. So right after the Bcc_775a_MSR_GetData request is sent to the BCC, the BCC responds with the registers, and the TD has the registers value inside its buffers, which can be accessed via the TD Handler Block. What can I tell you here, is that the registers are stored at the index 2, 3, 4, 5, 9, 10, 11, 12, 16, 17, 18, 19, ... in the BCC TD Handler Block. I think it is simple to find the equation here based on this numbers so that you extend for the other useful information. In this case, the PRMM_PER_VC0 is going to be located at the address 3, PRM_PER_VC1 at address 4 and so on. 

So, at any moment in time, when you request some registers values from a BCC you will find the response in the TD Handler block at the indexes 2, 3,4, 5, 9, 10,... until the Bms_TD_Clear block is called.

An alternative to this is to use the SL Library blocks, which receives the actual address value in the Bms_TPL3_SL_E2E_ExtractData . You can find this in the k344bmu_774a_sl_read_s32ct example. But keep in mind, that the Safety Library delivered with the MBDT is the DEMO version, This means that after the S32K3 reset, the function will work for a limited number of calls after that returning 0.

mariuslucianand_1-1747768203594.png

For adding a second BCC or any other number, extra work is required.

1. In the external configuration tools the maximum number of BCCs connected on the TPL bus needs to be specified as it can be seen below.

mariuslucianand_3-1747768479831.png

2.  By default, each startup the BCCs are not enumerated, meaning that they don't have an ID associated on the TPL bus, and this needs to be performed in the initialization. 

mariuslucianand_4-1747768638796.png

 

3. Then at each step, you need to do the reading for each of the BCC, which seems to be similar with the image you have attached, but unfortunately I cannot see the number since the image is too small. In our case, what we do is that we are keeping the CHAIN_ADDR constant 1, but we are iterating through the BCC devices at each step in a round robin approach using a Stateflow.

mariuslucianand_5-1747768670619.png

Inside the toolbox, we provide the k344bmu_read_s32ct Example, in which we are communicating with 4x MC33775 and 2x MC33772C. I think this is a good starting point for you.

If you are using only 2 devices, you need to adjust the numbers in the k344bmu_read_s32ct Example, first inside in the initialization for the MAX number from 4 to 2 and the Stateflow to only count from 1 to 2. 

mariuslucianand_6-1747768967343.png

The settings from the block above,  are not editable directly, and in order to change some numbers there, and therefore settings, you need to open the external configuration tools and perform the settings there (I have attached an S32CT screenshot above). To do so, you need to press that Configure button. Once you have edited, save and closed the external configuration tools, you can press the Refresh button to update the Configuration parameters with the new changes. So all the hardware settings needs to be performed via the external configuration tools.

For the last 2 questions, I think indirectly I have provided the answers above. You can have a look inside the k344bmu_read_s32ct example, and there you can also see how the data store memory is used to retain the cell values.

 

Hope this helps,

Marius

 

0 项奖励
回复

1,713 次查看
TomasVaverka
NXP TechSupport
NXP TechSupport

Hello Maitane,

Please reach out to your NXP FAE, the information you are requesting requires an NDA and cannot be posted on the public community like this one.

Best regards,

Tomas

0 项奖励
回复

794 次查看
narsimh_kamath
NXP Employee
NXP Employee

Hi MBDT team, could you pls re-look at this query as I feel some guidance on the general MBD approach, without necessarily going to detail of the MC33775 registers, may still be possible here. Thanks!

0 项奖励
回复