UART based autobauding without data loss
First Claim
1. For use in a cellular telephone having a serial port and a universal asynchronous receive and transmit (UART) device, a method comprising the steps of:
- controlling the UART to sample data received from the serial port;
receiving signals from the UART representative of the samples;
determining, from an examination of the samples, the baud rate of the bytes within the data received through the serial port; and
controlling the UART to terminate sampling of the data and to instead process the data as bytes of data in accordance with the determined baud rate, including the steps of;
a) determining whether a receive first in first out (FIFO) queue of the UART is sufficiently empty;
b) determining whether the latest sample received from the FIFO queue of the UART represents a portion of a stop bit of a corresponding byte; and
c) switching the UART from a sample processing mode to a byte processing mode only if the receive FIFO is sufficiently empty and only if the latest sample received corresponds to a portion of a stop bit.
1 Assignment
0 Petitions
Accused Products
Abstract
The cellular telephone includes a universal asynchronous receive and transmit (UART) chip for receiving data in a serial format from an external source, such as a laptop computer, and for converting the serial data to parallel bytes of data for transmission to a microcontroller of the cellular telephone. The UART operates in one of two modes: a sample mode and a byte mode. In the sample mode, voltage levels of serial data signals received by the UART are detected and sample bytes are generated representative of those voltage levels. The sample bytes are stored within a receive First In First Out (FIFO) queue of the UART for eventual transference to the microcontroller. The microcontroller converts the sample bytes to signals appropriate for transmission using a cellular transmission format such as code division multiple access (CDMA). In the byte mode, the UART receives data bytes as bytes and stores those bytes directly within the receive FIFO without any sampling. The data bytes stored within the receive FIFO are transferred to the microcontroller which converts the bytes to appropriate signals for transmission from the cellular telephone. By processing input data as bytes rather than as samples, the microcontroller consumes far fewer resources processing the data thereby achieving, among other advantages, overall power reduction. In use, the UART is controlled to initially receive data as samples. The microcontroller examines the samples to determine the baud rate of received data then controls the UART to switch to the byte processing mode using the detected baud rate. Techniques for determining the baud rate and for switching the UART to byte mode without loss of data are also described herein.
77 Citations
14 Claims
-
1. For use in a cellular telephone having a serial port and a universal asynchronous receive and transmit (UART) device, a method comprising the steps of:
-
controlling the UART to sample data received from the serial port; receiving signals from the UART representative of the samples; determining, from an examination of the samples, the baud rate of the bytes within the data received through the serial port; and controlling the UART to terminate sampling of the data and to instead process the data as bytes of data in accordance with the determined baud rate, including the steps of; a) determining whether a receive first in first out (FIFO) queue of the UART is sufficiently empty; b) determining whether the latest sample received from the FIFO queue of the UART represents a portion of a stop bit of a corresponding byte; and c) switching the UART from a sample processing mode to a byte processing mode only if the receive FIFO is sufficiently empty and only if the latest sample received corresponds to a portion of a stop bit. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus for use within a cellular telephone, said apparatus comprising:
-
a serial port; a universal asynchronous receive and transmit (UART) device connected to the serial port; a microcontroller device comprising; a) means for controlling the UART to sample data received from the serial port; b) means for receiving signals from the UART representative of the samples; c) means for determining, from an examination of the signals, the baud rate of bytes within the data received through the serial port; and d) means for controlling the UART to terminate sampling of the data and to instead process the data as bytes of data in accordance with the determined baud rate comprising; i) means for determining whether a receive first in first out (FIFO) queue of the UART is empty; ii) means for determining whether the latest sample received from the FIFO queue of the UART represents a portion of a stop bit of a corresponding byte; and iii) means for switching the UART from a sample processing mode to a byte processing mode only if the receive FIFO is sufficiently empty and only if the latest sample received corresponds to a portion of a stop bit; and a parallel transmission path interconnecting the UART and the microcontroller. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification