Couple of quick random thoughts while going over the documents:
ADS1258EVM is a nice ~ EUR 50 board that can get you up and running quickly with some decent resolution measurements. It's no integrating multi-slope adc because it's a delta-sigma adc.
But it is affordable and reasonably easy to integrate so you have an easy starting point.
Yay! You picked spartan-6. All for it, and I might be able to contribute a bit there. The multi-slope adc + fpga combo has my interest for an entirely different non multi-meter project. Just make sure you're using (system) verilog and everything is dandy from my rather egotistically motivated standpoint.
stm32f407 as mcu ... again all for it.
Use that quite a bit now for current projects.
regarding block diagram and ETH PHY on the right side of galvanic isolation ... ethernet has the added bonus of isolation, which IMO why it's a nice and easy interface for DIY measurement gear where 1) you want some safety and 2) don't want to have think
too hard. I'd say aim for 100 MBit. For control alone you can probably suffice with 10 Mbit, so if the ONLY goal is commands over ethernet just do 10 mbit. But 100 MBit is easy enough with the stm32, and it gives you a nice bit of bandwidth to pump samples over to the PC in exchange for not too much effort. And yeah yeah, you can do gbit, but then you want to connect the gbit PHY to the spartan-6. Anyways, 100 mbit with a decent tcp stack on the stm32 will get you nice capabilities.
Integrated PSU ... if the amperage allows, try to make it a seperate daughter PCB that you can plonk on the main PCB. That way you can reuse it in other designs, and design improvements go both ways. I see this being done in both the DIY and the industrial sphere. In fact, I am just starting to do this myself. Design a couple of PSU blocks once, and then you can use it in different designs without reinventing the wheel. Plus it makes prototyping a lot faster if you can just grab a ready to connect PSU block and plonk it on the pcb/breadboard/deadbug.
Voltage ref ... try and make use of the fact that quite a few hobbyists would like an affordable lab standard. If you can define it such that the voltage ref is both usable in your design and as a standalone reference it would help the design effort. But at the same time, if this feature adds too much work for you ... skip it! Don't fall for the trap of wanting to do everything at once. It's a bit of a trade off. If making it a seperate module is hardly any effort, I'd say do it. If it is a significant effort ... screw those guys (and this guy
) and their need for a lab standard. Keep it simple. Now that I think about it ... screw those guys by definition. Keep it simple. First revision should be made with as major goal Just Get Something That Works. So keep in the back of your mind you may want to seperate the reference as a module, but that's about it.
And luckily your focus is a bench DMM, and not one of those Rule The World (and thereby defeat the Chinese) handheld opensauce multimeters that frollic in the pasture side by side with pixies and unicorns. A DIY bench DMM makes sense in 2013. A handheld does not IMO. Anyways, don't care for a "handheld makes no DIY sense" vs "bench is the way" discussion/flamewar. I am just glad you chose benchtop. Otherwise I would not even expend keystrokes/braincycles over it.
One more random remark that is low prio, but more as a placeholder: for commands, use SCPI. there's been some discussion in another thread about it, and IMO scpi is a reasonable choice for DIY hardware like this. At this stage I would not spend too much time on it. The main reason I mention it now is so you don't go and spend time & effort on some new way to send commands to your DMM. Just write down "[ x ] Send command & receive data from instrument. Use SCPI." somewhere on your project list.
No need to spend more time on that right now. The analog is where the challenge is.
As for digits, I'd say aim for 5 1/2 digits for iteration #1 with an eye on 6 1/2 digits for future iterations. If you can make everything in the 6+ digit area the first go then go for it! If not, keep things simple, compromise a little and settle for a bit less accuracy. The ONLY reason I say this is to stay away from the trap of trying to be overly perfectionistic. Just get something that operates reasonably well first. After that you do incremental improvements.
Plus, I think that 5.5 digits is possible by just plonking in the previously mentioned ADS1258EVM without too much thought.
Anyways, enough semi-random remarks for now.