Looking for suggestions for processor/module/sbc with ethernet

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View

Hello

I'm looking for suggestions for an embedded microcontroller (processor,
module or SBC all under consideration). I don't necessarily expect to get
everything on one chip or module, we will be supplying our own motherboard
either way, but the more we can get from the cpu/module then the less we
need on the motherboard. The ideal list of requirements are roughly:

- A fast 8-bitter, equivalent in performance to a theoretical 100MHz 8051
with hardware multiply/divide unit, or a medium sized 16-bitter or a low
end 32-bitter.

- 5V technology, or 3V with 5V compliant inputs/outputs. Surface mount.

- 512KB code space. At least eprom, preferably ISP flash (serial onchip
bootloader). Code estimate based on our current 8051 code which is 60000+
lines in around 150KB using Keil C51.

- 1MB battery backed up SRAM, although might consider 512KB SRAM if we can
cost effectively also have an additional 512KB+ of flash, possibly compact
flash.

- Preferably a flat address space, but paging would be acceptable if we
can get a "nice" page layout such as 32KB fixed + 32KB paged, and
providing the development environment's requirements didn't steal lots of
common page memory from us.

- Ethernet. 10BaseT minimal, 100BaseT would be nice. Would consider a
software solution or a single-chip solution, but either way, don't have
time to write the TCP/IP stack.

- 50 to 60 general I/O pins.

- 4 external interrupts. Multi-priority interrupt system.

- 2 CPU driven PWM channels.

- 6 serial ports, one of which can run in synchronous mode. (Suspect we'll
end up with 2 plus a quad UART or 4 plus a dual).

- SPI channel, although I'm happy to bit-bang that. Likewise I2C.

- 8x 10-bit ADC (multiplexing acceptable), although I suspect we'll
probably need to add a chip for this.

- Enough CPU internal programmable timers that we have at least 2 free for
our own private use after any other CPU components (e.g. serial + pwm) are
driven from timers.

- Realtime Clock, preferably a real hardware clock with programmable
minute interrupts and alarm times, and not a software based interrupt
driven clock off a simple "realtime counter".

- Watchdog timer.

- Power supervisor for RTC/SRAM protection and early power fail detection.

- Low cost (of course!) at 100 off quantities (500/year max). Difficult to
quantify given that our target is an overall price including our custom
motherboard, the complexity of which depends on what the cpu/module/sbc
gives us, but as a guide, a module with the processor/flash/sram should be
under $50.


We are currently considering either a fast top of the range 8051, the
C166/167, or the Rabbit 3000 modules, but all of which have "issues".

A top of the range 8051 seems to be prone to poor longevity. Not currently
sure about the longevity of a C166 or the availability of non-royalty
TCP/IP or how widely used the C166 is.

The rabbit, although nicely priced with ethernet, currently looks like it
hasn't got the horsepower. Dynamic C seems to suggest (in several
documents) around 50000 lines of C takes 1MB, which compared to our 8051
running 60000 lines in around 150KB makes it around 6 to 8 times less
efficient. Even accounting for the move to softools compiler (which we
would definitely be doing), we are assuming some of the inefficiency comes
about due to the Z80 architecture. Not only does this force up the code
size, but we wonder how much gain the 44MHz really is when the code is
this inefficient.

Software-only based TCP/IP on a 8 bit is also a concern, not having done
this before.

So, if anyone has any alternative suggestions we can look into, I'd
greatly appreciate it. I accept we are probably trying to get more out of
a small 8 bit micro than most others would attempt, hence we're now
considering 16/32 bit too.

Stephen

Re: Looking for suggestions for processor/module/sbc with ethernet

Quoted text here. Click to load it

The C166 is a dead duck, the 161/3/4/7 are viable and fairly popular
especially in automotive. Quite nice parts, although Infineon seem to
have some problems with Flash.

I would suggest you look also at the Renesas (nee Hitachi) H8S range,
it's a fairly scaleable family with a good dense instruction set.
Terrible flash, not too good for in-system programming, but otherwise
very nice. You might just find an H8/Tiny that does the job at a very
attractive price, but I'm a year or so behind the curve on that range.

pete
--
snipped-for-privacy@fenelon.com "there's no room for enigmas in built-up areas"

Re: Looking for suggestions for processor/module/sbc with ethernet
Pete Fenelon said...
Quoted text here. Click to load it

I used the C165 for years and squeezed the most I could out of it.  I
managed to get it to do an awful lot in 125 usecs and I'm rather fond
of it.

