Maker Pro
Maker Pro

Simple multi-channel serial ADC (8-ch)?

J

Joerg

Marte said:
Hi Jörg,




I find it very easy to learn. With winarm package no additional cost, only
$30 Minikit with serial download cable or simply samples, ready to start
with... Only the I2C I didn't understood clearly.




7022 is with $4 delivering 10 AD ports with 12 bit.

More like $5/1k, at least in the US:

But not that much stock which always has me a bit worried. You couldn't
even buy 1000 of them for that price right now because they only have
597. Some of the non-stocked versions show this little note: "Obsolete
item; call Digi-Key for more information."

the ADuC7022 may not be the cheapest solution, Atmel may have cheaper ones,
or Reneas, or...
The Analog MicroConverters do really have excelent AD-units. That's what I
know, this is what you didn't guess, me too, but we tested it.

AD is known for analog excellence. Did you do a hard test down to the
noise level against a stand-alone ADC? And look at clock beats and stuff?

The other issue is that it's difficult to find local coders that know
this uC. That is why we often default to the 8051 family where you can
easily find contractors without having to pay lots in travel expenses.
 
L

linnix

You don't have to, we will do it for you.
More like $5/1k, at least in the US:

With a couple of MUXs, we can deliver 16 channels at that price.
But not that much stock which always has me a bit worried. You couldn't
even buy 1000 of them for that price right now because they only have
597. Some of the non-stocked versions show this little note: "Obsolete
item; call Digi-Key for more information."

$5 for 1K is no problem for a 50MHz ARM.
AD is known for analog excellence. Did you do a hard test down to the
noise level against a stand-alone ADC? And look at clock beats and stuff?

That's why you need hardware averaging, or low pass filtering.
The other issue is that it's difficult to find local coders that know
this uC.

Hard to believe that. Where are you in?
That is why we often default to the 8051 family where you can
easily find contractors without having to pay lots in travel expenses.

It usually takes a couple of days to learn a uC, most of the time
dealing with I/O.
If your contractor can't learn a new uC, look for another one.

We can deliver the source code for the program and Jtag downloader via
USB.
You just need a 6 pins header (0.1" or 0.05" pitch) on your board.
 
More like $5/1k, at least in the US:


But not that much stock which always has me a bit worried. You couldn't
even buy 1000 of them for that price right now because they only have
597. Some of the non-stocked versions show this little note: "Obsolete
item; call Digi-Key for more information."


AD is known for analog excellence. Did you do a hard test down to the
noise level against a stand-alone ADC? And look at clock beats and stuff?

The other issue is that it's difficult to find local coders that know
this uC. That is why we often default to the 8051 family where you can
easily find contractors without having to pay lots in travel expenses.

--
Regards, Joerg

http://www.analogconsultants.com- Hide quoted text -

- Show quoted text -

Analog devices has 8051 version of their microconverters

http://www.analog.com/UploadedFiles/Data_Sheets/ADUC814.pdf

I have used them and with no bits toggling with a DC input, so noise
is not a factor, but I also have used 10 bit AVR's and had only a
single bit toggle, with 4x average you can get 10 bits without noise,
and you don't need any external crystals. In any case you can do A/D
converstions in sleep mode if your layout is not great.
 
M

Marte Schwarz

Hi Jörg,
More like $5/1k, at least in the US:

$ 3.98 from
http://www.analog.com/en/subCat/0,2879,762%5F%5F0%5F%5F0%5F,00.html
But not that much stock which always has me a bit worried. You couldn't
even buy 1000 of them for that price right now because they only have 597.
Some of the non-stocked versions show this little note: "Obsolete item;
call Digi-Key for more information."

May be but this is only a example. Guess your very special AD wouldn't be in
stock too.

May be you want to use a very cheap ATtiny with a 4067 as Mux? I'm sure this
isn't to beat. for low data rate you can create your own quad slope AD using
the cheapest controller to be found.
AD is known for analog excellence. Did you do a hard test down to the
noise level against a stand-alone ADC? And look at clock beats and stuff?

