Maker Pro
Maker Pro

PSoC Express: Does it work for semi-analog designs?

J

Joerg

Klaus said:
Joerg skrev:
Klaus Kragelund wrote:

Joerg wrote:


Klaus Kragelund wrote:


[...]



I have been working with the PSOC for the last 6 monts now. My
recommendation to learn the ins and outs of this device is to lock
yourself into the lab for a week or two to get a prototype up and
running. The key is to dwelve into the PSOC, the seminars are no use
since they are to superficial. When you get into trouble use the
PSOCDeveloper.com forum. Its great. Moreover DON'T use the
"Sublimation" and "Condensation" modes of the compiler. The compiler is
buggy and these optimization functions simply dont work (I learned the
hard way tracking down a bug for two days to find it was just the
checkmark in the compiler options that was the culprit)


Thanks for that info. This can prevent hours of frustration.




The analog functions are ok - I hope they wil be even better with the
PSOC3

Regarding price, our production takes about 2cents to place an SMD
component. ...


2c just for placement? Are you guys still manufacturing in Scandinavia?
Maybe they should ease up on the taxes over there :)



Yes, still production in denmark. But we have some production in asia,
however this seems to take almost the same price. What is you price of
a SMD placement (my number is all included: Machine time, operator
time, costs of machine, costs of production space, heating,
electricity, overhead of the fabric, etc)?

Plus welfare taxes, a few years paid maternity leave, long vacations,
some more taxes ... SCNR.

Don't know the latest because that's what my clients handle. When
designing I calculate with well under $0.01 per simple part for Chinese
production. Also, one has to make sure that the parts variety is as
small as possible. That's why you see so many 100k resistors in my
designs :)

This is a couple years old but look at figure 2 on page 27:

Coincidentally they have Scandinavia on this one. That can really give
you the goose pimples. WRT to automated assembly I found that Europe and
the US are often a bit higher than it seems from that diagram.

They will generally not quote you on a per part basis but want the whole
BOM first and then submit a total. The per part cost is often a closely
guarded number but after receiving the bids it's quite simple math.

Another thing that helps is that I never do layouts myself. I leave that
to the experts and the local one here is actually quite a bit older than
I am. For good reason. He knows how to keep the costs down because a
layout that isn't optimal for SMT machines is going to jack up the cost
even if the plant initially bids low to get in.


Well, part of the reason why ours qoutes from Asia is so expensive is
that we have to approve the production site according to enviromental
conserns, workforce working conditions, Q constraints and the financial
capability of the company. If we chose a manufactor that used
child-labor we should do cheaper. ...


Hey, we aren't slave drivers out here. None of the companies I've worked
with uses child labor and they are run with western-style clean rooms.
Top notch.

... Can you recommend one of those big
houses your customers use or is that confidential information?

Often their own and that won't help you. But I've got one that does take
outside orders and might be interesting for you if the volume isn't a
bazillion per month. Well, maybe even then. I occasionally see some
assembly samples from them and it's quite impressivbe. Do you have an
email address other than hotmail? Then I'll send the contact info to you.

On a side note: Many companies over there can't easily be reached via
Internet right now including the one mentioned above. The earth quake in
Taiwan has ripped some undersea fibers. A ship from Tyco is on the way
but it might take a few days until connections improve.
 
J

Joerg

Hal said:
I haven't worked with 8051s. The ARMs I've worked with come
with various on-chip bells and whistles: counters/timers/PWMs,
serial ports, ADCs, SPI... Do you use 8051s with that sort
of things and/or are there a few combinations that everybody
makes and with the same pinout?

We have usually tried not to use any exotic on-chip peripherals. If you
do you may get pretty much stuck with one manufacturer, even in the 8051
world. Don't expect total compatibility but what can be done is, for
example, to provide two footprints.
How is the second source like in that area?

Not a real issue. Chip mfgs know that unless you are really pushing the
envelope for a certain process you could jump ship any time. So the
pricing there is more stable and low. Also, the main reason for 2nd
sourcing in off-the-shelf parts is mitigation of the risk of delivery
problems. IOW those dreaded allocation siuations. It's less of an issue
with custom chips because you commit to a certain number of wafers per
delivery and so does the manufacturer. Those schedules are often mapped
out over more than one year. Other than technical problems such as a
process gone astray I have never seen much in delivery problems.
 
H

Henry Kiefer

