I'm thinking about embarking on a scientific measurement equipment development sometime in the future. It's going to be a mixed-signal control and data acquisition system with the following specs (just the mixed-signal part; there's a lot more analog stuff involved).
--------8 DACs >= 12-bit (six out of which are multiplying DACs which are updated only infrequently)
1 DAC >= 20-bit5 16-bit ADCs
Link to PC
Maximum signal frequency is about 30kHz, so I'd run the whole thing at60kHz sample rate. The PC link continuously transfers data from four ADCs which amounts to ~4MBit/s. The system will include some (simple) DSP functionality with one of the ADCs and the 20-bit DAC.
The first and obvious idea is to use commercially AD/DA PCI boards and realize the whole thing on the PC side. Even with a hard real-time OS like RTLinux I'm not quite sure about timing issues. I'm sure it's possible though.
I also want to look into the possibility of realizing the functionality with one or more embedded processors which would fit into the same box as the analog signal conditioning parts. My requirements are probably a piece of cake for any half-experienced embedded designer, which I am not. I've done a lot of electronics, both analog and digital, and a fair share of software development, and for a long time I've wanted to marry the two and go into the embedded world. I'm just not sure if this project isn't too much for a starter.
What I'm doing right now is evaluating the possibilities and trying to estimate how much time and people the whole thing will require, no matter how it is realized, and if it will be worth the effort. And for the case we so go embedded of course I would like opinions. The architectures I'm considering are ARM and ColdFire. For the PC link I'd like to use IEEE-1394 (but that's not fixed. It's just that I have written software for it in another context and quite like it). The data acquisition PC will be running Linux, so a toolchain running on that system would be nice but not a must. Programming of the embedded part will probably in assembly language.