The present invention relates generally to decoding of low-voltage differential signaling (LVDS) protocols.
Automatic test equipment (ATE) refers to an automated, usually computer-driven, system for testing devices, such as semiconductors, electronic circuits, and printed circuit board assemblies. A device tested by ATE is referred to as a device under test (DUT).
ATE typically includes a computer system and a testing device or a single device having corresponding functionality. ATE may receive data from the DUT via a data bus. The data may be transferred via the data bus via low voltage differential signaling (LVDS). Although LVDS is generally a multipurpose interface standard, specific applications using LVDS may encode data, which are to be transferred, based on any of various standard protocols (e.g., to increase fidelity of the data). Examples of such protocols include the Standard Mobile Imaging Architecture (SMIA) and the Mobile Industry Processor Interface (MIPI). As such, data arriving at ATE from the DUT may be in an encoded form.
Various embodiments of the present invention are directed to providing a system for processing data encoded according to any one of multiple protocols and/or variations thereof (including, but not limited to, “one-off” protocols, which are based on standard protocols). In particular, certain embodiments are directed to decoding low voltage differential signaling (LVDS) data carrying image data provided by image sensor devices.
Although certain embodiments are described herein with reference to ATE, other embodiments may be used for processing data for purposes other than testing. In addition, although certain embodiments are described herein with reference to LVDS data, other embodiments may be used for processing data transmitted according to other signaling systems (including, but not limited to, other types of differential signaling).
An embodiment of the invention is directed to a system for processing a plurality of encoded signals carrying data. The system includes an electronic circuit configured to receive the encoded signals from one or more external devices, wherein the data are encoded in the encoded signals according to one or more of a plurality of protocols. The system further includes a processor configured to receive the encoded signals from the electronic circuit, and to extract the data from the encoded signals by decoding the encoded signals. The processor is configured to perform decoding according to the plurality of protocols.
Another embodiment of the invention is directed to a method for processing a plurality of encoded signals carrying data. The method includes: receiving the encoded signals from one or more external devices, wherein the data are encoded in the encoded signals according to one or more of a plurality of protocols; sending the encoded signals to a processor for performing decoding according to the plurality of protocols; and extracting the data from the encoded signals by decoding the encoded signals.
Like reference numerals in different figures indicate like elements.
Automatic test equipment (ATE) may be called upon to test devices that produce data that are encoded based on any one of a variety of low voltage differential signaling (LVDS) protocols. Testing the devices may involve analyzing the data produced by the devices. However, because each of the LVDS protocols may be different from one another, each of these protocols may require a different form of processing (including, but not limited to, decoding) at the receiving end. As such, ATE may need to process encoded data in a certain manner, according to the protocol that was used by the originating device in encoding the data.
Although certain embodiments are described herein with reference to ATE, other embodiments may be used for processing data for purposes other than testing. In addition, although certain embodiments are described herein with reference to LVDS data, other embodiments may be used for processing data transmitted according to other signaling systems (including, but not limited to, other types of differential signaling).
In embodiments of the present invention, a system for processing data includes a device under test (DUT) coupled to ATE. The DUT generates data that are received at and analyzed by the ATE for (including, but not limited to) determination of device characteristics). The data are transferred using an LVDS protocol via a data bus. That is, the data are protocol-encoded LVDS data. The ATE includes a capturing device for capturing the encoded LVDS data. The ATE also includes a processor for decoding the data and extracting the decoded data (including, but not limited to, raw data) from the encoded data stream. In certain embodiments that are directed to image data produced by an image sensor, the decoded data may include image data frames (see, e.g., image data frames 160 of
With reference to
The system 10 includes a tester 12 (including, but not limited to, ATE or a similar testing device) and a computer system 14 for controlling the tester 12. The computer system 14 interfaces with the tester 12 over a connection 16 (including, but not limited to, a hardwire connection). In one embodiment, the computer system 14 sends commands to the tester 12 in order to initiate an execution of routines and functions for testing the DUT 18. Such executing test routines may, as described in further detail below, initiate the generation and transmission of test signals to the DUT 18 and the collection of responses from the DUT 18.
With continued reference to
The conductor 20 also senses signals at the pin 22 provided in response to the test signals delivered from the tester 12. For example, the DUT 18 may provide a voltage (or current) signal in response to a test signal delivered via the conductor 20. The voltage signal may be sensed at the pin 22 and delivered over the conductor 20 to the tester 12 for analysis.
With reference to
The system 100 also includes ATE 130 coupled with external devices including, but not limited to, the DUT 110 via a data bus 120. The ATE 130 includes a capturing device 140. The capturing device 140 captures LVDS data provided to it. Those skilled in the art will appreciate that the capturing device 140 may capture the data using any suitable device or devices for capturing the data (including, but not limited to, memory or storage devices such as registers, disk drives, RAM devices, and the like).
The ATE 130 further includes a central processing unit 150 (such as, but not limited to, a microprocessor in a personal computer or more than one such microprocessors). The central processing unit 150 includes one or more software modules (and/or firmware modules) configured to decode data of (for example, extract raw data from) an encoded LVDS data stream. In one embodiment, the one or more software modules are configured to decode data according to any of a plurality of protocols.
In one embodiment, the central processing unit is configured to detect (or determine) the protocol by which a data stream is encoded. Here, each of the software modules may be configured to decode data that are encoded using a corresponding protocol (or variation thereof and/or modification thereto).
In another embodiment, the central processing unit 150 receives information that identifies the protocol by which the data stream is encoded. Accordingly, the central processing unit 150 decodes the data stream using the received information.
The central processing unit 150 may be supplied with the information in any one of various ways, before (or concurrent with) the receiving of data from the DUT 110. For example, a user may supply the ATE 130 with the information by interacting via a software program (or routine). The software program may be implemented at the central processing unit 150 or another processing unit of the ATE 130. As another example, the central processing unit 150 may be supplied with the information by loading a software program that informs the central processing unit 150 of the identify of the protocol. Here, the loading of the software program may be similar to installing a driver for a hardware device.
As such, the central processing unit 150 can accommodate any one of multiple protocols. For example, software modules (or variations thereof or modifications thereto) may be implemented in the central processing unit 150 to process different protocols (or variations thereof and/or modifications thereto).
In one embodiment, the capturing device 140 is located on a so-called “instrument board” of the ATE 130. In a further embodiment, the central processing unit 150 is located separate from the instrument board of the ATE 130.
A method of processing decoded data will now be described in more detail with reference to
According to one embodiment, the processing of the encoded data, as performed by the capturing device 140, is generally relatively simple. That is, the capturing device 140 captures the encoded data provided to it by one or more external devices, such as the DUT 110 (see, for example, step 301 of
The central processing unit 150 decodes the encoded data using one or more software modules. In one embodiment, the central processing unit 150 detects the protocol(s) by which the encoded data were encoded (see, for example, step 303 of
In another embodiment, the central processing unit 150 receives information that identifies the protocol by which the data stream is encoded (see, for example, step 303 of
Accordingly, a corresponding one (or more) of the modules is used to decode the data to produce decoded data (see, for example, step 304 of
For example, in one embodiment, the decoded data includes image data frames produced by an image sensor (e.g., see frames 160 of
According to embodiments described above, protocol-encoded LVDS data produced by a DUT is captured from a data bus on an instrument board of an ATE. The data are captured in encoded form. The protocol-encoded data stream is then transferred to a processing unit separate from the instrument board. At the processing unit, a modular program (or programs) extracts decoded data (including, but not limited to, raw data, from the protocol encoded data stream.
As described above, embodiments of the invention accommodate data that is encoded according to any one of various protocols and provide efficient decoding of encoded data streams. Such protocols may include standard protocols and variations/modifications thereof (e.g., so-called “one-off” protocols that are produced by modifying standard protocols). Accommodation of such data is provided without requiring the performing of hardware/firmware design and verification. In the described embodiments, encoded data are captured generally verbatim and moved to a processing unit which has a set of programmed instructions for extracting raw data from the protocol-encoded data. As such, the extraction is controlled by modifiable software that can be changed efficiently to accommodate different protocols (or variations thereof and/or modifications thereto).
It should be understood that various modifications may be made to the embodiments disclosed herein. Therefore, the above description should not be construed as limiting, but merely as exemplification of the various embodiments. By way of example, other embodiments may be used for decoding LVDS data for purposes other than testing. Those skilled in the art will envision other modifications within the scope and spirit of the claims appended thereto.
This application claims priority from U.S. Provisional Application No. 61/017,521, filed on Dec. 28, 2007, incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61017521 | Dec 2007 | US |