I don't think so. The ARM is a very old idea and all the chips gone custom.
Later there was a market opening for some more generic versions, e.g.
LPC210x to replace typical 8051.

That is the generic anwser: Don't use much or special of chip functions.
We have usually tried not to use any exotic on-chip peripherals. If you
do you may get pretty much stuck with one manufacturer, even in the 8051
world. Don't expect total compatibility but what can be done is, for
example, to provide two footprints.

The only versions I know of are type number 8051 and 80C154.
Not a real issue. Chip mfgs know that unless you are really pushing the
envelope for a certain process you could jump ship any time. So the
pricing there is more stable and low. Also, the main reason for 2nd
sourcing in off-the-shelf parts is mitigation of the risk of delivery
problems. IOW those dreaded allocation siuations. It's less of an issue
with custom chips because you commit to a certain number of wafers per
delivery and so does the manufacturer. Those schedules are often mapped
out over more than one year. Other than technical problems such as a
process gone astray I have never seen much in delivery problems.

Chip manufacturers typical make the chip production in hugh volume at one
time and store the wafers for later assembling depending on market needs
later. The wafers don't need much space.

- Henry
 
J

Joerg

Henry said:
I don't think so. The ARM is a very old idea and all the chips gone custom.
Later there was a market opening for some more generic versions, e.g.
LPC210x to replace typical 8051.


See, you've just described the problem by calling ARM "old". In my line
of work I can't use stuff that becomes "old" after 10-15 years and then
slowly disappears. I need parts that remain popular and in production
for several decades :)

[...]
 
H

Henry Kiefer

Joerg said:
See, you've just described the problem by calling ARM "old". In my line
of work I can't use stuff that becomes "old" after 10-15 years and then
slowly disappears. I need parts that remain popular and in production
for several decades :)

Old means here stabilized.

No one can foresee the future. But as out of my experience the ARM
architecture will drive at least the next 20 years and will completely
replace (almost) all 8051. It is a very effective system - both technical
and in the market.
One problem all high-speed cores with Flash have is the problem how to get
code/data fast enough out of the Flash. See for example how Philips that
handles in the LPC210x. The logical answer was to compress code: That is the
M3 Cortex. Besides that there is more space in Flash -> cheaper.

Several decades - good joke!! Have a good rutsch :)
- Henry
 
N

Nico Coesel

Joerg said:
We have usually tried not to use any exotic on-chip peripherals. If you
do you may get pretty much stuck with one manufacturer, even in the 8051
world. Don't expect total compatibility but what can be done is, for
example, to provide two footprints.

With the enourmous amount of ARM based controllers available these
days having two footprints could be an option. I think it is possible
to have one piece of firmware run on different ARM based
microcontrollers.
 
J

Joerg

Henry Kiefer wrote:


[...]
Old means here stabilized.

No one can foresee the future. But as out of my experience the ARM
architecture will drive at least the next 20 years and will completely
replace (almost) all 8051. It is a very effective system - both technical
and in the market.
One problem all high-speed cores with Flash have is the problem how to get
code/data fast enough out of the Flash. See for example how Philips that
handles in the LPC210x. The logical answer was to compress code: That is the
M3 Cortex. Besides that there is more space in Flash -> cheaper.

Several decades - good joke!!


Not a joke at all. I am still designing with the CD4000 series and
probably will be for a long time. Those are from the 70's when the
Beatles were playing on the radio all day. Then there is the 2N3904
which is a lot older.


Have a good rutsch :)


Same to you. We'll do fondue with a few friend here at our house.
 
R

rickman

Henry said:
I don't think so. The ARM is a very old idea and all the chips gone custom.
Later there was a market opening for some more generic versions, e.g.
LPC210x to replace typical 8051.

I don't get what you are saying. The various ARM chips have custom
peripherals, but they all have the same CPU and instruction set.

I see two ways "second source" has utility. The first is true "second
source" that allows you to use any of several suppliers without
changing a thing in your design. Aside from a very limited subset of
the available 8051 chips, this is just not an option. The other is to
be able to write code that is enough removed from the hardware, that a
different board layout will let you use any of several parts. This is
very useful to get the best price possible even after you are in
production.

The first approach limits you to a very few of the least powerful MCU
devices available in a common footprint. The second approach allows
you to use many vendors of ARM MCUs and in some cases where you are
careful to avoid *any* hardware dependancies, you can even swap
different CPUs.

