Cypress PSoC® 5LP Prototyping Kit - Review

Table of contents

RoadTest: Cypress PSoC® 5LP Prototyping Kit

Author: PaulMakesThings

Creation date:

Evaluation Type: Independent Products

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: CY8CKIT-042 PSoC® 4 Pioneer Kit

What were the biggest problems encountered?: A firmware update was needed to use the board with the most recent version of PSoC Creator, and the examples had to be updated with new components to work - no big deal

Detailed Review:

I received the PSoC® 5LP Prototyping Kit for testing last month and got a chance to try it out. I've used previous PSoC development boards such as the Pioneer Kit, but I started with a fresh download and install of the development environment in order to cover the full experience with the updated software.


What you get


The kit is a single board which incorporates a USB connector that you can plug directly into your PC. It actually comes with two PSoC 5LP chips, one for the programmer and one for the development board, which can break away. But rather than get into details that you can find on the products info page, I'll get right into it's capabilities and user experience.




As with the Pioneer kit, there was nothing to complain about with installation. The software you need is PSoC Creator, and with a free user acount it can be downloaded from the Cypress website here. It comes with several getting started tutorials, and the Start Page includes links to information pages on all of the supported SOCs. I'm using Windows 7 Pro x64. Having already installed Creator when I first plugging my Prototyping Kit into a USB port on my laptop, it was recognized right away and started blinking to indicate that the default program is running.


Trying out a demo program


To start with I selected new project and tried out the ADC_DMA_VDAC


This is the project that opens up, it makes good use of one of the really cool aspects of the PSoC platform, a functional schematic, sort of similar to a function block diagram language, allows easy use of the CPLD and analog functionality of PSoC devices.


Looking at the code, since this uses DMA, all it needs is to set up the DMA devices, it doesn't need to actively process them.


void DMA_Config()
    /* Variable declarations for DMA_1 */
    uint8 DMA_1_Chan;
    uint8 DMA_1_TD[1] = {0};

    /* Iniitialize DMA channel */
                                    HI16(DMA_1_SRC_BASE), HI16(DMA_1_DST_BASE));

    /* Allocate TD */
    DMA_1_TD[0] = CyDmaTdAllocate();

    /* TD configuration setting */
    CyDmaTdSetConfiguration(DMA_1_TD[0], 1u, DMA_INVALID_TD, DMA_1__TD_TERMOUT_EN);

    /* Set Source and Destination address */
    CyDmaTdSetAddress(DMA_1_TD[0], LO16((uint32)ADC_DelSig_1_DEC_SAMP_PTR),

    /* TD initialization */
    CyDmaChSetInitialTd(DMA_1_Chan, DMA_1_TD[0]);

    /* Enable the DMA channel */
    CyDmaChEnable(DMA_1_Chan, 1u);


To see if it was easy to set up the device I tried programming it right away. The menu that comes up when you select program already shows the programmer that is part of the kit being available



I had a warning that I needed to update the device firmware from 2.11 to 2.12, so I loaded PSoC programmer (included with Creator install) went to the utility page and clicked Upgrade Firmware



I should also note that before programming I went to Project>Device Selector and set the target to the CY8C5888LTI-LP097, which is the target chip on this development board. This is something you would select at startup if you were creating a new project, but since I'm running the DMA example it had to be set.

So having done that, I clicked program and "Device 'PSoC 5LP CY8C5888LT*-LP097' was successfully programmed"

Lets see what it's doing.




It looks like the voltage (in the 0 to 1.024V range) is tracking the input. I don't have a signal generator to check it at high speed. So lets see what it does in a faster application...

Sine wave generator


Since I'm reviewing the board, and not specifically the chip or environment, I thought I'd look into ease of use a bit more. I started with this example:


It wasn't set up for the newest version of PSoC creator. That's good in a way, it gave me a chance to see how much trouble it would be to update it. Fist I replaced all the outdated components with the new ones:



Then I found it neccesary to go to Project>Update components, in order to update the CY_BOOT device that was still giving me trouble. Perhaps doing this before swapping components would have accomplished the same thing


Having done that I was able to upload it and get this sine wave




It was such a weak signal that I decided to replace the pattern and see if it changed and thus wasn't just some kind of RF noise.


So I commented out the sine wave and replaced it with more of a square wave like so


//    uint8 sineTable[32] =  {127,152,176,198,217,233,245,252,254,252,245,233,217,198,

//                    176,152,127,103,79,57,38,22,10,3,0,3,10,22,38,57,79,103};


    uint8 sineTable[32] =  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254};


And got this




It did change, but it seems I'm running too fast for the DAC to change, so I got a triangle wave. [Edit, I've just realized that I had the timer period set too long it was 256, not 12 because when I replaced the timer I didn't set this]


Here's what the sine wave looked like after I set the timer correctly



The frequency checks out; 4.8MHz / 12 (counts) / 32 (samples per wave) = 12.5 KHz


I hope what I've done so far demonstrates some of the capabilities of the PSoC 5LP and PSoC studio, as well as showing the usefulness of the PSoC® 5LP Prototyping Kit. I will add some more examples soon to show more uses. I find that the main strength of these chips is not so much doing things that would be impossible with other chips, but setting them up far more easily and quickly. Although the programmable analog capabilities may allow for some things that a normal MCU really couldn't match.