WO2025019676A1 - System and methods for auto-baud detection - Google Patents

System and methods for auto-baud detection Download PDF

Info

Publication number
WO2025019676A1
WO2025019676A1 PCT/US2024/038552 US2024038552W WO2025019676A1 WO 2025019676 A1 WO2025019676 A1 WO 2025019676A1 US 2024038552 W US2024038552 W US 2024038552W WO 2025019676 A1 WO2025019676 A1 WO 2025019676A1
Authority
WO
WIPO (PCT)
Prior art keywords
primary device
transmitter circuit
secondary device
circuit
auto
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/US2024/038552
Other languages
French (fr)
Inventor
Avinash HALAGERI
Preetham Rajashekaraiah PREMALEELA
Swathi G. BHAT
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microchip Technology Inc
Original Assignee
Microchip Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US18/625,332 external-priority patent/US12386757B2/en
Application filed by Microchip Technology Inc filed Critical Microchip Technology Inc
Priority to CN202480028468.3A priority Critical patent/CN121039650A/en
Publication of WO2025019676A1 publication Critical patent/WO2025019676A1/en
Anticipated expiration legal-status Critical
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4278Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using an embedded synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0262Arrangements for detecting the data rate of an incoming signal

Definitions

  • the present disclosure relates to systems and methods for communication between a primary device and a secondary device, specifically to systems and methods for auto-baud detection between a primary device and a secondary device.
  • a primary device may communicate with a secondary device over a serial communication protocol.
  • the serial communication protocol may be implemented by a universal asynchronous receiver-transmitter (UART) circuit or by another type of communication circuit.
  • UART universal asynchronous receiver-transmitter
  • a primary device may include a communication circuit with a respective transmitter circuit and a receiver circuit
  • a secondary device may include a communication circuit with a respective transmitter circuit and a receiver circuit.
  • the transmitter circuit in the primary device may communicate with the receiver circuit in the secondary device
  • the transmitter circuit in the secondary device may communicate with the receiver circuit in the primary device.
  • a primary device may comprise a microcontroller.
  • Microcontrollers are systems on a chip that generally comprise a processor, a memory, a plurality of input/output ports, and a variety of peripheral devices.
  • a variety of peripheral devices can be provided such as configurable logic cells, complementary waveform/output generators, dedicated arithmetic units, numerical controlled oscillators and programmable switch mode controllers.
  • Microcontrollers may include host controllers to communicate with peripheral devices over a communication protocol, the communication protocol including but not limited to a UART protocol.
  • the primary device may comprise a digital processor with memory and a plurality of programmable input and output ports.
  • the secondary device may comprise a peripheral device as described previously, including but not limited to a sensor, amplifier, oscillator, battery gauge, data converter and a logic device.
  • the secondary device may communicate with a primary device using a communication protocol, the communication protocol including but not limited to a UART protocol.
  • the secondary device may comprise a MOSFET driver circuit.
  • the primary device may communicate configuration information to the secondary device, including but not limited to the baud rate of communication between the primary device and the secondary device.
  • the secondary device may be sensitive to temperature and may operate at a different baud rate than the rate configured by the primary device.
  • Various methods may be used to adjust the baud rate to compensate for variations in baud rate, these methods also called autobaud detection.
  • a pin generally designated for use by the UART may be reconfigured as an input/output (VO) pin and used as a communication channel during auto-baud detection, but this auto-baud detection method may not be used in cases with a dedicated UART pin which may not be reconfigured as an I/O pin.
  • VO input/output
  • pin is not meant to be limited to any particular type of physical structure, and may include, without limitation, gull-wing or J-lead terminals, solder balls or lands.
  • the baud rate of communication between the UART circuits may be slowed to accommodate the required delays in the auto-baud protocol.
  • a byte of data may be transmitted to enable the auto-baud detection. The change in baud rate and the transmission of a byte of data all slow down the auto-baud detection and prevent other peripherals in the microcontroller from using the UART circuit.
  • the examples herein enable a system and method for auto-baud detection between a primary device and a secondary device.
  • a system includes a primary device.
  • the primary device may comprise a primary device transmitter circuit and a primary device receiver circuit.
  • the device may include a secondary device comprising a secondary device transmitter circuit and a secondary device receiver circuit.
  • the primary device may enable the primary device transmitter circuit and the secondary device may enable the receiver circuit in the secondary device.
  • the transmitter circuit in the primary device may transmit a predetermined voltage for at least a predetermined time during an inverted polarity mode.
  • the receiver circuit in the secondary device may detect the predetermined voltage for the predetermined time and may enter an auto-baud detection mode.
  • the primary device may disable the transmitter circuit in the primary device and enable the receiver circuit in the primary device.
  • the transmitter circuit in the secondary device may transmit a predetermined sequence and the receiver circuit in the primary device may receive the predetermined sequence and may calculate a baud rate based on the received predetermined sequence.
  • a method includes steps of: enabling a transmitter circuit in a primary device, configuring the transmitter circuit in the primary device to an inverted polarity mode to drive a communication path to a predetermined voltage for a predetermined time, detecting, at a receiver circuit in a secondary device, the predetermined voltage for the predetermined time and entering an auto-baud detection mode, configuring, after the predetermined time, the transmitter circuit in the primary device in a non-inverted polarity mode, disabling the transmitter circuit in the primary device, enabling, responsive to entering the auto-baud detection mode, a transmitter circuit in the secondary device and transmitting a predetermined sequence on the communication path, receiving the predetermined sequence at the primary device and calculating a baud rate of the transmission of the predetermined sequence, and disabling the auto-baud detection mode in the primary device.
  • FIGURE 1 illustrates one of various examples of a system for auto-baud detection between a primary device and a secondary device.
  • FIGURE 2 illustrates a timing diagram of one of various examples of auto-baud detection.
  • FIGURE 3 illustrates a method of auto-baud detection.
  • FIGURE 1 illustrates one of various examples of a system 100 for auto-baud detection.
  • System 100 may be a semiconductor system-on-a-chip (SoC), a microcontroller, or may be a combination of discrete components.
  • System 100 may comprise a primary device 110 and a secondary device 150, which primary device 110 and secondary device 150 may be in communication by a communication path 130.
  • Primary device 110 may include primary device communication circuit 120.
  • Primary device communication circuit 120 may include primary device primary device transmitter circuit 121 and primary device receiver circuit 122.
  • Primary device 110 may include other circuits and passive components not specifically mentioned.
  • Primary device 110 may include a clock signal for transmitting and receiving data.
  • primary device 110 may include a clock circuit generating the clock signal.
  • Secondary device 150 may include secondary device communication circuit 160.
  • Secondary device communication circuit 160 may include secondary device receiver circuit 161 and secondary device transmitter circuit 162.
  • Secondary device 150 may include other circuits and passive components not specifically mentioned.
  • Secondary device 150 may include a clock signal for transmitting and receiving data.
  • secondary device 150 may include a respective clock circuit generating the clock signal.
  • Secondary device 150 may be a peripheral device, including but not limited to a sensor, amplifier, oscillator, battery gauge, data converter, power driver, or a logic device. Secondary device 150 may be a MOSFET driver.
  • Communication path 130 may be a UART interface, and may comprise a transmit line and a receive line.
  • primary device 110 may communicate with secondary device 150.
  • Primary device transmitter circuit 121 may transmit signals over communication path 130 and signals may be received at secondary device receiver circuit 161.
  • Secondary device 150 may decode signals received at secondary device receiver circuit 161 and may modify operation of secondary device 150 based on the decoded signals.
  • Secondary device 150 may communicate with primary device 110.
  • Secondary device transmitter circuit 162 may transmit signals over communication path 130 and signals may be received at primary device receiver circuit 122.
  • Primary device 110 may decode signals received at primary device receiver circuit 122 and may modify operation of primary device 110 based on the decoded signals.
  • FIGURE 1 is a half-duplex implementation, with primary device transmitter circuit 121 and secondary device transmitter circuit 162, respectively, and secondary device receiver circuit 161 and primary device receiver circuit 122, respectively, sharing communication path 130.
  • Other examples may include a dedicated connection between primary device transmitter circuit 121 and secondary device receiver circuit 161, and another dedicated connection between secondary device transmitter circuit 162 and primary device receiver circuit 122.
  • Primary device transmitter circuit 121 may be a push-pull driver or may be an open drain driver with a pull-up resistor on communication path 130.
  • Secondary device transmitter circuit 162 may be a push-pull driver or may be an open drain driver with a pull-up resistor on communication path 130.
  • Primary device communication circuit 120 may be a UART circuit.
  • Communication circuit 160 may be a UART circuit.
  • system 100 may implement auto-baud detection.
  • Primary device transmitter circuit 121 may operate in a non-inverted mode, wherein communication path 130 may be held at a logic high level when primary device transmitter circuit 121 is enabled and in an idle state, i.e. not transmitting data.
  • Primary device transmitter circuit 121 may operate in an inverted mode, wherein communication path 130 may be held at a logic low level when primary device transmitter circuit 121 is enabled and in an idle state, i.e. not transmitting data.
  • Secondary device transmitter circuit 162 may operate in a non-inverted mode, wherein communication path 130 may be held at a logic high level when secondary device transmitter circuit 162 is enabled and in an idle state, i.e. not transmitting data.
  • Secondary device transmitter circuit 162 may operate in an inverted mode, wherein communication path 130 may be held at a logic low level when secondary device transmitter circuit 162 is enabled and in an idle state, i.e. not transmitting data.
  • the idle state of the noninverted polarity mode may be opposite in polarity to the idle state in the inverted polarity mode.
  • primary device transmitter circuit 121 may drive communication path 130 with a predetermined voltage for a predetermined time to secondary device receiver circuit 161 and may signal an auto-baud detection mode.
  • Primary device transmitter circuit 121 may drive the predetermined voltage by using the idle state of primary device transmitter circuit 121 in the inverted polarity mode.
  • Primary device transmitter circuit 121 may be a push-pull driver or an open drain pull-down driver.
  • the predetermined voltage may be a ground voltage.
  • Primary device transmitter circuit 121 may be enabled in a non-inverted polarity mode. In one of various examples, primary device transmitter circuit 121 may be enabled by a microcontroller in primary device 110 or may be enabled by communication with another controller.
  • primary device transmitter circuit 121 may hold communication path 130 at a logic high level when in an idle state.
  • Primary device transmitter circuit 121 may drive the communication path 130, or communication path 130 may be pulled to a logic high level by a pull-up resistor.
  • Primary device transmitter circuit 121 may be in an idle state when enabled but not transmitting data.
  • Primary device transmitter circuit 121 may then operate in an inverted polarity mode.
  • primary device transmitter circuit 121 may operate in an inverted polarity mode.
  • inverted polarity mode When inverted polarity mode is enabled, primary device transmitter circuit 121 may drive communication path 130 to a logic low level, as logic low is the idle state when the inverted polarity mode is enabled.
  • Communication path 130 may remain at a logic low state for a predetermined time.
  • Secondary device receiver circuit 161 may detect the low level on communication path 130 for the predetermined time, and may interpret this as a request by primary device 110 to enter auto-baud detection mode.
  • Secondary device 150 may enter the auto-baud detection mode based on detecting the low level on communication path 130 for the predetermined time. Auto-baud detection mode may be indicated based on setting a register value.
  • primary device transmitter circuit 121 may operate in the non-inverted polarity mode and subsequently primary device transmitter circuit 121 may be disabled.
  • Primary device receiver circuit 122 may be enabled and secondary device transmitter circuit 162 may be enabled.
  • Secondary device 150 may transmit a predetermined sequence over communication path 130 as specified by the auto- baud detection mode.
  • secondary device 150 may transmit a fixed binary code from secondary device transmitter circuit 162 to primary device receiver circuit 122.
  • the fixed binary code may represent a control word transmitted from the secondary device transmitter circuit 162 to the primary device receiver circuit 122.
  • Primary device 110 may receive the predetermined sequence at primary device receiver circuit 122 and may calculate a baud rate of the received predetermined sequence.
  • the predetermined sequence may comprise an acknowledge word.
  • the calculation of a baud rate may be based on a timer, a counter, a phase-locked loop, an external clock or another method.
  • auto-baud detection mode may be disabled.
  • FIGURE 2 illustrates a timing diagram 200 of one of various examples of auto-baud detection.
  • Clock signal 220 may be a clock signal used to transmit and receive data.
  • Clock signal 220 may be a common clock signal in primary device 110 and secondary device 150 as described and illustrated in reference to FIGURE 1.
  • Bus 230 may be a data bus.
  • Bus 230 may be one of various examples of communication path 130 as described and illustrated in reference to FIGURE 1.
  • Bus 230 may enable communication between primary device 110 and secondary device 150 in a system as described and illustrated in FIGURE 1.
  • transmitter circuit 121 in primary device 110 may be enabled to transmit over bus 230 in a transmit mode.
  • Transmitter circuit 121 in the primary device 110 may operate in non-inverted polarity mode.
  • the transmitter circuit in the primary device may hold bus 230 at a logic high level awaiting the first transmission.
  • the transmitter circuit in the primary device may operate in an open drain mode, and a pull-up resistor on bus 230 may hold bus 230 at a logic high level awaiting the first transmission.
  • Logic high may be the idle state of the transmitter in the non-inverted polarity mode.
  • the transmitter circuit may transmit in an inverted polarity mode.
  • the transmitter circuit may drive bus 230 to a logic low level, as shown at time 253.
  • Logic low may represent the idle state of the transmitter circuit when the inverted polarity mode is enabled.
  • the logic level of bus 230 may be used as a communication signal to initiate the auto-baud detection mode.
  • Time period 262 may represent a delay between the time of configuration of transmitter circuit 121 in the inverted polarity mode at time 252 and the transmitter driving bus 230 to a logic low level.
  • Bus 230 may remain at a logic low state for a predetermined time.
  • bus 230 may remain low for at least 1 ,8ms, but this is not intended to be limiting.
  • Receiver 161 in the secondary device 150 may detect the logic low level on bus 230 and the secondary device 150 may enter an auto-baud detection mode at least partially in response to detection of the logic low level on bus 230 for the predetermined time.
  • the transmitter circuit 121 may operate in noninverted polarity mode, and the transmitter circuit 121 in the primary device may therefore drive bus 230 to a logic high level, which logic high may represent the idle state of bus 230 when the transmitter is in the non-inverted polarity mode.
  • Time period 264 may represent a delay between the configuration in the non-inverted polarity mode at time 254 and the bus 230 being driven to the logic high state.
  • the transmitter circuit 121 in the primary device 110 may be disabled.
  • the primary device 110 may be in an auto-baud detection mode.
  • the auto-baud detection mode of the primary device 110 may be indicated by a configuration register in the primary device 110 or by another method.
  • the secondary device 150 may transmit a predetermined sequence over bus 230 as specified by the auto-baud detection mode.
  • the secondary device may transmit a fixed binary code.
  • the fixed binary code may be 0x55h, but this is not intended to be limiting.
  • the secondary device may transmit a different fixed binary code of any word width.
  • clock signal 220 may be used to sample bus 230 on both the rising edge and the falling edge, but this is not intended to be limiting.
  • the predetermined sequence may terminate at time 257.
  • Primary device 110 may receive the predetermined sequence and may calculate a baud rate of the received predetermined sequence. The calculation of the baud rate of the predetermined sequence may be based on a timer, a counter, a phase-locked loop or another method. After the predetermined sequence is received, primary device 110 may disable the auto-baud detection mode at time 258 and auto-baud detection mode may be disabled in secondary device 150.
  • FIGURE 2 illustrates one of various examples of communication between a primary device and a secondary device.
  • the secondary device may be a MOSFET driver circuit, but this is not intended to be limiting.
  • a primary device may communicate with another peripheral device.
  • FIGURE 3 illustrates a method 300 of auto-baud detection.
  • a transmitter circuit in a primary device may be enabled in a noninverted polarity mode and may drive a data bus to a logic high level during an idle state. Additionally, a transmitter circuit may be enabled.
  • the polarity of the transmitter may be configured to an inverted mode and the data bus may transition to a predetermined voltage. In one of various examples, the data bus may transition to a logic low level for at least a predetermined time. The predetermined voltage may be a ground voltage.
  • a receiver circuit in a secondary device may detect the logic low level on the data bus for the predetermined time.
  • the polarity of the transmitter may be configured to a non-inverted polarity mode and the data bus may transition to a logic high level.
  • the data bus may be driven by a push-pull driver in the transmitter in the primary device or may be pulled to a logic high level by a pullup resistor.
  • the transmitter in the primary device may be disabled and the receiver in the primary device may be enabled transmitter in the secondary device may be enabled.
  • an auto-baud detection mode may be enabled in the primary device and the transmitter in the secondary device may transmit a predetermined sequence over the data bus.
  • the predetermined sequence may comprise an acknowledge word.
  • a receiver circuit in the primary device may receive the predetermined sequence and may calculate a baud rate of the predetermined sequence.
  • the auto-baud detection mode may be disabled in the primary device and in the secondary device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dc Digital Transmission (AREA)

