Re: Two Ethernet MACs in a new DualCore ARM Microcontroller



Wilco Dijkstra wrote:
"Ulf Samuelsson" <ulf@xxxxxxxxxxxxx> wrote in message
news:e2sss3$da1$1@xxxxxxxxxxxxxxxx

Rule 1) Anything running late versions of Windows (CE does not
count here) is not a microcontroller
I am going to ignore all comment about Geode...

I think you mean something like: if it uses less than 1 Watt, runs at
less than 200 (or maybe 100) Mhz, has fewer than 144 pins, doesn't
have
a cache or MMU, has less than 1MByte flash, 1-128KB on-chip RAM,
doesn't need external chips other than flash/ROM/DRAM, costs less
than $25 then it is definitely a micro controller. You can argue about
exact the numbers of course.

No, it is the philosophy behind design decisions that disqualifies the
parts.
I consider a 533 MHz PXA255 to be a (ROMless) microcontroller.
It is no less a microcontroller than an 8031.
Rule 1 is a sloppy rule, I admit, but it achieve my purpose which is
to have a set of rules which, if followed, results in that everything
I have a gut feel IS a microcontroller, is identified as a microcontroller.

I do not think MMU, Cache, large internal memory, large pincount
disqualifies chips.
FPSLIC has 256 pins, and is still a micro.
AT91FR40162 (while MCP) has 2 MB Flash/256kB SRAM and is still a micro.
ARM9s with cache/MMU still are micros, especially with the new flash based
ARM9s
coming are still micros.
I cant see that if you have two chips, with identical flash/peripherals,
and one is using an ARM7 and the other is using ARM946/926,
that the first should qual as a micro and not the second.

Otherwise just about all current ARMs up to 1GHz are "micro
controllers" using your definition. Micro controllers typically use
small packages, are clocked below 100Mhz and don't cost much. They
can't run standard
Windows or Linux indeed. High-end processors with MMU, lots of
SRAM/cache, with many peripherals (including advanced stuff like
audio/video accelerators) are called "application processors".

Maybe, but I think an application processor can be amicrcontroller as well.

Rule 2) Anything with a serial communication channel, is a
microcontroller


Just about all CPUs have several serial communication channels,
like Hypertransport, USB, Ethernet, JTAG. It would need to be UART,
CAN, SPI, or I2C in order to qualify as a micro controller.

No, the high end PowerPCs, SPARCses and x86ses don't.
These are Microprocessors.
BTW: While Hypertransport may be serial, I do not count bus expansion
as a criteria that makes something a microcontroller.
Nor do I count On Chip Debugging interfaces.
USB/Ethernet I do feel counts.

Rule 3) Anything with minimum 1 timer capable of providing a
periodic interrupt is a microcontroller

All modern CPUs have this, including performance counters.

Performance counters does not count (forgive the pun).
If you can schedule a task at a certain time, that definitely
increase your "microcontrollerness". Gathering statistics don't.

Having a watchdog timer would be more micro controller specific. A low
interrupt latency (< 25 cycles) and vectored interrupts are clearly
micro controller area too (CPUs with caches usually need a minimum of
100 cycles).

So the 8051 was not a micro then...
No watch dog and at 12 cycles per instruction, I doubt it will fulfil the <
25 cycles.
I think these count more as desirable features in a microcontroller,
rather than something which decides whether they are microcontrollers or
not.
A microcontroller can be designed to be fast or it can be designed to be
slow.
It is OK to be slow, when you are controlling a slow task.
An alarm clock, does not need to have very fast interrupts.


Rule 4) Anything without internal code memory (cache does not
count here) is not a microcontroller

It is more common to have on-chip SRAM than ROM or flash. It would
be better to say that it isn't a micro controller if doesn't use flash or
ROM
to execute most of its code (copying parts of the flash to SRAM for
fast execution is OK, using a flash just for booting isn't).

Disagree, the AT76C712 AVR based USB <-> Serial Bridge, I definitely put in
the microcontroller camp.
It boots from a ROM, copies the application code from a serial flash
into the 16-22kB internal SRAM and then runs at 48 MHz from the SRAM.
USB device, dual UART, SPI , Timers.

Same goes for the AT91RM3400.
Boot ROM, copy to internal 96 kB SRAM.
No external bus. loads of serial ports, timers, USB etc.
Can't say that is not a micro.


Rule 5) Anything without minimum 1 programmable I/O pin is not a
microcontroller
Rule 6) Anyting REQUIRING a "companion" chip, is not a
microcontroller Clarification:
A companion chip is defined as a chip which if
integrated with a microprocessor
would make the microprocessor a microcontroller
Exception: A pure memory is not a "companion" chip.

That's reasonable.

Wilco

--
Best Regards,
Ulf Samuelsson
ulf@xxxxxxxxxxxxx
This message is intended to be my own personal view and it
may or may not be shared by my employer Atmel Nordic AB


.



Relevant Pages

  • Re: Two Ethernet MACs in a new DualCore ARM Microcontroller
    ... here) is not a microcontroller ... CAN, SPI, or I2C in order to qualify as a micro controller. ... It is more common to have on-chip SRAM than ROM or flash. ... Rule 6) Anyting REQUIRING a "companion" chip, ...
    (comp.arch.embedded)
  • Re: Two Ethernet MACs in a new DualCore ARM Microcontroller
    ... it's a "micro", i.e. a programmable CPU of some sort, which comes as ... as a microcontroller if it's just one member of a larger family ... So the 8031 would be a micro, but the AT91RM9200 would not be a micro according to this rule. ... 'System on Chip solutions', where physically more than one chip is actually needed to get a working system! ...
    (comp.arch.embedded)
  • Re: 1-32 Khz in 1khz divisions
    ... >>> If you don't want a bunch of jitter, ... A microcontroller is not very appropriate for this, ... >>far too fast to clock the micro of course, at least for a few years. ... and run a 5 bit counter from each of these initial counters, ...
    (sci.electronics.design)
  • Re: Moving from 8051 to AVR
    ... A micro 'designed' to use C ... support for accessing data on a stack through some sort of index, ... should have fast access to data through a pointer or two. ... a microcontroller is 'designed for C' is not a plus because it could mean ...
    (comp.arch.embedded)
  • Re: Moving from 8051 to AVR
    ... The 8051 was a great microcontroller in its time. ... the tail wagging the dog. ... Would you prefer to use a micro that forces a C compiler ...
    (comp.arch.embedded)