I would still be using the C165 if Infineon had ever made any movement
toward an on-board Ethernet controller.  I've always thought they
missed a large segment of the market by not doing so.



Casey

Re: Looking for suggestions for processor/module/sbc with ethernet
Quoted text here. Click to load it

Didn't mean to exclude the 165, just haven't come across it. My
intention was to say that the 166, which isn't binary-compatible with
the rest of the family (various SFRs move, for a start, and I recall
there being some differences in the interrupt model) is a bit of a
ginger-haired stepchild as far as the 16x family is concerned...

XC16x looks interesting, too....

pete
--
snipped-for-privacy@fenelon.com "there's no room for enigmas in built-up areas"

Re: Looking for suggestions for processor/module/sbc with ethernet
Pete Fenelon said...
Quoted text here. Click to load it

Actually I didn't even realize you excluded it ... shows how much
attention I was paying.  As you know, the 165 is right in there with
the 167 and the others.  More than anything, I was bemoaning the fact
that Infineon never jumped on the ethernet bandwagon with any of those
parts.

Quoted text here. Click to load it

True - the 166 seemed to be a dead duck fairly soon - the 167 should
have killed it outright but didn't somehow.

 
Quoted text here. Click to load it

Sure does - just wish it had ethernet ....


Casey

Re: Looking for suggestions for processor/module/sbc with ethernet

Quoted text here. Click to load it
(processor,
Quoted text here. Click to load it
get
motherboard
we

Have you looked at Tern products, http://www.tern.com/controllers.htm ?
There are some boards an modules that may fit your needs.

 Regards.


Re: Looking for suggestions for processor/module/sbc with ethernet

Quoted text here. Click to load it
<snip>
Quoted text here. Click to load it

Examples ?


Quoted text here. Click to load it
non-royalty
Quoted text here. Click to load it

Lots of supposition there: you probably should get one, and try it.
[ Sounds a reasonably close fit to what you want... ]

Quoted text here. Click to load it

Given that the FLASH.RAM.Ethernet will be the dominant silicon, then
the CPU core can be almost anything.

Missing from your list are

** TINI modules from Dallas, these use the DS80C400 CPU
** STm uPSD series
** eZ80 Modules from Zilog
** New ARM Microcontrollers from just about everyone.
-jg




Re: Looking for suggestions for processor/module/sbc with ethernet
On Wed, 25 Aug 2004 10:56:54 +1200, Jim Granville

Quoted text here. Click to load it
[...]
Quoted text here. Click to load it

They're not around anymore! ;-)

Sorry, couldn't resist.  I don't know enough to either agree or
disagree with Stephen.  All I know is that every time I submit an 8051
derivative as a candidate for a new project, it never makes it past
the "Purchasing getting quotes" stage -- always too expensive.

Regards,

                               -=Dave
--
Change is inevitable, progress is not.

Re: Looking for suggestions for processor/module/sbc with ethernet
Stephen,

Wow, a very comprehensive shopping list indeed.  Someone replied and
suggested one of our (TERN)'s boards, but our website's a tad out of
date so I wanted to follow up with a specific recommendation.

Bad news first, with your aggressive price point ($50, 100 units) we'd
certainly be able to supply the processor core w/ memory and bus for
your motherboard.  The good news is that we can probably provide you
an "ideal" solution that's also pretty affordable.

The "ideal" board I have in mind for you would be our R-Engine-L
controller, a 16-bit 186-generation single-board controller
integrating many of the features you specify.  Specifically, here's
what we have to offer:

- with a pipelined RISC core, 80 MHz clock, and 16-bit memory access,
I think we'll be ok performance wise.

- 512 KB (16-bit) SRAM, 512 KB (16-bit) Flash ROM (we run in x86
real-mode, max 1 MB memory space)

- 5 onboard RS232 serial; (no sync serial)

- a mixed-bag of I/Os: 20 TTL-level, 35 high-voltage sinking outputs,
and 20 opto-coupler inputs.

- integrated (or expansion) CompactFlash interface for mass data
storage (2 GB w/ FAT filesystem support),

- and maybe of most interest for you, it's available with the plug-in
i2chip 100 base-T Ethernet module; offloads a lot of the
buffering/ethernet MAC handling, but the TCP stack is processor level
(code supplied),

- real-time clock (w/ alarm interrupt), 3 16-bit hardware timers,
multiple external interrupts, watchdog, supervisor, etc, etc...

This isn't an exact match for your requirements, (no ADC on this board
for example, and you will need to bit-bang your i2c), but it's close.
We do offer more expansion boards if you'd like, but we also expose
the data/address bus with the idea that OEM customers could easily
integrate additional peripherals into your own motherboard design.