Abstract

A circuit may enable communication between a primary device and one or more secondary devices. The communication may utilize a Universal Asynchronous Receiver Transmitter (UART) protocol. In operation, the primary device may require information on the baud rate of the secondary device. The UART may operate in an inverted polarity mode, and this inverted polarity may be interpreted by the secondary device as a request to enter an auto-baud detection mode. Using the inverted polarity mode to enter the auto-baud detection mode may prevent excessive delays in the UART communication and may prevent the need for additional pins to implement the auto-baud detection mode.

Description

SYSTEM AND METHODS FOR AUTO-BAUD DETECTION
PRIORITY
This application claims priority to commonly owned Indian Provisional Patent Application 202311049011 filed July 20, 2023, the entire contents of which are hereby incorporated by reference for all purposes.
FIELD OF THE INVENTION
The present disclosure relates to systems and methods for communication between a primary device and a secondary device, specifically to systems and methods for auto-baud detection between a primary device and a secondary device.
BACKGROUND
A primary device may communicate with a secondary device over a serial communication protocol. The serial communication protocol may be implemented by a universal asynchronous receiver-transmitter (UART) circuit or by another type of communication circuit.
A primary device may include a communication circuit with a respective transmitter circuit and a receiver circuit, and a secondary device may include a communication circuit with a respective transmitter circuit and a receiver circuit. In operation, the transmitter circuit in the primary device may communicate with the receiver circuit in the secondary device, and the transmitter circuit in the secondary device may communicate with the receiver circuit in the primary device. In one of various examples, a primary device may comprise a microcontroller. Microcontrollers are systems on a chip that generally comprise a processor, a memory, a plurality of input/output ports, and a variety of peripheral devices. In particular, a variety of peripheral devices can be provided such as configurable logic cells, complementary waveform/output generators, dedicated arithmetic units, numerical controlled oscillators and programmable switch mode controllers. Microcontrollers may include host controllers to communicate with peripheral devices over a communication protocol, the communication protocol including but not limited to a UART protocol. The primary device may comprise a digital processor with memory and a plurality of programmable input and output ports.
The secondary device may comprise a peripheral device as described previously, including but not limited to a sensor, amplifier, oscillator, battery gauge, data converter and a logic device. The secondary device may communicate with a primary device using a communication protocol, the communication protocol including but not limited to a UART protocol.
The secondary device may comprise a MOSFET driver circuit. The primary device may communicate configuration information to the secondary device, including but not limited to the baud rate of communication between the primary device and the secondary device.
The secondary device may be sensitive to temperature and may operate at a different baud rate than the rate configured by the primary device. Various methods may be used to adjust the baud rate to compensate for variations in baud rate, these methods also called autobaud detection. In one of various examples of auto-baud detection, a pin generally designated for use by the UART may be reconfigured as an input/output (VO) pin and used as a communication channel during auto-baud detection, but this auto-baud detection method may not be used in cases with a dedicated UART pin which may not be reconfigured as an I/O pin. The term pin, as used herein, is not meant to be limited to any particular type of physical structure, and may include, without limitation, gull-wing or J-lead terminals, solder balls or lands. In another example of auto-baud detection, the baud rate of communication between the UART circuits may be slowed to accommodate the required delays in the auto-baud protocol. In addition, a byte of data may be transmitted to enable the auto-baud detection. The change in baud rate and the transmission of a byte of data all slow down the auto-baud detection and prevent other peripherals in the microcontroller from using the UART circuit.
There is a need for auto-baud detection which can be implemented by any device with a UART circuit without requiring additional pins, and which does not reduce the baud rate of communication between the UART devices during the auto-baud detection.
SUMMARY
The examples herein enable a system and method for auto-baud detection between a primary device and a secondary device.
According to one aspect, a system includes a primary device. The primary device may comprise a primary device transmitter circuit and a primary device receiver circuit. The device may include a secondary device comprising a secondary device transmitter circuit and a secondary device receiver circuit. The primary device may enable the primary device transmitter circuit and the secondary device may enable the receiver circuit in the secondary device. The transmitter circuit in the primary device may transmit a predetermined voltage for at least a predetermined time during an inverted polarity mode. The receiver circuit in the secondary device may detect the predetermined voltage for the predetermined time and may enter an auto-baud detection mode. The primary device may disable the transmitter circuit in the primary device and enable the receiver circuit in the primary device. The transmitter circuit in the secondary device may transmit a predetermined sequence and the receiver circuit in the primary device may receive the predetermined sequence and may calculate a baud rate based on the received predetermined sequence.
According to one aspect, a method includes steps of: enabling a transmitter circuit in a primary device, configuring the transmitter circuit in the primary device to an inverted polarity mode to drive a communication path to a predetermined voltage for a predetermined time, detecting, at a receiver circuit in a secondary device, the predetermined voltage for the predetermined time and entering an auto-baud detection mode, configuring, after the predetermined time, the transmitter circuit in the primary device in a non-inverted polarity mode, disabling the transmitter circuit in the primary device, enabling, responsive to entering the auto-baud detection mode, a transmitter circuit in the secondary device and transmitting a predetermined sequence on the communication path, receiving the predetermined sequence at the primary device and calculating a baud rate of the transmission of the predetermined sequence, and disabling the auto-baud detection mode in the primary device.
BRIEF DESCRIPTION OF THE DRAWINGS
FIGURE 1 illustrates one of various examples of a system for auto-baud detection between a primary device and a secondary device.
FIGURE 2 illustrates a timing diagram of one of various examples of auto-baud detection.
FIGURE 3 illustrates a method of auto-baud detection.
DETAILED DESCRIPTION
FIGURE 1 illustrates one of various examples of a system 100 for auto-baud detection. System 100 may be a semiconductor system-on-a-chip (SoC), a microcontroller, or may be a combination of discrete components. System 100 may comprise a primary device 110 and a secondary device 150, which primary device 110 and secondary device 150 may be in communication by a communication path 130.
Primary device 110 may include primary device communication circuit 120. Primary device communication circuit 120 may include primary device primary device transmitter circuit 121 and primary device receiver circuit 122. Primary device 110 may include other circuits and passive components not specifically mentioned. Primary device 110 may include a clock signal for transmitting and receiving data. In some examples, primary device 110 may include a clock circuit generating the clock signal.
Secondary device 150 may include secondary device communication circuit 160. Secondary device communication circuit 160 may include secondary device receiver circuit 161 and secondary device transmitter circuit 162. Secondary device 150 may include other circuits and passive components not specifically mentioned. Secondary device 150 may include a clock signal for transmitting and receiving data. In some examples, secondary device 150 may include a respective clock circuit generating the clock signal.
Primary device 110 may be a microcontroller. Secondary device 150 may be a peripheral device, including but not limited to a sensor, amplifier, oscillator, battery gauge, data converter, power driver, or a logic device. Secondary device 150 may be a MOSFET driver.
Communication path 130 may be a UART interface, and may comprise a transmit line and a receive line.
In operation, primary device 110 may communicate with secondary device 150. Primary device transmitter circuit 121 may transmit signals over communication path 130 and signals may be received at secondary device receiver circuit 161. Secondary device 150 may decode signals received at secondary device receiver circuit 161 and may modify operation of secondary device 150 based on the decoded signals. Secondary device 150 may communicate with primary device 110. Secondary device transmitter circuit 162 may transmit signals over communication path 130 and signals may be received at primary device receiver circuit 122. Primary device 110 may decode signals received at primary device receiver circuit 122 and may modify operation of primary device 110 based on the decoded signals.
The example illustrated in FIGURE 1 is a half-duplex implementation, with primary device transmitter circuit 121 and secondary device transmitter circuit 162, respectively, and secondary device receiver circuit 161 and primary device receiver circuit 122, respectively, sharing communication path 130. Other examples may include a dedicated connection between primary device transmitter circuit 121 and secondary device receiver circuit 161, and another dedicated connection between secondary device transmitter circuit 162 and primary device receiver circuit 122. Primary device transmitter circuit 121 may be a push-pull driver or may be an open drain driver with a pull-up resistor on communication path 130. Secondary device transmitter circuit 162 may be a push-pull driver or may be an open drain driver with a pull-up resistor on communication path 130.
Primary device communication circuit 120 may be a UART circuit. Communication circuit 160 may be a UART circuit.
In one of various examples, system 100 may implement auto-baud detection. Primary device transmitter circuit 121 may operate in a non-inverted mode, wherein communication path 130 may be held at a logic high level when primary device transmitter circuit 121 is enabled and in an idle state, i.e. not transmitting data. Primary device transmitter circuit 121 may operate in an inverted mode, wherein communication path 130 may be held at a logic low level when primary device transmitter circuit 121 is enabled and in an idle state, i.e. not transmitting data. Secondary device transmitter circuit 162 may operate in a non-inverted mode, wherein communication path 130 may be held at a logic high level when secondary device transmitter circuit 162 is enabled and in an idle state, i.e. not transmitting data. Secondary device transmitter circuit 162 may operate in an inverted mode, wherein communication path 130 may be held at a logic low level when secondary device transmitter circuit 162 is enabled and in an idle state, i.e. not transmitting data. The idle state of the noninverted polarity mode may be opposite in polarity to the idle state in the inverted polarity mode.
In operation, primary device transmitter circuit 121 may drive communication path 130 with a predetermined voltage for a predetermined time to secondary device receiver circuit 161 and may signal an auto-baud detection mode. Primary device transmitter circuit 121 may drive the predetermined voltage by using the idle state of primary device transmitter circuit 121 in the inverted polarity mode. Primary device transmitter circuit 121 may be a push-pull driver or an open drain pull-down driver. The predetermined voltage may be a ground voltage. Primary device transmitter circuit 121 may be enabled in a non-inverted polarity mode. In one of various examples, primary device transmitter circuit 121 may be enabled by a microcontroller in primary device 110 or may be enabled by communication with another controller. In the noninverted polarity mode, primary device transmitter circuit 121 may hold communication path 130 at a logic high level when in an idle state. Primary device transmitter circuit 121 may drive the communication path 130, or communication path 130 may be pulled to a logic high level by a pull-up resistor. Primary device transmitter circuit 121 may be in an idle state when enabled but not transmitting data. Primary device transmitter circuit 121 may then operate in an inverted polarity mode. In one of various examples, primary device transmitter circuit 121 may operate in an inverted polarity mode. When inverted polarity mode is enabled, primary device transmitter circuit 121 may drive communication path 130 to a logic low level, as logic low is the idle state when the inverted polarity mode is enabled. Communication path 130 may remain at a logic low state for a predetermined time. Secondary device receiver circuit 161 may detect the low level on communication path 130 for the predetermined time, and may interpret this as a request by primary device 110 to enter auto-baud detection mode. Secondary device 150 may enter the auto-baud detection mode based on detecting the low level on communication path 130 for the predetermined time. Auto-baud detection mode may be indicated based on setting a register value. After the predetermined time, primary device transmitter circuit 121 may operate in the non-inverted polarity mode and subsequently primary device transmitter circuit 121 may be disabled. Primary device receiver circuit 122 may be enabled and secondary device transmitter circuit 162 may be enabled. Secondary device 150 may transmit a predetermined sequence over communication path 130 as specified by the auto- baud detection mode. In one of various examples, secondary device 150 may transmit a fixed binary code from secondary device transmitter circuit 162 to primary device receiver circuit 122. The fixed binary code may represent a control word transmitted from the secondary device transmitter circuit 162 to the primary device receiver circuit 122. Primary device 110 may receive the predetermined sequence at primary device receiver circuit 122 and may calculate a baud rate of the received predetermined sequence. The predetermined sequence may comprise an acknowledge word. The calculation of a baud rate may be based on a timer, a counter, a phase-locked loop, an external clock or another method. After the predetermined sequence is received, auto-baud detection mode may be disabled.
FIGURE 2 illustrates a timing diagram 200 of one of various examples of auto-baud detection. Clock signal 220 may be a clock signal used to transmit and receive data. Clock signal 220 may be a common clock signal in primary device 110 and secondary device 150 as described and illustrated in reference to FIGURE 1. Bus 230 may be a data bus. Bus 230 may be one of various examples of communication path 130 as described and illustrated in reference to FIGURE 1. Bus 230 may enable communication between primary device 110 and secondary device 150 in a system as described and illustrated in FIGURE 1.
In operation, at time 251, transmitter circuit 121 in primary device 110 may be enabled to transmit over bus 230 in a transmit mode. Transmitter circuit 121 in the primary device 110 may operate in non-inverted polarity mode. In one of various examples, the transmitter circuit in the primary device may hold bus 230 at a logic high level awaiting the first transmission. In other examples, the transmitter circuit in the primary device may operate in an open drain mode, and a pull-up resistor on bus 230 may hold bus 230 at a logic high level awaiting the first transmission. Logic high may be the idle state of the transmitter in the non-inverted polarity mode. At time 252, the transmitter circuit may transmit in an inverted polarity mode. In the inverted polarity mode, the transmitter circuit may drive bus 230 to a logic low level, as shown at time 253. Logic low may represent the idle state of the transmitter circuit when the inverted polarity mode is enabled. By changing from the non-inverted polarity mode to the inverted polarity mode, the logic level of bus 230 may be used as a communication signal to initiate the auto-baud detection mode. Time period 262 may represent a delay between the time of configuration of transmitter circuit 121 in the inverted polarity mode at time 252 and the transmitter driving bus 230 to a logic low level.
Bus 230 may remain at a logic low state for a predetermined time. In the example illustrated in FIGURE 2, bus 230 may remain low for at least 1 ,8ms, but this is not intended to be limiting. Receiver 161 in the secondary device 150 may detect the logic low level on bus 230 and the secondary device 150 may enter an auto-baud detection mode at least partially in response to detection of the logic low level on bus 230 for the predetermined time. After the predetermined time has elapsed, at time 254, the transmitter circuit 121 may operate in noninverted polarity mode, and the transmitter circuit 121 in the primary device may therefore drive bus 230 to a logic high level, which logic high may represent the idle state of bus 230 when the transmitter is in the non-inverted polarity mode. Time period 264 may represent a delay between the configuration in the non-inverted polarity mode at time 254 and the bus 230 being driven to the logic high state. At time 255, the transmitter circuit 121 in the primary device 110 may be disabled. At time 256, the primary device 110 may be in an auto-baud detection mode. The auto-baud detection mode of the primary device 110 may be indicated by a configuration register in the primary device 110 or by another method. At time 256, the secondary device 150 may transmit a predetermined sequence over bus 230 as specified by the auto-baud detection mode. In the example illustrated in FIGURE 2, the secondary device may transmit a fixed binary code. In the example illustrated in FIGURE 2, the fixed binary code may be 0x55h, but this is not intended to be limiting. The secondary device may transmit a different fixed binary code of any word width. The example illustrated in FIGURE 2, clock signal 220 may be used to sample bus 230 on both the rising edge and the falling edge, but this is not intended to be limiting.
The predetermined sequence may terminate at time 257. Primary device 110 may receive the predetermined sequence and may calculate a baud rate of the received predetermined sequence. The calculation of the baud rate of the predetermined sequence may be based on a timer, a counter, a phase-locked loop or another method. After the predetermined sequence is received, primary device 110 may disable the auto-baud detection mode at time 258 and auto-baud detection mode may be disabled in secondary device 150.
The example of FIGURE 2 illustrates one of various examples of communication between a primary device and a secondary device. The secondary device may be a MOSFET driver circuit, but this is not intended to be limiting. In other examples, a primary device may communicate with another peripheral device.
FIGURE 3 illustrates a method 300 of auto-baud detection.
At operation 310, a transmitter circuit in a primary device may be enabled in a noninverted polarity mode and may drive a data bus to a logic high level during an idle state. Additionally, a transmitter circuit may be enabled. At operation 320, the polarity of the transmitter may be configured to an inverted mode and the data bus may transition to a predetermined voltage. In one of various examples, the data bus may transition to a logic low level for at least a predetermined time. The predetermined voltage may be a ground voltage. At operation 330, a receiver circuit in a secondary device may detect the logic low level on the data bus for the predetermined time. At operation 340, after the predetermined time, the polarity of the transmitter may be configured to a non-inverted polarity mode and the data bus may transition to a logic high level. The data bus may be driven by a push-pull driver in the transmitter in the primary device or may be pulled to a logic high level by a pullup resistor. At operation 350, the transmitter in the primary device may be disabled and the receiver in the primary device may be enabled transmitter in the secondary device may be enabled. At operation 360, an auto-baud detection mode may be enabled in the primary device and the transmitter in the secondary device may transmit a predetermined sequence over the data bus. In one of various examples, the predetermined sequence may comprise an acknowledge word. At operation 370, a receiver circuit in the primary device may receive the predetermined sequence and may calculate a baud rate of the predetermined sequence. At operation 380, the auto-baud detection mode may be disabled in the primary device and in the secondary device.

