Microcontroller with can bus module and auto speed detect
AssigneeMicrochip Technology Incorporated
InventorJoel Mach
Life of this patent
Estimating the term…
Abstract
In a method for initializing a Controller Area Network (CAN) module in a microcontroller, the following steps may be provided: measuring the period times between a plurality of falling or rising edges of a CAN signal; sorting the period times; determining difference values between adjacent period times of the sorted period times; sorting the difference values; selecting a first difference value from the sorted difference values and determining a first frequency from the first difference value; initializing the CAN module using the selected frequency; receiving a CAN signal frame; determining whether an error occurred; if an error occurred selecting a next frequency and repeating initializing the CAN module until a valid CAN frequency has been found.
Claims20
A method for initializing a Controller Area Network (CAN) module in a microcontroller, the method comprising:
- measuring the period times between a plurality of falling or rising edges of a CAN signal;
- sorting said period times;
- determining difference values between adjacent period times of said sorted period times;
- sorting said difference values;
- selecting a first difference value from said sorted difference values and determining a first frequency from said first difference value;
- initializing said CAN module using said selected frequency;
- receiving a CAN signal frame;
- determining whether an error occurred;
- if an error occurred selecting a next frequency and repeating initializing the CAN module until a valid CAN frequency has been found.
A microcontroller comprising:
- a central processing unit (CPU)
- a Controller Area Network (CAN) module,
- a timer;
- a capture module coupled with said timer;
- wherein the microcontroller is configured to automatically detect a CAN frequency by:
- measuring the period times between a plurality of falling or rising edges of a CAN signal;
- sorting said period times;
- determining differences between adjacent period times of said sorted period times;
- selecting a first difference and determining a first frequency from said first difference;
- initializing said CAN module using said selected frequency;
- receiving a CAN signal frame;
- determining whether an error occurred;
- if an error occurred selecting a next frequency and repeating initializing the CAN module until a valid CAN frequency has been found.
Dependencies are inferred from the claim text.