The most recent version of this page is a draft.DiffThis version (18 Feb 2020 14:17) was approved by Suraj Pai.The Previously approved version (10 Jan 2020 11:04) is available.Diff

This is an old revision of the document!

AD5791 ACE Remote Control

Following section contains the source code for a simple application to calculate the INL and DNL values for a DAC and a guide on how to use it. The Application writes codes to a DAC in the AD5791 family using the ACE tool and reads voltages recorded on an instrument using VISA.

Getting Started


  1. SDP-B Controller board and it's 12V DC adapter
  2. AD5791 Evaluation Board or an equivalent board that has any of the following DACs
    • AD5790
    • AD5781
    • AD5780
    • AD5760
  3. +/-15V Power Supply for the evaluation board.
  4. A Digital Multimeter that supports VISA. The Keysight 3458A Digital Multimeter was used when the script was written. For a different instrument, you need to consult it's manufacturer's website/documentation.
  5. A USB to GPIB or equivalent connector for interfacing the instrument to your PC.


  1. A python environment.
  2. Python script; Download from here.

Setting Up

Setting Up the python environment

  1. Download and install Python 3.7 from here. Make sure that the “Add Python 3.7 to PATH” option is enabled.
  2. Open a command prompt/powershell window in the same directory as the extracted files. Then install the required packages by running the following command:pip install -r requirements.txt
  3. Run the script by using the command:python

Hardware and ACE

Refer to the Evaluation Board user guide on powering the board up and setting up the ACE plugin. Please make sure that the plugin is functional and the device responds to the plugin interaction before proceeding further.

Setting up communication between ACE and the Python script

  1. Open ACE, then go to Tools → Settings.
  2. Go to IPC Server Tab and ensure that it is enabled. Also ensure that a port is allocated.
  3. In the file “”, ensure that the port number matches on line 70.

Running the application

  1. Make a note of the following constants (lines 52 to 60) in the file “” and change accordingly:
    • Board and chip names, e.g. for AD5760, the change the board variable to “EVAL-AD5760SDZ” and chip to “AD5760” without quotes
    • ACE Installation path
    • GPIB address of your device
    • Command to capture data from your multimeter. The script was developed and tested with the Keysight 3458A Digital Multimeter. Refer your instrument's manual for the correct command.
    • Constants for code range (maximum and minimum), number of codes to jump through and the voltage span according to the reference fed to the DAC.
  2. Run the script by using the command:python
  3. After the script finishing capturing data, you should see the results window similar to this:
  4. A spreadsheet will be exported to the home directory that contains all the values captured and plotted.
/srv/ · Last modified: 08 Jan 2021 22:35 by Robin Getz