EmbeddedRelated.com
Forums
Memfault Beyond the Launch

Two Ethernet MACs in a new DualCore ARM Microcontroller

Started by Bill Giovino April 25, 2006
Ulf Samuelsson wrote:
> 42Bastian Schick wrote: > >>On Wed, 26 Apr 2006 12:29:49 +0200, "Ulf Samuelsson" >><ulf@a-t-m-e-l.com> wrote: >> >> >>>To me the fact that a CPU is combined with peripherals makes it >>>a microcontroller, but this is my private opinion. >>>There are no clear boundaries and a discussion is probably a waste >>>of time. >> >>That's I've been tought: CPU + peripherals (even ROM) => >>microcontroller. But with this definitions the AMD Opteron with RAM >>interface is a microcontrollers too. > > > I think any definition should be rule based. > The rules below are prioritized, and once a decision is made, > there is no need to parse lower priority rules. > > 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... > Rule 2) Anything without internal code memory (cache does not count here) > is not a microcontroller > Rule 3) Anything with a serial communication channel, is a > microcontroller > Rule 4) Anything without minimum 1 timer providing a periodic interrupt > is not a microcontroller > 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 > ... > Rule n) It is a microcontroller > > If I follow these rules above (which I just invented), then > the chips I can think of which I intuitively think are microcontrollers > will be classified as microcontrollers.
Your Rule 6 would exclude all external CODE devices, as code storage is certainly "a required companion chip" ! ( this is the scheme Zilog uses, they call external code == Microprocessor, self-contained == Microcontroller ) -jg
>> >> >> I think any definition should be rule based. >> The rules below are prioritized, and once a decision is made, >> there is no need to parse lower priority rules. >> >> 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... >> Rule 2) Anything without internal code memory (cache does not >> count here) is not a microcontroller >> Rule 3) Anything with a serial communication channel, is a >> microcontroller >> Rule 4) Anything without minimum 1 timer providing a periodic >> interrupt is not a microcontroller >> 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 ... >> Rule n) It is a microcontroller >> >> If I follow these rules above (which I just invented), then >> the chips I can think of which I intuitively think are >> microcontrollers will be classified as microcontrollers. > > Your Rule 6 would exclude all external CODE devices, as code storage > is certainly "a required companion chip" ! > ( this is the scheme Zilog uses, they call external code == > Microprocessor, self-contained == Microcontroller ) >
If you cannot execute code from internal memory, then you are sorted out already by rule 2. Having internal memory is a must, but it is not enough,according to my gut feeling If you put 2 MByte of flash on a Pentium/MMX chip, it would still not be a microcontroller
> -jg
-- Best Regards, Ulf Samuelsson ulf@a-t-m-e-l.com This message is intended to be my own personal view and it may or may not be shared by my employer Atmel Nordic AB
On Thu, 27 Apr 2006 22:12:29 +0200, "Ulf Samuelsson"
<ulf@a-t-m-e-l.com> wrote:

Nice idea.

