digital to analog conversion conventions

Hi everybody,

I have a basic question about DAC conventions.  If I would project a
DAC based on resistive partitioning, the most straightforward outcome
would be that, if I have say 8 bits and a range from 0V to 1V, the
number "0" would output 0V, while the maximum number, 255, would
output 255/256 * 1V, i.e. slightly less than 1V.

By increasing the gain by 256/255 I could have 0V with 0 and exactly
1V with 255, but then each step would be 1/255 rather than 1/256 of
1V, furthermore 128 (the "zero" of a signed 8-bit number) would not
output exactly 0.5V but something close to it.

So both choiches have drawbacks.

- having 255 output match the upper limit of the range means
  128 (like any other number) does not match exactly 1/2 the range
  which could be useful to get bipolar output

- having more straightforward bipolar output, with 128 matching
  exactly the 1/2 the range, means 255 won't reach the upper range
  limit

For the boards I am using (and in general, for what I can see) Comedi
seems to assume that the largest DAC input (4095 or 65535 typically)
does match exactly the upper range (10V typically).  Is this the
case, with actual boards like NI PCI-6036E?  This means that for this
board, which has bipolar output from -10V to 10V one cannot set the
DAC to produce (nominally) exactly zero.

Perhaps the DAC step is so small that nobody cares.  But I am
interested in understanding the matter.

Greetings,
-- 
Alberto

Received on 2003-04-01Z17:00:15