You are here

PSoC Creator News and Information | Cypress

Jul 03, 2016

Tips - Error-Free Connections with Named Wires

In a recent blog I talked about wiring tips for faster design. One of the risks with being a wire-drawing wizard, though, is that it can lead to a bit of a messy schematic. It is tempting to just drop in your components anywhere on the page and hook them up. If you ever look at an old design and wonder what you were thinking about at the time then I recommend naming your wires.

PSoC Creator resolves wires with the same name into a single signal path when it builds a project and so two (or more) wires with the same name are functionally equivalent to a single wire with fourteen elbows meandering around a cluster of components.

Here is a design I made recently that uses a PWM with two outputs to drive a reflectance sensor. The first output (pwm1) turns the LED on briefly and the second (pwm2) triggers the D flip-flop to read the state of the pin a little while later. The reflectiveness of the surface determines how long the transistor takes to decay and so the output of the flip-flop is always a snapshot of the state of the sensor. In firmware, I read the status register and can make decisions based on the surface my board is lying on.

The problem is that I have five of these sensors and I wanted to drive them all from the same PWM and read them from one status register. I made copies of the pin and flip-flop and started wiring but it took quite a while. I kept making mistakes because I could not remember which wire should go where and I would inadvertently connect two wires that were driven by different signals. I managed to get three sensors working.

I was daunted by the prospect of more wiring and I was running out of room on the page! How would I  ever maintain this project? So, in the end, I gave up and took the extra 30 seconds to just name the wires coming from the PWM and those going to the status register. You just right-click on the wire and choose "Edit Name and Width" to do this.

I then tidied up the design in no time. As you can see, naming the wires let me break the whole design into three pieces; the PWM, the pins and flip-flops, and the status register. I managed this without ever making a bad connection and it is much easier to see the connectivity when there are not wires running around and crossing each other.

 

Taking a few seconds to name wires can save you a lot of time drawing your schematics. Not only can you make designs (that work) quickly but you can do so in a way that is far easier for other engineers to understand. In a future blog I will expand on that idea with some more tips on making schematics with lots of repeated content, like all these pins and flip-flops, even easier to read and maintain.

Jun 28, 2016

Quick! Back EagleSoC on Kickstarter to get a Powerful Cortex-M3 Development Kit

[re-printed from community.arm.com]

Time is running out. Don't miss the opportunity to get an EagleSoC development kit featuring a Cortex-M3 PSoC 5LP device.

posted about this a couple of weeks ago and there is still time to back the kickstarter project. Here are the creators, explaining a little more about the kit.

The kits provide isolated analog and digital power domains so they are a great way to learn about Cortex-M, analog signal processing, and embedded systems programming in general. There is also a free software package called EZ-PSoC Library, which makes the job of interacting with device peripherals really simple.

I think these kits are great and so, if you're looking for a powerful but low-cost development kit with an 80MHz ARM device, don't wait too long and miss this opportunity!

 

Jun 13, 2016

Introducing the new PSoC Analog Coprocessor

We are pleased to announce a new family of PSoC devices - the PSoC Analog Coprocessor.

Cypress's PSoC Analog Coprocessor simplifies the design of sensor-based systems by delivering a scalable and reconfigurable architecture that integrates programmable Analog Front Ends (AFEs) and a signal processing engine (32-bit ARM Cortex-M0+) that can calibrate and tune the AFE in software. The PSoC Analog Coprocessor enables designs to send aggregated, pre-processed, and formatted sensor data over serial communication interfaces to host processors.

Product Highlights:

  • Features programmable Analog Blocks like Opamps, PGAs, Comparators, ADCs, etc. to create custom Analog Front Ends (AFE) for sensor interfaces
  • Introduces the new programmable Universal Analog Block that can be configured as Analog Filters, high-resolution ADCs, DACs, and more
  • Includes a 32-bit ARM® Cortex®-M0+ Signal Processing Engine with a DMA controller
  • Features embedded peripherals including Timer/Counter/PWM blocks and Serial Communication Blocks (UART/SPI/I2C)

 

There's also an exciting new development board featuring the new PSoC Analog Coprocessor!

The CY8CKIT-048 PSoC Analog Coprocessor Pioneer Kit is a low-cost ($49) development platform to create multi-sensor designs. It includes five on-board sensors along with PSoC Creator Code Examples for each type of fundamental electrical quantity:

  • Voltage-based PIR Motion Sensor (Zilog ZRE200GE)
  • Current-based Ambient Light Sensor (Vishay TEMD6200FX01)
  • Resistance-based Temperature Sensor (EPCOS/TDK B57164K103J)
  • Inductance-based Proximity/Contact sensor 
  • Capacitance-based Humidity sensor (TE HPP801A031)

 

Get started with the PSoC Analog Coprocessor today:

1. Download PSoC Creator 3.3 CP3 with support for the new PSoC Analog Coprocessor devices (CY8C4Axx)

2. Buy the $49 PSoC Analog Coprocessor Pioneer Kit

3. Start your first analog coprocessor design using the Getting Started with PSoC Analog Coprocessor App Note

 

Jun 10, 2016

New! EagleSoC Development Boards on Kickstarter

[re-printed from community.arm.com]

Some friends of ours at EagleSoC just launched a Kickstarter project for their cool PSoC 5LP-based development boards. These boards are a lower cost alternative to the Cypress Development Kits (CY8CKIT-001 and CY8CKIT-050) and provide plenty of functionality, with good analog performance, in a range of form factors.

