Reply by Jim Granville August 25, 20042004-08-25
Stephen wrote:
<snip>
> 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!!)).
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
Reply by Stephen August 25, 20042004-08-25
Stephen <spambox42@yahoo.co.uk> writes
>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:
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:
>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.
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:
>>Stephen wrote: >>> A top of the range 8051 seems to be prone to poor longevity. >>Examples ? >They're not around anymore! ;-)
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:
>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.
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
Reply by Casey August 25, 20042004-08-25
Pete Fenelon said...
> Casey <cclremovethispart@cox.net> wrote: > > Pete Fenelon said... > >> Stephen <spambox42@yahoo.co.uk> wrote: > >> > >> > 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 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 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. > > Didn't mean to exclude the 165, just haven't come across 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.
> 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...
True - the 166 seemed to be a dead duck fairly soon - the 167 should have killed it outright but didn't somehow.
> XC16x looks interesting, too....
Sure does - just wish it had ethernet .... Casey
Reply by Pete Fenelon August 25, 20042004-08-25
Casey <cclremovethispart@cox.net> wrote:
> Pete Fenelon said... >> Stephen <spambox42@yahoo.co.uk> wrote: >> >> > 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 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 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. >
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 -- pete@fenelon.com "there's no room for enigmas in built-up areas"
Reply by Dave Hansen August 25, 20042004-08-25
On Wed, 25 Aug 2004 10:56:54 +1200, Jim Granville
<no.spam@designtools.co.nz> wrote:

>Stephen wrote:
[...]
>> A top of the range 8051 seems to be prone to poor longevity. > >Examples ?
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.
Reply by David Brown August 25, 20042004-08-25
"Stephen" <spambox42@yahoo.co.uk> wrote in message
news:LKVniIATZ4KBFwPw@rtsoft.demon.co.uk...
> > 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. >
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).
> - 5V technology, or 3V with 5V compliant inputs/outputs. Surface mount. >
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.
> - 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. >
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.
> - 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.
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.
> > - 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). >
Or a ColdFire with TPU, which works fine as UARTs.
> - 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. >
External is normally best for accuracy - you don't want to mix your high-speed digital signals and the analogue signals.
> - 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
Reply by CBFalconer August 25, 20042004-08-25
Kelly Hall wrote:
> Brian Murtha wrote: > >> 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. > > Gee Brian, maybe you could comp the guy a dev kit seeing as your product > is such a close fit?
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 (cbfalconer@yahoo.com) (cbfalconer@worldnet.att.net) Available for consulting/temporary embedded and systems. <http://cbfalconer.home.att.net> USE worldnet address!
Reply by CBFalconer August 25, 20042004-08-25
Stephen wrote:
>
... snip ...
> > 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 > around 6 to 8 times less compared to our 8051 running 60000 lines > in around 150KB makes it 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.
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 (cbfalconer@yahoo.com) (cbfalconer@worldnet.att.net) Available for consulting/temporary embedded and systems. <http://cbfalconer.home.att.net> USE worldnet address!
Reply by Kelly Hall August 24, 20042004-08-24
Brian Murtha wrote:
> 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.
Gee Brian, maybe you could comp the guy a dev kit seeing as your product is such a close fit? Kelly
Reply by Brian Murtha August 24, 20042004-08-24
Stephen <spambox42@yahoo.co.uk> wrote in message news:<LKVniIATZ4KBFwPw@rtsoft.demon.co.uk>...
> 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.
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
> Software-only based TCP/IP on a 8 bit is also a concern, not having done > this before.
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.