LattePanda Delta with CANBUS over SPI

A place to talk about all the Operating Systems, Software & Hardware
Post Reply
User avatar
Honorwalk
Posts: 2
Joined: Thu Aug 06, 2020 10:45 pm

Tue Nov 17, 2020 6:01 pm

Hello,
I am looking to use the LattePanda Delta as a DCS controller with a GUI running in Linux. My system communicates over a CAN BUS network. Up to now, I have been using a raspberry pi 4 with this hat (https://www.waveshare.com/rs485-can-hat.html) to interface with the network through the SocketCAN driver, but the pi does not have enough processing power to handle the program. I am wondering if I can achieve something similar using the GPIO pins on the LattePanda. I notice that there are what appears to be SPI pins (MISO, MOSI, CLK, CS) on the GPIO both for the Arduino and the CPU. How would I communicate with a device through the CPU pins? Has anyone had success using SocketCAN with the LattePanda Delta?

Thanks!

User avatar
ccs_hello
Posts: 664
Joined: Sat Oct 13, 2018 9:16 pm

Tue Nov 17, 2020 10:43 pm

Here I am guessing you are looking into X86 side of SPI interface, not Arduino side (since you are not satisfied on Rasp Pi's, I doubt you'll be satisfied with Ardu's.)

Please note x86 SPI, in general, is very hard to tackle for two reasons:
1. the exposed SPI bus is system-critical (system mgmt bus, BIOS, etc.) You don't want to ruin your $$$$ board for sake of saving few bucks on a cheap CAN bus interface module.
2. X86 SPI is very hard to tackle in many, many cases. You'll first have to deal with EFI or ACPI to get access to SPI, then few more mountains to climb (such as time-sensitive tasks.)

It is the same reason there are other CANbus interface modules in existance, using USB , BT, or other interface methods as seen in SocketCAN wiki. In another word, use the method that have been well traveled, not risking a $400 board for an experiment.

User avatar
Honorwalk
Posts: 2
Joined: Thu Aug 06, 2020 10:45 pm

Wed Nov 18, 2020 1:07 am

ccs_hello, thanks for your reply.
Yeah, the Arduino doesn't have the juice we need. In fact, our CAN network has a few dozen Arduinos, each sporting a small MCP2515 breakout board.
I am painfully aware of the challenges! We have been attempting to use Seeed's Odyssey to accomplish this task. Would not recommend their customer service, by the way! Great to hear it's not just me over here missing the obvious. In terms of other methods, do you have any suggestions for more commonplace options? We have purchased a UART (tx and rx) to CAN chip from SEEED, as well as their CAN analyzer, which uses a micro USB cable. I have done a ton of sniffing around, but am really at a loss as to what else is out there.

I have seen some PCI CAN controllers out there for a relatively pretty penny. Would that be a more solid direction to head in?


Post Reply