PSoC VS PIC/AVR/ATMEL/8051

A catchall for PSoC Mixed-Signal Array (microcontroller) discussions not captured by the other forums.

Moderator: ericb

PSoC VS PIC/AVR/ATMEL/8051

Postby eg2ah on Mon Aug 06, 2007 11:49 am

Hi,

I am looking for an article or something like, that compares other microprocessors to the PSoC, does anybody have any suggestion/links?

Sort of PSoC vs. PIC/AVR/ATMEL/8051: -

What disadvantages /advantages they all have and how they compare to each other, as i have only ever used the PSoC but IMO it is better than all the others.

Note; It is for a report, sort of why i am using the PSoC and not the others (an i need more than just i has both analogue and digital blocks)

Andy
User avatar
eg2ah
The Big Cheese
The Big Cheese
 
Posts: 516
Joined: Mon Oct 11, 2004 2:55 pm
Location: Scotland

Postby BitBangerB on Mon Aug 06, 2007 3:15 pm

That is a tall order! I could expound for hours. It is probably safe to say that the microcontroller core on the PSoC is one of the worst in terms of MIPs per MHz. But it is adequate for my purposes, and having reconfigurable analog and digital blocks for about the same price as the other micros tips the scales in favor of PSoC for me.
User avatar
BitBangerB
Cheese Wheel
Cheese Wheel
 
Posts: 126
Joined: Wed Apr 11, 2007 4:03 pm
Location: Arizona

Postby eg2ah on Mon Aug 06, 2007 3:24 pm

Hi,

I know it is a tall order; i have searched the web for hours looking for a comparison review, but cannot find anything.

All i need is the pros and cons for some of the microcontrollers mentioned, my report (Thesis- MSC degree) just needs more than. I picked the PSoC because all the others did not have analogue blocks, makes for rubbish reading especially if you don't know what a microcontroller is ( i just don’t have the time to look at all of them)

Here is an idea (given a little chucky) but there you go:-
If you have used one of their above could you please post a shortish comparison between the said micro you have used compared to the PSoC.?

I am finding it difficult because as i said all i have ever used is the PSoC (for around two years)

Thanks ,

Andy
User avatar
eg2ah
The Big Cheese
The Big Cheese
 
Posts: 516
Joined: Mon Oct 11, 2004 2:55 pm
Location: Scotland

Postby wrightpc on Mon Aug 06, 2007 3:26 pm

I agree. The M8C is a pretty nasty core, but it gets the job done reliably. The C compiler currently used is not flash, but I fear there is no choice as this is not a common core. The suggested move to use ARM and possible 8051 cores is a bold and excellent move on Cypress's part. I suspect they will get a lot more customers that way!

As to other processors, each have their merits depending on the project you are working on, and possibly existing designs that can be plundered.

My choice for PSoC was mainly due to:
1) Previous success on similar product using earlier PSoC device
2) Analog on-board saves a LOT on hardware, so great cost justification
3) PSoC port options (pullups, pulldowns etc) generally not available elsewhere.

I have used PIC's (not very clever), AVR (neat, but not ideal), M16C (great core, but can be clunky), ARM (Philips LPC range are NEAT!!!), MSP430 (low power, but some gotchas).

I am sure there is a nice writeup by some brave writer comparing processors in some electronic mag somewhere - but I don't have it. :(

Paul. :)
User avatar
wrightpc
The Big Cheese
The Big Cheese
 
Posts: 736
Joined: Thu Jul 28, 2005 7:56 pm
Location: Christchurch, New Zealand

Postby eg2ah on Mon Aug 06, 2007 4:02 pm

Hi,

Thanks for your help,

Regarding the PSoC c compiler - i like it, the only floors I can see is the LMM handling is rubbish and it is not that efficient. And i really like the graphical designer environment, although it did take some time to get use to it (another reason why people may not have taken it up)

Anyway thanks for your help,

Andy
User avatar
eg2ah
The Big Cheese
The Big Cheese
 
Posts: 516
Joined: Mon Oct 11, 2004 2:55 pm
Location: Scotland

Postby BitBangerB on Mon Aug 06, 2007 4:43 pm

First consider that there are many components to a modern microcontroller. For example there is the hardware such as timers and A/D's. Then there are the memory elements which consist of RAM and ROM (or flash) AND maybe even EEPROM.

If you set those elements aside and just compare the CPU cores, I can provide a few items for your comparison chart using 3 examples I know of:

Freescale/Motorola 6805
CISC archictecture with single program and data bus.
Moderately efficient at about 1 MIPS/MHz.
PROs:
* Has bit level instructions
* No banking required
* Efficient at table reading
CONs:
* No stack manipulation

Microchip PIC16XXX
RISC architecture with separate program and data busses.
Moderately efficient at about 1 MIPS/MHz.
PROs:
* Has bit level instructions
CONs:
* Banking required
* Not efficient at table reading
* No stack manipulation

