On completion of my Digital ReadOut using PIC18F4620, I was looking at measures to reduce the package count, this being 8 ICs– including the 40pin PIC. At the time there was a new technology microcontroller from Cypress – call PSoC , which was a mixed-signal array combined with an M8C processor core. This allowed for ‘constructing’ a plethora of electronic units both Analogue and Digital, controlling these with powerful RISC-style instructions, and inputting/outputting via the units globally-configurable pins. As it turned out, the available PSOCs at the time had insufficient grunt and I/O for my purposes, so I abandoned thoughts of using them.
I purchased a ‘bread’ board to try out the PsoC, these were manufactured by MikroElektronika.
Supplied with the easyPSoC 3 board was a mixture of Projects, both in assembly-language and ‘C’, to build and download to the PSoC on the board – the trouble is, most of these projects did not work. The main reasons were:
Projects for CY8C26643 will not run on the supplied CY8C27643 processor – These had to be ‘cloned’ to the boards’ processor, AND edited using the Cypress Development tools.
- Projects were incomplete.
- Project code was downright wrong.
- Project code was missing.
The above may not have been a problem for experienced engineers, but made a poor introduction for newcomers – especially when some of the projects were assembly-language only. At the time of writing (17 May 2006) the above situation was still true, although there was some evidence that MikroElektronika was aware of the problems.
The easyPSoC 3 board has a dedicated section in the PSoC Developer Forum, and there are a group of board users, trying to provide what MikroElektronika failed to – a set of Projects that will run on the supplied processor, suited to the boards peripheral devices. My contributions to this forum to date have included the following:
Provision of assembly-language code to display bitmaps on the 128×64 graphics LCD supplied with the board. A back-up copy of this project is available here: Graphics LCD Project Zip
Simple loopback test for SPI master module. This is also in assembly-language, but is very simple and could easily be re-written in ‘C’. A back-up copy is here: Simple SPI test
Given below is the schematic of an SPI expander.