Maker Pro
Maker Pro

Microcontroller with 12-bit a/d subsystem?

F

Fred Bartoli

Jan 1, 1970
0
Le Tue, 06 Nov 2007 02:51:05 +0000, john jardine a écrit:
Was looking at an ARM development board on Sunday. Are they
straighforward to program in assembly?.
I've now had 10 years of PICs and am heartily fed up with their
obtuse, infernal internals.
On average I get through maybe 4 jobs a year that use a PIC and each
time round I have to relearn the bit settings, the register defaults,
the interrupt sequencing, the pin allocating, the ... . It's a grade#1
pain. Maybe it's because I'm not really interested in programming and
see it as just a means to an end, yet I still find it very easy to read
Z80 assembly listings from 15 years back and could still program one
from scratch. I reckon the PICs are doing my head in. There must be
something better out there. Perchance the ARM?.

Condolences for the PICs. I certainly wouldn't touch it even with a gun
pointed at my head.
For small designs Atmel's AVR8 family is a pleasure to work with.
TI's MSP430 is excellent too (but no 5V).
 
J

John Hudak

Jan 1, 1970
0
Fred said:
Le Tue, 06 Nov 2007 02:51:05 +0000, john jardine a écrit:


Condolences for the PICs. I certainly wouldn't touch it even with a gun
pointed at my head.
For small designs Atmel's AVR8 family is a pleasure to work with.
TI's MSP430 is excellent too (but no 5V).
Ditto..grade 1 pain. I just love their memory segmentation. The only
way to deal with a PIC is with C (some ppl would call that a high level
language - your religion may vary). I've managed to convince some
educational institutions to stop teaching this archaic architecture, and
teach something with good isa attributes (e.g. generality,
orthogonaliity, etc.)
john
 
J

John Hudak

Jan 1, 1970
0
Spehro said:
You didn't say you needed 12 real bits rather than marketing bits. ;-)
Sorry, I are an engineer...I only deal with marketing if I want a free
lunch..lol
I have not done much with on-chip SAR converters lately, but 10-bit
ones are so stable and noise-free that I suspect that the 12-bit ones
are not too bad, even if they are not any better. That's assuming the
layout is good, the supply voltage is reasonably high and clean, there
is as good ground plane, there are not large untamed currents flowing
around, and all the other usual analogish stuff. I have no doubt that
others can get worse performance out of them. ;-)
I made some simple designs with some of the integrated cpus and a/d
subsystems. (kept parts count minimal, isolated power, followed rule of
thumb routing/layout guides, designed filters with low noise components,
high rolloffs, etc). Both accuracy and repeatability sucked mainly
because of noise, inhibiting the cpu will cause problems when I scale up
the #of channels. I didn't want to design an analog subsystem from
scratch (more or less) but it looking more like that.
Appreciate the input...thanks
 
H

Hal Murray

Jan 1, 1970
0
Was looking at an ARM development board on Sunday. Are they straighforward
to program in assembly?.
I've now had 10 years of PICs and am heartily fed up with their obtuse,
infernal internals.

ARM chips are 32 bits - quite a step up from the PICs. (probably in cost
as well as performance) The extra cost might be worth it in development
time if you only make a few of something.

Quite a few companies make/sell ARM based chips so the peripherals
you get will vary. I like the Atmel SAM7 parts.

The people I know who work on ARMs generally use c. That's a reasonable
environment for bit twiddling if you make a set of macros that are
just constants that point to the IO registers and constants for
bits and field masks/shifts...
 
J

Joel Koltner

Jan 1, 1970
0
Hal Murray said:
ARM chips are 32 bits - quite a step up from the PICs. (probably in cost
as well as performance)

The performance ratio increases much moreso than the price does, at least if
you compare to "high end" PICs. :)
Quite a few companies make/sell ARM based chips so the peripherals
you get will vary. I like the Atmel SAM7 parts.

Indeed -- some of the newer ARMs are both cost and power competitive with
traditional 8 bit offerings, and completely blow them away on performance. At
least if you don't have to do *too* much bit twiddling, that is.
The people I know who work on ARMs generally use c.

As far as I can tell stuff like AVRs and MSP430s are really meant for C as
well -- relatively little RAM, but lots of flash ROM.

---Joel
 
J

john jardine

Jan 1, 1970
0
Anthony Fremont said:
john said:
[...]
I've been severely bitten by the ARM bug. Been playing with one of
these recently:
http://www.olimex.com/dev/lpc-2378stk.html
It makes for a way cool toy. :)

Was looking at an ARM development board on Sunday. Are they
straighforward to program in assembly?.

I really like the instruction set, much more powerful than the typical micro
IMO.

I've now had 10 years of PICs and am heartily fed up with their
obtuse, infernal internals.

