Memory Management

The DIAGnostic Subsystem

In certain applications it may be necessary to retrieve a selected set of readings from digitizer memory. This section explains where readings are stored in memory and how to determine the memory addresses of any set of readings.

This section introduces two commands used to locate and retrieve readings from memory. These commands, which are part of the DIAGnostic subsystem, are:

DIAGnostic

:FETCh[<chan >]? <start_addr >, <count >

:MEMory[<chan >] :ADDResses?

Locating Unsegmented Readings

DIAGnostic:FETCh? returns count number of readings starting at address start_addr from channel chan. DIAGnostic:MEMory:ADDResses? returns a list of 32-bit values containing memory address information for each segment. The use of these commands is shown in the following paragraphs.

Unsegmented readings (SENSe:SWEep:OFFSet:POINts 0) are always contiguous and are stored at:

address location 524287 - (num_readings - 1)

where num_readings = ARM:COUN * TRIG:COUN + pad, and pad are extra counts to make the total reading count divisible by 4. Therefore, the first reading is stored at address location

524287 - (num_readings - 1).

As an example, assume ARM:COUN 3 and TRIG:COUN 53. Then:

num_readings = 3 * 53 + 1 = 160

(1 is the pad count added to the total reading count)

first data point address = 524287 - (160 - 1) = 524128

This address, together with the count of 159 (3*53) are specified in the DIAGnostic:FETch? command to retrieve the readings (from channel 1):

DIAG:FETC1? 524128,159

142 Understanding the HP E1429 Digitizer

Chapter 3

Page 142
Image 142
HP E1429A manual Memory Management, DIAGnostic Subsystem, Locating Unsegmented Readings