Claims

1. A system comprising: a primary device comprising a primary device transmitter circuit and a primary device receiver circuit; a secondary device comprising a secondary device transmitter circuit and a secondary device receiver circuit; wherein: the primary device enables the primary device transmitter circuit and the secondary device enables the receiver circuit in the secondary device; the transmitter circuit in the primary device to transmit a predetermined voltage for at least a predetermined time during an inverted polarity mode; the receiver circuit in the secondary device to detect the predetermined voltage for the predetermined time and to enter an auto-baud detection mode; the primary device to disable the transmitter circuit in the primary device and enable the receiver circuit in the primary device; the transmitter circuit in the secondary device to transmit a predetermined sequence; and the receiver circuit in the primary device to receive the predetermined sequence and to calculate a baud rate based on the received predetermined sequence.
2. The system as claimed in claim 1, the secondary device comprising a MOSFET driver.
3. The system as claimed in claim 1, the primary device is a microcontroller.
4. The system as claimed in claim 1, the transmitter circuit in the primary device to transmit a predetermined voltage during an idle state in an inverted polarity mode.
5. The system as claimed in claim 1, the predetermined voltage for the predetermined time comprising a ground voltage for a duration of between about 1.29msec and about 2msec.
6. The system as claimed in claim 1, the predetermined voltage transmitted during the inverted polarity mode to be opposite in polarity from a voltage transmitted during a non-inverted mode.
7. The system as claimed in claim 1, the predetermined sequence comprising an acknowledge word transmitted from the secondary device to the primary device.
8. A method comprising: enabling a transmitter circuit in a primary device; configuring the transmitter circuit in the primary device to an inverted polarity mode to drive a communication path to a predetermined voltage for a predetermined time; detecting, at a receiver circuit in a secondary device, the predetermined voltage for the predetermined time and entering an auto-baud detection mode; configuring, after the predetermined time, the transmitter circuit in the primary device in a non-inverted polarity mode; disabling the transmitter circuit in the primary device; enabling, responsive to entering the auto-baud detection mode, a transmitter circuit in the secondary device and transmitting a predetermined sequence on the communication path; receiving the predetermined sequence at the primary device and calculating a baud rate of the transmission of the predetermined sequence; and disabling the auto-baud detection mode in the primary device.
9. The method as claimed in claim 8, the secondary device comprising a MOSFET driver.
10. The method as claimed in claim 8, the primary device comprising a microcontroller.
11. The method as claimed in claim 8, the predetermined voltage for the predetermined time comprising a ground voltage for a duration of between about 1.29msec and about 2msec).
12. The method as claimed in claim 8, the configuring the transmitter circuit in the primary device comprising writing one or more control words to the transmitter circuit in the primary device.
13. The method as claimed in claim 8, the predetermined voltage transmitted during the inverted polarity mode to be opposite in polarity from a voltage transmitted during a non-inverted polarity mode.
14. The method as claimed in claim 8, the predetermined sequence comprising an acknowledge word transmitted from the secondary device to the primary device.
PCT/US2024/038552 2023-07-20 2024-07-18 System and methods for auto-baud detection Pending WO2025019676A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202480028468.3A CN121039650A (en) 2023-07-20 2024-07-18 Systems and methods for automated Baud detection

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
IN202311049011 2023-07-20
IN202311049011 2023-07-20
US18/625,332 2024-04-03
US18/625,332 US12386757B2 (en) 2023-07-20 2024-04-03 System and methods for auto-baud detection