;-) I wanted to do some work in C and learn something about ARM, so I
finally got around to getting a dev board. The dev board in the link I
posted is my second one. I started with a LPC2106 board to get my feet wet
and then bought the second board a couple of weeks later. I've been having
a ball with this one, what with all the nifty peripherals that I haven't
played with before. :)
On average I get through maybe 4 jobs a year that use a PIC and each
time round I have to relearn the bit settings, the register defaults,
the interrupt sequencing, the pin allocating, the ... . It's a
grade#1 pain. Maybe it's because I'm not really interested in
programming and see it as just a means to an end, yet I still find
it very easy to read Z80 assembly listings from 15 years back and
could still program one from scratch.

I don't think the ARM architecture is going to make you suddenly enjoy
programming, but I think you will find the instruction set allot easier on
your sanity. My biggest problem with PIC chips is the W reg, it makes life
so tedious.

Something I noticed pretty quickly about the ARM world is that while the
instruction set is the same between manufacturers, the way the built in
peripherals work can vary quite a bit. I originally had planned to start
using Atmel SAM7 parts, but due to a shortage in the dev boards, I ended up
going with the LPC(NXP/Phillips) part. I'm kinda glad I did as I like the
GPIO port design in the NXP parts better......I think. ;-)
I reckon the PICs are doing my head in. There must be something
better out there. Perchance the ARM?.

This may be somewhat of an apples/oranges issue. IMO the PIC will always
have its place because of its ruggedness and reliability not to mention the
miniscule amounts of power it uses. OTOH, the ARMs are getting really cheap
and they are just sooo frigging fast it's amazing. I'm used to PIC
instructions taking .5 to 1 uS to execute, now I'm burning the place down
with instruction cycle times < 15nS. Seems so odd to call a subroutine to
delay for 1uS, but I'm not complaining mind you. ;-) OTOH, welcome to the
world of wait states when running from flash. :-( I guess you can't have
everything.

Thanks.
As it happens, an hour ago received an ad' describing Microchip's new 32 bit
PICs. Seems they've now 1/2Mbyte of flash, DMA and run at 75Mhz!. Implies a
50nS cycle time and with the single cycle MAC, they outwardly look eminently
tasty. I'm not having it though, as I just know the internals will be a
train wreck, leading to the compiler writers rubbing their hands gleefully
with profitable expectations.
Thinking about it and reading the other responses, I reckon I need to be
familiar with 2 micros. One 'clean' 8 bitter (5V) for bread and butter work,
that will pay bills. One muscle 32 bitter that will handle stuff for the
occasional 'what-if?' projects.
Looks like the ARM is it for the specials, in which case it's worth the
effort.
The low ender looks like it's going to be the Atmel. I was loaned a pile of
AVR stuff last week. Time to start reading!.
 
H

Hal Murray

Jan 1, 1970
0
The low ender looks like it's going to be the Atmel. I was loaned a pile of
AVR stuff last week. Time to start reading!.

I've been happy with the AVR 8 bit parts. The peripherals are
reasonably clean. (I haven't looked at the new 32 bit stuff.)

They have many parts, usually clusters with the same IO gear and
different sized RAM/ROM(flash).

If you want to get started, their STK500 is probably the
right board. Digikey has them for $84. It will program
most of the 8 bit parts. It's got a few buttons/LEDs
and a blizard of connectors/cables to connect to all the
sockets. Check their documentation for the details.
 
J

John Devereux

Jan 1, 1970
0
[...]
Thanks.
As it happens, an hour ago received an ad' describing Microchip's new 32 bit
PICs. Seems they've now 1/2Mbyte of flash, DMA and run at 75Mhz!. Implies a
50nS cycle time and with the single cycle MAC, they outwardly look eminently
tasty. I'm not having it though, as I just know the internals will be a
train wreck, leading to the compiler writers rubbing their hands gleefully
with profitable expectations.

As I understand it it uses the MIPS core. This is another 20 year
old(?) architecture that, like the ARM, was originally designed for
powerful desktop/workstation use and is now finding a niche in
embedded applications. Which makes a sort of sense, since single chip
micros are now so powerful.
Thinking about it and reading the other responses, I reckon I need to be
familiar with 2 micros. One 'clean' 8 bitter (5V) for bread and butter work,
that will pay bills. One muscle 32 bitter that will handle stuff for the
occasional 'what-if?' projects.
Looks like the ARM is it for the specials, in which case it's worth the
effort.
The low ender looks like it's going to be the Atmel. I was loaned a pile of
AVR stuff last week. Time to start reading!.

This is basically what I do too. ARM7 except for really tiny
applications (<1$). If was starting again now I would look at the ARM
Cortex M3 too.
 
I'd been reading this post coz u talked abt ARM, I use an ARM7 core at
work and its so so friendly I tell you. I think so close to our x51s.
Moreover performance is multiplied a great lot. While programming in C
dont have to worry so much about optimizing. Its a timing genius and
so many peripherals on various chips.
-Monito
 
Top