Re: To embed or not to embed?



On 18 Apr, in article <4ak6n7Ftk5evU1@xxxxxxxxxxxxxx>
boblatest@xxxxxxxxx "Robert Latest" wrote:

Hello folks,

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).

I assume this is a ONE off for lab use.
For a product the problems mainly relate around how long do you want to
make and support the product for.

--------

8 DACs >= 12-bit (six out of which are multiplying DACs which are
updated only infrequently)

1 DAC >= 20-bit

5 16-bit ADCs

Link to PC

Maximum signal frequency is about 30kHz, so I'd run the whole thing at
60kHz 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.

It is amazing how many commercial cards only support Windows with these
cards, I know from my time working for a company in that field.

Depending on how long you want to support the product, changes in operating
system can happen a lot quicker than updates to drivers. Changes to
platform can be a pain as well, as in all slots changed to PCIexpress or
whatever and find out your cards no longer work in new systems for
hardware reasons and then the added driver issues.

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.

If you are doing it as your own one off project, bear in mind your total
requirements, but consider building it up in parts. If using a commercial OS
check what drivers already exist as you could be spending a lot of time
writing and testing drivers. As an embedded system you could do your own
version of PC104, with having stackable modules added for each type of
instrumentation interface you get working next. The modules need not
stack on top of each other but could be ones addded to another board.
With the cost of some ARMs you may well consider having an ARM on each
daughterboard controlling that instrumentation interface to a base
board with comms and supervisory roles.

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.

Either should be able to do what is required, but also consider the
ARM + DSP vendors as doing some preprocssing on the DSP could reduce your
link requirements.

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).

Suitably fast transfer method, and if your familiar with it that is a good
point to start from. That is building upon what you already know in
increments.

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.

Well the GNU toolchain (assembly and other languages) would be a good
place to start as they work under Linux for lots of processors, ARM
already supported. see http://www.gnu.org/

--
Paul Carpenter | paul@xxxxxxxxxxxxxxxxxxxxxxxxxxx
<http://www.pcserviceselectronics.co.uk/> PC Services
<http://www.gnuh8.org.uk/> GNU H8 & mailing list info
<http://www.badweb.org.uk/> For those web sites you hate

.



Relevant Pages