Hi Michael,
On 19.05.22 17:52, Michael Anochin wrote:
my application continuously sends 64 bytes CANFD packets with 1MBit/s at
the 10ms interval.
How does this application implement this 10ms interval?
Can you check whether
cangen -g 10 -f -I 123 -L 64 can0
has the same problems?
With
candump -td can0
you should be able to see some timestamp gaps around 10ms.
I use tcan4450 on the RPI4 with 5.10.103 Kernel and
raspbian. No other significant processes load the CPU.
When I monitor the traffic with a PCAN adapter on a Windows PC, I notice
that the packets sometimes arrive with a delay of 5-9ms. But the next
following packet arrive faster as 10ms. My desired interval of 10ms is
kept at the jitter of +/- 9ms.
Running the App on only one CPU core using tasksel improve the jitter
somewhat.
What is the use-case for this 10ms cyclic transmission? Maybe the
CAN_BCM (which uses in-kernel highres timers) could bring an improvement
for you.
Am I the only one who observes such large jitter or is the m_can
implementation at Perepherie (spi) not so fast from the throughput and
is completely normal.
Maybe I should switch to 5.17 kernel? On 5.17 there are bulk read/write
function for spi regmap.
I don't answer to this as I don't have the required SPI knowledge ...
but if you could upgrade to a newer kernel this is always a good
approach ;-)
Best regards,
Oliver