I saw the sample results from 1 Hz full scale sine wave without a plane or
such special features just given to the minikit sampled there and
transmitted this online with 2 kSps over UART (UART-USB-Bridge - Yes powered
from USB! but with onboard 3V3 regulator). It looks fine without missing
codes, only a few toggles around the last bit. In my view a very good
result. I didn't expect more than 9 bits.
The other issue is that it's difficult to find local coders that know this
uC.

It is a ARM7 controller and the only thing you need is the datasheet (handy
vs 100 pages) and little knowledge of Ansi C. There are good examples from
analog and around in the net.
But If I were you I would use a cheap one and make my own dual or quad slope
with a few 4051 mux in front of it as I remember you want to measure DC
signals and mostly you design as cheap as possible for mass production

Marte
 
J

Joerg

linnix said:
You don't have to, we will do it for you.




With a couple of MUXs, we can deliver 16 channels at that price.

I can do it for around $3, sans external mux. With an ADC chip ;-)
$5 for 1K is no problem for a 50MHz ARM.




That's why you need hardware averaging, or low pass filtering.

Works as long as you don't have slower patterns in there. Seen that more
than once on uC (we even ended up having to shut it down during
acquisition).
Hard to believe that. Where are you in?

Sacramento, CA. No problem here to find talent in any field or uC. But I
have clients in more remote locations.
It usually takes a couple of days to learn a uC, most of the time
dealing with I/O.
If your contractor can't learn a new uC, look for another one.

We can deliver the source code for the program and Jtag downloader via
USB.
You just need a 6 pins header (0.1" or 0.05" pitch) on your board.

I might take you up on that some day. Just not for this project, the
architecture is nearly done in analog/mixed but without any MIPS
horsepower. There is another reason for not having a uC. The board needs
to be super duper quiet 90% of the time when data acquisition takes
place. There are some low level RF signals up to 100MHz that want to
remain undisturbed.
 
J

Joerg

Marte said:

Err, I clicked on it. Seems they don't have 1000 but only 490. They want
$4.52 per chip if you buy them all.
May be but this is only a example. Guess your very special AD wouldn't be in
stock too.

I am going to use something like the TLV1548, around $3-4. Plenty in
stock, there are many similar ones. If the SW guys don't like the
initialization chat I might spoof it like I described before. But maybe
they don't mind.
May be you want to use a very cheap ATtiny with a 4067 as Mux? I'm sure this
isn't to beat. for low data rate you can create your own quad slope AD using
the cheapest controller to be found.

Slope might be a bit too slow because I need eight channels and SW guys
usually prefer to read those in one fell swoop.
I saw the sample results from 1 Hz full scale sine wave without a plane or
such special features just given to the minikit sampled there and
transmitted this online with 2 kSps over UART (UART-USB-Bridge - Yes powered
from USB! but with onboard 3V3 regulator). It looks fine without missing
codes, only a few toggles around the last bit. In my view a very good
result. I didn't expect more than 9 bits.

That is indeed quite good.
It is a ARM7 controller and the only thing you need is the datasheet (handy
vs 100 pages) and little knowledge of Ansi C. There are good examples from
analog and around in the net.
But If I were you I would use a cheap one and make my own dual or quad slope
with a few 4051 mux in front of it as I remember you want to measure DC
signals and mostly you design as cheap as possible for mass production

Or use a cheap 1-channel ADC and a HC4051. That's really hard to beat.
 
M

Marte Schwarz

Hi Jörg,
Or use a cheap 1-channel ADC and a HC4051. That's really hard to beat.

I would prefer a µC so you can implement the control of the 4051 with the
same timen than the ADC and the SPI/I2C or whatever else. Have a buffer,
possibility of averaging... and the noise is almost from peripheral clocks,
you don't need this with several µC. They can be very quiet, I guess more
quiet than a discrete ADC with external oscillator pin.

Marte
 
J

Joerg

Henry said:
LTC1090 or LTC1290 ?

They also need a data-in sermon. Looks like older 5V devices, not too
much stock, no TSSOP and very expensive. But thanks anyway, I'll see if
LTC has more modern ones.
 
J

Joerg

Marte said:
Hi Jörg,