Price wise, if you take us up on all the features discussed above, I'd
expect these units to be (very approximate until we get the
configuration finalized) to run around $270 in single quantities
(including the 100-baseT ethernet module), and probably $190 in
quantities of 100+.

The RL isn't featured on the website as of yet, but if you drop me an
email I'll be glad to send you more info!

Quoted text here. Click to load it

Re: Looking for suggestions for processor/module/sbc with ethernet
Quoted text here. Click to load it
 
This is a sketchy way to measure efficiency. Does it include code
inside libraries functions? Does it include comments and whitespace? I
just looked at a small Rabbit/DC program I'm working on and counted 68
lines of code including whitespace and comments for the four functions
I wrote generating 506 bytes of code. This is much better than the 20
bytes per "line of code" some old fluff statements in some hardware
manuals might imply. Library functions are called that make the
overall program much bigger, of course.

It would be ashame if you wrote Rabbit off so quickly considering how
closely the processor fits the needs you specified. I suggest buying
an RCM3300 dev kit and trying it first. If you prefer the Softools
compiler, there is a free, full, time-limited demo version available.

 http://www.rabbitsemiconductor.com/products/rcm3200/index.shtml

Quoted text here. Click to load it

You don't want to stream video, but you might be surprised how well it
handles  TCP/IP. Here are some live demos running HTTP servers on
22MHz boards:

 http://69.104.38.49:8146
 http://69.104.38.49:8147

The total code footprint on these is about 185K and 135K, and this
includes all of the web pages and GIFs that are served and all the
libraries functions that are brought in.

Re: Looking for suggestions for processor/module/sbc with ethernet
Quoted text here. Click to load it

Gee Brian, maybe you could comp the guy a dev kit seeing as your product
is such a close fit?

Kelly

Re: Looking for suggestions for processor/module/sbc with ethernet
Quoted text here. Click to load it

While he could use a sig spelling out his relationship, his 'from'
address makes that fairly obvious.  And who else can more
accurately spot the suitability of his product?

--
Chuck F ( snipped-for-privacy@yahoo.com) ( snipped-for-privacy@worldnet.att.net)
   Available for consulting/temporary embedded and systems.
We've slightly trimmed the long signature. Click to see the full one.
Re: Looking for suggestions for processor/module/sbc with ethernet
Quoted text here. Click to load it
... snip ...
Quoted text here. Click to load it

The underlying architecture of the Rabbit is almost that of the
Z80, but not quite (which makes all Z80 software useless on it).
However it is much more conducive to good code generation than the
8051 architecture, if you need languages that meet their
specifications.  Of course when you cut the language back to the
architecture capabilities things can be much different.

--
Chuck F ( snipped-for-privacy@yahoo.com) ( snipped-for-privacy@worldnet.att.net)
   Available for consulting/temporary embedded and systems.
We've slightly trimmed the long signature. Click to see the full one.
Re: Looking for suggestions for processor/module/sbc with ethernet

Quoted text here. Click to load it