>I think any definition should be rule based. >The rules below are prioritized, and once a decision is made, >there is no need to parse lower priority rules. > >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... >Rule 2) Anything without internal code memory (cache does not count here) >is not a microcontroller
Maybe refine this: "...internal code memory (RO or RW) ..." Else sam9261 is no microcontroller.
>If I follow these rules above (which I just invented), then
I should send these to my old uC teacher :-)) -- 42Bastian Do not email to bastian42@yahoo.com, it's a spam-only account :-) Use <same-name>@monlynx.de instead !
42Bastian Schick wrote:
> On Thu, 27 Apr 2006 22:12:29 +0200, "Ulf Samuelsson" > <ulf@a-t-m-e-l.com> wrote: > > Nice idea. > >> I think any definition should be rule based. >> The rules below are prioritized, and once a decision is made, >> there is no need to parse lower priority rules. >> >> 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... >> Rule 2) Anything without internal code memory (cache does not >> count here) is not a microcontroller > > Maybe refine this: "...internal code memory (RO or RW) ..." > Else sam9261 is no microcontroller. >
Yes, it was not inteded to limit to non volatile memory. But this clarifies it.
>> If I follow these rules above (which I just invented), then > > I should send these to my old uC teacher :-))
-- Best Regards, Ulf Samuelsson ulf@a-t-m-e-l.com This message is intended to be my own personal view and it may or may not be shared by my employer Atmel Nordic AB
Ulf Samuelsson wrote:
> > 42Bastian Schick wrote: > > On Thu, 27 Apr 2006 22:12:29 +0200, "Ulf Samuelsson" > > <ulf@a-t-m-e-l.com> wrote: > > > > Nice idea. > > > >> I think any definition should be rule based. > >> The rules below are prioritized, and once a decision is made, > >> there is no need to parse lower priority rules. > >> > >> 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... > >> Rule 2) Anything without internal code memory (cache does not > >> count here) is not a microcontroller > > > > Maybe refine this: "...internal code memory (RO or RW) ..." > > Else sam9261 is no microcontroller. > > > > Yes, it was not inteded to limit to non volatile memory. > But this clarifies it.
Better even refine to "which is not available with code memory.." Else the 80C31X2, the 80552 and 80C152 I have been programming the past year also are NOT microcontrollers according to you.... regards, Hans Bus
> > >> If I follow these rules above (which I just invented), then > > > > I should send these to my old uC teacher :-)) > > -- > Best Regards, > Ulf Samuelsson > ulf@a-t-m-e-l.com > This message is intended to be my own personal view and it > may or may not be shared by my employer Atmel Nordic AB
Ulf Samuelsson wrote:
> 42Bastian Schick wrote: >> On Wed, 26 Apr 2006 12:29:49 +0200, "Ulf Samuelsson" >> <ulf@a-t-m-e-l.com> wrote: >> >>> To me the fact that a CPU is combined with peripherals makes it >>> a microcontroller, but this is my private opinion. >>> There are no clear boundaries and a discussion is probably a waste >>> of time. >> That's I've been tought: CPU + peripherals (even ROM) => >> microcontroller. But with this definitions the AMD Opteron with RAM >> interface is a microcontrollers too. > > I think any definition should be rule based. > The rules below are prioritized, and once a decision is made, > there is no need to parse lower priority rules. > > Rule 1) Anything running late versions of Windows (CE does not count > here) is not a microcontroller
This is a pretty arbitrary, and isn't really necessary.
> I am going to ignore all comment about Geode... > Rule 2) Anything without internal code memory (cache does not count here) > is not a microcontroller
I disagree. There are plenty of microcontrollers that have no internal code memory. Consider, as an example, the MPC561, which is a microcontroller based around the PPC core. The MPC563 device is identical, except that it has on-chip flash. Does that make the MPC563 a microcontroller and the MPC561 a microprocessor? This rule would be better as "anything with internal code or data memory is a microcontroller".
> Rule 3) Anything with a serial communication channel, is a > microcontroller > Rule 4) Anything without minimum 1 timer providing a periodic interrupt > is not a microcontroller > Rule 5) Anything without minimum 1 programmable I/O pin is not a > microcontroller
I'd say it is difficult to formulate an exact rule, but the main point is that if the device has on-chip peripherals, it is a microcontroller.
> Rule 6) Anyting REQUIRING a companion chip, is not a microcontroller
This is fair enough. A microcontroller should either run from internal memories, or have glueless (or almost glueless) buses for external memories. You might need the occasional inverter or address latch, but you should not need external address decoding or bus control.
> ... > Rule n) It is a microcontroller > > If I follow these rules above (which I just invented), then > the chips I can think of which I intuitively think are microcontrollers > will be classified as microcontrollers. >
What's needed are a few well-known examples of borderline cases for testing the rules.
Hans wrote:
> Ulf Samuelsson wrote: >> >> 42Bastian Schick wrote: >>> On Thu, 27 Apr 2006 22:12:29 +0200, "Ulf Samuelsson" >>> <ulf@a-t-m-e-l.com> wrote: >>> >>> Nice idea. >>> >>>> I think any definition should be rule based. >>>> The rules below are prioritized, and once a decision is made, >>>> there is no need to parse lower priority rules. >>>> >>>> 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... >>>> Rule 2) Anything without internal code memory (cache does not >>>> count here) is not a microcontroller >>> >>> Maybe refine this: "...internal code memory (RO or RW) ..." >>> Else sam9261 is no microcontroller. >>> >> >> Yes, it was not inteded to limit to non volatile memory. >> But this clarifies it. > Better even refine to "which is not available with code memory.." > Else the 80C31X2, the 80552 and 80C152 I have been programming the > past year also are NOT microcontrollers according to you.... >
You are right, but I think it is better to move up the rule about serial ports and maybe make anything with a timer a microcontroller. Dont think that a part with just I/O, no timer/serial and ext memory qualifies but onchip memory and I/O should certainly qualify. 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... Rule 2) Anything with a serial communication channel, is a microcontroller Rule 3) Anything with minimum 1 timer capable of providing a periodic interrupt is a microcontroller Rule 4) Anything without internal code memory (cache does not count here) is not a microcontroller 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. ... Rule n) It is a microcontroller As mentioned previously, parse rules until there is a decision and do not parse any further.
> regards, > Hans Bus >> >>>> If I follow these rules above (which I just invented), then >>> >>> I should send these to my old uC teacher :-)) >> >> -- >> Best Regards, >> Ulf Samuelsson >> ulf@a-t-m-e-l.com >> This message is intended to be my own personal view and it >> may or may not be shared by my employer Atmel Nordic AB
-- Best Regards, Ulf Samuelsson ulf@a-t-m-e-l.com This message is intended to be my own personal view and it may or may not be shared by my employer Atmel Nordic AB
Ulf Samuelsson <ulf@a-t-m-e-l.com> wrote:

