In RM for S32K1xx (Rev. 9 but also in earlier versions) one can see that for Propagate Segment time in CTRL1 the register value should be written one less than the actual value i.e.
Propagation segment time = (PROPSEG + 1) × time-quanta
The same relates to CBT register i.e.
Propagation Segment Time = (EPROPSEG + 1) × Time-Quanta
While for the data part i.e. FDCBT register the propagation time has no +1. That is:
Propagation Segment Time = FPROPSEG × Time-Quanta
Could someone from NXP confirm that there is no typo in the manual?
2. Also another question regarding the baud rate.
When working with the can_pal example for S32K144 and playing with different baud rates in the CAN configuration window the following strange behavior is present: when FD is enabled and CAN PE clock source is selected to be the 80 MHz peripheral clock one cannot get registers values for e.g. 10 kbps for the Arbitration phase. The inserted 10 kbps is just reset to some higher values, although one would assume that in FD mode it should be possible to get 10 kbps by setting the Prescaler Devision Factor to let's say 799?
3. Yet another baud rate question.
There are a few documents like AN1798 which explains how to calculate the baud rate parameters to get the best tolerance. With highest tolerance in mind one usually gets somewhat lower percentage of the sampling point (varies from 60 to 80 %). This is different from the default values 87.25 (or so) shown in the baud rate configuration window of S32 Dev Studio. Also the RJW calculated by the manual like AN1798 is usually around 3 while the configuration windows shows normally the value of 1. The question is whether one should rely on the highest tolerance when calculating the best baud rate register values (and disregard the sampling point position) and which RJW value is preferred and why do they mismatch between the S32 Dev. Studio and the mentioned manual?
Thanks a lot in advance.