Ok, got my head on straight... time to fill in this info a bit....
I've done some work (for a contest) with the highest end available PSoC from Cypress, the CY8C27643, which they have in consumer and automotive grades now. FYI: 3 of these were used as the flight control system on SpaceShip One.
http://www.cypress.com/cfuploads/img/pr ... c27443.pdf
Copying from their short form (ok, lazy, and too much info):
Code: Select all
* Powerful Harvard Architecture Processor
o M8C Processor Speeds to 24 MHz
o 8x8 Multiply, 32-Bit Accumulate
o Low Power at High Speed
o 3.0 to 5.25 V Operating Voltage
o Operating Voltages Down to 1.0V Using On-Chip Switch Mode Pump (SMP)
o Industrial Temperature Range: -40Â°C to +85Â°C
* Advanced Peripherals (PSoC Blocks)
o 12 Rail-to-Rail Analog PSoC Blocks Provide:
+ Up to 14-Bit ADCs
+ Up to 9-Bit DACs
+ Programmable Gain Amplifiers
+ Programmable Filters and Comparators
o 8 Digital PSoC Blocks Provide:
+ 8- to 32-Bit Timers, Counters, and PWMs
+ CRC and PRS Modules
+ Up to 2 Full-Duplex UARTs
+ Multiple SPIâ„¢ Masters or Slaves
+ Connectable to all GPIO Pins
o Complex Peripherals by Combining Blocks
* Precision, Programmable Clocking
o Internal 2.5% 24/48 MHz Oscillator
o 24/48 MHz with Optional 32 kHz Crystal
o Optional External Oscillator, up to 24 MHz
o Internal Oscillator for Watchdog and Sleep
* Flexible On-Chip Memory
o 16K Bytes Flash Program Storage 50,000 Erase/Write Cycles
o 256 Bytes SRAM Data Storage
o In-System Serial Programming (ISSPâ„¢)
o Partial Flash Updates
o Flexible Protection Modes
o EEPROM Emulation in Flash
* Programmable Pin Configurations
o 25 mA Sink on all GPIO
o Pull up, Pull down, High Z, Strong, or Open Drain Drive Modes on all GPIO
o Up to 12 Analog Inputs on GPIO
o Four 30 mA Analog Outputs on GPIO
o Configurable Interrupt on all GPIO
* Additional System Resources
o I2C Slave, Master, and Multi-Master to 400 kHz
o Watchdog and Sleep Timers
o User-Configurable Low Voltage Detection
o Integrated Supervisory Circuit
o On-Chip Precision Voltage Reference
* Complete Development Tools
o Free Development Software (PSoCâ„¢ Designer)
o Full-Featured, In-Circuit Emulator and Programmer
o Full Speed Emulation
o Complex Breakpoint Structure
o 128K Bytes Trace Memory
Never bought the POD ICE system they used. Nice idea, too expensive for a hobbyist like myself. I need to buy a programmer though
Although they don't mention it, the MCU core is worse than a PIC's. At 24MHz (ah, nice having such a fast internal clock, and an integrated 32Khz crystal, too!), it does only 4 MIPS.
The clock's not all that accurate, however, external crystals and an external RTC clock crystal can be used. I just noticed that the datasheets mention that you can use the external 32.768KHz crystal to accurately PLL the 24 MHz system clock... now that's one heck of a PLL. The high speed clock is used for clocking the digital and switched capacitor analog blocks.
Digital blocks are in 2x4unit columns, and each do 8 bits, but can be daisy chained to 32 bits. Analog blocks are in 4 columns. Top of each column is a continuous time block (programmable resistor network). The next two are switched capacitor blocks. It's amazing what you can cram onto a chip like this. My IMU design had a four pole low pass filter, dual programmable gain arrays, and a dual sampling ADC. And still had resources to spare. And, since it can be configured on the fly, I could use this setup to sample my gyros and accelerometers with no extra hardware.
On a side note, if you'd like some useful literature, I'd suggest reading Circuit Cellar magazine (http://www.circuitcellar.com/
}. I read each issue cover to cover, and it has lots of uses for all sorts of controllers, and introduces some of the more advanced ideas from time to time (FPAA, FPGA). They also like running a few contests a year. My entry into their Cypress PSoC $30K High Intergration Challenge isn't going to be done in time, but I got a free USB programmable CY8C27643 on a 28? pin wide DIP board AND a free license for their current stable release of their C compiler (Asm and PSoC configurer is free). It was going to be a single processor 6DOF IMU unit. No external signal conditioning required, all done on chip.
Actually, if you do start looking into these, they give away the code in their application notes used in the FTDI chip to actually program the PSoC. And IIRC the board schematic. Instant programmer design.
I'd also want to move up to their 48 pin SOIC design to get more digital I/O and I'm waiting for their next series to come out. They double the number of digital blocks, increase flash from 16 to 32Kbytes, increase RAM from 256 bytes to 2K, add a second 8x8 hardware multiplier, and add a 100 pin TQFP package option
Much better for C programs.
http://www.cypress.com/cfuploads/img/pr ... c29466.pdf