Pico Systems

DAC-16 board Register Definition

This board contains 4 16-bit DACs. This board accepts an address on the 4 LS bits of the data bus during assertion of ADDRSTB on the EPP bus to select which register will be read or written. The 4 MS bits are used to select which board is addressed. That board which has its DIP switch settings matched by the 4 MS bits on the data bus when ADDRSTB is asserted is the one that will be selected. The convention, at present, is to have the first DAC-16 counter at address 0100xxxx, and the 2nd board, if any, at 0101xxxx. After each data byte is transferred, the internal address counter increments. You can select the first address in the board (first addr in first board would be 00000000 ) and then read all 12 bytes (3 bytes x 4 axes) with 12 consecutive read data operations, causing the DATASTB line to pulse.

The DAC is the Burr Brown DAC7644, it has the capability to read back what is in the DAC's data register. It also has the capability to hold the digital data as it is entered, and only transfer it to the actual D/A converters on a strobe signal given later.

These are the addresses on the board :

Addr		Function
0               chan 0 low byte
1               chan 0 high byte
2               chan 1 low byte
3               chan 1 high byte
4               chan 2 low byte
5               chan 2 high byte
6               chan 3 low byte
7               chan 3 high byte
8               write anything loads data into dac
9 - 11          no function
12              select Load DAC mode
13, 14          not used
15              Module ID code 0x21
If a 0 is written to reg 12, then the loading of data to the DAC is controlled by a pulse on the INTR EPP bus line. This is intended to be generated by the timer on the master encoder board. If a 1 is written to that register, then the loading of data to the DAC is commanded by writing anything to reg 8. This is conveniently set up so that it can be written right after writing the last data byte to reg 7.

As on the encoder board, the first register to be addressed is written with an ADDRSTB signal with the address of the board and desired register on the data lines. Then, registers can be read or written sequentially by pulses on the DATASTB line.

The data format is as follows :
+10 V output        0xFFFF
0 V                 0x8000
-10 V               0x0000

To Home