I would prefer a µC so you can implement the control of the 4051 with the
same timen than the ADC and the SPI/I2C or whatever else. Have a buffer,
possibility of averaging... and the noise is almost from peripheral clocks,
you don't need this with several µC. They can be very quiet, I guess more
quiet than a discrete ADC with external oscillator pin.

Yes, probably a uC could work here if clocked slowly. It doesn't have to
do much. But there is one more pain left (don't I always find a hair in
the soup?): Programming it. Beats me why companies like TI keep their
SBW details a secret. They also do not provide a simple download tool.
By simple I mean something that can be clicked from a PC and then
automatically download into the uC. The user interface should consist of
an *.exe file that gets double-clicked from Windows Explorer, no more.
Currently you have to use one of the programming suites for that. I use
IAR and I am comfortable with it but a biomedical engineer who does
mostly mechanical and chemistry stuff won't be. I can't expect my
clients to learn a design suite to program my boards. At least not the
smaller companies among them.

The analog/mixed solution I am designing now will not have that
programming hassle. Somebody stuffs it, somebody tests it (probably me),
then build a few dozen more, a tech tests those and then plops them all
into the system rack.
 
M

Marte Schwarz

Hi Jörg,
But there is one more pain left (don't I always find a hair in the soup?):
Programming it.

Don't tell such things. I'm really not the biggest programmer on earth, but
I guess this may be the work for max half a day. For a programmer with
practice it will be half an hour.
Beats me why companies like TI keep their SBW details a secret.
SBW?

They also do not provide a simple download tool.

I remember for ADUC there is a complete docu around, I guess it is general
for the ARM7 derivates. At least LPC and ADUC can be programmed with a
freeware tool available on the net (linux based, because the manufacturers
supports only windows based programming tools ;-)
By simple I mean something that can be clicked from a PC and then
automatically download into the uC. The user interface should consist of
an *.exe file that gets double-clicked from Windows Explorer, no more.

That should be easy too. You only have to spy on the UART while programming
and send this sequence to the controller :)
Currently you have to use one of the programming suites for that. I use
IAR

The mspgcc guys may help here. I guess there is a downloader with command
line support there too.
and I am comfortable with it but a biomedical engineer who does mostly
mechanical and chemistry stuff won't be. I can't expect my clients to
learn a design suite to program my boards. At least not the smaller
companies among them.

Flashing is a very easy tool. this may be done by every person having the
head not only on the neck to prevent the rain:)
The analog/mixed solution I am designing now will not have that
programming hassle. Somebody stuffs it, somebody tests it (probably me),
then build a few dozen more, a tech tests those and then plops them all
into the system rack.

The time you search around will be longer than to program this little code,
isn't it?

Marte

P.S. few years ago I thought similar. No µC if ever possible. But I see, the
times are changing...
 
J

Joerg

Marte said:
Hi Jörg,



Don't tell such things. I'm really not the biggest programmer on earth, but
I guess this may be the work for max half a day. For a programmer with
practice it will be half an hour.

Coding is easy, I meant the download procedure (for people other than us
EE types).

SBW = Spy-by-wire, the download scheme for the new MSP430 F2xxx family.
Some of those don't have a built-in UART anymore. SBW is a nice two-wire
link. Would even be nicer if it was one-wire, maybe some day.
I remember for ADUC there is a complete docu around, I guess it is general
for the ARM7 derivates. At least LPC and ADUC can be programmed with a
freeware tool available on the net (linux based, because the manufacturers
supports only windows based programming tools ;-)




That should be easy too. You only have to spy on the UART while programming
and send this sequence to the controller :)

If it has one. Why not use what's already there (SBW)? Why do they make
that so hard by not releasing the innards of the protocol? I understand
if someone doesn't want to disclose grandma's famous chocolate cake
recipe but SBW can be reverse engineered if someone really wanted to.
They might as well open it up which would increase sales.
The mspgcc guys may help here. I guess there is a downloader with command
line support there too.

Not for SBW, AFAIK.
Flashing is a very easy tool. this may be done by every person having the
head not only on the neck to prevent the rain:)