Cypress PSoC M8C core
CISC architecture with separate program and data busses.
Very inefficient at less than 0.2 MIPS/MHz
PROs:
* Has stack manipulation
CONs:
* No bit level instructions
* Banking required
* Not efficient at table reading
User avatar
BitBangerB
Cheese Wheel
Cheese Wheel
 
Posts: 126
Joined: Wed Apr 11, 2007 4:03 pm
Location: Arizona

Postby eg2ah on Mon Aug 06, 2007 5:05 pm

Hi,

Thanks BitBangerB this is the sort of thing i need

just a quick note i thought the PSoC was atleast 1MIPS/Mhz

Many thanks,

ANdy
User avatar
eg2ah
The Big Cheese
The Big Cheese
 
Posts: 516
Joined: Mon Oct 11, 2004 2:55 pm
Location: Scotland

Postby graaja on Mon Aug 06, 2007 5:16 pm

eg2ah wrote:just a quick note i thought the PSoC was atleast 1MIPS/Mhz

Not at all. PSoC has 4 MIPs at 24MHz, which would be 0.166MIPs/MHz.

Here are some of the features that are present in PSoC which are not there in other micros. Hope this would be useful for your report.

1. Configurable digital and analog resources.
2. Dynamic reconfiguration. Possible to reconfigure resources on the fly. This feature is definitely not available in other processors.
3. Possible to construct custom blocks using the SC blocks. Examples would be integrator, modulator, amplifiers etc.
4. LUT function on the row outputs and comparator buses. This makes it possible to perform logical operations in hardware. For example, using the LUT on the Row output of digital blocks, you could create a modulator for infra red LED. Using the LUT on the comparator bus, you could create a window comparator.
User avatar
graaja
PSoC Master
PSoC Master
 
Posts: 3084
Joined: Thu Dec 18, 2003 4:35 pm
Location: India

Postby eg2ah on Mon Aug 06, 2007 5:39 pm

Yes thanks, any information is good,

I think i can start be explaining the differances between CISC and RISC, then lead into a comparison between the PSoC and a handful of the more popular micr's (PIC/AVR/ATME), from what people have posted.

IF you can think of any more information then please post, as it is all very helpful.

WHat do AVR/Atmel/pic micro's use:-

CISC/RISC (already answered for PIC)
Typical ROM and RAM sizes

Are the PIC's as configurable as the PSoC as in you can have a DAC on any PIN or it has to be on one pin?

Many Thanks,


Andy
Last edited by eg2ah on Mon Aug 06, 2007 5:45 pm, edited 1 time in total.
User avatar
eg2ah
The Big Cheese
The Big Cheese
 
Posts: 516
Joined: Mon Oct 11, 2004 2:55 pm
Location: Scotland

Postby BitBangerB on Mon Aug 06, 2007 5:45 pm

On the PSoC, instruction times vary from 4 to 15 clock cycles, but on average thay take around 6 cycles per instruction. 24 MHz / 6 cycles per instruction gives you 4 million instructions per second (MIPS) at 24 MHz. Divide 4 million into 24 million and you get 0.167 MIPS/MHz.

I was correct for the PSoC, but I made a mistake on the other two. I was actually thinking in terms of 4 MHz but writing in terms of 1 MHz. Here are the correct calculations: In the PIC16, all instructions take 4 cycles, except branches which take 8. If you say every 5th instruction is a branch, that puts the PIC16 at about 0.208 MIPS/MHz. The 6805 uses an average of 8 clocks per instruction, making it worse than that PSoC at about 0.125 MIPS/MHz.

That makes all of them fairly inefficient compared to processors which can do one or more instructions per tick of the clock. However, compared with eachother, none of the 3 architectures stands out as particularly good or bad.
User avatar
BitBangerB
Cheese Wheel
Cheese Wheel
 
Posts: 126
Joined: Wed Apr 11, 2007 4:03 pm
Location: Arizona

Postby toalan2001 on Thu Aug 09, 2007 7:18 pm

It is really hard to compare PSOC to other 8 bit platforms, it all depends on the application. I only consider PSOC for projects in which cost and partcount is more important than performance. That is not to say that PSOC is performance poor, there is alot of creative ways to solve a problem with the analog blocks, but the core and the C compiler really holds it back from throwing computational power at a problem.

It seems to take alot more work to solve a problem with PSOC, because of the limited core speed you can not just quickly port over C code written for another 8 bit platform. You can but you have to be mindful of the speed.

IMHO the big devide between PSOC and other popular 8 bit platforms is popularity. User base and support are really poor, this is the most popular PSOC forum, perhaps the only PSOC forum, and you can pretty much hear a pin drop because it is so quiet.

PSOC is for cheap sadists, if you are after the lowest cost design possible and like pain then PSOC is the only choice.

One can not really blame cypress, they are on the cutting edge doing something different, you can not expect that they will have the time to cater to the lowest common denominator.
toalan2001
The Big Cheese
The Big Cheese
 
Posts: 334
Joined: Thu May 24, 2007 7:01 am

