Autobaud rate detection and adjustment
First Claim
1. A data communication device for automatically detecting and adjusting to an incoming baudrate from a data terminal, said device comprising:
- a baudrate generator for controlling a rate at which data is transferred to and from the device;
a controller, said controller setting said baudrate generator at a highest available baudrate;
said controller suspending said baudrate generator upon detection of a start bit received at said highest available baudrate;
said controller polling for a duration of said start bit at a polling interval based on a controller generated time reference, said controller generated time reference being an execution time of a set of selected background processing instructions;
said controller thereby determining a width of said start bit to determine an actual rate of said incoming baudrate; and
said controller setting said baudrate generator to said actual baudrate and restarting said baudrate generator to receive a remaining data at said actual baudrate.
5 Assignments
0 Petitions
Accused Products
Abstract
A data communication device includes a controller and a baud rate generator, which is initially set to receive a data stream at the highest baudrate. In response to a start bit in the data stream, the controller suspends the operation of the baud rate generator and determines the proper baudrate by polling for the presence or absence of the start bit. During the suspended period, the baud rate generator is set to the actual incoming baudrate. The baud rate generator is then turned on, and the rest of the characters are then received at the actual baudrate. The device utilizes the execution times of background processing instructions to serve as the polling times. As such, loss of data bits are prevented since all baudrate determinations are completed during the receipt of the start bit.
-
Citations
29 Claims
-
1. A data communication device for automatically detecting and adjusting to an incoming baudrate from a data terminal, said device comprising:
-
a baudrate generator for controlling a rate at which data is transferred to and from the device;
a controller, said controller setting said baudrate generator at a highest available baudrate;
said controller suspending said baudrate generator upon detection of a start bit received at said highest available baudrate;
said controller polling for a duration of said start bit at a polling interval based on a controller generated time reference, said controller generated time reference being an execution time of a set of selected background processing instructions;
said controller thereby determining a width of said start bit to determine an actual rate of said incoming baudrate; and
said controller setting said baudrate generator to said actual baudrate and restarting said baudrate generator to receive a remaining data at said actual baudrate. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
a lookup table; and
a timer for measuring an elapsed time when said interrupt is triggered on said trailing edge, said elapsed being compared against said lookup table to determine said actual baudrate.
-
-
10. The device according to claim 9, wherein said first interrupt and second interrupt are a highest priority interrupt and are non-preemptable.
-
11. The device according to claim 1, wherein said device has a connecting state and an autobauding state, said device exiting said autobauding state and setting said baudrate generator to a previous baudrate when said device has to transmit an unsolicited report to said data terminal.
-
12. A data communication device for automatically detecting and adjusting to an incoming baudrate from a data terminal, said device comprising:
-
a baudrate generator for controlling a rate at which data is transferred to and from the device;
a processor for setting said baudrate generator at a highest available baudrate;
said processor suspending said baudrate generator upon detection of a start bit received at said highest available baudrate;
said processor polling for a duration of said start bit at a polling interval based on a processor generated time reference, said controller generated time reference being an execution time of a set of selected background processing instructions;
said processor thereby determining an actual baudrate of said incoming baudrate; and
said processor setting said baudrate generator to said actual baudrate and restarting said baudrate generator to receive a remaining data at said actual baudrate. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method for automatically detecting and adjusting to an incoming baudrate from a data terminal, said method comprising the steps of:
-
setting a baudrate generator at a highest available rate for transferring of data with said data terminal;
suspending said baudrate generator upon detection of a start bit received at said highest available baudrate;
measuring a width of said start bit, said step of measuring further including the step of polling for a duration of said start bit at a polling interval based on a generated time reference, said generated time reference being an execution time of a set of selected background processing instructions;
determining an actual baudrate of said incoming baudrate, based on said measured width of said start bit;
setting said baudrate generator to said actual baudrate; and
,restarting said baudrate generator to receive remaining data at said actual baudrate. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28)
starting a timer to measure said actual baudrate for said incoming baudrate falling below a predetermined threshold rate;
obtaining an elapsed timer value when an interrupt is triggered by said start bit; and
looking up a value in a lookup table to determine said actual baudrate.
-
-
25. The method according to claim 21, wherein said step of setting includes the step of arming a first interrupt to trigger on a leading edge of said start bit.
-
26. The method according to claim 25, wherein said step of suspending includes the step of triggering a first interrupt upon receipt of a leading edge of said start bit and stopping said baudrate generator.
-
27. The method according to claim 26, further including the steps of arming a second interrupt for triggering on a trailing edge of said start bit for said incoming baudrate falling below a predetermined threshold rate.
-
28. The method according to claim 27, wherein said first interrupt and second interrupt are a highest priority interrupt and are non-preemptable.
-
29. A data communication device for automatically detecting and adjusting to an incoming baudrate from a data terminal, said device comprising:
-
a baudrate generator for controlling a rate at which data is transferred to and from said device;
a controller, said controller setting said baudrate generator at a highest available baudrate;
said controller suspending said baudrate generator upon detection of a start bit received at said highest available baudrate;
said controller measuring a width of said start bit to determine an actual rate of said incoming baudrate by polling for a duration of said start bit;
said controller determining a polling interval from execution times of a series of selected instructions to determine said incoming baudrate for said incoming baudrates greater than or equal to a predetermined threshold rate;
wherein each of said series of selected instructions is marked by an execution time corresponding to ones of a plurality of baudrates greater than or equal to said predetermined threshold rate;
said controller performing selected instructions to start a timer for counting baudrates less than said predetermined threshold rate;
said controller determining said incoming baudrate from said timer for said incoming baudrates less than said predetermined threshold rate; and
said controller setting said baudrate generator to said actual baudrate and restarting said baudrate generator to receive a remaining data at said actual baudrate.
-
Specification