Publications (1)

Publication Number Publication Date
WO2025019676A1 true WO2025019676A1 (en) 2025-01-23

Family

ID=92258802

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2024/038552 Pending WO2025019676A1 (en) 2023-07-20 2024-07-18 System and methods for auto-baud detection

Country Status (2)

Country Link
CN (1) CN121039650A (en)
WO (1) WO2025019676A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5982837A (en) * 1997-06-16 1999-11-09 Lsi Logic Corporation Automatic baud rate detector
US6798869B1 (en) * 2003-03-31 2004-09-28 Research In Motion Limited Bit rate matching system and method
US7116739B1 (en) * 2002-10-31 2006-10-03 Zilog, Inc. Auto baud system and method and single pin communication interface
US20220061008A1 (en) * 2020-08-21 2022-02-24 Advanced Energy Industries, Inc. Uart transmissions with two start bits for automatic baud detection and reduced clock skew

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5982837A (en) * 1997-06-16 1999-11-09 Lsi Logic Corporation Automatic baud rate detector
US7116739B1 (en) * 2002-10-31 2006-10-03 Zilog, Inc. Auto baud system and method and single pin communication interface
US6798869B1 (en) * 2003-03-31 2004-09-28 Research In Motion Limited Bit rate matching system and method
US20220061008A1 (en) * 2020-08-21 2022-02-24 Advanced Energy Industries, Inc. Uart transmissions with two start bits for automatic baud detection and reduced clock skew