The flagship product is the EagleSoC Development Board which uses a 100-pin PSoC 5LP device in a 75mm×135mm form factor. The board is designed to support mixed signal design by splitting the analog and digital pins into separate sections with their own ground planes. With each analog pin having its own ground you get improved accuracy due to separate return-ground paths. The board can be powered at a range of voltage levels and includes 3A voltage regulators for safe operation. You also get two external crystal oscillators – at 24MHz and 32.768kHz - plus an extra slot for a user-provided oscillator.

EagleSoC Development Board - Top View

The EagleSoC Mini Board is a smaller (60mm×100mm), lower cost version of the Development Board, with a 68-pin PSoC 5LP. If price is a factor for you, and you do not require high current sensors, LCD display connector, tracing port and USB-to-Serial device, then this is a great choice.

Finally, there is the EagleSoC Programmer board which provides a low cost programming/debugging link for PSoC Creator to any PSoC 3, PSoC 4 or PSoC 5LP device.

Backing up these boards is a useful library of software interfaces to PSoC components called EZ-PSoC LIB for PSoC 5LP. By adding this library to your PSoC Creator project you get simplified access to a growing range of sensors, communication devices, and application objects. EZ-PSoC LIB saves you from implementing the interfaces to external hardware without compromising your ability to design the ideal system using PSoC Creator.

Architecture of EZ-PSoC LIB

We think this is a cool project, with robust products (tested in California State University at Los Angeles research projects and undergraduate classes), and we recommend checking out their page on Kickstarter. There are a range of sponsorship options - from thank you notes and T-shirts to complete packages of development board and programmer so, hopefully, some readers will contribute to another PSoC success story. I’ll be keeping an eye on the project over the next 30 days and I’ll keep you up to date on progress.

 

Jun 08, 2016

Missing API documentation for CapSense_ADC Component

We released a new component in PSoC Creator 3.3 SP2 called “CapSense_ADC”. Unfortunately, the API documentation is missing from the component datasheet.  To get the complete datasheet, please go here. This will be fixed in PSoC Creator 4.0.


The CapSense_ADC component supports the usual widgets such as buttons, matrix buttons, sliders, touchpads, and proximity sensors with the bonus of added analog-to-digital converter (ADC) functionality.  It has a new, easier-to-use interface as well.

One thing to note - The CapSense_P4 component is not an update of the CapSense_CSD_P4 component, which is still shipped with PSoC Creator so that existing projects will continue to work. It is completely new, with a more streamlined Customizer GUI and very different firmware API philosophy. If you are working on a project with the older component, we recommend backing up your design before replacing the component in your schematic.

The firmware changes are documented in the component datasheet in the Migration Guide section. Some notable changes are as follows.

  • The CapSense_Start() function automatically initializes the tuner interface and baselines so that, for example, there is no need to call the CapSense_InitializeAllBaselines() function.
  • Low power operation is improved with the use of a single function, CapSense_ProcessAllWidgets(), to read all results of a scan in one action.
  • Baselines are automatically updated in CapSense_ProcessAllWidgets() so there is no need to call the CapSense_UpdateEnabledBaselines() function.
  • The widget interrogation functions, such as CapSense_CheckIsWidgetActive(), are replaced by new functions, such as CapSense_IsWidgetActive(), that only look at the processed data.
  • The macros for each widget have new naming formats. For example, a single button widget would default to CapSense_BUTTON0_WDGT_ID instead of CapSense_BUTTON0__BTN with that annoying double underscore.
  • The tuner is enabled with just a single function, Capsense_RunTuner(), which no longer blocks the application.

Here is some example code to highlight the differences in the approach to a single button implementation.

CapSense_P4 (v3.0)  CapSense_CSD_P4 (v2.40)

CyGlobalIntEnable;

CapSense_Start();

CapSense_ScanAllWidgets();

for(;;)

{

  if( CapSense_NOT_BUSY == CapSense_IsBusy() )

  {

    CapSense_ProcessAllWidgets();

    if ( CapSense_IsWidgetActive(CapSense_BUTTON0_WDGT_ID) )

    {

      /* Do something */

    }

    CapSense_ScanAllWidgets();

  }

}

CyGlobalIntEnable;

CapSense_Start();

CapSense_InitializeAllBaselines();

CapSense_ScanEnabledWidgets();

for(;;)

{

  if( CapSense_NOT_BUSY == CapSense_IsBusy() )

  {

    if ( CapSense_CheckIsWidgetActive( CapSense_BUTTON0__BTN ) )

    {

      /* Do something */

    }

    CapSense_UpdateEnabledBaselines();

    CapSense_ScanEnabledWidgets();

  }

}

ALL CONTENT AND MATERIALS ON THIS SITE ARE PROVIDED "AS IS". CYPRESS SEMICONDUCTOR AND ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY OF THESE MATERIALS FOR ANY PURPOSE AND DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THESE MATERIALS, INCLUDING BUT NOT LIMITED TO, ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHT. NO LICENSE, EITHER EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, IS GRANTED BY CYPRESS SEMICONDUCTOR. USE OF THE INFORMATION ON THIS SITE MAY REQUIRE A LICENSE FROM A THIRD PARTY, OR A LICENSE FROM CYPRESS SEMICONDUCTOR.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms and Conditions of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms and Conditions of this site. Cypress Semiconductor and its suppliers reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.