2024-08-26 08:04 PM
Hello
I'm currently trying to change the classic CAN into FDCAN, but when i try to change the clock source of FDCAN (which is PLL1Q) from 50Mhz to 80Mhz to use FDCAN, the clock configuration keeps giving the message "wrong parameter values" when i try to generate it.
In the datasheet of stm32h753VIT6, it says
"The clock calibration on CAN unit is designed to operate under the following conditions:
• a CAN kernel clock frequency fdcan_ker_ck up of at least 80 MHz"
which means the clock of FDCAN must be setted to at least 80MHz, so the clock must be setted to 80MHz in order to use FDCAN.
At this clock setting, the only thing that uses the PLL1Q setting is FDCAN, so why can't I use values above 50MHz?
I'll attach the ioc file that is associated with this issue.
Solved! Go to Solution.
2024-08-27 06:14 AM
Hello,
The answer is simply in the RM0433 / Table 60. Kernel clock distribution overview:
The max kernel clock depends on the Voltage scale you set for the power.
Your system clock is set to 200MHz -> VOS3 -> FDCAN max ker frequency = 50MHz.
So increase your system clock for example at 400MHz you can reach up to 100MHz as FDCAN source clock.
Hope I answered your question.
2024-08-27 06:14 AM
Hello,
The answer is simply in the RM0433 / Table 60. Kernel clock distribution overview:
The max kernel clock depends on the Voltage scale you set for the power.
Your system clock is set to 200MHz -> VOS3 -> FDCAN max ker frequency = 50MHz.
So increase your system clock for example at 400MHz you can reach up to 100MHz as FDCAN source clock.
Hope I answered your question.
2024-08-28 05:51 PM
Thanks for your answer, I found out the reason why i can't use the 100Mhz at fdcan.
But according to that Table 60, To use the FDCAN in 100Mhz, the required Voltage Scale Must be VOS1
which means i have to change VOS3 to VOS1
Is this correct?
Or should i just change the system clock into 400Mhz to solve my problem?
2024-08-29 07:33 AM
The voltage scale configuration depends on the System frequency.
So you can't just simply change VOS3 to VOS1.
This is also given in the datasheet:
You can ask: but these are Max frequencies so I can set VOS1 and keep the system frequency to 200MHz it works but this has two drawbacks:
- Increase the power consumption.
- Accelerate the product aging.
That's why you need to follow the table.
2024-08-29 05:24 PM
In the Table 121, it says the VOS3 mode has a maximum 200mhz.
but before this you said to change the system clock at 400MHz, which is the maximum of VOS1 mode.
So.... does this mean that i have to change into VOS1 mode to use 400mhz?
Instead of setting system clock in 400mhz while using VOS3 mode?
I'm quite confused...
2024-08-29 08:57 PM
In order to get 80 MHz CAN clock, you need to be in VOS1 per the table shown.
Any clock setting in VOS1 will work, provided that you can configure the CAN clock to 80 MHz with PLL settings.. It does not need to be 400 MHz, you can keep it at 200 MHz.
You cannot set a system clock of 400 MHz in VOS3. It is limited to 200 MHz, as shown in the table.
Read the tables, all the info is there.
2024-08-29 10:30 PM
My understanding is that the higher the Hz, the higher the power consumption,
so why would using different modes at the same Hz increase the power consumption?
2024-08-30 01:28 AM
So.... does this mean that i have to change into VOS1 mode to use 400mhz?
Instead of setting system clock in 400mhz while using VOS3 mode?
I'm quite confused...
There is no confusion here.
Sys freq =< 200MHz -> VOS3
200MHz < Sys freq =< 300MHz -> VOS2
300MHz < Sys freq =< 400MHz -> VOS1
400MHz < Sys freq =< 480MHz -> VOS0
As I said, you need to respect these ranges in selecting the voltage scale for the reasons I mentioned before.