BTW, what is "generic" about the LPC210x?

That is the generic anwser: Don't use much or special of chip functions.

But then you lose a lot of capability and have to rely on external
hardware or use a lot more software and CPU time. Often this is not
only expensive in terms of CPU time but also power consumption.


I guess there are some uses for ancient devices just for longevity, but
it has got to be an extreme example to limit a design in so many ways.
 
J

-jg

rickman wrote:
# So now they have a tool that they can claim eliminates writing code.
I
# have only seen that once before in my career and that was a full page
# ad in Byte magazine some 20+ years ago. I never saw anything further
# from that company. :^)

:)

# I have been pursuing info on the new PSOC3 chips and I am pretty sure
I
# have the straight scoop on it now. They will be coming out with two
# new PSOC3 lines, one with an 8051 type CPU and one with an ARM
# Cortex-M3 CPU.

Interesting - seems Cypress have not bought into the "Cortex M3
replacing 8 bit
uC" spin, from ARM :)
Cypress doing this sounds more similar to Freescale's push, which is
more than
one core choice, but more common peripherals.

# Both lines will have the new, NEA (no excuses analog)
# programmable blocks.

Oh dear, who makes up these names.
Last time I looked at a PSoC analog block, it really did look like an
Analog bock done in a digital process : a long way from high
performance Analog.
I prefer my Analog Blocks to be fully specified, - the buck has to stop
somewhere,
and names like NEA sound like the triumph of optimisim over experience

# I hope they can also improve on the digital
# blocks. I have a small, 10 input multiplexer that I would like to
# implement in the PSOC instead of having to add a CPLD. But the
current
# PSOC can't really do this.

CPLD + uC is a tough target. The uPSDs have this, and there was talk of
a 32 MCell CPLD variant, but that never appeared, and they offer
versions
spec'd with NO cpld at all, to avoid scaring off users who do not want
to use a CPLD.

# Don't hold your breath for the PSOC3 parts. They are still banging
on
# the keyboard writing the upfront documentation, so samples may be
# available a year from now.

That's a long way out. Freescale will have their Simplified Coldfire by
then, and
maybe SiLabs will have entered the 32 bit realm by then as well.

-jg
 
-jg said:
rickman wrote:
# So now they have a tool that they can claim eliminates writing code.
I
# have only seen that once before in my career and that was a full page
# ad in Byte magazine some 20+ years ago. I never saw anything further
# from that company. :^)

:)

# I have been pursuing info on the new PSOC3 chips and I am pretty sure
I
# have the straight scoop on it now. They will be coming out with two
# new PSOC3 lines, one with an 8051 type CPU and one with an ARM
# Cortex-M3 CPU.

Interesting - seems Cypress have not bought into the "Cortex M3
replacing 8 bit
uC" spin, from ARM :)
Cypress doing this sounds more similar to Freescale's push, which is
more than
one core choice, but more common peripherals.

# Both lines will have the new, NEA (no excuses analog)
# programmable blocks.

Oh dear, who makes up these names.
Last time I looked at a PSoC analog block, it really did look like an
Analog bock done in a digital process : a long way from high
performance Analog.
I prefer my Analog Blocks to be fully specified, - the buck has to stop
somewhere,
and names like NEA sound like the triumph of optimisim over experience

# I hope they can also improve on the digital
# blocks. I have a small, 10 input multiplexer that I would like to
# implement in the PSOC instead of having to add a CPLD. But the
current
# PSOC can't really do this.

CPLD + uC is a tough target. The uPSDs have this, and there was talk of
a 32 MCell CPLD variant, but that never appeared, and they offer
versions
spec'd with NO cpld at all, to avoid scaring off users who do not want
to use a CPLD.

# Don't hold your breath for the PSOC3 parts. They are still banging
on
# the keyboard writing the upfront documentation, so samples may be
# available a year from now.

That's a long way out. Freescale will have their Simplified Coldfire by
then, and
maybe SiLabs will have entered the 32 bit realm by then as well.

-jg

