Tool/software:
Hi,
We are using your DAC7750 in our designs.
Upon design verification we've concluded that the current output is not doing what we expect.
It is configured as a 0-20mA output, and therefore we also use the 0-20mA CODE calculation method.
uint16_t code = (uint16_t) ((current_ma / 20.0) *
pow(2, RESOLUTION)); // ((current_ma) << RESOLUTION) / 20;
// For DAC7750 the data is stored in DB15:DB4
// Therefore shift code by 4 to left.
// _value will be written by STATE_SET_OUTPUT
_value = code << 4;
uint8_t data_msb = (_value >> 8) & 0xFF; // MSB
uint8_t data_lsb = _value & 0xFF; // LSB
_make_transaction(DATA_REGISTER, data_msb, data_lsb);
_spi_tx[0] = reg;
_spi_tx[1] = msb;
_spi_tx[2] = lsb;