TMS320F280049 CCP parameters not working

3 ビュー (過去 30 日間)
Celso Acurcio
Celso Acurcio 2020 年 8 月 21 日
回答済み: Celso Acurcio 2020 年 8 月 28 日
Hi.
I'm working with:
  • Ti TMS320F280049
  • Vector CANape
I managed to implement CCP (CAN calibration Protocol) and it is working for monitoring signals but not to change parameters (calibrate).
I've followed multiple Matlab instructions:
and even compiled and tested the example just in case my linker was causing some memory allocation misplacement or something was wrong on my model settings.
Unfotunately with no success, in the following picture you can see my step size of 100, did not make any difference on the counter output. (model on link just above this sentence)
On my application it gets even weirder:
I can override the value of OPP_Heartbeat_bool (on another subsystem not pictured), and see the change reflected on HOP_Doh_Do3_bool, although GPIO9 will only change from false to true.
  • Starting false: possible to go true, pin goes from 0 to 12V. Not possible to go back to 0V even though HOP_Doh_Do3_bool reacts to the value of OPP_Heartbeat_bool.
  • Starting true: Not possible to change output of GPIO even though HOP_Doh_Do3_bool reacts to the value of OPP_Heartbeat_bool.
  • With an in-software pulsing signal: output behaves as expected reacting to the value of HOP_Doh_Do3_bool.
I have tried different classes and storage classes in order to try and achieve this goal
The highlighted one is the one I'm currently using but none of the options work, not even the one in the example provided with the addon.
This happens with all my outputs, when using CCP to change the state of the output, it only works increasing, never decreasing but if the logic is just running cyclically without CCP interference, it pulses correctly.
Not only the outputs, the software itself doesn't seem to behave properly, see example below:
This is the place where I can override the heartbeat (mentioned previously), it's a simple switch.
  • I have the heartbeat switching between 1 and 0 every second
  • once I change OPPc_HeartBeat_bool_OvrEn_bool, the switch works and my OPP_HeartBeat_bool assumes the value of my constant OPPc_HeartBeat_bool_OvrVal_bool = 0 while OPP_HeartBeat_Pre_bool carries on with the switching between 1 and 0.
  • When I remove the override OPPc_HeartBeat_bool_OvrEn_bool=0, the switch doesn't switch back, OPP_HeartBeat_Pre_bool continues cycling but OPP_HeartBeat_bool continues to be 0.
In this picture I have switched OPPc_HeartBeat_bool_OvrEn_bool=1 and then back to 0 and as you can see, the switch didn't go back into its original position.
I'm hoping this is a simple model configuration I missed somewhere but since the example model doesn't let me calibrate it in real time either I'm a bit confused and I think I exhausted all the possible options I could think of.
Further to this, it looks to me (but I'm no CCP expert) that the response address is incorrect:
I'm setting 0xC81C to 1 and the response is on 0xC81D. Is this normal? I have attempted to mod the A2L to have the CMD sent on its address -1 so that the response matches the correct address but this seems to not have the effect desired as this way I cannot override the heartbeat anymore.
I hope someone else in the community managed to go around this issue and can help me.
Kind Regards
Celso

採用された回答

Celso Acurcio
Celso Acurcio 2020 年 8 月 28 日
After a lot of debugging I finally found the solution and now I can calibrate all data types.
Copy the file attached into C:\ProgramData\MATLAB\SupportPackages\R2020a\toolbox\target\supportpackages\tic2000\src.
You're welcome! ;P

その他の回答 (0 件)

製品


リリース

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by