User`s manual

Using Definite Length Arbitrary Blocks to Transfer Data
The AFG can receive DAC codes as Definite Length Arbitrary Block Data
using either the Signed or Unsigned number format. This is a much faster
method to transfer data than using a comma (“,”) separated list that was
used in “Using Signed Data to Generate Waveforms” on page 225 and
“Using Unsigned Data to Generate Waveforms” on page 229. (The speed is
about the same as the method used in “Using Indefinite Length Arbitrary
Blocks to Transfer Data” on page 235.)
Definite Length
Block Data Format
A typical data block using the definite length format consists of:
where:
#” – Shows that the data to be sent is in an arbitrary block format.
<non-zero digit>” – is a single digit number that shows the number of
digits contained in
<digits>; for example, if the <digits> value equals
100 or 2000, the
<non-zero digit> value equals 3 or 4, respectively.
<digits>” – Shows the number of data bytes to be sent; for example,
if 100 data bytes are to be sent,
<digits> equals 100 (see “Data Byte
Size” below).
<8-bit data bytes>” – Is the data (i.e., DAC codes) sent to the AFG.
A typical example of a data block sending 2000 8-bit data bytes is:
#42000<data bytes>
Data Byte Size The DAC codes are transferred to the AFG as 16-bit integer values that meet
the coding set by the IEEE 488.2 standard. Since IEEE 488.2 requires an 8-bit
code, the 16-bit integer must be sent as 2 8-bit values for each 16-bit integer.
For example, to send a waveform segment consisting of 1000 DAC codes
(1000 points), the actual number of “digits” and “8-bit data bytes” equals:
1000 * 2 = 2000
# <non-zero digit> <digits> <8-bit data bytes>
Start of Data Block Data Bytes
Number of Digits in "digits" Number of Bytes in Data
Chapter 7 High Speed Operation 231