IP Library Granted Patent US 10,541,833
Granted Patent B2
US 10,541,833 · App. 15/108,919 · Granted Jan 21, 2020

System and method for automatically selecting baud rate in a CAN network

Inventor: Bibin Andrews (Kerala, IN)
Assignee: SCHNEIDER ELECTRIC IT CORPORATION
H04L12/4013H04L5/0055H04L69/28H04L2012/40215
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,541,833
App. No.
15/108,919
Granted
Jan 21, 2020
Kind
B2
Abstract

According to various aspects and embodiments, a device is provided. The device includes a memory, a Controller Area Network (CAN) controller coupled to a CAN bus, at least one processor coupled to the memory and the CAN controller. The at least one processor is configured to set the CAN controller to a first baud rate, determine a second baud rate, and send, in response to determining the second baud rate, a baud rate change request via the CAN bus, wherein the baud rate change request includes a least an identifier of the second baud rate.

Claims (78)

1. A device comprising:

a memory;

a Controller Area Network (CAN) controller coupled to a CAN bus;

at least one processor coupled to the memory and the CAN controller, the at least one processor being configured to:

set the CAN controller to a first baud rate;

determine a second baud rate;

send, in response to determining and prior to setting the CAN controller to the second baud rate, a baud rate change request via the CAN bus, wherein the baud rate change request includes at least an identifier of the second baud rate;

determine a timeout has elapsed;

send, in response to determining the timeout has elapsed, a baud rate confirmation request via the CAN bus; and

set the CAN controller to the second baud rate.

2. The device of claim 1 , wherein the at least one processor is further configured to:

receive a data frame from at least one device coupled to the CAN bus;

determine, in response to receiving the data frame, that the CAN bus does not support the second baud rate based on an error count of the CAN controller;

determine a lower baud rate, wherein the lower baud rate is less than the second baud rate; and

send a baud rate change request via the CAN bus, wherein the baud rate change request includes at least an identifier of the lower baud rate.

3. The device of claim 1 , wherein the at least one processor is further configured to:

receive a data frame from at least one device coupled to the CAN bus;

determine, in response to receiving the data frame, that the CAN bus supports the second baud rate based on an error count of the CAN controller;

determine a higher baud rate, wherein the higher baud rate is greater than the second baud rate; and

send a baud rate change request via the CAN bus, wherein the baud rate change request includes at least an identifier of the higher baud rate.

4. The device of claim 1 , wherein the at least one processor is further configured to:

receive a data frame from at least one device coupled to the CAN bus;

determine, in response to receiving the data frame, that a CAN device coupled to the CAN bus does not support the second baud rate; and

operate the CAN controller at the first baud rate.

5. The device of claim 1 , wherein the at least one processor is further configured to:

determine that an idle timeout has occurred; and

switch, based on the idle timeout, to a client mode.

6. The device of claim 5 , wherein the at least one processor is further configured to send at least one test data frame via the CAN bus, wherein the at least one test data frame includes a pattern of bytes causing the CAN bus to be signaled at a high frequency.

7. The device of claim 5 , wherein the at least one processor is further configured to:

receive a baud rate change request from a device coupled to the CAN bus, wherein the baud rate change request includes at least one identifier of a new baud rate;

determine if the new baud rate is supported by the CAN controller; and

send a negative acknowledgement via the CAN bus if the new baud rate is not supported by the CAN controller.

8. A computer-implemented method of selecting baud rates using a computer, the computer including a memory, a Controller Area Network (CAN) controller coupled to a CAN bus, and at least one processor coupled to the CAN controller and the memory, the method comprising:

setting the CAN controller to a first baud rate;

determining a second baud rate;

sending, in response to determining and prior to setting the CAN controller to the second baud rate, a baud rate change request via the CAN bus, wherein the baud rate change request includes at least an identifier of the second baud rate;

determining a timeout has elapsed;

sending, in response to determining the timeout has elapsed, a baud rate confirmation request via the CAN bus; and

setting the CAN controller to the second baud rate.

9. The method of claim 8 , further comprising:

receiving a data frame from at least one device coupled to the CAN bus;

determining, in response to receiving the data frame, that the CAN bus does not support the second baud rate based on an error count of the CAN controller;

determining a lower baud rate, the lower baud rate being less than the second baud rate; and

sending a baud rate change request via the CAN bus, wherein the baud rate change request includes at least an identifier of the lower baud rate.

10. The method of claim 8 , further comprising:

receiving a data frame from at least one device coupled to the CAN bus;

determining, in response to receiving the data frame, that the CAN bus supports the second baud rate based on an error count of the CAN controller;

determining a higher baud rate, the higher baud rate being greater than the second baud rate; and

sending a baud rate change request via the CAN bus, wherein the baud rate change request includes at least an identifier of the higher baud rate.

11. The method of claim 8 , further comprising:

receiving a data frame from at least one device coupled to the CAN bus;

determining, in response to receiving the data frame, that a CAN device coupled to the CAN bus does not support the second baud rate; and

operating the CAN controller at the first baud rate.

12. The method of claim 8 , further comprising:

determining an idle timeout has occurred; and

switching, based on the idle timeout, to a client mode.

13. The method of claim 12 , further comprising sending at least one test data frame via the CAN bus, wherein the at least one test data frame includes a pattern of bytes causing the CAN bus to be signaled at a high frequency.

14. The method of claim 12 , further comprising:

receiving a baud rate change request via the CAN bus, wherein the baud rate change request includes at least one identifier of a new baud rate;

determining if the new baud rate is supported by the CAN controller; and

sending a negative acknowledgement via the CAN bus if the new baud rate is not supported by the CAN controller.

15. A non-transitory computer readable medium having stored thereon sequences of instructions for selecting baud rates for a device coupled to a Controller Area Network (CAN) bus, the instructions causing at least one processor to:

set a CAN controller to a first baud rate;

determine a second baud rate;

send, in response to determining and prior to setting the CAN controller to the second baud rate, a baud rate change request via the CAN bus, wherein the baud rate change request includes at least an identifier of the second baud rate;

determine a timeout has elapsed;

send, in response to determining the timeout has elapsed, a baud rate confirmation request via the CAN bus; and

set the CAN controller to the second baud rate.

16. The non-transitory computer readable medium according to claim 15 , wherein the sequences of instructions include instructions that cause the at least one processor to:

receive a data frame from at least one device coupled to the CAN bus;

determine, in response to receiving the data frame, that the CAN bus does not support the second baud rate based on an error count of the CAN controller;

determine a lower baud rate, wherein the lower baud rate is less than the second baud rate; and

send a baud rate change request via the CAN bus, wherein the baud rate change request includes at least an identifier of the lower baud rate.

17. The non-transitory computer readable medium according to claim 15 , wherein the sequences of instructions include instructions that cause the at least one processor to:

receive a data frame from at least one device coupled to the CAN bus;

determine, in response to receiving the data frame, that the CAN bus supports the second baud rate based on an error count of the CAN controller;

determine a higher baud rate, wherein the higher baud rate is greater than the second baud rate; and

send a baud rate change request via the CAN bus, wherein the baud rate change request includes at least an identifier of the higher baud rate.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2016
From: ANDREWS, BIBIN
To: SCHNEIDER ELECTRIC IT CORPORATION
Reel/Frame 039043/0279 →
Continuity (1)
Related Publication 20160330044A1 · Nov 10, 2016
Cited By (2)
US 12,452,044 US 12,536,122