US20150039272A1 - Integrated Digitizer System with Streaming Interface - Google Patents
Integrated Digitizer System with Streaming Interface Download PDFInfo
- Publication number
- US20150039272A1 US20150039272A1 US13/955,523 US201313955523A US2015039272A1 US 20150039272 A1 US20150039272 A1 US 20150039272A1 US 201313955523 A US201313955523 A US 201313955523A US 2015039272 A1 US2015039272 A1 US 2015039272A1
- Authority
- US
- United States
- Prior art keywords
- data
- acquisition
- records
- asm
- record
- 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.)
- Granted
Links
- 238000009432 framing Methods 0.000 claims abstract description 30
- 238000000034 method Methods 0.000 claims description 40
- 230000008569 process Effects 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 16
- 201000008217 Aggressive systemic mastocytosis Diseases 0.000 claims description 4
- 238000005259 measurement Methods 0.000 description 21
- 239000000872 buffer Substances 0.000 description 15
- 230000001360 synchronised effect Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 9
- 238000012360 testing method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000008713 feedback mechanism Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 230000003750 conditioning effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000004886 process control Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000004936 stimulating effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G04—HOROLOGY
- G04F—TIME-INTERVAL MEASURING
- G04F10/00—Apparatus for measuring unknown time intervals by electric means
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
Definitions
- This invention relates generally to measurement and data acquisition systems and, more particularly, to a data acquisition system with an improved integrated digitizer having a streaming interface.
- Measurement systems are oftentimes used to perform a variety of functions, including measurement of a physical phenomena, measurement of certain characteristics or operating parameters of a unit under test (UUT) or device under test (DUT), testing and analysis of physical phenomena, process monitoring and control, control of mechanical or electrical machinery, data logging, laboratory research, and analytical chemistry, to name a few examples.
- UUT unit under test
- DUT device under test
- a typical contemporary measurement system comprises a computer system, which commonly features a measurement device, or measurement hardware.
- the measurement device may be a computer-based instrument, a data acquisition device or board, a programmable logic device (PLD), an actuator, or other type of device for acquiring or generating data.
- PLD programmable logic device
- the measurement device may be a card or board plugged into one of the I/O slots of the computer system, or a card or board plugged into a chassis, or an external device.
- the measurement hardware is coupled to the computer system through a PCI bus, PXI (PCI extensions for Instrumentation) bus, a USB (Universal Serial Bus), a GPIB (General-Purpose Interface Bus), a VXI (VME extensions for Instrumentation) bus, a serial port, parallel port, or Ethernet port of the computer system.
- the measurement system includes signal-conditioning devices, which receive field signals and condition the signals to be acquired.
- a measurement system may typically include transducers, sensors, or other detecting means for providing “field” electrical signals representing a process, physical phenomena, equipment being monitored or measured, etc.
- the field signals are provided to the measurement hardware.
- a measurement system may also typically include actuators for generating output signals for stimulating a DUT or for influencing the system being controlled.
- DAQs data acquisition systems
- PC-based measurement and DAQs and plug-in boards are used in a wide range of applications in the laboratory, in the field, and on the manufacturing plant floor, among others.
- Multifunction DAQ devices typically include digital I/O capabilities in addition to the analog capabilities described above.
- Digital I/O applications may include monitoring and control applications, video testing, chip verification, and pattern recognition, among others.
- DAQ devices may include one or more general-purpose, bidirectional digital I/O lines to transmit and receive digital signals to implement one or more digital I/O applications.
- DAQ devices may also include a Source-Measure Unit (SMU), which may apply a voltage to a DUT and measure the resulting current, or may apply a current to the DUT and measure the resulting voltage.
- SMU Source-Measure Unit
- a digitizer system is a device that uses one or more Analog to Digital Converters (ADC) in order to capture segments of interest of a time varying analog electric signal as a digital representation to be stored and processed by a computer system.
- ADC Analog to Digital Converters
- ADC Analog to Digital Converters
- a monolithic, or integrated digitizer system may include a trigger detection circuit (TDC) and an acquisition state machine (ASM).
- the ASM may start and stop sample data acquisition tasks based on trigger events and parameters programmed in the ASM, and may organize data in acquisition records.
- the IDS may also include a high speed streaming interface (HSSI) transmitter capable of transmitting real time acquisition (sample) data.
- HSSI high speed streaming interface
- the ASM may also provide framing information to the HSSI, which frames the sample data according to the organization of the sample data in records, which may be recovered by an HSSI receiver coupled to the HSSI transmitter.
- the HSSI receiver may be included in an expansion module that receives and consumes (i.e. uses and/or processes) the received sample data.
- the HSSI may use an appropriate encoding scheme to transmit data and messages from the ASM, including, for example, the insertion of control symbols in the data stream (in addition to the sample data).
- the ASM may also generate additional sideband data (timestamps), which may contain information related to the timing and status of each acquisition record.
- the sideband data may be framed with a different set of control symbols, and may be transmitted through the HSSI interface.
- sideband data may also be streamed (e.g. using direct memory access—DMA) through a different path to shared memory.
- DMA direct memory access
- the sideband data may also be stored in local memory.
- the ASM may use a synchronization mechanism to synchronize the start and stop of data acquisition tasks to other ASMs in other digitizer systems. Accordingly, the sideband data may be used to correlate data from synchronized acquisitions received through the HSSI interfaces without having to synchronize different HSSI interfaces to each other.
- the record data (i.e. the sample data in a record) may be processed—for example, performing custom digital signal processing (DSP) processes on individual records—after being transferred through the HSSI interface, maintaining the correlation between records among different digitizer systems and without requiring the custom DSP processes to be synchronized to each other.
- DSP digital signal processing
- the ASM may wait for an acknowledge event from the HSSI receiver before acquiring and streaming a new data record or group of records.
- the ASM may react immediately to the acknowledge event in order to minimize dead acquisition time between records and/or groups of records.
- the ASM may wait a pre-defined length of time (referred to as a hold-off period) before starting acquisition of a new record or group of records (i.e. the acquisition of a new set of sample data that is organized/formed into a new record or group of records), in order to more accurately determine (predict) the beginning of the acquisition of the new record or group of records.
- the acknowledge event from the ASM may be used to detect the proper operation of the system, as well as error conditions. For example, when the acknowledge event is received before the hold-off period expires, the system is considered to be operating properly. When the acknowledge event is received after the hold-off period expires, the latency of the acknowledge event may be interpreted as the detection of an error condition.
- FIG. 1 shows an instrumentation control system with instruments networked together according to one set of embodiments
- FIG. 2 shows an industrial automation system with instruments networked together according to one set of embodiments
- FIG. 3 shows the partial block diagram of one embodiment of a data acquisition system using an integrated digitizer system with a streaming interface
- FIG. 4 shows the partial block diagram of another embodiment of a data acquisition system using an integrated digitizer system with a streaming interface
- FIG. 5 shows a detailed partial block diagram of one embodiment of a simplified multichannel digitizer system
- FIG. 6 shows a timing diagram of the data and control signals illustrating operation of the multichannel digitizer system of FIG. 5 ;
- FIG. 7 shows a time flow diagram illustrating the flow of data acquisition process according to one embodiment.
- Embodiments of the present invention may be used in systems configured to perform test and/or measurement functions, to control and/or model instrumentation or industrial automation hardware, or to model and simulate functions, e.g., modeling or simulating a device or product being developed or tested, etc.
- the present invention may equally be used for a variety of applications, and is not limited to the applications enumerated above.
- applications discussed in the present description are exemplary only, and the present invention may be used in any of various types of systems.
- the system and method of the present invention is operable to be used in any of various types of applications, including the control of other types of devices such as multimedia devices, video devices, audio devices, telephony devices, Internet devices, etc.
- FIG. 1 illustrates an exemplary instrumentation control system 100 which may be configured according to embodiments of the present invention.
- System 100 comprises a host computer 82 which may couple to one or more instruments configured to perform a variety of functions using timing control implemented according to various embodiments of the present invention.
- Host computer 82 may comprise a CPU, a display screen, memory, and one or more input devices such as a mouse or keyboard as shown.
- Computer 82 may operate with one or more instruments to analyze, measure, or control a unit under test (UUT) or process 150 .
- UUT unit under test
- the one or more instruments may include a GPIB instrument 112 and associated GPIB interface card 122 , a data acquisition board 114 inserted into or otherwise coupled with chassis 124 with associated signal conditioning circuitry 126 , a VXI instrument 116 , a PXI instrument 118 , a video device or camera 132 and associated image acquisition (or machine vision) card 134 , a motion control device 136 and associated motion control interface card 138 , and/or one or more computer based instrument cards 142 , among other types of devices.
- the computer system may couple to and operate with one or more of these instruments.
- the computer system may be coupled to one or more of these instruments via a network connection, such as an Ethernet connection, for example, which may facilitate running a high-level synchronization protocol between the computer system and the coupled instruments.
- the instruments may be coupled to the unit under test (UUT) or process 150 , or may be coupled to receive field signals, typically generated by transducers.
- System 100 may be used in a data acquisition and control applications, in a test and measurement application, an image processing or machine vision application, a process control application, a man-machine interface application, a simulation application, or a hardware-in-the-loop validation application, among others.
- FIG. 2 illustrates an exemplary industrial automation system 160 that may be configured according to embodiments of the present invention.
- Industrial automation system 160 may be similar to instrumentation or test and measurement system 100 shown in FIG. 1 . Elements that are similar or identical to elements in FIG. 1 have the same reference numerals for convenience.
- System 160 may comprise a computer 82 which may couple to one or more devices and/or instruments configured to perform a variety of functions using timing control implemented according to various embodiments of the present invention.
- Computer 82 may comprise a CPU, a display screen, memory, and one or more input devices such as a mouse or keyboard as shown.
- Computer 82 may operate with the one or more devices and/or instruments to perform an automation function, such as MMI (Man Machine Interface), SCADA (Supervisory Control and Data Acquisition), portable or distributed data acquisition, process control, and advanced analysis, among others, on process or device 150 .
- MMI Man Machine Interface
- SCADA Supervisory Control and Data Acquisition
- portable or distributed data acquisition process control
- advanced analysis among others, on process or device 150 .
- the one or more devices may include a data acquisition board 114 inserted into or otherwise coupled with chassis 124 with associated signal conditioning circuitry 126 , a PXI instrument 118 , a video device 132 and associated image acquisition card 134 , a motion control device 136 and associated motion control interface card 138 , a field bus device 170 and associated field bus interface card 172 , a PLC (Programmable Logic Controller) 176 , a serial instrument 182 and associated serial interface card 184 , or a distributed data acquisition system, such as the Compact FieldPoint or CompactRIO systems available from National Instruments, among other types of devices.
- the computer system may couple to one or more of the instruments/devices via a network connection, such as an Ethernet connection, which may facilitate running a high-level synchronization protocol between the computer system and the coupled instruments/devices.
- data acquisition may be performed using an improved integrated digitizer system with streaming interface.
- a typical digitizer system generally includes the following components:
- a communication link in an integrated circuit between the ADC and a trigger circuit may be implemented as a parallel data path of 1024 bits running at 437 MHz in a 65 nm circuit in order to achieve a bandwidth of 56 GB/s (gigabytes per second).
- the latency and determinism of the communication link between the two blocks Another important aspect (relating to the previous example) is the latency and determinism of the communication link between the two blocks.
- the latency is minimal, as the data exchange between the two blocks may be controlled through the use of one system clock (437 MHz, for example).
- the interface may also be very deterministic, since the delay to transfer any two points is always the same (one clock cycle).
- the latency may be as long as several microseconds ( ⁇ sec) due to all the necessary layers of communication circuits for the link.
- ⁇ sec microseconds
- latency can't always be guaranteed because of great variability in propagation delays in the inter-IC connections, variability in clock phases, and other similar circuitry related aspects.
- the additional latency and lack of determinism makes the design of precise instruments very complex.
- the latency and lack of determinism of the communication channel makes it increasingly difficult to react to an event detected by the trigger circuit, perhaps necessitating temporary storage inside the digitizer system to compensate for the latency, and an appropriate algorithm to detect and correct for the variability stemming from the latency.
- DDR RAM double data rate random access memory
- the memory communication controller Even if the memory itself is designed using a modular approach, a similar argument may be applicable to the memory communication controller. For example, if a DDR3 memory controller is integrated into the design, the memory options for that design (for that system) may be limited to that type of RAM. If the memory controller were implemented, for example, in an FPGA, then it may be easily migrated to a DDR4 design without having to modify the other parts of the digitizer system.
- ADMS Advanced Mobile Communications
- FPGA field-programmable gate array
- Another aspect in favor of modular design is the ability to provide flexibility for processing the data prior to data storage. If the ADMS is integrated with the rest of the system, data processing needs to be implemented within the system. In contrast, if the ADMS is implemented in an FPGA, the system remains flexible, and further processing may be performed using the FPGA (i.e., in the FPGA) before the data is transmitted to the ADMS. The processing may be user defined and customized to the specific application of the digitizer system.
- an integrated digitizer system may include a high-speed streaming interface that allows for a modular ADSM circuit on a different IC than the IC that contains the IDS.
- the IDS may be implemented with a communication protocol allowing the ASM and the ADSM to communicate through the IC boundary in order to control what data is stored and when new data is acquired.
- FIG. 3 shows the block diagram of one embodiment of a digitizer (or data acquisition—DAQ) system 300 that includes an IDS 302 and an expansion IC 322 that includes an ADMS 328 .
- the expansion 322 is implemented in an FPGA, but alternate embodiments of system 300 might feature an application specific IC or other similar realization of expansion 322 for the purpose of implementing/containing ADMS 328 .
- DAQ system 300 may include several components as shown.
- IDS 302 may include one or more ADCs 302 / 306 operating at the same frequency and usually at the same sampling phase.
- FIG. 3 shows two ADCs 302 and 306 for the purposes of illustration, but alternate embodiments may include fewer or more ADCs, for example one ADC per data channel.
- the ADCs 302 / 306 may be integrated in the same IC as the rest of the system as shown in FIG. 3 , or they may be modular components connected to the Digitizer System through a high-speed ADC interface (such as JESD408B, for example), as illustrated in FIG. 4 , where ADCs 402 / 406 are external to IDS 402 .
- IDS 402 may include an ADC data interface 450 to receive the data from ADCs 402 / 406 .
- IDS 302 may also include channel DSP (CH DSP) blocks 304 / 308 , each corresponding to a respective channel, and hence to a respective ADC of ADCs 304 / 306 .
- CH DSP blocks 304 / 308 may be considered optional circuit/functional elements that allow signal processing operations to be applied to the data before its consideration for capture or triggering. That is, CH DSP blocks 304 / 308 may perform signal processing operations on the received, digitized data prior to the data being captured.
- Trigger Circuits 312 may inspect the channel data from CH DSP 304 / 308 and/or data from other external signals in order to detect events of interest.
- trigger circuit 312 may thereby provide events information to the Acquisition State Machine 310 .
- Acquisition State Machine 310 may select data to be acquired, and organize such data in acquisition sets called “records”.
- trigger circuits 312 and ASM 310 may be considered as operating in concert to detect events of interest on incoming data, and frame the data according to those events of interest.
- Each record may be created and organized by ASM 310 in response to the trigger information from trigger circuits 312 , from user input, or from another ASM module from a different digitizer system to be synchronized with IDS 302 .
- the records may contain an arbitrary amount of data that may be stored in a circular buffer in the ADMS 328 .
- ASM 310 may be operated to provide record information to ADMS 328 , with the record information indicating when data from one record ends, and data from a new record begins, enabling the ADMS to switch to a new circular buffer for the next record.
- the integrated ADMS 316 is an optional block within IDS 302 , providing integrated memory storage to IDS 302 , coupling to internal memory 320 .
- Integrated Record DSP 314 is a processing block that may be operated to perform signal processing operations applied to the data records (i.e. records of data) acquired by ASM 310 .
- a high speed streaming interface (HSSI) block may be used to implement a real time data streaming interface to an external module that includes ADMS 328 , e.g. an expansion FPGA 322 .
- HSSI 318 may implement a communication protocol for ASM 310 to communicate framing information corresponding to the data records (e.g. the start and end of data records) to an external circuit in a coherent manner.
- the elements for a possible embodiment of an expansion FPGA 322 may include a receiver HSSI 324 also implementing the communication protocol used by HSSI 318 , thereby receiving the framing information, and reconstructing the data transmitted by IDS 302 .
- the framing information e.g.
- Expansion 322 may also include an optional reconfigurable DSP block 626 that performs DSP operations on the received data records.
- Expansion module 322 also includes ADMS 328 coupled to modular RAM (i.e. DDR3 DRAM) 330 , which may part of expansion 322 , or external to expansion 322 (as shown in FIG. 3 ).
- ADMS 328 may store the data from the records in circular buffers, using the messages (i.e.
- DSP 326 may also provide an acknowledge signal (ACK) to ASM 310 to indicate that operations have been performed on data for a given record.
- ACK acknowledge signal
- IDS 302 may be streaming data real time to expansion module 322 while expansion module 322 is storing the data in (external) memory 330 . Then, once the acquisition of the data is complete, expansion module 322 may store the data in the memory on host system 452 . In other words, when data is stored/transmitted subsequent to acquisition of the data being complete, such storing/transmitting is considered to be taking place not in real time.
- FIG. 4 shows a DAQ subsystem 400 (directed at digitizing data) similar to DAQ subsystem 300 , with the difference that ADCs 402 and 406 are external to IDS 402 , while ADCs 304 and 306 are internal to IDS 302 . Accordingly, IDS 402 also includes an ADC data interface 450 to receive the digitized data (digital data corresponding to the captured analog samples), and provide the data to corresponding respective CH DSPs 304 and 308 for each respective channel.
- DAQ subsystem 400 illustrates two channels for the sake of simplicity, alternate embodiments may include additional channels, or a single channel as desired.
- FIG. 4 also shows DSP block 326 coupled to a host system 452 , e.g. a computer system that includes a central processing unit (CPU).
- host system 452 e.g. a computer system that includes a central processing unit (CPU).
- ASM 310 may be operated to acquire a certain number of records of data of arbitrary length.
- the last N samples of each record may be considered to be of interest, and therefore the data may be stored in a circular buffer, and may be read from the circular buffer by storing information corresponding to the record, e.g. by storing timestamps of the start and end of the record. These timestamps may be later translated into pointers in memory, e.g. in memory 330 .
- the ASM 310 may be operated to signal the start and end of a record to downstream circuits because the record is of arbitrary length. In order to transmit the data and the start of record and end of record events in a coherent way through the HSSI 318 / 324 , the information about the events (i.e.
- the information corresponding to the events may be embedded in the same data stream. This may be accomplished by encoding the data with a code that allows for data as well as control characters. In general, data of a specific length may be encoded with additional bits representing specific codes, adding to the length of the original data. Examples of such encodings include 8b/10b or 64b/66b, where the first number in each pair represents the length of the data, with two bits added for a respective code, representing the overall length in the second number. Other encodings may also be used.
- every 64-bit data to be sent may be encoded in a 66-bit word.
- the encoding may include appending two (2) bits to the original data word.
- the 64b word i.e. 64-bit word
- the word that immediately follows the appended two bits may be a control word (or control data) carrying special meaning. That is, the appended bits may be used to denote how the data thereafter is interpreted.
- the other 2-bit combinations may be reserved and/or not used.
- the 2-bit combinations unused in the embodiment discussed herein may be used for denoting additional features that may be implemented as desired.
- the ability to send control words in the same stream with the data allows the HSSI to encode events (or framing information) such as the start of a record and the end of a record.
- events or framing information
- control symbols may also be used to account for gaps in the data introduced by the different clock rates in the acquisition and streaming interfaces.
- the table below provides one example of possible encoding for the header and the control word, and the possible content of the data word:
- Control word “01” Word is data (i.e. 8 samples of 8 bits each) “10” Control - SOR[i], 0x00000000 00000Fi 0 ⁇ i ⁇ 256 (‘i’ is 8-bit number) “10” Control - EOR[j], 0xF0000000 000000j 0 ⁇ j ⁇ 256 (‘j’ is 8-bit number) “10” Control - IDLE 0xFFFF000 00000000 “11” Unused X “00” Unused X SOR stands for “start-of-record”, and EOR stands for “end-of-record”.
- FIG. 5 shows the block diagram of a simplified m-channel digitizer system 500 .
- Simplified digitizer 500 may be considered a more detailed representation of the portion of DAQ subsystems 300 and 400 that include the ADCs, trigger circuits, ASM, and HSSI circuitry.
- the ‘m’ (where ‘m’ is a positive integer) channels of the system may be free running and continuously digitizing the signal at their respective inputs using ADCs 502 , which may represent ‘m’ ADCs, or ADC 0-m , each ADC corresponding to a respective channel.
- the trigger circuits 504 may detect an event of interest (indicated as Ev i , where ‘i’ represents an identifying number for the event of interest that has been detected) and this event may be communicated to ASM 506 .
- the event may be caused by inspecting the ADC data or by events indicated to trigger circuits 504 through external signals 510 .
- an event of interest Ev i may be programmed to start an acquisition record, resulting in ASM 506 allowing record data to pass through the circuit.
- ASM 506 may also communicate the occurrence of the Start Of Record ‘i’ (SOR[i]) to HSSI 508 , coherently with the start of the data record.
- HSSI 508 Prior to the start-of-record, HSSI 508 be operated to continuously transmit the control symbol for IDLE, as no data is to be transmitted up until the time indicating a start-of-record.
- HSSI 508 may transmit the control symbol for SOR[i], and then proceed to transmit the record data, all part of the HSSI encoded data indicated in FIG. 5 .
- the bandwidth available at the HSSI 508 is greater than the bandwidth requirement of the record data, in order to accommodate control symbols that were not originally included in the record data, and to compensate for oscillator circuit tolerances that may cause frequency drifts.
- the HSSI 508 were designed to be the same bandwidth (BW) as the record data, and due to tolerances the BW of HSSI 508 was smaller than the record data, the interface might overflow.
- FIG. 6 shows a timing diagram 600 illustrating the signals of interest during operation of simplified digitizer system 500 .
- transmission of events of interest Ev i and Ev j to ASM 506 result in ASM 506 transmitting SOR[i] and EOR[j] indicators to HSSI interface 508 along with the Record Data corresponding to the ADC data during the time period that is bounded by the transmission of SOR[i] and EOR[j]. Consequently, the framing information and record data are all transmitted over the HSSI data bus from HSSI 508 as indicated, with the upper portion representative of the 2-bit header, and the lower portion representative of the subsequent control word/data word as designated in the header.
- the data word underneath represents control data (such as Idle and/or SOR or EOR framing information).
- control data such as Idle and/or SOR or EOR framing information.
- record data the data word underneath represents record data corresponding to the Record Data originally obtained from ADCs 502 , and transmitted to HSSI 508 by ADM 506 .
- IDLE symbols may be inserted by HSSI 508 between data words, as needed.
- Timing diagram 600 includes IDLE symbols 602 and 604 as examples of such IDLE symbols, and how they may be inserted in the HSSI encoded data stream.
- the HSSI may ignore all IDLE symbols.
- the HSSI detects any SOR[x] symbol, it may translate it into a SOR[x] command, ensuring that coherence with the data is maintained.
- the data after the SOR symbol may also be placed on the internal data bus. Any IDLE symbols within the data stream may also be ignored by the HSSI in the receiver.
- EOR[x] symbols may be detected and translated into an EOR command in the internal bus.
- memory controller 328 within expansion module 322 may use the SOR/EOR symbols to decide (e.g. as programmed) where and if and how to store the record data in memory 330 .
- All the information about the timing relation between the digitized data and the ASM inputs such as triggers, user input and inputs from the ASM module of another system may be embedded into the record information by the ASM module ( 310 / 506 ). Because the record information is preserved through the HSSI bus, the HSSI interface becomes a transparent inter-IC interface as the data bus is reconstructed in the expansion module 322 exactly as it appears on IDS 302 / 402 . The latency and indeterminism of the HSSI bus are considered tolerable at this point of the circuit.
- the tolerance to indeterminism is particularly important for the case of synchronizing two or more digitizers systems in a way that facilitates reliably comparing and relating in time the data acquired by all the participating digitizer systems for a given record.
- Two or more ASM modules on different systems may be calibrated and synchronized with respect to their input data such that a data record in each digitizer system corresponds to the information of its respective digitized signal for the same time interval for all digitized signals. Because the synchronization takes place at the ASM, it may be unaffected by the indeterminism of the HSSI bus, and therefore it may be reliably calibrated and repeated for a given system consisting of multiple digitizers. In addition, because the HSSI bus preserves the record information (or in other words, the framing information), the relationship of the records corresponding to different synchronized digitizers may be maintained on the different corresponding expansion modules.
- each synchronized system is tolerant to latency and indeterminism on the HSSI bus.
- Another advantage is that different expansion modules corresponding to different synchronized digitizer systems do not need to be synchronized themselves, i.e. they do not need to be operated using related clocks that do not drift from one another. As long as the bandwidth available at each HSSI interface is greater than the bandwidth requirement of the synchronized record data, the bandwidth requirements do not need to be the same for all digitizer systems.
- This second advantage facilitates, for example, the implementation of a custom record DSP on the expansion modules, as exemplified by DSP 326 in FIGS. 3 and 4 for example, and still correlate the DSP processed records on different digitizer systems without the need for the custom DSP to run on synchronized expansion modules (i.e. expansion modules that are synchronized to each other).
- Timestamp Streaming (Sideband Data)
- the ASM may also create timestamps of the events of interest that cause an acquisition record to start/end.
- a timestamp may be at its most basic a snapshot of a clock that keeps track of time. By keeping this clock running continuously, the timing of the events may be reconstructed, both within each record and across multiple records.
- the timestamps may contain additional information. For example, they may contain status of the ASM or the channels themselves. Because there may be many possible timestamps per record, an acquisition with many records may create a parallel stream of timestamp data, also referred to as sideband data.
- sideband data may be inserted in the same data stream transmitted to the HSSI. Accordingly, the HSSI may have a separate asynchronous path for the timestamp data, and may use different control symbols to frame this parallel stream. Similarly, the receiver may identify these symbols, extract the sideband data, and redirect it to a separate path from the sample data.
- sideband data may be transmitted through a different streaming mechanism to some shared memory for later use by an application processor (e.g. through a DMA process). This memory may be included in the expansion module (e.g. 322 ), or it may be system memory from the application processor, or any other memory in the system.
- sideband data may be stored in dedicated memory within IDS 402 , e.g. within memory 320 .
- the DMA controller may be different or the same for each of the above cases, and may be implemented in any part of the system that would provide the most efficient operation.
- ASM ( 310 / 506 ) may be programmed to acquire no more data than the amount of data that exceeds the receive capacity of the expansion module 322 .
- the ASM may stop acquiring data when that limit is reached. For example, if the expansion module 322 has 4 GB of memory, then a user may program the ASM 310 / 506 to acquire no more than 4 GB of data for storage in memory.
- some data may be consumed by the application while new data is being acquired. The consumption of data by the application frees memory space in the expansion module 322 , and the freed memory space may be used for more acquisitions.
- a feedback mechanism may therefore be implemented to notify the ASM 310 when already acquired data has been consumed and the acquisition of new data may proceed. Providing an efficient feedback mechanism may optimize operation and minimize the idle time of IDS 302 / 402 . Therefore, IDS 302 / 402 may include a hardware feedback mechanism designed to minimize the time from data consumption to when acquisition of new data is started.
- the feedback mechanism may include the following features.
- the ASM may be programmed to pause data acquisition after each acquired record.
- a feedback signal may be provided from the expansion module 322 to the ASM 310 , with the feedback signal providing acknowledgement from the expansion module 322 to the ASM 310 that memory is free, and a new record may be acquired.
- the acknowledge signal may be provided from custom record DSP 326 as shown in FIGS. 3 and 4 .
- the ACK signal may be provided from other component(s) within expansion module 322 . For every record (i.e.
- the memory controller 328 may store the acquired (record) data, and may begin the consumption process, which may include transferring the data to system memory 330 and/or host system 452 , performing some DSP function by custom record DSP 326 , or any similar activity.
- memory controller 328 or DSP 326 may assert the ACK signal to ASM 310 , indicating that data acquisition may continue.
- the memory controller 328 may actually receive a specified number ‘N’ of records.
- the acknowledgement from expansion module 322 may be sent immediately after the reception of the end of record symbol unless all buffers are full. If/when all buffers are full, memory controller 328 may be instructed to wait until the next buffer is free.
- the ASM 310 may be programmed to acquire N records and then wait for the ACK signal from the expansion module 322 to be asserted.
- the memory controller 328 (and/or DSP 326 ) may have been previously programmed or instructed to receive these N records and wait for their consumption before sending acknowledgement (i.e. before asserting the ACK signal) to the ASM 310 .
- the ASM 310 may be programmed to acquire N records before it waits for the ACK signal to be asserted.
- Memory controller 328 may include a first number (M) of buffers, each buffer holding a second number (N) of records, where ‘M’ and ‘N’ are nonzero integers.
- the ACK signal may be asserted to the ASM 310 immediately upon the reception of each set of N records, unless all M buffers are in use. If that is the case, the memory controller may be instructed/programmed to wait until at least one buffer is free before asserting the ACK signal to the ASM 310 .
- FIG. 7 shows the time flow diagram 700 of a data acquisition process in a system using a digitizer system such as those exemplified in FIGS. 3 and 4 , according to one embodiment.
- a state engine 702 may implement control/management of the data acquisition process.
- State engine may be a finite state machine or programming instruction executed by a controller/processor or any combination of hardware and software.
- sample data may be acquired and sent to memory 704 ( 712 ), along with the framing information (or record information), indicated as record complete ( 714 ).
- the sample data may be subsequently consumed as it is transmitted to the system memory of a host system 706 ( 722 ).
- the acknowledgement to start the next record is given ( 716 ) when the transfer to host memory is indicated as being complete ( 720 ). Further variations of the acquisition process exist and are contemplated, depending on how the ASM 310 reacts to the acknowledge signal from the expansion module 322 . In one embodiment, the expansion module 322 may act immediately to transmit the acknowledgement (i.e. assert the ACK signal), minimizing the time between the acquisition of records and/or groups of records.
- the ASM 310 may have a hold-off timer programmed to wait for a programmed period of time following the acquisition of a record and/or group of records. This programmed period of time may be set to a value corresponding to a slightly longer period than the expected time it would take to consume the acquired sample data.
- the acknowledge event may be expected to arrive before the timer expires, and the ASM 310 may still wait for the timer to expire before acquiring a new record and/or group of records. If the acknowledge event happens after the hold-off timer expires, it may be indicative of an error condition. In such a case, determining the start time of the records or group of records may be considered more important than the actual time that elapses between the respective starting times of different respective data acquisitions.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Analogue/Digital Conversion (AREA)
Abstract
Description
- 1. Field of the Invention
- This invention relates generally to measurement and data acquisition systems and, more particularly, to a data acquisition system with an improved integrated digitizer having a streaming interface.
- 2. Description of the Related Art
- Measurement systems are oftentimes used to perform a variety of functions, including measurement of a physical phenomena, measurement of certain characteristics or operating parameters of a unit under test (UUT) or device under test (DUT), testing and analysis of physical phenomena, process monitoring and control, control of mechanical or electrical machinery, data logging, laboratory research, and analytical chemistry, to name a few examples.
- A typical contemporary measurement system comprises a computer system, which commonly features a measurement device, or measurement hardware. The measurement device may be a computer-based instrument, a data acquisition device or board, a programmable logic device (PLD), an actuator, or other type of device for acquiring or generating data. The measurement device may be a card or board plugged into one of the I/O slots of the computer system, or a card or board plugged into a chassis, or an external device. For example, in a common measurement system configuration, the measurement hardware is coupled to the computer system through a PCI bus, PXI (PCI extensions for Instrumentation) bus, a USB (Universal Serial Bus), a GPIB (General-Purpose Interface Bus), a VXI (VME extensions for Instrumentation) bus, a serial port, parallel port, or Ethernet port of the computer system. Optionally, the measurement system includes signal-conditioning devices, which receive field signals and condition the signals to be acquired.
- A measurement system may typically include transducers, sensors, or other detecting means for providing “field” electrical signals representing a process, physical phenomena, equipment being monitored or measured, etc. The field signals are provided to the measurement hardware. In addition, a measurement system may also typically include actuators for generating output signals for stimulating a DUT or for influencing the system being controlled. These measurement systems, which can be generally referred to as data acquisition systems (DAQs), are primarily used for converting a physical phenomenon (such as temperature or pressure) into an electrical signal and measuring the signal in order to extract information. PC-based measurement and DAQs and plug-in boards are used in a wide range of applications in the laboratory, in the field, and on the manufacturing plant floor, among others.
- Multifunction DAQ devices typically include digital I/O capabilities in addition to the analog capabilities described above. Digital I/O applications may include monitoring and control applications, video testing, chip verification, and pattern recognition, among others. DAQ devices may include one or more general-purpose, bidirectional digital I/O lines to transmit and receive digital signals to implement one or more digital I/O applications. DAQ devices may also include a Source-Measure Unit (SMU), which may apply a voltage to a DUT and measure the resulting current, or may apply a current to the DUT and measure the resulting voltage.
- Typically, in a measurement or data acquisition process, analog signals are received by a digitizer system, which may reside in a DAQ device or instrumentation device. A digitizer system is a device that uses one or more Analog to Digital Converters (ADC) in order to capture segments of interest of a time varying analog electric signal as a digital representation to be stored and processed by a computer system. There are several important design tradeoffs to be considered when implementing digitizer systems, depending of which components of the system can be included on the same integrated circuit (an integrated circuit can be a custom circuit, such as an application specific integrated circuit [ASIC], or a field programmable gate array [FGPA], among others).
- There are presently many different implementations of digitizer systems and streaming interfaces for these systems. One common arrangement includes modular ADCs and integrated complete digitizer systems because the technology process required for the high speed ADCs is usually not the optimal process for the logic required for the other components of the system. Modular ADCs were the motivation behind the specification JESD408, which describes a protocol to transmit data serially between these two components. While designed for high-speed data, the specification is designed to support a continuous stream of data, as generated by the ADC, and lacks a mechanism to define records of data to be stored by the memory system. Current digitizers are typically designed to capture records of data of interest into internal integrated or modular memory.
- Other corresponding issues related to the prior art will become apparent to one skilled in the art after comparing such prior art with the present invention as described herein.
- In one set of embodiments, a monolithic, or integrated digitizer system (IDS) may include a trigger detection circuit (TDC) and an acquisition state machine (ASM). The ASM may start and stop sample data acquisition tasks based on trigger events and parameters programmed in the ASM, and may organize data in acquisition records. The IDS may also include a high speed streaming interface (HSSI) transmitter capable of transmitting real time acquisition (sample) data. The ASM may also provide framing information to the HSSI, which frames the sample data according to the organization of the sample data in records, which may be recovered by an HSSI receiver coupled to the HSSI transmitter. The HSSI receiver may be included in an expansion module that receives and consumes (i.e. uses and/or processes) the received sample data. The HSSI may use an appropriate encoding scheme to transmit data and messages from the ASM, including, for example, the insertion of control symbols in the data stream (in addition to the sample data).
- The ASM may also generate additional sideband data (timestamps), which may contain information related to the timing and status of each acquisition record. The sideband data may be framed with a different set of control symbols, and may be transmitted through the HSSI interface. In some embodiments, sideband data may also be streamed (e.g. using direct memory access—DMA) through a different path to shared memory. The sideband data may also be stored in local memory. The ASM may use a synchronization mechanism to synchronize the start and stop of data acquisition tasks to other ASMs in other digitizer systems. Accordingly, the sideband data may be used to correlate data from synchronized acquisitions received through the HSSI interfaces without having to synchronize different HSSI interfaces to each other. The record data (i.e. the sample data in a record) may be processed—for example, performing custom digital signal processing (DSP) processes on individual records—after being transferred through the HSSI interface, maintaining the correlation between records among different digitizer systems and without requiring the custom DSP processes to be synchronized to each other.
- In one set of embodiments, the ASM may wait for an acknowledge event from the HSSI receiver before acquiring and streaming a new data record or group of records. The ASM may react immediately to the acknowledge event in order to minimize dead acquisition time between records and/or groups of records. In addition, the ASM may wait a pre-defined length of time (referred to as a hold-off period) before starting acquisition of a new record or group of records (i.e. the acquisition of a new set of sample data that is organized/formed into a new record or group of records), in order to more accurately determine (predict) the beginning of the acquisition of the new record or group of records. The acknowledge event from the ASM may be used to detect the proper operation of the system, as well as error conditions. For example, when the acknowledge event is received before the hold-off period expires, the system is considered to be operating properly. When the acknowledge event is received after the hold-off period expires, the latency of the acknowledge event may be interpreted as the detection of an error condition.
- The foregoing, as well as other objects, features, and advantages of this invention may be more completely understood by reference to the following detailed description when read together with the accompanying drawings in which:
-
FIG. 1 shows an instrumentation control system with instruments networked together according to one set of embodiments; -
FIG. 2 shows an industrial automation system with instruments networked together according to one set of embodiments; -
FIG. 3 shows the partial block diagram of one embodiment of a data acquisition system using an integrated digitizer system with a streaming interface; -
FIG. 4 shows the partial block diagram of another embodiment of a data acquisition system using an integrated digitizer system with a streaming interface; -
FIG. 5 shows a detailed partial block diagram of one embodiment of a simplified multichannel digitizer system; -
FIG. 6 shows a timing diagram of the data and control signals illustrating operation of the multichannel digitizer system ofFIG. 5 ; and -
FIG. 7 shows a time flow diagram illustrating the flow of data acquisition process according to one embodiment. - While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the invention to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present invention as defined by the appended claims. Note, the headings are for organizational purposes only, and are not meant to limit or interpret the description or claims. Furthermore, note that the word “may” is used throughout this application in a permissive sense (i.e., having the potential to, being able to), not a mandatory sense (i.e., must).” The term “include”, and derivations thereof, mean “including, but not limited to”. The term “coupled” means “directly or indirectly connected”.
- Embodiments of the present invention may be used in systems configured to perform test and/or measurement functions, to control and/or model instrumentation or industrial automation hardware, or to model and simulate functions, e.g., modeling or simulating a device or product being developed or tested, etc. However, it is noted that the present invention may equally be used for a variety of applications, and is not limited to the applications enumerated above. In other words, applications discussed in the present description are exemplary only, and the present invention may be used in any of various types of systems. Thus, the system and method of the present invention is operable to be used in any of various types of applications, including the control of other types of devices such as multimedia devices, video devices, audio devices, telephony devices, Internet devices, etc.
-
FIG. 1 illustrates an exemplaryinstrumentation control system 100 which may be configured according to embodiments of the present invention.System 100 comprises ahost computer 82 which may couple to one or more instruments configured to perform a variety of functions using timing control implemented according to various embodiments of the present invention.Host computer 82 may comprise a CPU, a display screen, memory, and one or more input devices such as a mouse or keyboard as shown.Computer 82 may operate with one or more instruments to analyze, measure, or control a unit under test (UUT) orprocess 150. The one or more instruments may include aGPIB instrument 112 and associatedGPIB interface card 122, adata acquisition board 114 inserted into or otherwise coupled withchassis 124 with associatedsignal conditioning circuitry 126, aVXI instrument 116, aPXI instrument 118, a video device orcamera 132 and associated image acquisition (or machine vision)card 134, amotion control device 136 and associated motioncontrol interface card 138, and/or one or more computer basedinstrument cards 142, among other types of devices. The computer system may couple to and operate with one or more of these instruments. In some embodiments, the computer system may be coupled to one or more of these instruments via a network connection, such as an Ethernet connection, for example, which may facilitate running a high-level synchronization protocol between the computer system and the coupled instruments. The instruments may be coupled to the unit under test (UUT) orprocess 150, or may be coupled to receive field signals, typically generated by transducers.System 100 may be used in a data acquisition and control applications, in a test and measurement application, an image processing or machine vision application, a process control application, a man-machine interface application, a simulation application, or a hardware-in-the-loop validation application, among others. -
FIG. 2 illustrates an exemplaryindustrial automation system 160 that may be configured according to embodiments of the present invention.Industrial automation system 160 may be similar to instrumentation or test andmeasurement system 100 shown inFIG. 1 . Elements that are similar or identical to elements inFIG. 1 have the same reference numerals for convenience.System 160 may comprise acomputer 82 which may couple to one or more devices and/or instruments configured to perform a variety of functions using timing control implemented according to various embodiments of the present invention.Computer 82 may comprise a CPU, a display screen, memory, and one or more input devices such as a mouse or keyboard as shown.Computer 82 may operate with the one or more devices and/or instruments to perform an automation function, such as MMI (Man Machine Interface), SCADA (Supervisory Control and Data Acquisition), portable or distributed data acquisition, process control, and advanced analysis, among others, on process ordevice 150. - The one or more devices may include a
data acquisition board 114 inserted into or otherwise coupled withchassis 124 with associatedsignal conditioning circuitry 126, aPXI instrument 118, avideo device 132 and associatedimage acquisition card 134, amotion control device 136 and associated motioncontrol interface card 138, afield bus device 170 and associated fieldbus interface card 172, a PLC (Programmable Logic Controller) 176, aserial instrument 182 and associatedserial interface card 184, or a distributed data acquisition system, such as the Compact FieldPoint or CompactRIO systems available from National Instruments, among other types of devices. In some embodiments, similar to the system shown inFIG. 1 , the computer system may couple to one or more of the instruments/devices via a network connection, such as an Ethernet connection, which may facilitate running a high-level synchronization protocol between the computer system and the coupled instruments/devices. - In one set of embodiments, data acquisition (for example through the use of plug-in DAQ boards 114) may be performed using an improved integrated digitizer system with streaming interface. A typical digitizer system generally includes the following components:
-
- One or more analog to digital converters (ADCs), which are usually clocked by synchronized clocks that operate at the same frequency (referred to as sample clocks).
- Channel digital signal processing (DSP) Circuits, which may operate on the data captured by each ADC in real time, before the data is used by the trigger circuit or is considered for capture by an Acquisition State Machine (ASM). One example of such a circuit is a digital filter.
- A trigger circuit (TC), which is used for detecting events of interest. The events of interest may occur on one or more of the analog signals being digitized or any other external signal provided to the circuit.
- An acquisition state machine (ASM), which is used for acquiring segments of the converted signal in response to the occurrence of one or more events of interest detected by the trigger circuit. These segments are referred to as records. For example, the ASM may capture the data necessary to provide visibility into the analog signals for 100 μsec before and after an event of interest captured by the TC. In another example, the ASM may capture the last period of 10 μsec of a signal after a first event of interest but before a second event of interest.
- An acquisition data memory system (ADMS), which is used for storing the data acquired by the ASM circuit in a manner that allows the data to be later reconstructed for inspection or for further processing by a computer system. The ADMS may include high bandwidth memory coupled to a memory controller programmable to capture one or more records, and further programmable to receive instructions from the ASM describing the start and end of these records.
- As sampling rates and sample resolution increases, inter-IC interfaces for digitizer systems become more complex and require ever increasing levels of power while occupying more board space. While, within an integrated circuit, the frequency of operation and the width of the data path may be designed to operate as fast and be as wide as the logic node and die size allow, respectively. When crossing an inter-IC boundary, the interface may be inherently limited in width, frequency, or both, due to restrictions on package size, board space or electrical characteristics, and power. For example, a communication link in an integrated circuit between the ADC and a trigger circuit may be implemented as a parallel data path of 1024 bits running at 437 MHz in a 65 nm circuit in order to achieve a bandwidth of 56 GB/s (gigabytes per second). It would not be practical to use the same approach if the trigger circuits were implemented in a different IC as the rest of the digitizer system, because the die size and power required for 1024 I/O (input/output) pins would be prohibitive. Instead, a high-speed serial protocol may be used across several high-speed lanes. For example, 48 lanes at 11.2 Gbps (gigabits per second) would be capable of such bandwidth. However, this increases the complexity of the circuit, as these links require several layers of communication circuits in order to provide reliable communication.
- Another important aspect (relating to the previous example) is the latency and determinism of the communication link between the two blocks. In the case of the integrated IC, the latency is minimal, as the data exchange between the two blocks may be controlled through the use of one system clock (437 MHz, for example). The interface may also be very deterministic, since the delay to transfer any two points is always the same (one clock cycle). In contrast, in the inter-IC case, the latency may be as long as several microseconds (μsec) due to all the necessary layers of communication circuits for the link. In addition, latency can't always be guaranteed because of great variability in propagation delays in the inter-IC connections, variability in clock phases, and other similar circuitry related aspects. The additional latency and lack of determinism makes the design of precise instruments very complex. For example, the latency and lack of determinism of the communication channel makes it increasingly difficult to react to an event detected by the trigger circuit, perhaps necessitating temporary storage inside the digitizer system to compensate for the latency, and an appropriate algorithm to detect and correct for the variability stemming from the latency.
- It is therefore desirable to design and operate a fully integrated digitizer system, or, in other words, to completely integrate all components of a digitizer system. There are, however, other aspects that favor a modular approach. One example is the choice of memory for the ADMS circuit. Integrating the memory along with the other circuits in the system typically results in higher costs and lower memory density than using external memory devices, as the process optimized for circuit design may not be optimal for memory implementation. Furthermore, the internal memory may be fixed to the particular IC, and may therefore not benefit from improvements in density, price and power that are common with commercially available memory (for example double data rate random access memory, i.e., DDR RAM).
- Even if the memory itself is designed using a modular approach, a similar argument may be applicable to the memory communication controller. For example, if a DDR3 memory controller is integrated into the design, the memory options for that design (for that system) may be limited to that type of RAM. If the memory controller were implemented, for example, in an FPGA, then it may be easily migrated to a DDR4 design without having to modify the other parts of the digitizer system.
- Another aspect in favor of modular design is the ability to provide flexibility for processing the data prior to data storage. If the ADMS is integrated with the rest of the system, data processing needs to be implemented within the system. In contrast, if the ADMS is implemented in an FPGA, the system remains flexible, and further processing may be performed using the FPGA (i.e., in the FPGA) before the data is transmitted to the ADMS. The processing may be user defined and customized to the specific application of the digitizer system.
- Integrated Digitizer System with Streaming Interface
- In one set of embodiments, an integrated digitizer system (IDS) may include a high-speed streaming interface that allows for a modular ADSM circuit on a different IC than the IC that contains the IDS. The IDS may be implemented with a communication protocol allowing the ASM and the ADSM to communicate through the IC boundary in order to control what data is stored and when new data is acquired. Several other improvements in the context of various embodiments of an IDS are further described in more detail below.
-
FIG. 3 shows the block diagram of one embodiment of a digitizer (or data acquisition—DAQ)system 300 that includes anIDS 302 and anexpansion IC 322 that includes anADMS 328. In the embodiment shown inFIG. 3 , theexpansion 322 is implemented in an FPGA, but alternate embodiments ofsystem 300 might feature an application specific IC or other similar realization ofexpansion 322 for the purpose of implementing/containingADMS 328.DAQ system 300 may include several components as shown. -
IDS 302 may include one or more ADCs 302/306 operating at the same frequency and usually at the same sampling phase.FIG. 3 shows twoADCs ADCs 302/306 may be integrated in the same IC as the rest of the system as shown inFIG. 3 , or they may be modular components connected to the Digitizer System through a high-speed ADC interface (such as JESD408B, for example), as illustrated inFIG. 4 , whereADCs 402/406 are external toIDS 402. In case ofADCs 402/406, which are external toIDS 402,IDS 402 may include anADC data interface 450 to receive the data fromADCs 402/406. -
IDS 302 may also include channel DSP (CH DSP) blocks 304/308, each corresponding to a respective channel, and hence to a respective ADC ofADCs 304/306. CH DSP blocks 304/308 may be considered optional circuit/functional elements that allow signal processing operations to be applied to the data before its consideration for capture or triggering. That is, CH DSP blocks 304/308 may perform signal processing operations on the received, digitized data prior to the data being captured.Trigger Circuits 312 may inspect the channel data fromCH DSP 304/308 and/or data from other external signals in order to detect events of interest. Many such events may be implemented, such as detecting the rising edge on the signal on one channel, or detecting a pulse with specified characteristics, e.g. a pulse having a minimum voltage amplitude and time duration. Thetrigger circuit 312 may thereby provide events information to theAcquisition State Machine 310.Acquisition State Machine 310 may select data to be acquired, and organize such data in acquisition sets called “records”. Overall, triggercircuits 312 andASM 310 may be considered as operating in concert to detect events of interest on incoming data, and frame the data according to those events of interest. - Each record may be created and organized by
ASM 310 in response to the trigger information fromtrigger circuits 312, from user input, or from another ASM module from a different digitizer system to be synchronized withIDS 302. The records may contain an arbitrary amount of data that may be stored in a circular buffer in theADMS 328.ASM 310 may be operated to provide record information toADMS 328, with the record information indicating when data from one record ends, and data from a new record begins, enabling the ADMS to switch to a new circular buffer for the next record. Theintegrated ADMS 316 is an optional block withinIDS 302, providing integrated memory storage toIDS 302, coupling tointernal memory 320.Integrated Record DSP 314 is a processing block that may be operated to perform signal processing operations applied to the data records (i.e. records of data) acquired byASM 310. - A high speed streaming interface (HSSI) block may be used to implement a real time data streaming interface to an external module that includes
ADMS 328, e.g. anexpansion FPGA 322.HSSI 318 may implement a communication protocol forASM 310 to communicate framing information corresponding to the data records (e.g. the start and end of data records) to an external circuit in a coherent manner. The elements for a possible embodiment of anexpansion FPGA 322 may include areceiver HSSI 324 also implementing the communication protocol used byHSSI 318, thereby receiving the framing information, and reconstructing the data transmitted byIDS 302. The framing information (e.g. messages about the start and end of the records received from ASM 310) may also be reconstructed.Expansion 322 may also include an optional reconfigurable DSP block 626 that performs DSP operations on the received data records.Expansion module 322 also includesADMS 328 coupled to modular RAM (i.e. DDR3 DRAM) 330, which may part ofexpansion 322, or external to expansion 322 (as shown inFIG. 3 ).ADMS 328 may store the data from the records in circular buffers, using the messages (i.e. framing information) received fromASM 310 throughHSSI 318 andHSSI 324, to stop writing to the current buffer and move to the next buffer when so warranted by the framing information corresponding to a given record for which the associated data (i.e. the data associated with that record) is currently being written. In addition,DSP 326 may also provide an acknowledge signal (ACK) toASM 310 to indicate that operations have been performed on data for a given record. It should be noted that as used herein the term “real time” is intended to refer to the (re)transmission (or streaming) of data as it is received (acquired) without the use of storage except for small buffers/FIFOs. For example (referring toFIG. 4 ),IDS 302 may be streaming data real time toexpansion module 322 whileexpansion module 322 is storing the data in (external)memory 330. Then, once the acquisition of the data is complete,expansion module 322 may store the data in the memory onhost system 452. In other words, when data is stored/transmitted subsequent to acquisition of the data being complete, such storing/transmitting is considered to be taking place not in real time. - As previously mentioned,
FIG. 4 shows a DAQ subsystem 400 (directed at digitizing data) similar toDAQ subsystem 300, with the difference that ADCs 402 and 406 are external toIDS 402, whileADCs IDS 302. Accordingly,IDS 402 also includes anADC data interface 450 to receive the digitized data (digital data corresponding to the captured analog samples), and provide the data to correspondingrespective CH DSPs DAQ subsystem 400 illustrates two channels for the sake of simplicity, alternate embodiments may include additional channels, or a single channel as desired. Atleast IDS 302 and/orIDS 402 fromDAQ subsystems DAQ board 114 that is shown inFIG. 1 andFIG. 2 . Furthermore,FIG. 4 also shows DSP block 326 coupled to ahost system 452, e.g. a computer system that includes a central processing unit (CPU). OnceDSP block 326 has completed operation on the data (from a record, for example), that is, once it has processed the data, it may provide the processed data tohost system 452 for further operation/processing byhost system 452. -
ASM 310 may be operated to acquire a certain number of records of data of arbitrary length. The last N samples of each record may be considered to be of interest, and therefore the data may be stored in a circular buffer, and may be read from the circular buffer by storing information corresponding to the record, e.g. by storing timestamps of the start and end of the record. These timestamps may be later translated into pointers in memory, e.g. inmemory 330. TheASM 310 may be operated to signal the start and end of a record to downstream circuits because the record is of arbitrary length. In order to transmit the data and the start of record and end of record events in a coherent way through theHSSI 318/324, the information about the events (i.e. the information corresponding to the events) may be embedded in the same data stream. This may be accomplished by encoding the data with a code that allows for data as well as control characters. In general, data of a specific length may be encoded with additional bits representing specific codes, adding to the length of the original data. Examples of such encodings include 8b/10b or 64b/66b, where the first number in each pair represents the length of the data, with two bits added for a respective code, representing the overall length in the second number. Other encodings may also be used. - Considering 64b/66b encoding as an example, every 64-bit data to be sent may be encoded in a 66-bit word. The encoding may include appending two (2) bits to the original data word. When the appended two bits are, for example, “01”, the 64b word (i.e. 64-bit word) that immediately follows the appended two bits may be interpreted as sample data. When the two bits are “10”, the word that immediately follows the appended two bits may be a control word (or control data) carrying special meaning. That is, the appended bits may be used to denote how the data thereafter is interpreted. The other 2-bit combinations may be reserved and/or not used. For example, in alternate embodiments, the 2-bit combinations unused in the embodiment discussed herein may be used for denoting additional features that may be implemented as desired. The ability to send control words in the same stream with the data allows the HSSI to encode events (or framing information) such as the start of a record and the end of a record. In some embodiments, there may be several different start-of-record and end-of-record symbols to distinguish among several possible events that may have caused the record to be acquired.
- The control symbols may also be used to account for gaps in the data introduced by the different clock rates in the acquisition and streaming interfaces. The table below provides one example of possible encoding for the header and the control word, and the possible content of the data word:
-
Two bit header Type of control word 64-bit data word “01” Word is data (i.e. 8 samples of 8 bits each) “10” Control - SOR[i], 0x00000000 00000Fi 0 ≦ i < 256 (‘i’ is 8-bit number) “10” Control - EOR[j], 0xF0000000 000000j 0 ≦ j < 256 (‘j’ is 8-bit number) “10” Control - IDLE 0xFFFF000 00000000 “11” Unused X “00” Unused X
SOR stands for “start-of-record”, and EOR stands for “end-of-record”. -
FIG. 5 shows the block diagram of a simplified m-channel digitizer system 500.Simplified digitizer 500 may be considered a more detailed representation of the portion ofDAQ subsystems inputs using ADCs 502, which may represent ‘m’ ADCs, or ADC0-m, each ADC corresponding to a respective channel. Thetrigger circuits 504 may detect an event of interest (indicated as Evi, where ‘i’ represents an identifying number for the event of interest that has been detected) and this event may be communicated toASM 506. The event may be caused by inspecting the ADC data or by events indicated to triggercircuits 504 throughexternal signals 510. - In one example, an event of interest Evi may be programmed to start an acquisition record, resulting in
ASM 506 allowing record data to pass through the circuit.ASM 506 may also communicate the occurrence of the Start Of Record ‘i’ (SOR[i]) toHSSI 508, coherently with the start of the data record. Prior to the start-of-record,HSSI 508 be operated to continuously transmit the control symbol for IDLE, as no data is to be transmitted up until the time indicating a start-of-record. Upon the arrival of the SOR[i] notification,HSSI 508 may transmit the control symbol for SOR[i], and then proceed to transmit the record data, all part of the HSSI encoded data indicated inFIG. 5 . - By design, the bandwidth available at the
HSSI 508 is greater than the bandwidth requirement of the record data, in order to accommodate control symbols that were not originally included in the record data, and to compensate for oscillator circuit tolerances that may cause frequency drifts. For example, if theHSSI 508 were designed to be the same bandwidth (BW) as the record data, and due to tolerances the BW ofHSSI 508 was smaller than the record data, the interface might overflow. -
FIG. 6 shows a timing diagram 600 illustrating the signals of interest during operation ofsimplified digitizer system 500. As indicated in timing diagram 600, transmission of events of interest Evi and Evj toASM 506 result inASM 506 transmitting SOR[i] and EOR[j] indicators toHSSI interface 508 along with the Record Data corresponding to the ADC data during the time period that is bounded by the transmission of SOR[i] and EOR[j]. Consequently, the framing information and record data are all transmitted over the HSSI data bus fromHSSI 508 as indicated, with the upper portion representative of the 2-bit header, and the lower portion representative of the subsequent control word/data word as designated in the header. For example, if the header indicates a control word (C), the data word underneath represents control data (such as Idle and/or SOR or EOR framing information). Similarly, if the header indicates record data (D), the data word underneath represents record data corresponding to the Record Data originally obtained fromADCs 502, and transmitted toHSSI 508 byADM 506. - As also shown in
FIG. 6 , in order to compensate for the gaps that may appear, IDLE symbols may be inserted byHSSI 508 between data words, as needed. Timing diagram 600 includes IDLE symbols 602 and 604 as examples of such IDLE symbols, and how they may be inserted in the HSSI encoded data stream. At the receiver, for example atHSSI 324 inFIGS. 3 and 4 , the HSSI may ignore all IDLE symbols. When the HSSI detects any SOR[x] symbol, it may translate it into a SOR[x] command, ensuring that coherence with the data is maintained. The data after the SOR symbol may also be placed on the internal data bus. Any IDLE symbols within the data stream may also be ignored by the HSSI in the receiver. Finally, EOR[x] symbols may be detected and translated into an EOR command in the internal bus. Referring again toFIGS. 3 and 4 ,memory controller 328 withinexpansion module 322 may use the SOR/EOR symbols to decide (e.g. as programmed) where and if and how to store the record data inmemory 330. - All the information about the timing relation between the digitized data and the ASM inputs such as triggers, user input and inputs from the ASM module of another system may be embedded into the record information by the ASM module (310/506). Because the record information is preserved through the HSSI bus, the HSSI interface becomes a transparent inter-IC interface as the data bus is reconstructed in the
expansion module 322 exactly as it appears onIDS 302/402. The latency and indeterminism of the HSSI bus are considered tolerable at this point of the circuit. - The tolerance to indeterminism is particularly important for the case of synchronizing two or more digitizers systems in a way that facilitates reliably comparing and relating in time the data acquired by all the participating digitizer systems for a given record. Two or more ASM modules on different systems may be calibrated and synchronized with respect to their input data such that a data record in each digitizer system corresponds to the information of its respective digitized signal for the same time interval for all digitized signals. Because the synchronization takes place at the ASM, it may be unaffected by the indeterminism of the HSSI bus, and therefore it may be reliably calibrated and repeated for a given system consisting of multiple digitizers. In addition, because the HSSI bus preserves the record information (or in other words, the framing information), the relationship of the records corresponding to different synchronized digitizers may be maintained on the different corresponding expansion modules.
- This presents some advantages over current synchronized digitizer systems. One advantage, as previously stated above, is that each synchronized system is tolerant to latency and indeterminism on the HSSI bus. Another advantage is that different expansion modules corresponding to different synchronized digitizer systems do not need to be synchronized themselves, i.e. they do not need to be operated using related clocks that do not drift from one another. As long as the bandwidth available at each HSSI interface is greater than the bandwidth requirement of the synchronized record data, the bandwidth requirements do not need to be the same for all digitizer systems. This second advantage facilitates, for example, the implementation of a custom record DSP on the expansion modules, as exemplified by
DSP 326 inFIGS. 3 and 4 for example, and still correlate the DSP processed records on different digitizer systems without the need for the custom DSP to run on synchronized expansion modules (i.e. expansion modules that are synchronized to each other). - Concurrently to sending data and instructions to the HSSI, the ASM (
e.g. ASM 310/506) may also create timestamps of the events of interest that cause an acquisition record to start/end. For example, a timestamp may be at its most basic a snapshot of a clock that keeps track of time. By keeping this clock running continuously, the timing of the events may be reconstructed, both within each record and across multiple records. The timestamps may contain additional information. For example, they may contain status of the ASM or the channels themselves. Because there may be many possible timestamps per record, an acquisition with many records may create a parallel stream of timestamp data, also referred to as sideband data. Information represented by sideband data may be inserted in the same data stream transmitted to the HSSI. Accordingly, the HSSI may have a separate asynchronous path for the timestamp data, and may use different control symbols to frame this parallel stream. Similarly, the receiver may identify these symbols, extract the sideband data, and redirect it to a separate path from the sample data. In some embodiments, sideband data may be transmitted through a different streaming mechanism to some shared memory for later use by an application processor (e.g. through a DMA process). This memory may be included in the expansion module (e.g. 322), or it may be system memory from the application processor, or any other memory in the system. In some embodiments, sideband data may be stored in dedicated memory withinIDS 402, e.g. withinmemory 320. Furthermore, the DMA controller may be different or the same for each of the above cases, and may be implemented in any part of the system that would provide the most efficient operation. - In some applications, ASM (310/506) may be programmed to acquire no more data than the amount of data that exceeds the receive capacity of the
expansion module 322. The ASM may stop acquiring data when that limit is reached. For example, if theexpansion module 322 has 4 GB of memory, then a user may program theASM 310/506 to acquire no more than 4 GB of data for storage in memory. In other applications however, some data may be consumed by the application while new data is being acquired. The consumption of data by the application frees memory space in theexpansion module 322, and the freed memory space may be used for more acquisitions. A feedback mechanism may therefore be implemented to notify theASM 310 when already acquired data has been consumed and the acquisition of new data may proceed. Providing an efficient feedback mechanism may optimize operation and minimize the idle time ofIDS 302/402. Therefore,IDS 302/402 may include a hardware feedback mechanism designed to minimize the time from data consumption to when acquisition of new data is started. - In one set of embodiments, the feedback mechanism may include the following features. The ASM may be programmed to pause data acquisition after each acquired record. A feedback signal may be provided from the
expansion module 322 to theASM 310, with the feedback signal providing acknowledgement from theexpansion module 322 to theASM 310 that memory is free, and a new record may be acquired. In some embodiments, the acknowledge signal (ACK) may be provided fromcustom record DSP 326 as shown inFIGS. 3 and 4 . However, in alternate embodiments the ACK signal may be provided from other component(s) withinexpansion module 322. For every record (i.e. data record, or record of data) that is received at theexpansion module 322, thememory controller 328 may store the acquired (record) data, and may begin the consumption process, which may include transferring the data tosystem memory 330 and/orhost system 452, performing some DSP function bycustom record DSP 326, or any similar activity. Once the consumption process has been completed,memory controller 328 or DSP 326 (or some other designated component within expansion module 322) may assert the ACK signal toASM 310, indicating that data acquisition may continue. - Several algorithms or variations of an algorithm may be devised to manage the data acquisition process according to the principles described above. In a first embodiment, the
memory controller 328 may actually receive a specified number ‘N’ of records. The acknowledgement fromexpansion module 322 may be sent immediately after the reception of the end of record symbol unless all buffers are full. If/when all buffers are full,memory controller 328 may be instructed to wait until the next buffer is free. - In a second embodiment, the
ASM 310 may be programmed to acquire N records and then wait for the ACK signal from theexpansion module 322 to be asserted. The memory controller 328 (and/or DSP 326) may have been previously programmed or instructed to receive these N records and wait for their consumption before sending acknowledgement (i.e. before asserting the ACK signal) to theASM 310. - In a third embodiment, the
ASM 310 may be programmed to acquire N records before it waits for the ACK signal to be asserted.Memory controller 328 may include a first number (M) of buffers, each buffer holding a second number (N) of records, where ‘M’ and ‘N’ are nonzero integers. The ACK signal may be asserted to theASM 310 immediately upon the reception of each set of N records, unless all M buffers are in use. If that is the case, the memory controller may be instructed/programmed to wait until at least one buffer is free before asserting the ACK signal to theASM 310. -
FIG. 7 shows the time flow diagram 700 of a data acquisition process in a system using a digitizer system such as those exemplified inFIGS. 3 and 4 , according to one embodiment. As shown inFIG. 7 , astate engine 702 may implement control/management of the data acquisition process. State engine may be a finite state machine or programming instruction executed by a controller/processor or any combination of hardware and software. First, sample data may be acquired and sent to memory 704 (712), along with the framing information (or record information), indicated as record complete (714). The sample data may be subsequently consumed as it is transmitted to the system memory of a host system 706 (722). The acknowledgement to start the next record is given (716) when the transfer to host memory is indicated as being complete (720). Further variations of the acquisition process exist and are contemplated, depending on how theASM 310 reacts to the acknowledge signal from theexpansion module 322. In one embodiment, theexpansion module 322 may act immediately to transmit the acknowledgement (i.e. assert the ACK signal), minimizing the time between the acquisition of records and/or groups of records. - Alternatively, the
ASM 310 may have a hold-off timer programmed to wait for a programmed period of time following the acquisition of a record and/or group of records. This programmed period of time may be set to a value corresponding to a slightly longer period than the expected time it would take to consume the acquired sample data. In such a case, the acknowledge event may be expected to arrive before the timer expires, and theASM 310 may still wait for the timer to expire before acquiring a new record and/or group of records. If the acknowledge event happens after the hold-off timer expires, it may be indicative of an error condition. In such a case, determining the start time of the records or group of records may be considered more important than the actual time that elapses between the respective starting times of different respective data acquisitions. - Although the embodiments above have been described in considerable detail, other versions are possible. Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications. Note the section headings used herein are for organizational purposes only and are not meant to limit the description provided herein or the claims attached hereto.
Claims (32)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/955,523 US8942300B1 (en) | 2013-07-31 | 2013-07-31 | Integrated digitizer system with streaming interface |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/955,523 US8942300B1 (en) | 2013-07-31 | 2013-07-31 | Integrated digitizer system with streaming interface |
Publications (2)
Publication Number | Publication Date |
---|---|
US8942300B1 US8942300B1 (en) | 2015-01-27 |
US20150039272A1 true US20150039272A1 (en) | 2015-02-05 |
Family
ID=52350755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/955,523 Active US8942300B1 (en) | 2013-07-31 | 2013-07-31 | Integrated digitizer system with streaming interface |
Country Status (1)
Country | Link |
---|---|
US (1) | US8942300B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190069849A1 (en) * | 2017-09-01 | 2019-03-07 | The Trustees Of Columbia University In The City Of New York | Compressed sensing enabled swept source optical coherence tomography apparatus, computer-accessible medium, system and method for use thereof |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7080065B2 (en) * | 2018-02-08 | 2022-06-03 | 株式会社Screenホールディングス | Data processing methods, data processing equipment, data processing systems, and data processing programs |
US11789039B2 (en) * | 2018-12-17 | 2023-10-17 | Tektronix, Inc. | Abstracting of digital acquisition memory |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080074276A1 (en) * | 2006-09-25 | 2008-03-27 | Usa As Represented By The Administator Of The National Aeronautics And Space Ad | Data Acquisition System |
US8305903B1 (en) * | 2008-03-31 | 2012-11-06 | C Speed, Llc | Data acquisition system for test and measurement signals |
US8629757B2 (en) * | 2009-07-16 | 2014-01-14 | Kabushiki Kaisha Toshiba | Processing system for portable electronic apparatus, portable electronic apparatus, and processing apparatus for portable electronic apparatus |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2162347C (en) | 1995-11-07 | 2001-01-09 | Gary Gunthorpe | Method and apparatus for high-speed scanning of electromagnetic field levels |
-
2013
- 2013-07-31 US US13/955,523 patent/US8942300B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080074276A1 (en) * | 2006-09-25 | 2008-03-27 | Usa As Represented By The Administator Of The National Aeronautics And Space Ad | Data Acquisition System |
US8305903B1 (en) * | 2008-03-31 | 2012-11-06 | C Speed, Llc | Data acquisition system for test and measurement signals |
US8629757B2 (en) * | 2009-07-16 | 2014-01-14 | Kabushiki Kaisha Toshiba | Processing system for portable electronic apparatus, portable electronic apparatus, and processing apparatus for portable electronic apparatus |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190069849A1 (en) * | 2017-09-01 | 2019-03-07 | The Trustees Of Columbia University In The City Of New York | Compressed sensing enabled swept source optical coherence tomography apparatus, computer-accessible medium, system and method for use thereof |
Also Published As
Publication number | Publication date |
---|---|
US8942300B1 (en) | 2015-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10621025B2 (en) | Methods for data acquisition systems in real time applications | |
EP1690184B1 (en) | Apparatus and method for time ordering events in a system having multiple time domains | |
US7904859B2 (en) | Method and apparatus for determining a phase relationship between asynchronous clock signals | |
EP2165280B1 (en) | Recording of emulation states using replicated memory elements | |
US7478256B2 (en) | Coordinating data synchronous triggers on multiple devices | |
JP2002232409A (en) | Method and device for detecting digital data pattern | |
US8386828B1 (en) | Circuit for estimating latency through a FIFO buffer | |
CN110749763A (en) | Triggering method based on I2S signal and oscilloscope | |
US8942300B1 (en) | Integrated digitizer system with streaming interface | |
US10320407B1 (en) | Low power synchronization of multiple analog to digital converters | |
US8144828B2 (en) | Counter/timer functionality in data acquisition systems | |
CN110959121B (en) | Logic analyzer for integrated circuit | |
US8832500B2 (en) | Multiple clock domain tracing | |
US20030161351A1 (en) | Synchronizing and converting the size of data frames | |
US11789039B2 (en) | Abstracting of digital acquisition memory | |
WO2008075702A1 (en) | Signal measuring device, and signal measuring method | |
US11513769B2 (en) | Data acquisition system, input device, data acquisition apparatus, and data combining apparatus | |
JP2001142733A (en) | Internal signal observation device | |
US9977754B2 (en) | Electronic system with diagnostic interface mechanism and method of operation thereof | |
CN104021059A (en) | System and method for generating test signal for sequence of event | |
RU2725795C1 (en) | Device for checking the state of the monitoring object during information exchange between the monitoring object and the control and checking equipment | |
CN104422804B (en) | A kind of mixing oscillograph with noise suppressing function | |
JP2009025138A (en) | Semiconductor testing device | |
Ulbricht et al. | Synchronous parallel high-performance data acquisition system | |
JP2016075493A (en) | Integrated circuit, integrated circuit test device, and test method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: NATIONAL INSTRUMENTS CORPORATION, TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CASTRO SCORSI, RAFAEL;PATEL, KUNAL H.;RUBIO, HECTOR;REEL/FRAME:030914/0803 Effective date: 20130730 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
CC | Certificate of correction | ||
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551) Year of fee payment: 4 |
|
AS | Assignment |
Owner name: WELLS FARGO BANK, NATIONAL ASSOCIATION, NORTH CAROLINA Free format text: SECURITY INTEREST;ASSIGNORS:NATIONAL INSTRUMENTS CORPORATION;PHASE MATRIX, INC.;REEL/FRAME:052935/0001 Effective date: 20200612 |
|
AS | Assignment |
Owner name: WELLS FARGO BANK, NATIONAL ASSOCIATION, NORTH CAROLINA Free format text: SECURITY INTEREST;ASSIGNOR:NATIONAL INSTRUMENTS CORPORATION;REEL/FRAME:057280/0028 Effective date: 20210618 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
AS | Assignment |
Owner name: NATIONAL INSTRUMENTS CORPORATION, TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 057280/0028);ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT;REEL/FRAME:065231/0466 Effective date: 20231011 Owner name: PHASE MATRIX, INC., CALIFORNIA Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 052935/0001);ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT;REEL/FRAME:065653/0463 Effective date: 20231011 Owner name: NATIONAL INSTRUMENTS CORPORATION, TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 052935/0001);ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT;REEL/FRAME:065653/0463 Effective date: 20231011 |