Sure they can learn it but that takes time. It's the same as someone
asking you to diagnose a modern car where the engine began to stall at
times. I am sure you could figure it out but first you'd spend many
hours learning because this ain't grandpa's old motor anymore. That's
why they made those little connectors under the dashboard and a small
hand-held diagnostic wand.
The time you search around will be longer than to program this little code,
isn't it?

Nah, it's pretty much done. It'll be a SPI converter. Either an 8-ch or
a 11-ch depending on price and stock levels.
P.S. few years ago I thought similar. No µC if ever possible. But I see, the
times are changing...

I have nothing against uC, sometimes they are the tool du jour. But
other times you can achieve a very robust circuit without. One that can
be produced until long after this particular uC model has gone obsolete ;-)
 
L

linnix

Coding is easy, I meant the download procedure (for people other than us
EE types).

Well, we are getting close to a simple downloading solution for ARM.
We have a gdb server running on the target and jtag flash the chip via
usb.

We can remotely gdb the chip, or have a friendlier program (WinGdb?)
to download it. The remaining work is to figure out how to interpret
the AXF file. The goal is to:

Compile in Keil (perhaps WinArm eventually), strip AXF into binary
image. TCP it to the target (or programming box), flash it with usb
jtag.

Exactly as ordered. First function is to read and write the flash
remotely. This will work with any FTDI 2232 based usb cables. We
currently have a target running Linux 2.6.16 and an usb Arm. If your
target is on static IP, you can remotely debug/download it across the
country.
 
J

Joerg

linnix said:
Well, we are getting close to a simple downloading solution for ARM.
We have a gdb server running on the target and jtag flash the chip via
usb.

We can remotely gdb the chip, or have a friendlier program (WinGdb?)
to download it. The remaining work is to figure out how to interpret
the AXF file. The goal is to:

Compile in Keil (perhaps WinArm eventually), strip AXF into binary
image. TCP it to the target (or programming box), flash it with usb
jtag.




Exactly as ordered. First function is to read and write the flash
remotely. This will work with any FTDI 2232 based usb cables. We
currently have a target running Linux 2.6.16 and an usb Arm. If your
target is on static IP, you can remotely debug/download it across the
country.

That's what is needed. Now if this would be available for a smaller uC
such as the MSP430 I believe it would certainly increase its market
penetration into areas that have gone without any uC so far. IOW not
chasing the competition but truly new markets.