Lets look at the shotsky affect from the transmittent transformers
before going into the next level of transievers where pre and post
layout has already been done if the engineering is correct. Whereby the
second level of transister layou takes on the second layer effect.
Affecting the transister receiving the emination. Light emmitting
diodes are the first link in verification and monitoring.
*frequency
*occurance
*reliability
*monitoring
*troubleshooting and analysis
of circuit pathways should be monitored for farad wavelengths and
implications.
Let us stick with late 60's design before exploring current and ongoing
advances in the industry. Analog to digital will complicate todays
discoveries. We still are developing circuits we don't know that work
as much as how they work. Digital is an '80s phenomenom. Some circuitry
are obsoleted in 2000 using 1940's technology. Remember electricity is
still infantily new. Many "U" chips are still not on NASA's reliability
charts.
 
J

Joerg

Joerg said:
Hello Folks,

Just received an invitation to a seminar about Cypress PSoC. It seems
they'll introduce PSoC Express, for the most part. I checked out the
tutorial on Cypress' site and at first glance it looks quite similar to
the VisualState package IAR offers for the MPS430 and others. I kicked
the tires on that one a bit but found it isn't really geared towards
guys that have to process signals. It's more for state machines.

Any experience with PSoC Express? Can a guy who knows a bit or two about
C-algorithms get stuff such as intricate PID loops going on it?

Ok, guys, I went to the seminar today. Very well done, four attendants
including me, plus two engineers from Cypress and two from Arrow. That
meant we could get all our questions answered. Simple designs that
usually take a half hour or more to code could be entered in minutes. It
was a hands-on session where everyone brought their laptops and actually
did some code. Bottomline I think PSoC Express is definitely worth a
good look.
 
R

Rich Grise

Ok, guys, I went to the seminar today. Very well done, four attendants
including me,

I think you mean "attendees". It took me a minute to figure out that you
didn't mean four nubile houris ministering to your needs. ;-)
plus two engineers from Cypress and two from Arrow. That
meant we could get all our questions answered. Simple designs that usually
take a half hour or more to code could be entered in minutes. It was a
hands-on session where everyone brought their laptops and actually did
some code. Bottomline I think PSoC Express is definitely worth a good
look.

Cheers!
Rich
 
J

-jg

Joerg said:
Ok, guys, I went to the seminar today. Very well done, four attendants
including me, plus two engineers from Cypress and two from Arrow. That
meant we could get all our questions answered. Simple designs that
usually take a half hour or more to code could be entered in minutes. It
was a hands-on session where everyone brought their laptops and actually
did some code. Bottomline I think PSoC Express is definitely worth a
good look.

Hi Joerg,
Can you elaborate with the corner points - ie where does this higher
level entry,
run out of steam ?
What is it good for, and where should you avoid using it ?.
Did they mention the ARM PSoC ?

I've used the SiLabs forms entry system for peripheral config, and
that is
definitely a time, and error, saver

-jg
 
J

Joerg

Rich said:
I think you mean "attendees". It took me a minute to figure out that you
didn't mean four nubile houris ministering to your needs. ;-)

Yep. Sorry.
 
J

Joerg

-jg said:
Hi Joerg,
Can you elaborate with the corner points - ie where does this higher
level entry,
run out of steam ?


We didn't get to that in too much detail. Partly because we all came
from very different walks of EE life but mostly because it was a
hands-on session and they wanted us all to take the wheel and drive it
through 4-5 projects. Measure a potmeter value, process it, send it via
I2C to another proto kit part, then via USB into Hyperterminal, and so
on. Pretty cool. In a mere 10 minutes you could code a bidirectional I2C
to USB converter that actually worked right there in the conference room.

What is it good for, and where should you avoid using it ?.


After I asked that very same question the presenter said that you can
always port your design into PSoC Designer if you find you run out of
control options, and you may often have to. That allows to check how
much MIPS and other resources you have left (Express does not, yet).
This also allows you to add tricky or timing-critical stuff but once you
have touched and changed it with PSoC Designer you cannot port it back
to Express anymore.

To me (not a code expert) it looks like PSoC Express is useful when the
design requirements can mostly be fulfilled with the included "modules
in a can" plus a few more of less complicated formulas for transfer
functions. Also for state machines that aren't too time critical.

An example where it saves time: Let's say you never coded a stage with
hysteresis because there was no need. So you don't have a "canned"
C-routine yet. Express let's you do that by dragging an input module
onto the screen, right clicking on it and specifying the hysteresis. No
need to write one line of code. Just what us analog dudes need :)

Did they mention the ARM PSoC ?