> I think any definition should be rule based.
Yes. So here's my approach: It's a microcontroller only if 1) it's a "micro", i.e. a programmable CPU of some sort, which comes as a single part. 2) it's a "controller", i.e. it can actually control *something*: it has at least one input, and reacts to it on at least one output in a programmable way. Data bus doesn't count as I/O, here. 3) It works all by itself, with *no* extra parts except for a very few exceptions, such as power supply and an external oscillator/quartz. The only point really open to discussion is whether code memory goes on the exception list of necessary extra parts, or not. Here's where the idea of a "family of microcontrollers" becomes useful. A candidate that fails to have internal code memory can still be counted as a microcontroller if it's just one member of a larger family including devices that really are microcontrollers. This should be limited to closely related chips. One might want to require that there's a fully drop-in replacement for the candidate chip that has all the same features, except the need for external code memory. -- Hans-Bernhard Broeker (broeker@physik.rwth-aachen.de) Even if all the snow were burnt, ashes would remain.
"Hans-Bernhard Broeker" <broeker@physik.rwth-aachen.de> skrev i meddelandet 
news:4befoaF11698sU1@news.dfncis.de...
> Ulf Samuelsson <ulf@a-t-m-e-l.com> wrote: > >> I think any definition should be rule based. > > Yes. So here's my approach: > > It's a microcontroller only if > > 1) it's a "micro", i.e. a programmable CPU of some sort, which comes as > a single part. > > 2) it's a "controller", i.e. it can actually control *something*: it > has at least one input, and reacts to it on at least one > output in a programmable way. Data bus doesn't count as I/O, here. > > 3) It works all by itself, with *no* extra parts except for a very few > exceptions, such as power supply and an external oscillator/quartz. > > The only point really open to discussion is whether code memory goes > on the exception list of necessary extra parts, or not. Here's where > the idea of a "family of microcontrollers" becomes useful. A > candidate that fails to have internal code memory can still be counted > as a microcontroller if it's just one member of a larger family > including devices that really are microcontrollers. > > This should be limited to closely related chips. One might want to > require that there's a fully drop-in replacement for the candidate > chip that has all the same features, except the need for external code > memory. > > --
So the 8031 would be a micro, but the AT91RM9200 would not be a micro according to this rule. If Atmel released an AT91RM9200 with internal flash, then suddenly the AT91RM9200 would change status from microprocessor to microcontroller. My gut feeling says, the AT91RM9200 IS a microcontroller and any good set of rules needs to end up in that chips that feels like a microcontroller should be microcontroller according to the rules. I am not sure, I would want to call a Pentium, which can test/set a few I/O pins a microcontroller, but if you *cannot* test/set I/O pins, then definitely you are not a controller -- Best Regards, Ulf Samuelsson This is intended to be my personal opinion which may, or may bot be shared by my employer Atmel Nordic AB
On Fri, 28 Apr 2006 12:54:28 +0200, "Ulf Samuelsson"
<ulf@a-t-m-e-l.com> wrote:


>and maybe make anything with a timer a microcontroller.
PPCs have a decrementer, which acts as timer. I am not sure, but I strongly believe you can find it as well in "desktop" PPCs. -- 42Bastian Do not email to bastian42@yahoo.com, it's a spam-only account :-) Use <same-name>@monlynx.de instead !

Memfault Beyond the Launch