All of lore.kernel.org
 help / color / mirror / Atom feed
From: "François Beaulier" <fbeaulier@orange.fr>
To: linux-can@vger.kernel.org
Subject: Linux board with 10 CANs
Date: Fri, 15 May 2015 09:56:19 +0200	[thread overview]
Message-ID: <5555A6A3.7090206@orange.fr> (raw)

Hi,

I'm starting the design of a CPU board, based on a computer on module 
with a very common SOC like i.mx6 or am335x.
I need to fit my board with at least 10 CAN ports, may be more. (The SOC 
have 2 CANs so i need 8 more)
The board will run with Linux and of course i want a socketcan interface 
for each bus !
CAN bitrate needed is quite low (50kbps) and latency is not critical but 
bus load may reach 100% sometimes.
As far as possible i want to avoid driver development, or just doing 
slight modifications on an existing driver.
I don't want to use MCP2515, i had trouble with it on a previous design 
because of the lack of buffer in the chip.
I can't imagine putting 8 MCP2515 and not missing any frame, but may be 
i'm wrong ?

Here are the options i have considered, they involve using external MCUs 
to provide enough CAN interfaces :

- MCUs with SLCAN : SLCAN have the advantage of simplicity and it should 
offer enough performance at low data rate. Problem is that it would 
require 8 UARTS. I could modify SLCAN driver to allow multiple CAN 
channels on the same UART, and so use MCUs with multiple CANs, does it 
sounds reasonable ?

- MCUs with SPI 1 : adapt MCP2515 driver in a way to make the SPI 
protocol manageable on the MCU side (SPI slave). The MCU will be able to 
provide the buffer for CAN frames that the MCP does not have. This 
option is just a way of trying to go fast, it is not very elegant, and 
have the limitation of one CAN channel per SPI connection / driver instance.

- MCUs with SPI 2 : use the Stefano Babic SPI driver posted on this 
list. This is probably the best choice for a long term and more generic 
solution. But i'm afraid it may require too much work to complete. What 
is the status of this driver right now ? Does anyone have an idea of the 
remaining work to do to make it ready for mainline ? Stefano are you 
available to spend more time on it ? I'm also wondering whether multiple 
instances of the driver can run concurently if i put more than one MCU ?

Concerning the MCU software i could release it as an open-source 
project, anyone interested in participating ?
I'm very familiar with STM32 MCUs so i will probably use an STM32F072 
(low cost cortex M0 with one CAN).

Any idea or advice is welcome, thank you for reading this much too long 
post.

Regards

Francois Beaulier
www.ingelibre.fr

             reply	other threads:[~2015-05-15  8:03 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-15  7:56 François Beaulier [this message]
2015-05-15  8:20 ` Linux board with 10 CANs Yegor Yefremov
2015-05-15  8:50   ` François Beaulier
2015-05-15  9:11   ` Marc Kleine-Budde
2015-05-15  9:33     ` François Beaulier
2015-05-15 10:24       ` Andri Yngvason
2015-05-15 12:40         ` François Beaulier
2015-05-15 12:47           ` Marc Kleine-Budde
2015-05-15 13:04             ` AW: [BULK]Re: " Uwe Wilhelm (PEAK-System)
2015-05-15 13:17               ` Marc Kleine-Budde
2015-05-15 13:20                 ` AW: " Uwe Wilhelm (PEAK-System)
2015-05-15 14:18               ` François Beaulier
2015-05-15 12:38       ` Gerhard Uttenthaler
2015-05-15 12:48         ` Marc Kleine-Budde
2015-05-15 13:54 ` Bernd Krumboeck
2015-05-18  9:07   ` François Beaulier
2015-05-18 13:31     ` Bernd Krumboeck
2015-05-20 11:35       ` Gediminas Simanskis
2015-05-21  3:19         ` Bernd Krumboeck
2015-05-15 15:24 ` Tom Evans
2015-05-18  9:25   ` François Beaulier
2015-05-18  9:40     ` Gerhard Bertelsmann
2015-05-18 11:13       ` François Beaulier
2015-05-18 12:56       ` Tom Evans

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5555A6A3.7090206@orange.fr \
    --to=fbeaulier@orange.fr \
    --cc=linux-can@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.