Yes. So far the Cypress weather forecast indicates that we'll see ARM
end of 2007. Also, the wireless range (PRoC) is supposed to be expanded.
That would be cool.

I've used the SiLabs forms entry system for peripheral config, and
that is
definitely a time, and error, saver

Also, it's usually nicely documented. In a way that non-coders can
understand.
 
H

Henry Kiefer

Annoying to see how fast you can change your mind ;-)

Yes, you can import Express projects into Designer but then you need the
extra-cost C Compiler license too! I don't know if it is possible to let the
code alone and add prog code simply in Assembler only - to save the money
for the compiler.
Personally I use a mix of Assembler for interrupts and C for the rest.

There are templates for all ready-to-use modules in Designer to change the
standard/startup behaviour of a module. Later on all values can be changed
at run-time in your program.

- Henry
 
J

Joerg

Henry said:
Annoying to see how fast you can change your mind ;-)

Nope, probably I am going to remain mostly analog. Even at 75c it is
often very hard to justify a PSoC when analog parts can do the same job
for half. But I want to be prepared when the prices come down a bit one
day, plus for cases where I'd be dealing with highly non-linear control
loops again. Those are tough in analog. What I liked about Express is
that it lets us analog guys produce some decent code, and fast ;-)

Yes, you can import Express projects into Designer but then you need the
extra-cost C Compiler license too! I don't know if it is possible to let the
code alone and add prog code simply in Assembler only - to save the money
for the compiler.
Personally I use a mix of Assembler for interrupts and C for the rest.

They gave each participant an Imagecraft C-license for Designer. Should
have gone to the seminar :cool:

There are templates for all ready-to-use modules in Designer to change the
standard/startup behaviour of a module. Later on all values can be changed
at run-time in your program.

That's what I'll have to figure out next, whether it is possible to make
your own templates. Or in old CAD speak a personal library.
 
J

Joerg

Hello Henry,

Just FYI: There are still three seminars in Finland end of January. But
I guess it'll be freezing out there...
 
H

Henry Kiefer

Joerg said:
Nope, probably I am going to remain mostly analog. Even at 75c it is
often very hard to justify a PSoC when analog parts can do the same job
for half. But I want to be prepared when the prices come down a bit one
day, plus for cases where I'd be dealing with highly non-linear control
loops again. Those are tough in analog. What I liked about Express is
that it lets us analog guys produce some decent code, and fast ;-)

Yes. If you think "analog" then Express is the way you can walk easy.

I heart that Cypress cuts the price "as needed" for devices selled into
asian markets.
They gave each participant an Imagecraft C-license for Designer. Should
have gone to the seminar :cool:

Be lucky :)
That's what I'll have to figure out next, whether it is possible to make
your own templates. Or in old CAD speak a personal library.

The templates are loaded if you add a module of your choice. Then you click
the values in the fields. That gives you the boot-file automatically
generated which loads the PSoC Cypress-provided on-chip firmware after reset
to configure the on-chip peripherals. Also in the modules is ready-to-use
software included.

For example to add a handy debug TxD:
1. Open Designer
2. Select the TxD module out of the module list
3. place it somewhere. Or just use "place" and let Designer take a free a
place.
4. Set the module template values: Baudrate etc.
5. Copy simple sample c code from module description in your main.c code
6. Add a little code to do something with the sample code. A text string or
such to send.
For ease they provide a CRLF function. Of course you can write your own.
7. Don't forget to select an output pin for TxD.
8 And now the fun part:
By selecting TxD line "direct" or "inverted" in the connection matrix
between TxD module and pin you can configure your hardware having a
(inverted) MAX232 or just straight-line TxD output to the PC serial.

Work is done in one minute. OK, the first time maybe 10 minutes to find
especially how the matrix works.

9. Compile and load the hex-file in the PSoC device.

You see, that is not the same as your mentioned CAD template I guess.
You can clone projects. Or even change the underlying PSoC device selection
and the Designer will change the project approbiate.
Mixing Assembler and C is no problem.

Be aware that several module descriptions contain errors or hide things
needed.


- Henry
 
H

Henry Kiefer

Even on the "Ostfront" of Germany there is much space left till Finland :)
And we have +10°C degress (Not fahrenheit!). No snow here. Kids are not
lucky.
January 2006 we had below -20°C and I frozen some of my fingers seriously
doing a stupid night walk. Cribbled several months...

But thanks!

- Henry
 
Top