I think you'd make your development life a lot easier by going for a cheap
32-bit chip - it will give you proper linear addressing over the whole
range, plenty of speed for fast ethernet, and access to more ready-made
network stacks and os'es.  There are some very integrated ARM chips from
Atmel (I've not used them, but our distributer keeps recommending them...),
or something like the ColdFire MCF5234 (it has 100MB ethernet, a TPU unit
which can easily give you 6 uarts and your pwms).


Quoted text here. Click to load it

Forget 5V for the chip itself - you won't find many modern mcus with that
sort of power that run directly from 5V.  5V tolerance is easy enough to
make when needed, and 3V external memories are much cheaper and more
available.

Quoted text here. Click to load it

Most chips in your range should have jtag or on-chip debug, which can be
used for programming.

Unless space is at a premium, there are a lot of advantages in external
flash when you are looking at this size.  Compare the prices of 32-bit
micros with and without flash to see the cost of internal flash - you might
pay five times as much for the internal flash.  The situation is a bit
different for manufacturers who are expert flash manufacturers who added a
cpu, rather than expert cpu manufacturers who added a flash.

If you can get cheap ram (for example, the ColdFire supports sdram), then
you can use the cheapest, slowest flash you can find - copy the program to
sdram on start-up and run it from there.

Quoted text here. Click to load it

That's a lot of extra pins.  If you can afford the board space, there is a
lot to be said for something as simple as 74573 latches, or
serial-to-parallel 74 logic chips.

Quoted text here. Click to load it

Or a ColdFire with TPU, which works fine as UARTs.

Quoted text here. Click to load it

External is normally best for accuracy - you don't want to mix your
high-speed digital signals and the analogue signals.

Quoted text here. Click to load it



Re: Looking for suggestions for processor/module/sbc with ethernet
Quoted text here. Click to load it

Thanks for all the various suggestions and comments. Would have got back
sooner but we've been very busy in meetings and checking out all the
various processors and modules! Rather than respond with lots of
separate messages I'll just snip various bits into this one and reply
singly.

We're still considering these and numerous other options, but due to
some timescale and resourcing limitations we seem to be heading down the
route of a more complete module rather than picking our favourite cpu
(of which there are plenty that would suffice) and doing it all
ourselves. We're also strongly tempted, for the right price, to make a
move to a more powerful platform (we've been joking for quite a few
years now that we need to replace some of our existing 8-bitters with an
ARM!). This would enable us to use the same platform for all models in
some of the ranges rather than the split platforms we were considering.


Chon Tang wrote:
Quoted text here. Click to load it

We've definitely bookmarked your site for future use. If we don't end up
using one of your boards on this job, I'm sure they will be very strong
contenders for some of the other stuff which is coming up soon. Myself
or more likely my client's technical director will very probably be in
touch to get more info and negotiate prices.


Dave Hansen wrote:
Quoted text here. Click to load it

Exactly :-) I'm not going to try and remember a full list - we were
lucky and managed to avoid designing in some of the 8051s which did
disappear too quickly (Dallas and Siemens I think) but we are currently
redesigning a product using the Infineon/Siemens SAB80C537 (although in
fairness we did get an acceptable number of years from it) and now we're
also going to be forced to redesign its more recent sister product which
is using the Infineon C509 (top of the range in my terminology, not
necessarily from raw performance, but the amount of onboard toys and the
79 I/O pins (which we extended to about 104 with a CPLD which has now
also gone EOL!!)).


Brian Murtha wrote:
Quoted text here. Click to load it

Thanks for that info. We do like many aspects of the R3000. We have
actually got a RCM3200 dev kit here and I was once-upon-a-time a total
z80 boffin so I have familiarity with the technology, but based upon
various aspects of our requirements we feel that it's a bit too close a
call on whether the rabbit will cope with our base level product and
certainly not the top level one (which is already crying out for a 32
bitter) and if we can work the pricing we're now considering the
benefits of having (for the first time) much more processing power and
memory which will enable sales and marketing to come back once the unit
is selling and demand all the extra toys they want added which we've
always had to reject in the past.

However, having spent some time looking at the rabbits for the past
month, we're virtually certain we will be using them extensively in the
other product in our system which is up for redesign next year hopefully
(due to reasons other than 8051 obsolescence this time! but yes Jim, it
is an 8051, but not a top of the range one, hence the reason why it's
probably still around after 8 years :-)). This other application is
probably more in line with a more "typical" rabbit system in terms of
performance and memory requirements and as such the rabbit is perfectly
suited.


Thanks to all for the comments and suggestions.

One of the other things we've found on our travels and are also
investigating is the AMD Alchemy 1100 based Aurora board from
www.dspdesign.com

Does anyone have any good/bad comments about this company, their
products, or the AMD part?

Stephen

Re: Looking for suggestions for processor/module/sbc with ethernet
<snip>
Quoted text here. Click to load it

  My understanding was the SAB80C537 became the SAB80C517A which then
became the SAF-C517A - and that device has part numbers still in current
production ?
  Certainly, for a clean sheet design, they may not be your first
choice, but I think you can still continue production.

  Since the 80C517 dates from the late 80's, that's actually a pretty
impressive design life!

  Their web site has this selector guide, April 2004,
http://www.infineon.com/cmc_upload/documents/008/002/MC_8-bit_Produktmatrix_042004.pdf
which I think shows what Infineon still consider 'active' products.

  They do favour the OTP variants, over the external memory models, tho
for a brand new design, you might choose a SiLabs FLASH device, or the
STm uPSD33xx devices, which have mostly superset resource relative to
the Infineon variants, and they are flash with In System Debug.
-jg


Site Timeline