The present disclosure relates generally to information handling systems, and more particularly to an oscilloscope system for validating information handling systems.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Information handling systems sometimes undergo testing and validation. For example, server computing devices, tablet computing devices, mobile phones, laptop/notebook computing devices, and/or a variety of other computing devices, are sometimes subject to testing and validation by designers that use oscilloscopes to determine, for example, signal integrity of signals transmitted using those computing devices. Similarly, oscilloscopes may be used for testing and validation of components of the computing devices such as, for example, a Hard Disk Drive (HDD), Peripheral Component Interconnect Express (PCIe) adapters, Dual In-Line Memory Modules (DIMMs), and other computing device hardware components known in the art. For example, venders often use oscilloscopes to qualify computing device hardware components that support high speed interfaces (e.g., Serial Attached SCSI (SAS), Serial AT Attachment (SATA), Peripheral Component Interconnect Express (PCIe), and a Double Data-Rate (DDR) interface).
However, as the signal speeds in computing devices continue to increase, limitations in oscilloscopes are becoming more apparent. For example, it has been found that oscilloscope measurements of computing devices are difficult to correlate with simulation measurements obtained from running a simulation of that computing device using a simulation system.
Accordingly, it would be desirable to provide an improved oscilloscope system.
According to one embodiment, an information handling system (IHS) includes an input signal port; a processing system coupled to the input signal port; and a memory system that is coupled to the processing system and that stores instruction that, when executed by the processing system, cause the processing system to provide a measurement engine that is configured to: capture, via an input signal probe that is coupled to the input signal port and a device under test, a first output test pattern that is generated by the device under test in response to a first input test pattern that is received from a transmitter device; derive, using the first input test pattern, a transfer function for the device under test; capture, via the input signal probe, a second input test pattern that is received from the transmitter device and that is different than the first input test pattern; and mathematically convolute, using the second input test pattern, the transfer function for the device under test to generate a reference measurement.
For purposes of this disclosure, an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, calculate, determine, classify, process, transmit, receive, retrieve, originate, switch, store, display, communicate, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, or other purposes. For example, an information handling system may be a personal computer (e.g., desktop or laptop), tablet computer, mobile device (e.g., personal digital assistant (PDA) or smart phone), server (e.g., blade server or rack server), a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The information handling system may include random access memory (RAM), one or more processing resources such as a central processing unit (CPU) or hardware or software control logic, ROM, and/or other types of nonvolatile memory. Additional components of the information handling system may include one or more disk drives, one or more network ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, touchscreen and/or a video display. The information handling system may also include one or more buses operable to transmit communications between the various hardware components.
In one embodiment, IHS 100,
Referring now to
The device under test 202 may include a transmitter device 204 that is configured to generate signals such as, for example, a series of analog pulses that depend on input digital signals, and transmit the signals across a channel 206 in the device under test 202 to a receiver device 208 in the device under test 202. The channel 206 may provide the electrical path between the transmitter device 204 and the receiver device 208, which may include a high speed serial link that is provided by one or more printed circuit board (PCB) traces, vias, connectors, and/or other channel components that would be apparent to one of skill in the art in possession of the present disclosure. The receiver device 208 may be configured to amplify the received analog signal, and sample those received analog signals to output a corresponding digital bit stream. While an embodiment of the device under test 202 is illustrated as including the transmitter device 204, channel 206, and the receiver device 208, one of skill in the art in possession of the present disclosure would recognize that the device under test 202 may include any one, or any combination of, the transmitter device 204, channel 206, and the receiver device 208 (e.g., the device under test 202 may include only the channel 206) while remaining within the scope of the present disclosure. Furthermore, one of skill in the art in possession of the present disclosure will recognize that the embodiment of the device under test 202 illustrated in
The oscilloscope testing system 200 also includes an oscilloscope 210 that may be provided by the IHS 100 discussed above with reference to
The oscilloscope system 200 may optionally include a simulation system 214 which may be provided by the IHS 100 discussed above with reference to
Referring now to
In another example, the oscilloscope chassis 302 may house an additional processing system (not illustrated, but which may include the processor 102 discussed above with reference to
The oscilloscope chassis 302 also houses a display screen subsystem 312 that is coupled to the display engine 310 (e.g., via a coupling between the processing system and the display screen subsystem 312). In an embodiment, the display screen subsystem 312 may be provided by a display device that is integrated into the oscilloscope 300 and that includes a display screen (e.g., a cathode ray tube (CRT) display screen, an light-emitting diode (LED) display screen, a liquid crystal display (LCD) screen, an organic light-emitting diode (OLED) display screen, and/or any other display screen that would be apparent to one of skill in the art in possession of the present disclosure). In another embodiment, the display screen subsystem 312 may be provided by a display device that is coupled directly to the oscilloscope 300 (e.g., a display device coupled to the oscilloscope 300 by a cable or wireless connection). The display screen subsystem 312 may include a display screen via which a graphical user interface (GUI) may be provided by the display engine 310.
The oscilloscope chassis 302 may further house a communication system 314 that is coupled to the oscilloscope engine 308 (e.g., via a coupling between the communication system 314 and the processing system 304) and that may be configured to provide for wireless communication via a network using IEEE 802.11 protocols (Wi-Fi), via wired communications (e.g., the Ethernet protocol), and/or via other communications with the simulation system 214. For example, wireless communications via the communication system 314 may utilize various direct wireless communication protocols such as Bluetooth®, Bluetooth® Low Energy (BLE), near field communication (NFC), infrared data association (IrDA), ANT, Zigbee, and/or other wireless communication protocols that allow for direct wireless communication between devices. The oscilloscope chassis 302 may also house a storage device (not illustrated, but which may be the storage device 108 discussed above with reference to
The oscilloscope chassis 302 may also include one or more control devices 322 that may include input devices such as, for example, a focus control, an intensity control, a shape control, a beam finder control, a timebase control, a hold control, a horizontal sensitivity control, a vertical position control, a horizontal position control, a dual-trace control, a delayed-sweep control, a sweep trigger control, and/or any other oscilloscope input/control devices that would be apparent to one of skill in the art in possession of the present disclosure. The oscilloscope chassis 302 may also include one or more input/output (I/O) ports 324 that may be configured to receive the signal that is generated by the device under test 202 and that is to be measured by the oscilloscope engine 308. The I/O port 324 may include a connector such as, for example, a coaxial connector (e.g., BNC or UHF), a binding post connector, a banana plug connector, and/or any other connectors that would be apparent to one of skill in the art in possession of the present disclosure. The I/O port 324 may be configured to couple to a probe 326 (e.g., the probe 212 of
Referring now to
The chassis 402 also houses a display screen subsystem 406 that is coupled to the display engine 404 (e.g., via a coupling between the processing system that provides the display engine 404 and the display screen subsystem 406). In an embodiment, the display screen subsystem 406 may be provided by a display device that is integrated into a simulation system 400 and that includes a display screen (e.g., a display screen on a laptop/notebook computing device, a tablet computing device, or a mobile phone). In another embodiment, the display screen subsystem 406 may be provided by a display device that is coupled directly to the simulation system 400 (e.g., a display device coupled to a desktop computing device by a cabled or wireless connection). The display screen may be provided by a cathode ray tube (CRT) display screen, an light-emitting diode (LED) display screen, a liquid crystal display (LCD) screen, an organic light-emitting diode (OLED) display screen, and/or any other display screen that would be apparent to one of skill in the art in possession of the present disclosure. The chassis 402 may also house a communication system 410 that is coupled to the display engine 404 (e.g., via a coupling between the processing system that provides the display engine 404 and the communication system 410). In an embodiment, the communication system 410 may be provided by a wireless communication subsystem (e.g., a WiFi communication subsystem, a BLUETOOTH® communication subsystem, and/or other wireless communication subsystems known in the art), a network interface controller (NIC), wired communication subsystem (e.g., an Ethernet communication subsystem), and/or any other communication subsystems that would be apparent to one of skill in the art in possession of the present disclosure.
In an embodiment, the memory system may also include instruction that, when executed by the processing system, cause the processing system to provide an simulation engine 412 that is configured to perform the functions of the simulation engines and simulation systems discussed below. The simulation engine 412 may be configured to provide any of a variety of simulations that would be apparent to one of skill in the art in possession of the present disclosure, and may be configured to communicate with the display engine 404 as discussed below. In a specific example, the simulation engine 412 may provide an operating system for the simulation system 400, as well as any of the applications discussed in the examples below. The chassis 402 may also house a storage device (not illustrated, but which may be the storage device 108 discussed above with reference to
Referring now to
The method 500 begins at block 502 where a first output test pattern that is generated by the device under test is captured in response to a first input test pattern that is received by the device under test from a transmitter device. In an embodiment of block 502, the transmitter device 204 may receive a first digital input test pattern and, in response, generate and provide an analog test pattern to the channel 206. However, in various embodiments, the transmitter device 204 may include a built in self-test (GIST) circuit that is configured to generate the first input test pattern. For example, the first input test pattern may provide a periodic pattern of logical off bits and logical on bits (e.g., an alternating pattern of 0s and 1s). In some embodiments, the first input test pattern may provide a number of logical off bits and logical on bits to settle reflections in the device under test 202. For example, the length of the input test pattern may be selected to include 500 UIs for logical on bits and 500 UIs for logical off bits. However, one of skill in the art in possession of the present disclosure would recognize that the input test pattern may include fewer logical on bits and/or logical off bits, or more logical on bits and logical off bits, to settle the reflections in the device under test 202. The input test pattern may also be configured such that all sampling points may be captured to derive a transfer function of the device under test 202 from the input test pattern. In some embodiments, the input test pattern may be repeated in a continuous loop until an oscilloscope capture is performed.
At block 502, the oscilloscope 300 may capture the first output test pattern that is generated from the first input test pattern via the probe 212 that is coupled to the I/O port 324 and the device under test 202. As illustrated in
x(t)=x(n), where n=0,1,2,3, . . . N−1,N
The method 500 may then proceed to block 504 where a transfer function is derived for the device under test. In an embodiment at block 504, the oscilloscope engine 308 may be configured to estimate the finite difference of x(n) as shown by the equation:
x′(t)=(x(n)1)−x(n))/(Δt);
As illustrated
The method 500 may then proceed to block 506 where a second input test pattern is captured that is to be provided to the device under test from the transmitter device. In an embodiment of block 506, the transmitter device 204 may receive a second digital input test pattern and, in response, generate and provide an analog test pattern to the channel 206. However, in various embodiments, the transmitter device 204 may include a built in self-test (GIST) circuit that is configured to generate the second input test pattern. In some embodiments, the second digital input test pattern may include a pseudo random bit pattern and/or any other test bit pattern that would be apparent to one of skill in the art in possession of the present disclosure. For example, graph 606 of
The method 500 may then proceed to block 508 where the transfer function for the device under test is mathematically convoluted using the second input test pattern in order to generate a reference oscilloscope measurement. In an embodiment, at block 508, the oscilloscope engine 308 may perform the mathematical convolution. For example, the oscilloscope engine 308 may divide the second input test pattern by the transfer function for the device under test 202 in order to generate the reference oscilloscope measurement. As illustrated in
In various examples, the voltage waveform may be displayed by the display engine 310 on a display screen 313 of the display screen subsystem 312. In other examples, the voltage waveform may be used by the oscilloscope engine 308 to generate an eye diagram, which may be displayed by the display engine 310 on the display screen 313 of the display screen subsystem 312. As illustrated in
The method 500 may continue to block 510 where it is determined whether the reference oscilloscope measurement satisfies a predetermined threshold of similarity with a test measurement. In an embodiment of block 510, the oscilloscope engine 308 may capture a second output test pattern that is generated by the device under test 202 in response to a third input test pattern that is received by the device under test 202 from the transmitter device 204. In some embodiments, the third input test pattern may be the same as the second input test pattern. In some embodiments, the probe 326 may be positioned at the device under test 202 where the first output test pattern was captured when capturing the second output test pattern in order to obtain the test measurement which may provide a test oscilloscope measurement. The test oscilloscope measurement may be a test voltage waveform, a test eye diagram generated from a test voltage waveform, and/or any other test oscilloscope measurement that would be apparent to one or skill in the art in possession of the present disclosure. Referring to the example in
In various embodiments of block 510, the simulation engine 412 may capture a second output test pattern that is generated by a simulation of the device under test 202 in response to a third input test pattern that is received from the transmitter device 204. In various embodiments, the third input test pattern may be the same as the second input test pattern discussed above. The simulation system 214 may capture the second output test pattern in the simulated device under test in order to obtain the test measurement which may include a simulation measurement made in a simulated location corresponding to the physical location on the device under test 202 where the first output test pattern was physically captured. The simulation measurement may be a simulation voltage waveform, a simulation eye diagram generated from a simulation voltage waveform, and/or any other simulation measurement that would be apparent to one or skill in the art in possession of the present disclosure. As illustrated in
In various examples, the simulation engine 412 may store the simulation measurement as a simulation measurement 416 in the storage system 414, and/or may provide the simulation measurement to the oscilloscope 210 via the communication system 410 and the communication system 314, which may be stored by the storage system 316 as a simulation measurement 320. Thus, the simulation engine 412 and/or the oscilloscope engine 308 may correlate the reference oscilloscope measurement with the simulation measurement to determine whether a predetermined threshold of similarity has been satisfied. For example, the oscilloscope engine 308 and/or the simulation engine 412 may determine whether the eye heights and/or eye widths of the eye diagram 702 and the eye diagram 704 are 100% similar, 99.5% similar, 99% similar, 95% similar, 90% similar, or any other predetermined level of similarity that would be apparent to one of skill in the art in possession of the present disclosure. In various embodiments of block 510, the oscilloscope engine 308 and the simulation system 400 may determine a level similarity between the reference oscilloscope measurement and the test oscilloscope measurement and/or the simulation measurement, and provide a notification as the level of similarity to a designer of the device under test 202.
If at block 510 it is determined that the reference oscilloscope measurement satisfies a predetermined threshold of similarity with the test measurement, the method 500 may proceed to block 512 where a correlation notification is provided that indicates that the test measurement correlates with the reference oscilloscope measurement. For example, the oscilloscope engine 308 may provide the correlation notification to the display engine 310, which may provide the correlation notification for display on the display screen 313 of the display screen subsystem 312. In other examples, the simulation engine 412 may provide the correlation notification to the display engine 404, which may provide the correlation notification for display on a display screen of the display screen subsystem 406.
If at block 510 it is determined that the reference oscilloscope measurement does not satisfy a predetermined threshold of similarity with the test measurement, the method 500 may proceed to block 514 where an error notification is provided that indicates that the test measurement does not correlate with the reference measurement. For example, the oscilloscope engine 308 may provide the error notification to the display engine 310, which may provide the error notification for display on the display screen 313 of the display screen subsystem 312. In other examples, the simulation engine 412 may provide the error notification to the display engine 404, which may provide the error notification for display on a display screen of the display screen subsystem 406. This error notification may indicate to the designer that there is something wrong with the test measurement, and may use any information provided in the notification to perform the test again at the device under test 202 (with the second input test pattern) and/or perform the simulation of the device under test 202 again at the simulation engine 412 (with the third input test pattern, which may require adjustments to the variables provided for the simulation of the device under test 202.) The correlation notification and/or error notification may include information such as differences in eye height and/or eye width, how well the test measurement and the reference oscilloscope measurement correlate, and/or any other information that would be apparent to one of skill in the art in possession of the present disclosure. If there is no correlation, the error notification may include suggestions on conditions to for the designer to check such as, for example, re-sending the second input test pattern, calibrating the oscilloscope 300, checking settings of the oscilloscope 300, and/or any other suggestions that would be apparent one of skill in the art in possession of the present disclosure. In various embodiments, while the oscilloscope 300 and/or the simulation system 400 may provide the correlation notification and/or error notification via as a notification on the display screen subsystems 312 and/or 406, one of skill in the art in possession of the present disclosure would recognize that the correlation notification and/or error notification may be presented to the designer in a wide variety of manners such as, for example, via a user device (e.g., a mobile phone) coupled to the oscilloscope 300 and/or the simulation system 400, via a visual indicator (e.g., one or more LEDs) located on the oscilloscope 300 and/or the simulation system 400, and/or via an audio indicator (e.g., a speaker system) located on the oscilloscope 300 and/or the simulation system 400.
Thus, systems and methods have been described that provide a reference oscilloscope measurement at high signal speeds that may be correlated to test measurements such as, for example, simulation measurements and/or test oscilloscope measurements, when validating a device under test. The systems and methods of the present disclosure provide the reference oscilloscope measurement accurately within hours, as opposed to days with conventional systems that would require infinite persistence to obtain accurate test oscilloscope measurements. This reference oscilloscope measurement of the present disclosure may be correlated with a simulation measurement because that reference oscilloscope measurement may be obtained with a similar number of sampling points as utilized in the simulation measurements. Furthermore, by obtaining a greater number of sampling points with the reference oscilloscope measurement, the sampling points may be better interpolated to decrease run to run variation on test oscilloscope test measurements at the oscilloscope. In addition, the reference oscilloscope measurement may be used to debug which aspect of the device under test is causing an issue when performing validation tests, as well as provide other benefits that would be apparent to one of skill in the art in possession of the present disclosure.
Although illustrative embodiments have been shown and described, a wide range of modification, change and substitution is contemplated in the foregoing disclosure and in some instances, some features of the embodiments may be employed without a corresponding use of other features. Accordingly, it is appropriate that the appended claims be construed broadly and in a manner consistent with the scope of the embodiments disclosed herein.