IIRC from the Yahoo MSP430 forum there is a guy working on it but last
time he was still looking for someone who would take on the PC side
software. I don't want to spoil the broth here but, sorry, Linux isn't
really an option. If you take me as an example none of my clients uses
Linux. All Windows :-( .... ok, one MAC.

I thought about a uC here after the discussion with Marte but will
forego it again this time. This board needs good radio silence most of
the time. The only way to achieve that within a few usec is to have an
external clock that is gated and then it'll all become quite esoteric.
 
M

Marte Schwarz

Hi Jörg,
That's what is needed. Now if this would be available for a smaller uC
such as the MSP430

AFAIK this is similar available for the older MSP430 series as well as the
ATtiny.
IIRC from the Yahoo MSP430 forum there is a guy working on it but last
time he was still looking for someone who would take on the PC side
software. I don't want to spoil the broth here but, sorry, Linux isn't
really an option. If you take me as an example none of my clients uses
Linux. All Windows :-( .... ok, one MAC.

It shouldn't be a big problem to port to win32.
I thought about a uC here after the discussion with Marte but will forego
it again this time. This board needs good radio silence most of the time.
The only way to achieve that within a few usec is to have an external
clock that is gated and then it'll all become quite esoteric.

But here you need to flicker around with the external clock while
measurement are in progress while with a µC you can have the quiet while
measurement and have the external clock only while transfering the data.

Marte
 
Yes, probably a uC could work here if clocked slowly. It doesn't have to
do much. But there is one more pain left (don't I always find a hair in
the soup?): Programming it. Beats me why companies like TI keep their
SBW details a secret. They also do not provide a simple download tool.
By simple I mean something that can be clicked from a PC and then
automatically download into the uC. The user interface should consist of
an *.exe file that gets double-clicked from Windows Explorer, no more.
Currently you have to use one of the programming suites for that. I use
IAR and I am comfortable with it but a biomedical engineer who does
mostly mechanical and chemistry stuff won't be. I can't expect my
clients to learn a design suite to program my boards. At least not the
smaller companies among them.

The analog/mixed solution I am designing now will not have that
programming hassle. Somebody stuffs it, somebody tests it (probably me),
then build a few dozen more, a tech tests those and then plops them all
into the system rack.

--
Regards, Joerg

http://www.analogconsultants.com- Hide quoted text -

- Show quoted text -

why would your clients be programming your boards?
 
J

Joerg

Marte said:
Hi Jörg,



AFAIK this is similar available for the older MSP430 series as well as the
ATtiny.

Hmm, that was the first question I fired off at the TI seminar. My
question was whether there is a simple Windows-based code dump routine
that would let non-programmers do a bootload. The answer was "nope".
Later I asked again but the answer didn't change :-(

Also, nowadays one really wants to embrace the F2xxx family (usually
SBW-only) because older ones didn't even have a proper brown-out reset,
among other things. By the time you add all that stuff you might as well
go analog.
It shouldn't be a big problem to port to win32.

It would be tough for me. Me and Windows frequently clash ;-)
But here you need to flicker around with the external clock while
measurement are in progress while with a µC you can have the quiet while
measurement and have the external clock only while transfering the data.

Sorry, I must have expressed myself without clarity. It's not data that
is transferred but small signals that are extracted from other signals
by that board. Pretty much down to the noise level. Then these are sent
to other boards in analog fashion. During that time there cannot be any
clocks and the pauses are very short. Just a few usec.

While there are those few usec between measurement periods that isn't
quite enough time to start a MSP430 which is already one of the fastest
uC to come out of low power sleep mode.

If you run SPI the whole clock scheme is under system control. I can
request SPI to stop running after x microseconds no matter whether or
not some task is completed, then resume after y microseconds. Probably
this can also be handled by a uC as long as it is a fully static design.
We did that in the early 90's with one from the 89C51 family. It was a
very similar situation but in that case there was no choice because we
had to run rather complicated communication with a connected device.
Plus that client had expressed the desire to talk to this board with a
Qume terminal (remember those?).
 
J

Joerg

why would your clients be programming your boards?

Because they are contractually their boards :)))

But seriously, suppose they'd want a minor mod. With a proper downloader
I'd do it, send it to them and tell them to connect the board, then
double-click modgizmo.exe or something like that.

Without, it goes something like this: Do the mod, go to the SWA or
Jetblue web site, book flight, book hotel, book rental car, fly x hours,
rent car, crash in hotel bed, drive to client, program boards, drive
back to airport, get in traffic jam because some knucklehead speeded and
spun out, miss last flight...
 
Because they are contractually their boards :)))

But seriously, suppose they'd want a minor mod. With a proper downloader
I'd do it, send it to them and tell them to connect the board, then
double-click modgizmo.exe or something like that.

Without, it goes something like this: Do the mod, go to the SWA or
Jetblue web site, book flight, book hotel, book rental car, fly x hours,
rent car, crash in hotel bed, drive to client, program boards, drive
back to airport, get in traffic jam because some knucklehead speeded and
spun out, miss last flight...

--
Regards, Joerg

http://www.analogconsultants.com- Hide quoted text -

- Show quoted text -

Yes but compare that to the mess that would occur if your customer
wanted a mod to your serial based stand alone A/D board (it would be a
HW mod)

There is no reason why you can't consider a CPU based A/D a piece of
unprogrammable hardware. Once you program it, put it on the board and
make no accommodations what-so- ever to reprogram it. The serial stand
alone A/D doesn't have that feature, and it appears it's acceptable to
your customer, so why add it.
 
M

Michael A. Terrell

Joerg said:
Plus that client had expressed the desire to talk to this board with a
Qume terminal (remember those?).


Yes. How about a Lear Siegler ADM3?


--
Service to my country? Been there, Done that, and I've got my DD214 to
prove it.
Member of DAV #85.

Michael A. Terrell
Central Florida
 
Top