From: John Whitmore <arigead@gmail.com>
To: Ratheendran <ba.rsrajeshwaran@tataelxsi.co.in>
Cc: linux-can@vger.kernel.org
Subject: Re: detect auto baud rate on can bus in linux driver.
Date: Sun, 27 Apr 2014 10:44:22 +0100 [thread overview]
Message-ID: <20140427094418.GB28319@griso.site> (raw)
In-Reply-To: <53590FB6.6090707@tataelxsi.co.in>
On Thu, Apr 24, 2014 at 06:50:54PM +0530, Ratheendran wrote:
> Hi All,
>
> Need you help in understanding detecting auto baud rate of CAN bus.
> please share your valuable experience.
>
> I am using imx6 processor which has flexcan hardware driver
> implemented as socketcan stack.
>
I've used auto baud rate detection with the Microchip MCP2515 CAN Controller
connected to a PIC controller, but not with Linux, as yet. I'm working on my
own CAN Bus network so have control of all the nodes. There is a "Ping"
Protocol built into the nodes so that if there is no network traffic in a
certain period of time a random node will fire a "Ping" frame onto the CAN
Bus. That way I'm guaranteed that there will be network traffic to listen to.
In addition to network traffic my network uses a fixed number of baud rates:
10K, 20K, 50K, 125K, 250K, 500, 800K, and 1M
Now given all that on the network I simply set the MCP2515 into listen only
mode at a baud rate of 10K. If the Ping message is set for 10 seconds and I
listen for 30 Seconds I should at least get 3 CAN Frames. If I've got the
wrong baud rate I'll get MERRE errors in listen mode. My driver simply, when
in listen mode, counts received good frames and errors. If after 30 seconds
I've got good frames and no errors then I've found the baud rate being used by
the network and I can drop out of listen mode. If there are any errors then
simply move up to the next baud rate and start listening again.
This all works for me as I'm assured of traffic and have a limited number of
baud rates to search through.
I keep meaning to look at this on Linux but I've been distracted with other
work. I'll get back to it. Not sure how it would fit into the Linux can
architecture. The Driver code would have to count errors and userspace would
have to look at the results and change baud rate, or connect.
Hope that's of some help.
> With Regards,
> Ratheendran
> --
> To unsubscribe from this list: send the line "unsubscribe linux-can" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2014-04-27 9:44 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-24 13:20 detect auto baud rate on can bus in linux driver Ratheendran
2014-04-27 9:44 ` John Whitmore [this message]
2014-04-27 18:01 ` Kurt Van Dijck
2014-04-29 8:33 ` Ratheendran S. Rajeshwaran
2014-04-29 8:35 ` Ratheendran S. Rajeshwaran
2014-04-29 19:58 ` Robert Schwebel
[not found] ` <5360E8A6.8040204@tataelxsi.co.in>
2014-04-30 14:41 ` Kurt Van Dijck
2014-04-30 16:35 ` Oliver Hartkopp
2014-05-01 18:49 ` Kurt Van Dijck
[not found] ` <5363243E.7070406@tataelxsi.co.in>
2014-05-02 11:00 ` Kurt Van Dijck
2014-04-29 12:47 ` Heinz-Jürgen Oertel
[not found] ` <535FA7BB.3070700@tataelxsi.co.in>
2014-04-29 14:12 ` Heinz-Jürgen Oertel
[not found] ` <535F5449.7000108@tataelxsi.co.in>
2014-04-29 13:33 ` Kurt Van Dijck
2014-04-29 14:12 ` Wolfgang Grandegger
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=20140427094418.GB28319@griso.site \
--to=arigead@gmail.com \
--cc=ba.rsrajeshwaran@tataelxsi.co.in \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox