Re: MCP2515 implementation is slow

David Jander
2014-11-27T07:46:26Z

On Wed, 26 Nov 2014 12:32:42 +0000
Andri Yngvason <andri.yngvason@marel.com> wrote:

> Quoting Rost, Martin (2014-11-26 12:02:13)
> > Hi all,
> >
> > > this VERY POOR chip.
> > As the mcp251x is voted down by the list members regularly, is there an
> > alternative you guys would recommend?
> >
> Well, sja1000 is pretty solid. They're used for example in the peak_pci.

It is actually pretty sad that one still tends to mention this old dinosaur.
It has a terribly slow parallel multiplexed bus-interface that works on 5V. If
you want to connect it to a modern ARM SoC, you will have to implement some
quite expensive level-shifting and then probably bit-bang the interface via
GPIO's or use an (even more expensive and complicated) CPLD or FPGA to do the
bus-translation. You are kidding, right?

To go back to the sad reality of CAN interfaces: No, there seems to be no
good alternative whatsoever.

If you want SocketCAN on an embedded system, choose a SoC that has built-in CAN
controllers or connect a supported commercial CAN interface via USB or (if you
have it) PCIe. Please note that many commercial (USB-) CAN-interfaces are not
capable of producing 100% bus load at higher bitrates. USB has too much
latency and the dongles tend to have too little buffer-space (there's often a
SJA1000 crammed up inside).

Best regards,

--
David Jander
Protonic Holland.