[sdiy] Cypress SOIC?
Craig Critchley
craigc at nwlink.com
Thu Feb 12 07:35:50 CET 2004
I crashed a PSoC seminar a couple of months ago and scored a demo board for
their latest processor. I haven't spent a lot of time with it, but it is a
neat chip, with some limitations.
Basically, it contains an M8 microcontroller core with 8-16K of flash and
256 bytes of RAM. About the level of a PIC or 8051 power. There is little
dedicated IO, however, both the digital and analog blocks are
reconfigurable, and there is a fair amount of signal routing. You could have
a processor with 4 bidirectional serial ports, or 8 output-only serial
ports, or some serial ports and some counters (up to 32 bits), etc,
depending on how you configure and connect each of 8 digital IO blocks.
There are also configurable analog blocks: 8 switched cap blocks and 4
continuous time blocks. The switched cap blocks can be filters, DACs,
amplifiers, etc. The CT blocks are basically opamps with a switched resistor
divider.
The development tool for these chips gives you a graphical editor that
allows you to select the configuration of each block, and the
interconnections. It permits you to name signals so you get an app-specific
pinout of the chip, and it generates assembly code to initialize each block
and provide a runtime API to whatever function it performs (which involves a
ginormous number of config registers). Blocks and connections can be
reconfigured at runtime, and the tool supports this.
The upside is you can squeeze a lot of stuff onto a single chip, and you can
goof around with it without a lot of external wiring. One thing I've been
dinking around with is squeezing a whole drum machine voice onto a single
chip, parsing MIDI, playing back a Linn or DX sample complete with DAC,
filtering, enveloping and pitch control on a single chip with as few
external parts as possible. Sort of as an exercise (which, naturally, is far
from done).
There are downsides. Although there are the four continuous time blocks, a
lot of interesting analog functions, including DACs, require using a
switched cap block. The linear opamps are CMOS. An analog block gives you 6
bits of DAC precision, so to get more precision consumes more blocks. The
supplies are 0-5V, with an analog "ground" reference generated on chip at
Vcc/2. This chip is definitely not low-noise, precision, or wide dynamic
range. I think the analog functions are not as flexible as some of the
"analog FPGA" type chips, in that they are designed for interfacing more
than analog computation. PSoC is supposed to be a single-chip mixed signal
system, not an analog-board-on-a-chip. Also, the linear blocks are less
flexibly interconnected than the digital blocks.
The demo board is something like $30 with the design tool, even if you can't
get to a seminar, though, so its worth goofing around with. I don't think
they mind hobbyists showing up to seminars too much: I found out via an
invite sent to the Seattle Robotics Society.
...Craig
-----Original Message-----
From: owner-synth-diy at dropmix.xs4all.nl
[mailto:owner-synth-diy at dropmix.xs4all.nl] On Behalf Of Barry Klein
Sent: Wednesday, February 11, 2004 5:50 PM
To: synth-DIY
Subject: [sdiy] Cypress SOIC?
Anyone done any work with these? Kinda look fun....
http://www.cypress.com/products/family.cfm?objectid=65A3206B-71D8-4F6E-8FEE5
5AF3FF36438&foid=65A3206B-71D8-4F6E-8FEE55AF3FF36438&familyName=PSoC%20Mixed
%2DSignal%20Array
Barry
More information about the Synth-diy
mailing list