Postby graaja on Thu Aug 09, 2007 7:40 pm

PSOC is for cheap sadists, if you are after the lowest cost design possible and like pain then PSOC is the only choice.


I definitely agree with your views of PSoC core not being fast enough to do any serious number crunching. I am sure you have your own reasons for considering PSoC only to be fit for low cost low performance applications. But labeling all PSoC users as cheap sadists sounds a bit harsh to me (or maybe I misunderstood your quote).

Each PSoC user may have his own reasons for using PSoC. It is all in the eye of the beholder. PSoC, which is considered inefficient by someone may be a great resource to another. It also depends on the application where it is being used.

I agree with you about the popularity of PSoC still being poor. I am sure this will improve in the coming years with the release of PSoC-3 with more power ful processors and resources.
User avatar
graaja
PSoC Master
PSoC Master
 
Posts: 3084
Joined: Thu Dec 18, 2003 4:35 pm
Location: India

Postby antedeluvian on Fri Aug 10, 2007 6:46 am

toalan2001 wrote:PSOC is for cheap sadists, if you are after the lowest cost design possible and like pain then PSOC is the only choice.


I suspect you mean "masochist". Sadists inflict pain on others, masochists inflict pain on themselves.

Often the preference of a micro's architecture is determined by one's early experience, but at the risk of igniting a flame war, let me say nothing, but nothing (including the 8748) is more masochistic than selecting a 16 series PIC and coding it in assembler! especially when having to add features to existing code.

-Aubrey
antedeluvian
The Big Cheese
The Big Cheese
 
Posts: 248
Joined: Mon Dec 22, 2003 12:03 pm
Location: Toronto, Canada

Postby damien on Sun Aug 19, 2007 6:00 pm

PSOC is for cheap sadists, if you are after the lowest cost design possible and like pain then PSOC is the only choice.


I laughed at this, Maybe it's an Aussie sense of humour thing.

It's **VERY** application specific. Agree that PICs are a dog to program, but they're dirt cheap.

To thow a can of worms, why are you using an 8-bit processor at all? A low volume product may benefit from the faster development time of a 16- or 32-bit processor. Even the AVRs (arguably the fastest 8-bit micro with a 2 cycle multiply @ 20MHz) will struggle to do even reasonably basic signal processing. Is it worth spending weeks/months on hand-optimised assembler to crunch down to a smaller micro for a low-volume product?
damien
Cheese Wheel
Cheese Wheel
 
Posts: 127
Joined: Tue Dec 05, 2006 3:50 pm
Location: Brisbane, Australia

Postby toalan2001 on Mon Aug 20, 2007 8:24 am

With the atmel Sam7 series you can get a 32 bit micro that rivals the price of 8 bit micros. I have never done an serious work with 32 bit ARMs but generally I find that 8 bit micros are easier to use, it is probably not a huge issue as a good C compiler for ARM can pretty much level the playing field.

32 bit micros generally do not offer the multiple clocking options, low power modes and pullups/pull downs on each pin that many 8 bit micros do.

My opinion is that there is not much of a world left for plain vanilla micros like PIC and AVR except for power constrained devices. If you want speed then get a low end ARM, if you want low cost then get PSOC. In theory that sounds great but in practice you are not going to find the same level of support for ARM and PSOC as you would for AVR and PIC, so generally I perfer to use AVR.

Regards,

Alan To
toalan2001
The Big Cheese
The Big Cheese
 
Posts: 334
Joined: Thu May 24, 2007 7:01 am

Postby damien on Wed Aug 22, 2007 3:36 pm

Can I see an eventual "Comparison of 8-bit microcontroller architectures" page on wikipedia?

Though it might get locked with the subsequant edit war.
damien
Cheese Wheel
Cheese Wheel
 
Posts: 127
Joined: Tue Dec 05, 2006 3:50 pm
Location: Brisbane, Australia

Postby wrightpc on Wed Aug 22, 2007 5:01 pm

HAA! I can just see it now... what mayhem would ensue! Imagine the marketing guys from each company tweaking their products.

Paul :)
User avatar
wrightpc
The Big Cheese
The Big Cheese
 
Posts: 736
Joined: Thu Jul 28, 2005 7:56 pm
Location: Christchurch, New Zealand

microcontroller comparison

Postby DavidCary on Tue Oct 02, 2007 7:20 am

damien wrote:Can I see an eventual "Comparison of 8-bit microcontroller architectures" page on wikipedia?

I see that someone has already asked for such a thing at
http://en.wikipedia.org/wiki/Talk:List_ ... ontrollers
.

There is a "brief selection guide" at
http://en.wikibooks.org/wiki/Embedded_S ... processors
.

Feel free to improve it.
DavidCary
Cheese Wheel
Cheese Wheel
 
Posts: 73
Joined: Sat Jun 17, 2006 8:51 pm
Location: TULSA OK


Return to PSoC1 General

Who is online

Users browsing this forum: Bing [Bot] and 1 guest

cron