Maker Pro
Maker Pro

Ethernet to SPI conversion for multiple ADC and DAC.

I am designing a load board for test of a system with multiple voltage output channels. The board contains 40 active loads, for which the current is individually controlled using a DAC. I also need to monitor the current to get a feed back on the setting using an ADC to measure voltage over a sense resistor. In addition to the current monitoring I would like to measure the load voltage applied per channel.

I have found a suitable DAC with 40ch controlled using SPI-I/F. I have also found 16ch ADC devices that I would require 5 of to obtain 40+40ch.

The preferred interface to the board is Ethernet and I have looked into the idea of using a Ethernet-to-SPI converter. The issue is however how to address all these devices. I do not have enough chip select pins to cover all 5+1 chips. I know an alternative is to use the Daisy Chain method but I am worried about the complexity. Am I wrong, is it the easiest way to tackle the issue?

Would anyone have ideas on how to handle multiple slaves using ethernet-to-SPI-converter?

Thanks in advance!

- I attached a block diagram of how I imagine the board could look like (the eth-to-spi I/F with several SS-pins is just wishful thinking so far)
 

Attachments

  • loadboard.pdf
    96.1 KB · Views: 89
Welcome to EP.
On the system level ,a few questions:

Why the need to use Ethernet?
What is the maximum distance between the PC and the load-board?

Is there a speed requirement on setting/reading channels?
Are all loads on that same board (as drawn)?
What is the maximum distance between loads and the "controlling element"?

Why the need to use SPI?
 
Thank you!

Ethernet is just the preferred I/F since we experienced issues using other buses such as USB. Most of the instruments in the test equipment uses ethernet and thus, we would like to minimize the use of different I/Fs.

Maximum distance between the board and the PC will be 1-1.5m tops.

One board comprises 40ch and in my project we need 150 channels, so it would be nice to be able to perform pretty fast setting/reading per channel to minimize the total testing time. Other than that, I dont have a specific reuirement on speed.

If you by "controlling element" refer to the ADCs and DAC I would like to design the board to have the loads as close to the reading source as possible. Maybe have groups of eight channels with one ADC per group. The DAC is harder to locate in a suitable spot since it has to be connected to all load channels.

There is no requirement on using SPI, it was just the serial bus used on the DAC and ADCs I found. It seemed like a suitable choice, but if there are better ideas, I'll be happy to hear them!
 
In respect to the select lines of the SPI.
If you would use I2C interface instead, you would not have this problem since I2C is a 2 wire one .

In respect to the Ethernet .
If you would use the RS232 interface of the PC instead life would be much easier.
Another way would be to use an I2C board on the PC to control everything directly from the PC itself.

Another question : what is the resolution you need for the A/D and D/A?

Grouping the loads in 8s sounds reasonable.
In fact you could use a single A/D for measuring all loads(or one per 8 etc.)mux-ing the inputs to it.

What uC are you planning to use on the control board?
 
Last edited:
Top