1. Field of the Invention
The present invention relates to multiplexing and serializing/deserializing data from a number of devices across a serial interface.
2. Background Information
I/O devices like keypads and keyboards, cameras, LCD displays, and miscellaneous general purpose I/O (GPIO) devices are often found in mobile hand held devices. These I/O devices, like many microprocessors, typically provide parallel interfaces. In mobile devices, however, some I/O devices are separated by a hinge from a controller microprocessor.
In prior art mobile devices, interconnecting the microprocessor and the I/O devices in a mobile device requires many parallel connections to traverse a flexible cable squeezed into a hinge. A large number of wires is undesirable due to decreased reliability and increased cost.
It would be advantageous to reduce the number of physical wires that traverse the hinge of a folding or sliding mobile phone. Serialization provides one level of wire reduction.
The present invention provides a reduction of the wires that traverse a flexible cable. The present invention provides an interface for serializing and interleaving data to and from, at least, an LCD display, a device interfaced via a GPIO (general purpose input/output) connection, a camera, an I2C device and a keypad or key board. Further reduction may be achieved, as provided by the present invention, by interleaving multiple sets of parallel data across the same serial wires and by controlling modes without a dedicated control pin or wire.
The serialized data may be interleaved over shared wires where timing intervals may be utilized to mix signals from different devices in a time sequence. For example, during video transmission often there are vertical (VSYNC) and horizontal (HSYNC) syncing pulses where no data is carried on the video data lines. These times may be used by other devices to send serial data. For example keyboard data may be sent during these times where a human operator will not notice any delay. Although expressed as keyboard data, virtually any serial data may be sent during a camera VSYNC or HSYNC time period.
In a like manner, LCD data, GPIO and I2C signals may be multiplexed over common connections (connecting wires). At least part of the control of which of these three data types may be sent may be controlled by a changed clock frequency. For example, if LCD or I2C signals are to be multiplexed, a clock frequency may be used to distinguish the data type being sent. For example, a particular clock frequency may indicate that LCD data is being sent, and a frequency change may command a mode change where I2C signals is being transferred. In this example a frequency detection circuit may be used. When neither LCD nor I2C signals is being sent, GPIO data may be loaded and serially transferred.
It will be appreciated by those skilled in the art that although the following Detailed Description will proceed with reference being made to illustrative embodiments, the drawings, and methods of use, the present invention is not intended to be limited to these embodiments and methods of use. Rather, the present invention is of broad scope and is intended to be defined as only set forth in the accompanying claims.
The invention description below refers to the accompanying drawings, of which:
Between the microprocessor 4 and the I/O devices 5, a Master Device 6 and a Slave Device 10 that are connected to each other via a flexible cable 11 designed to squeeze through a hinge. The Master and the Slave Devices have many parallel connections 8 at the microprocessor 4 and at 9 to the I/O devices 5, but only a few connections between the two on the flexible cable 11 that improve reliability and the bending function (fewer wires to bend and break within the hinge).
In
Illustratively, a pair of devices, a Slave 6 and a Master 10, made in accordance with the present invention, serialize and deserialize LCD, GPIO and I2C signals as well as camera and keypad signals. The signals are multiplexed between the signal sources and carried across shared serial interfaces, and may be sent in full duplex or half duplex as desired.
There is a key pad detection circuit 150 that scans the key pad 24 and detects which key is depressed with the aid of an oscillator 152. As known to those skilled in the art, other techniques may be used to detect when a key is depressed. A control and data multiplexer 154 interleaves sending/receiving signals from the key pad and the camera, alternately, in time. Care is taken so that the time restraints on the camera I/O are met while not missing any key pad depressions.
When the key pad 24 key is pressed as sensed by the control and data multiplexer 154 signals from the key detection circuit 150 and the oscillator 152, the key data is sent to a twelve bit serializer 156. The key pad data is serialized and sent over the CAMDS along with a clock signal CAMCKS that provides timing for the Master Deserializer 60 to properly receive the key pad signals. The keypad data may be formatted or encoded in binary, hex, etc. as the designed might determine.
When the camera needs service, a phase locked loop, PLL 158, provides a clock, CAMCKREF to the camera 22. The CAMDATA lines, HSYNC, VSYNC, and the strobe are sent directly to the controller and data multiplexer 154. The controller data multiplexer 154 interfaces with the serializer 156 via, illustratively, twelve parallel data lines 160, a strobe 162 and a SERCK (serial clock) 164. Note that a PLL (not shown) may be implemented in the LCD path to provide a reference clock for serialization.
In one illustrative operation, when the camera is deasserting a HSYNC or VSYNC (horizontal or vertical synchronization), the camera data is invalid. During these times the key pad data may be transferred without corrupting either the key pad or the camera operations. The present invention uses the HSYNC, illustratively, time period to interleave or multiplex the keypad data and the camera data. The combined data is serialized and sent over the DS line with the CKS signal in the flex cable.
The Master Deserializer 60 receives and deserializes the multiplexed key pad and camera data into parallel data and separates the two with demultiplexer 62. The key pad data is regenerated into parallel form 74 recognized by a microprocessor. The camera parallel data is also regenerated into a parallel form recognized by the microprocessor 4 as shown in
In one embodiment, an additional connection may be included in the DS group that signals when keypad or camera data is being passed. Other methods may be used as known to those skilled in the art, for example the first byte passed on the DS lines might always be a mode indicator that indicates a given amount of camera (or keypad) data follows. Other techniques are known in the art.
In preferred embodiments, the system may be operated in several modes. In a first mode, low speed key pad, the PLL 58 is disabled, and the key oscillator 52 travels through the key pad matrix when a key is depressed levels on the serial lines. The key pad data is passed using LVCMOS (low Voltage CMOS).
A second mode, high speed camera/key pad, enables the PLL 158 (which becomes locked). The key pad data is captured and passed when the HSYNC signal 86 is low. Camera data is passed when HYSYNC 86 is high.
A third mode, high speed camera, passes no camera data. But key pad data is passed by the controller and a key pad data multiplexer provides a low, pseudo HSYNC signal.
As would be known to those skilled in the art, other timing arrangements as well as other multiplexing arrangements may be used to advantage with the present invention. For example, the present disclosure uses an oscillator to detect and decode a key depression, but logic signals may be used, including voltage signals and/or current signals. In addition, there are many microprocessors that may be used to advantage. Additionally very large silicon integration circuits with dedicated functions may be used, as well as one chip computers.
A PLL is disclosed in this illustrative example, but, as known to those skilled in the art, operations without PLLs may be used. For example crystal clocks or the equivalent depending on the camera timing requirements, and other types of timing circuits may be used to advantage.
Referring back to
Timing is designed so that the GPIO data is sent once for every sixteen CKREF cycles. Alternatively, GPIO data may be sent only when the GPIO data changes.
The operations of LCD/I2C Logic A and B from
The LCD DATA′ or the I2C signals' and CLK′ (clock) is received by buffer 111 or the PASSGATE B as determined by the CONTROL′ signal.
The LCD CLK′ is received by the buffer 144 which outputs the CKSIN signal. The CKSIN is compared to a REF. OSCILLATOR 114 at the FREQ. The COMPARATOR 116 outputs the CONTROL′ that determines which signals are received. The CONTROL′ is identical with the I2C_EN signal described later.
Note in
“LCD” represents liquid crystal display or any other type of display, and “CLK” represents clock. The dummy load 124 is optional depending on the application and simply presents a known load cable termination on the output pins 120 that connect to the flex cable.
Differential LCD DATA 104 is driven by a transmitter 126 onto differential DSOP and DSOM pins 128 that connect to the flex cable 102. When LCD DATA 104 is being sent DSOP and DSOM represent the positive and negative, respectively, signals of the differential LCD DATA.
However, when PASS GATE A is enabled, by CONTROL1, I2C CLK is presented onto DSOP and an I2C signals is presented onto DSOM. When I2C signals are enabled by CONTROL1 onto the lDSOP and DSOM lines, the LCD DATA 104 is blocked by transmitter 126, illustratively, being disabled by the CONTROL1—(the logic inverse of CONTROL1). Here CONTROL1 is a mode determining signal that may be set by a computer system (not shown) that interfaces with the SENDER. Since LCD DATA or I2C signals are placed onto the DSOP and DSOM lines, the output of buffer 126, when not enabled, must not load the PASS GATE A, and the PASS GATE A, when not enabled, must not load the buffer 126.
Coincidentally, the LCD DATA (or the I2C CLK and the I2C signals) is received by the buffer 144 from the flex cable. If I2C_EN is true, I2C signals are received and passed through the PASS GATE B to other circuitry (not shown). If LCD DATA is received they are buffered 144 and a single ended LCD DATA′ is presented to the following circuitry (not shown). An ENABLE signal, if desired, may be generated to prevent the LCD DATA′ signals from traversing the buffer 144.
In some applications, a camera clock 17 output may provide the CAMCKREF of
The present invention provides an advantage, in one preferred embodiment, of using frequency detection for setting different modes. Illustratively, the mode change is between LCD and I2C modes, or from transferring LCD signal to transferring I2C signals across a flex cable, while maintaining the usefulness of the frequency's original intent. There is, at least, one less pin needed on an integrated circuit and/or one less wire needed on the flex cable.
The frequency detection approach provides real time monitoring and multiplexing bidirectional I2C control and LCD data shared over a common serial bus with protection against electromagnetic interference (EMI).
Although the implementation is shown herein as electronic circuits, those skilled in the art will understand that other electronic circuits may perform the same functions, and that systems employing software, firmware and/or hardware and combinations thereof may be used to advantage to accomplish equivalent functions.
The present application is related to and claims the benefit of a Provisional Application Ser. No. 60/953,625; filed Aug. 2, 2007, of common, title, inventorship and ownership as the present application. This provisional application is incorporated herein by reference. The present application is a continuation-in-part of and claims the benefit of the filing dates of the following applications that are incorporated herein by reference: 1. “Method and Circuit for Interleaving, Serializing and Deserializing Camera and Keypad Data,” application Ser. No. 12/112,136, filed Apr. 30, 2008, by James B. Boomer and Oscar W. Freitas; 2. “Method and Circuit of Changing Modes Without Dedicated Control Pin,” application Ser. No. 12/112,152, filed Apr. 30, 2008, by James B. Boomer, Oscar W. Freitas, and Steven M. Macaluso; and 3. “Method and Circuit for Capturing Keypad Data, Serializing and Deserializing and Regenerating the Keypad Interface,” application Ser. No. 12/112,176, filed May 3, 2008, by James B. Boomer and Oscar W. Freitas. The present application is also related to an application entitled “Serializer for Multiple Applications,” application Ser. No. ______, filed ______, 2008, by Jongsoo (Daniel) Cho.
Number | Date | Country | |
---|---|---|---|
60953625 | Aug 2007 | US |