I'm working on retooling a project that is an embedded Intel Core i3 system running Linux with a PCAN mPCIe card to interface to our two CAN buses. Cu rrently we're using an Intel NUC motherboard, but we want to move to a COM- Express module for reliability and manufacturing reasons.
Since we're designing a custom carrier board, I would like to lower our par t cost by about $400 by just interfacing the CAN directly to the PCIe bus.
It looks like Linux's built-in SocketCAN drivers have support for the SJA10
00 CAN controller through a variety of vendors' PCI(e) cards. Since they al l seem to use the same driver source, I should be able to emulate what they 're doing and just put the SJA1000 right on my PCB with some sort of interf ace chip right?The only problem is I know next to nothing about PCIe, so I don't really kn ow where to start. It looks like all the vendors' cards use an FPGA or some thing, can I get away without doing that? Is there a standard solution for this sort of thing?