Also Published As

Publication number Publication date
CN121039650A (en) 2025-11-28

Similar Documents

Publication Publication Date Title
US4964141A (en) Serial data processor capable of transferring data at a high speed
KR102030878B1 (en) Extremely high frequency systems and methods of operating the same
US6809546B2 (en) On-chip termination apparatus in semiconductor integrated circuit, and method for controlling the same
US8045626B2 (en) Differential transmitter, differential receiver, signal transmitter, and signal transmitting system
US8943254B2 (en) Conversion of a single-wire bus communication protocol
JPH08111636A (en) Push-pull output driver circuit
US20220206983A1 (en) Low Power Embedded USB2 (eUSB2) Repeater
US5025414A (en) Serial bus interface capable of transferring data in different formats
US9880895B2 (en) Serial interface with bit-level acknowledgement and error correction
CN114003541B (en) A universal IIC bus circuit and transmission method thereof
US6340876B1 (en) Method for detecting battery removal or absent battery condition in a constant current charger
US7089467B2 (en) Asynchronous debug interface
US12386757B2 (en) System and methods for auto-baud detection
WO2025019676A1 (en) System and methods for auto-baud detection
US6874047B1 (en) System and method for implementing an SMBus/I2C interface on a network interface card
US10404194B2 (en) Motor driver with multipurpose pin
AU2021106414A4 (en) An uart-spi protocol bridge
US7622958B2 (en) Semiconductor device including current-driven differential driver and method of controlling current-driven differential driver
US7685456B1 (en) DDR interface bus control
EP3970023B1 (en) Bidirectional re-driver for half-duplex interfaces
KR19990037579U (en) Smart card interface
CN110011648A (en) A logic control circuit and radio frequency communication device
CN118132483A (en) eUSB Repeater for passing repeater mode packets between differential and single-ended buses
TW202246992A (en) Rs-485 circuit and communication system
JP2000224203A (en) Data transmitter provided with post charge logic

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 24752292

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: CN2024800284683

Country of ref document: CN