From: Andri Yngvason <andri.yngvason@marel.com>
To: "François Beaulier" <fbeaulier@orange.fr>,
"Marc Kleine-Budde" <mkl@pengutronix.de>,
"Yegor Yefremov" <yegorslists@googlemail.com>
Cc: "linux-can@vger.kernel.org" <linux-can@vger.kernel.org>
Subject: Re: Linux board with 10 CANs
Date: Fri, 15 May 2015 10:24:50 +0000 [thread overview]
Message-ID: <20150515102450.24212.89893@shannon> (raw)
In-Reply-To: <5555BD6A.60204@orange.fr>
Quoting François Beaulier (2015-05-15 09:33:30)
> Le 15/05/2015 11:11, Marc Kleine-Budde a écrit :
> > On 05/15/2015 10:20 AM, Yegor Yefremov wrote:
> >> On Fri, May 15, 2015 at 9:56 AM, François Beaulier <fbeaulier@orange.fr> wrote:
> >>> 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.
> >> Is it possible to attach 8 SJA1000s over local bus? The driver is
> >> already in mainline kernel.
> > Don't use the mcp251x.
> >
> > If you have PCIe, there are some dual CAN modules (available in miniPIC,
> > too). But PCIe ist probably quite cost intensive. USB would be an
> > option, but I'm not sure if there are modules that can be
> > connected/soldered to a PCB. As Yegor said, SJA1000s + a CPLD are an
> > option, too, but IIRC the SJA1000 has a 5V IO interface.
> >
> > Marc
> >
> Module based solutions are too expensive, whether it is PCIe or USB.
> There are some bridge chips PCIe <-> memory, but i'm not familiar with that.
> And you are right the SJA1000 is an old 5V beast !
>
> Francois
Have you considered FPGA?
Andri
next prev parent reply other threads:[~2015-05-15 10:40 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-15 7:56 Linux board with 10 CANs François Beaulier
2015-05-15 8:20 ` 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 [this message]
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=20150515102450.24212.89893@shannon \
--to=andri.yngvason@marel.com \
--cc=fbeaulier@orange.fr \
--cc=linux-can@vger.kernel.org \
--cc=mkl@pengutronix.de \
--cc=yegorslists@googlemail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox