Operation
68
Atlas® Digital Amplifier Complete Technical Reference
4
To select field oriented control or current control the command
SetCurrentControlMode
is used. The value set can
be read back using
GetCurrentControlMode
.
4.10 User Memory Space & Buffers
Figure 4-12:
User Memory
Space and
Buffers
Atlas provides the ability to store or retrieve data from an internal user memory space.
shows the user
memory space for Atlas. There is a trace area, and an area that is used to store non-volatile setup commands that can
be read back by the external controller. See
for more information on trace. See
for more information on Atlas operational configuration storage.
Atlas provides access to the user memory space via a mechanism known as a buffer. Atlas allows up to four different
buffers to be defined, allowing the overall user memory space to be partitioned in a manner most useful to the external
controller. Typically, there will just be two buffers, one for the trace area, and one for the setup area. However this
additional flexibility may be useful for storing temporary application specific data, or to set up multiple trace data
storage areas.
Buffers describe a contiguous block of memory and are defined by specifying a base address for the memory block
and a block length. Once a buffer’s base address and length have been defined, data values may be written to and read
from the buffer.
When defining memory buffers the memory space is treated as a sequence of 16-bit memory locations. Atlas allows
any values to be used for the base address and length as long as these values result in addresses within the available
user memory space.
4.10.1 Buffer Indexes
In addition to the base address and length each buffer maintains a read index and a write index. The read index may
be assigned a value between 0 and L-1 where L is the buffer length. The read index defines the location from which
the next value will be read.
Similarly, the write index ranges from 0 to L-1 and defines the location at which the next value will be written. When
a value is read from the memory buffer, the read index is automatically incremented, thus selecting the next value for
reading. The write index is incremented whenever a value is written to a buffer. If either index reaches the end of the
buffer, it is automatically reset to 0 on the next read/write operation.
4.10.2 Buffer Access Commands
The following table details the commands that set up, access, and monitor memory buffers.
Command
Arguments
Description
SetBufferStart
bufferID, address
Sets the base address of a buffer. bufferID is either 0, 1, 2, or
3. Address is a 32-bit integer that defines the base address of
the buffer.
GetBufferStart
bufferID
Returns the base address of the specified buffer.
Start Address
Function
(in Hexadecimal)
0X0000 0000
Trace RAM (1,020 words)
0X0000 03FD
Reserved
0X2000 0000
NVRAM (1,024 words)
0X2000 0400
Reserved