We have developed a driver based on the Linux source code you provide, for a custom Real-time O/S using the Peak PCAN-miniPCIe Dual Channel IPEH-003049 in an RTD CAN3541HR miniPCIe cradle on an RTD IDAN .
While our driver is reading and transmitting frames without issue, the CPU load in interrupts is much higher than expected. On testing why this is the case, It appears that a read of a single register occurs the cost of 2-3μs of CPU time. Reading a single frame requires around 16 register reads and this soon starts to add up to heavy CPU load.
Write speed is over ten times the speed of a read, and that seems more acceptable for PCIe bandwidth.
Is this a limitation of the peak pcan card, or is it an issue with the RTD cradle? Running 2 cards with 2 channels at high bus load would exceed 100% CPU which can not be correct.
Are you aware of any issues with this setup, or any suggestions why the card is responding so slowly.
Kind Regards
Dave
PCAN mPCIe Bus Speed Issue
- S.Grosjean
- Software Development
- Posts: 357
- Joined: Wed 4. Jul 2012, 17:02
Re: PCAN mPCIe Bus Speed Issue
Hi Dave.
We never have seen, and we never have been notified by such delays on any Windows nor Linux (-rt) platforms.
That is, for example, our 4xchannels PCIe boards are able to handle 100% busload on each channel, without degrading the CPU performance in such proportions.
Regards,
Stéphane
We never have seen, and we never have been notified by such delays on any Windows nor Linux (-rt) platforms.
That is, for example, our 4xchannels PCIe boards are able to handle 100% busload on each channel, without degrading the CPU performance in such proportions.
Regards,
Stéphane
— Stéphane
Re: PCAN mPCIe Bus Speed Issue
Could this be an issue with the RTD CAN35414HR cradle, that is designed to take your cards.
https://www.rtd.com/NEW_manuals/hardwar ... 20129B.pdf
We reduced our test code to a simple loop of reading several registers, to calculate the latency so it is clearly a hardware or initialization of hardware issue.
Is there any device/bus configuration we could be missing, we have closely built driver around functionality of your linux source, and apart for performance it works well. We have the issue at other sites on different hardware configurations, so I know it is not a one off hardware problem.
I will raise a question with RTD also, to see if the issue is their side we have not tried any other 104 cradles.
Dave
https://www.rtd.com/NEW_manuals/hardwar ... 20129B.pdf
We reduced our test code to a simple loop of reading several registers, to calculate the latency so it is clearly a hardware or initialization of hardware issue.
Is there any device/bus configuration we could be missing, we have closely built driver around functionality of your linux source, and apart for performance it works well. We have the issue at other sites on different hardware configurations, so I know it is not a one off hardware problem.
I will raise a question with RTD also, to see if the issue is their side we have not tried any other 104 cradles.
Dave