Some electronic systems (such as systems within an automobile) are adding more subsystems and need additional communication channels, such as control area networks (CAN) and local interconnect networks (LIN) to integrate these subsystems. System Basis Chips (SBCs) may be utilized to regulate system power and provide communications to/from a microcontroller/processor. For example, as automobiles incorporate more complex electronic subsystems (such as for driver assistance and safety features), some systems incorporate larger SBCs with excess feature sets or discrete transceivers controlled by the processor's input/output pins to implement more communication interface devices.
However, SBCs with excess feature sets can include features unnecessary in a particular implementation, leading to a larger bill of materials cost and a more complex software footprint for features left unused. Similarly, discrete communication interface devices are controlled by the processor's input/output pins, reducing the number of input/output pins available for other uses, and can require additional supporting components such as voltage regulators, increasing the bill of materials cost and area of the integrated circuit.
A system basis chip (SBC) includes a serial peripheral interface (SPI) for communication with a processor, a set of registers for storing information operable to control an external communication interface device, and a control signal output adapted to be coupled to the external communication interface device. In some embodiments, the external communication interface device is an external local interconnect network device. In other embodiments, the external communication interface device is an external control area network device.
The set of registers can include a first register for storing information indicative of a function of the control signal for the external communication interface device and a second register for storing information indicative of a value of the control signal for the external communication interface device. The information indicative of the function of the control signal for the external communication interface device can include information indicative of at least one of: a supply voltage interrupt, a watchdog interrupt event, a counter-based watchdog interrupt event, a local wakeup request, a bus wakeup request, an entrance into a fail-safe mode of operation, and a general purpose output signal.
In some implementations, the control signal output is a first control signal output, and the SBC also includes a second control signal output adapted to be coupled to a voltage regulator for selectively enabling a supply voltage and a supply voltage input adapted to be coupled to a power supply. The SBC can further comprise a supply voltage output adapted to be coupled to the external communication interface device. The second control signal for selectively enabling the supply voltage can be configured to selectively enable a first supply voltage for a first type of external communication interface device and a second supply voltage for a second type of external communication interface device. The supply voltage input receives the first supply voltage or the second supply voltage, and the supply voltage output adapted to be coupled to the external communication interface device provides the first supply voltage or the second supply voltage to the external communication interface device.
The SBC can further include a wakeup signal input adapted to be coupled to a wakeup controller. In some implementations, the wakeup signal input is a first wakeup signal input, and the external communication interface device includes a second wakeup signal input adapted to be coupled to the wakeup controller. In some embodiments, the wakeup controller is a first wakeup controller, and the second wakeup signal input of the external communication interface device is adapted to be coupled to a second wakeup controller.
For a detailed description of various examples, reference will now be made to the accompanying drawings in which:
The same reference numerals are used in the drawings to designate the same or similar (by function and/or structure) features.
The disclosed system basis chip (SBC) enables a processor to control an external communication interface device via the SBC, rather than directly via the processor's own general purpose input/output pins. The SBC provides a control signal and can also provide a supply voltage to the external communication interface device. The SBC includes a serial peripheral interface (SPI) configured to communicate with the processor and a set of registers configured to store information for controlling the external communication interface device. For example, the set of registers includes a first register for a polarity for the control signal and a second register for what information causes the control signal to be active.
The LDO 140 is coupled to capacitors C1 and C2, which are further coupled to common potential (e.g. ground) 105. System 100 includes an LDO, but any appropriate voltage regulator can be used. The capacitors C1 and C2 and LDO 140 are coupled to an output of diode D, which is configured to receive a battery voltage VBAT 145 (e.g., 14 volts). LDO 140 is connected to supply voltage VSUP 122A, which is also provided to SBC 120. SBC 120 outputs a control signal INH 126 to LDO 140 to selectively enable different regulated voltages from LDO 140. For example, INH 126 can enable a 3.3 volt supply voltage VSUP 122A or a 5 volt supply voltage VSUP 122A.
SBC 120 receives a wakeup signal WAKE 128 from local wakeup controller 150. SBC 120 also includes a local interconnect network (LIN) bus and/or a CAN bus 130. MCU 110 controls the state of the LIN or CAN bus 130 via TXD 116, and SBC 120 reports the state of the LIN or CAN bus 130 to MCU 110 via RXD 118. SBC 120 provides a control signal to the external communication interface device 160A via general purpose input/output (GPIO) pin 135. In some implementations, SBC 120 can provide a supply voltage to the external communication interface device 160, as discussed further herein with reference to
System 100A shown in
The external CAN SBC 160A can output a supply voltage Vcc 174 (e.g., 3.3 volts) to other external devices, and communicate with the other external devices over a high-level CAN bus CANH 180A and a low-level CAN bus CANL 185A. MCU 110 controls the state of the CANH and CANL buses 180A and 185A via TXD 166A, and the external CAN SBC 160A reports the state of the CAN buses 180A and 185A to MCU 110 via RXD 168A. In contrast to conventional systems which require a full SPI interface between MCU 110 and the external CAN SBC 160A as well as between MCU 110 and the SBC 120, the only full SPI interface in system 100A is between MCU 110 and the SBC 120. The SPI interface between SPI 114B of MCU 110 and SPI 164 of external CAN SBC 160A is only a partial interface, encompassing only the reset signal nRST. The nCS, CLK, SDI, SDO, and nINT interfaces are limited to between MCU 110 and SBC 120, and SBC 120 dictates the interface selection, clock signal, SPI inputs and outputs, and interrupts for the external CAN SBC 160A via the control signal output to GPIO pin 135. Thus, GPIO pins on MCU 110 that would otherwise be used to control the external CAN SBC 160A can be freed up for other purposes.
In system 100A, the external CAN SBC 160A has independent power and wakeup systems from SBC 120. Alternatively, as shown in system 100B in
The external CAN transceiver 160B receives a digital input/output voltage supply VIO 172B based on VBAT 145 for example, and also includes a high level CAN bus CANH 180B and a low-level CAN bus CANL 185B. MCU 110 controls the state of the CANH and CANL buses 180B and 185B via TXD 166B, and the external CAN transceiver 160B reports the state of the CAN buses 180B and 185B to MCU 110 via RXD 168B. Similar to system 100A, the only full SPI interface in system 100B is between MCU 110 and the SBC 120. The nCS, CLK, SDI, SDO, nINT, and nRST interfaces are limited to between MCU 110 and SBC 120, and SBC 120 dictates the interface selection, clock signal, SPI inputs and outputs, interrupts, and resets for the external CAN SBC 160A via the control signal output to GPIO pin 135. Thus, GPIO pins on MCU 110 that would otherwise be used to control the external CAN transceiver 160B can be freed up for other purposes. In system 100B, the SBC 120 provides wakeup signals and the supply voltage to external CAN transceiver 160B over GPIO pin 135A and output pin 135B, respectively, which can reduce the amount of additional circuitry needed to support the external CAN transceiver 160B, such as an additional wakeup controller, voltage regulator, and/or the like.
The external LIN SBC 260A receives the supply voltage VSUP 122 based on VBAT 145 and the control signal from GPIO 135 of SBC 120 at an enable (EN) pin 270A. The external LIN SBC 260A can output a supply voltage Vcc 274 (e.g., 5 volts) to other external devices, and communicate with the other external devices over a LIN bus 280A. In some example embodiments, bus 280A is bi-directional. MCU 110 controls the state of the LIN bus 280A via TXD 266A, and the external LIN SBC 260A reports the state of the LIN bus 280A to MCU 110 via RXD 268A. Similar to systems 100A and 100B, the only full SPI interface in system 200A is between MCU 110 and the SBC 120. The SPI interface between SPI 114B of MCU 110 and SPI 264 of external LIN SBC 260A is only a partial interface, encompassing only the reset signal nRST. The nCS, CLK, SDI, SDO, and nINT interfaces are limited to between MCU 110 and the SBC 120, and SBC 120 dictates the interface selection, clock signal, SPI inputs and outputs, and interrupts for the external LIN SBC 260A via the control signal output to GPIO pin 135. Thus, GPIO pins on MCU 110 that would otherwise be used to control the external LIN SBC 260A can be freed up for other purposes.
In system 200A, the external LIN SBC 260A has an independent power system from SBC 120. Alternatively, as shown in system 200B in
The external LIN transceiver 260B includes a LIN bus 280B, which is bi-directional in some example embodiments. MCU 110 controls the state of the LIN bus 280B via TXD 266B, and the external LIN transceiver 260B reports the state of the LIN bus 280B to MCU 110 via RXD 268B. Similar to systems 100A-B and 200A, the only full SPI interface in system 200B is between MCU 110 and the SBC 120. The nCS, CLK, SDI, SDO, nINT, and nRST interfaces are limited to between MCU 110 and SBC 120, and SBC 120 dictates the interface selection, clock signal, SPI inputs and outputs, interrupts, and resets for the external LIN transceiver 260B via the control signal output to GPIO pin 135. Thus, GPIO pins on MCU 110 that would otherwise be used to control the external LIN transceiver 260B can be freed up for other purposes. In system 200B, the SBC 120 provides the supply voltage VSUP 122 to external LIN transceiver 260B via output pin 135B, which can reduce the amount of additional circuitry needed to support the external LIN transceiver 260B, such as an additional wakeup controller, voltage regulator, and/or the like. In system 200B, SBC 120 can shut off external LIN transceiver 260B to further conserve power while control signals from MCU 110 indicate external LIN transceiver 260B should operate in a sleep mode.
In a further alternative, as shown in system 200C in
The external LIN transceiver 260C outputs a control signal INH 276 to LDO 140 to selectively enable different regulated voltages from LDO 140. For example, INH 276 can enable a 3.3 volt supply voltage VSUP 122B or a 5 volt supply voltage VSUP 122B. The control signal INH 126 selectively enables different regulated supply voltages VSUP 122A for the SBC 120, and the control signal INH 276 selectively enables different regulated supply voltages VSUP 122B for the external LIN transceiver 260C. The external CAN SBC 260C receives a wakeup signal WAKE 255 from a second wakeup controller 250. The external LIN transceiver 260C includes a LIN bus 280C. MCU 110 controls the state of the LIN bus 280C via TXD 266C, and the external LIN transceiver 260C reports the state of the LIN bus 280C to MCU 110 via RXD 268C.
Similar to systems 100A-B and 200A-B, the only full SPI interface in system 200C is between MCU 110 and the SBC 120. The nCS, CLK, SDI, SDO, nINT, and nRST interfaces are limited to between MCU 110 and SBC 120, and SBC 120 dictates the interface selection, clock signal, SPI inputs and outputs, interrupts, and resets for the external LIN transceiver 260C via the control signal output to GPIO pin 135. Thus, GPIO pins on MCU 110 that would otherwise be used to control the external LIN transceiver 260C can be freed up for other purposes. In system 200C, the external LIN transceiver 260C has independent power and wakeup systems from SBC 120.
In each of systems 100A-B and 200A-C, SBC 120 controls the external communication interface device, such that GPIO pins on MCU 110 can be used for other purposes. In addition, systems 100A-B and 200A-C have lower bill of materials costs and simpler software footprints than conventional systems using larger SBCs with additional channels and excess feature sets. In systems 100B and 200B, SBC 120 also provides power to the external communication interface device, further reducing the bill of materials cost and the area occupied by systems 100B and 200B relative to conventional systems including additional devices such as LDOs to support the external communication interface devices.
Register 320 indicates a function of the control signal that SBC 120 outputs to GPIO pin 135. For example, a value of 000 can indicate that the control signal is a supply voltage interrupt. A value of 001 can indicate that the control signal is a watchdog (WD) interrupt event each time one occurs, and a value of 010 can indicate that the control signal is a second watchdog interrupt event based on a counter. A value of 011 can indicate that the control signal is a local wakeup request such as from local wakeup controller 150 in system 100B, and a value of 100 can indicate that the control signal is a bus wakeup request. A value of 101 can indicate a fail-safe mode has been entered. A value of 110 can indicate that the control signal is general purpose output signal, and a value of 111 can be reserved for any appropriate purpose.
In this description, the term “couple” may cover direct and indirect connections, communications, or signal paths that enable a functional relationship consistent with this description. For example, if device A generates a signal to control device B to perform an action: (a) in a first example, device A is coupled to device B by direct connection; or (b) in a second example, device A is coupled to device B through intervening component C if intervening component C does not alter the functional relationship between device A and device B, such that device B is controlled by device A via the control signal generated by device A.
The uses of the phrase “ground voltage potential” in this description include a chassis ground, an Earth ground, a floating ground, a virtual ground, a digital ground, a common ground, and/or any other form of ground connection applicable to, or suitable for, the teachings of this description. Unless otherwise stated, “about”, “approximately”, or “substantially” preceding a value means +/−10 percent of the stated value.
As used herein, the terms “terminal”, “node”, “interconnection” and “pin” are used interchangeably. Unless specifically stated to the contrary, these terms are generally used to mean an interconnection between or a terminus of a device element, a circuit element, an integrated circuit, a device or other electronics or semiconductor component. While some buses and/or interconnections are shown as unidirectional or bidirectional, each of these buses and/or interconnections can be either unidirectional or bidirectional. As used herein, the terms “port”, “connector”, “interface” or similar terminology are used interchangeably and are used broadly to mean any type of connection or interface between a device (whether a packaged semiconductor device), integrated circuit (packaged, unpackaged, formed on one or more semiconductor substrates or formed on a portion of a semiconductor substrate) and a bus or series of conductors that facilitate the exchange of data, power, control signals, clocking signals and/or other communications.
Modifications are possible in the described embodiments, and other embodiments are possible, within the scope of the claims.
This application claims priority to U.S. Provisional Application No. 63/010,875, filed Apr. 16, 2020, which is hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
63010875 | Apr 2020 | US |