• Simplified Chinese
  • Japanese
  • Korean
   
Provide feedback on this website to help us improve:

How likely are you to recommend this website to a friend or colleague?

Not at all likely
0
1
2
3
4
5
6
7
8
9
10
Extremely likely

Additional comments:

Email:

Close

Home > Cypress Developer Community > Blogs > PSoC Insiders Blog


PSoC Insiders Blog
Nov 15, 2012

If you have used PSoC 3, PSoC 5 or the up and coming super cool PSoC 5LP, you have probably heard or and most likely made use of the internal UDBs, whether you knew it or not.  UDBs are digital blocks that allow you to make custom digital gadgets. There are a couple of new application notes that were mentioned before in this Blog, that describe the UDBs in detail and teach you how to use them.  See Cypress application notes AN82250 and AN82156.  Many of the standard digital components in Creator s library are actually constructed with UDBs. Below is a list of some of the components that are constructed mainly of UDBs.

I2C, I2S, LIN, SM Bus, SPDIF, SPI, UART, Counters, CRC generator, Glitch filter, Quadrature Decoder, Shift register, Timer, Logic gates, Flops, Digital multiplexers and de-multiplexers, control and status registers, etc. 

You get the picture, but what is currently in the library is by no means the limit of what can be created.  Recently I sent an email to our application and field application engineers and asked what they had created with UDBs.  Here is a list of some of the components people have created with PSoC UDBs.

  • 60Hz Grid Lock PLL
  • Numerically Controlled Oscillator (Used for DDS)
  • Forward Error Correction (FEC) decoder
  • No clock stretch I2C slave
  • Simple components (8bit adder, PWM, digital compares etc )
  • Complex Counters 
  • ADC mux sequencers
  • Holiday Light controller
  • Square root calculator
  • First order IIR filter
  • Hardware state machines
  • Delta sigma modulator
  • UDB discrete Fourier transform
  • Byte packer (sticks two 12-bit values into 3 bytes for RF transmission)
  • 7-Segment Display controller
  • Remote control servo controller
  • Manchester Encoder/Decoder
  • 1-Wire communication interface
  • ClipDetect,  Monitors 16-bit audio and over rides output if value exceeds a certain limit.
  • Audioclkgen,  Creates a factional N reference for the on-chip PLL.  Used in digital audio designs.

Notice that this list contains some pretty weird stuff that you would never find standard in any microcontroller.  You won t even find most this stuff in the standard PSoC Creator library, yet!  The point is, that it doesn t matter.  You can create your own  custom interface or component, that makes your project unique without adding extra external glue logic or a CPLD.

Cypress does have a Community Components page where people can post any component they have created.  Unfortunately it has been a very well kept secret until now.  Do yourself a favor and check out the Community Components page.

Also, if you want to get more training on creating components, read the app notes I mentioned above or look at the community components guidelines on this this page.

If you have created a cool component (or even a weird one), don t be afraid to share it with the Cypress community for your 15 minutes of fame. 

By Mark Hastings

Rating: (5/5) by 1 user
Tags: PSoC® 3
Comments (0)
Oct 18, 2012

Let's face it, when you create a USB device, you will want it to communicate with some form of a host interface. Using a UART-USB interface is one way to go about this and COM ports are among the more familiar interfaces. But have you ever tried to develop a device that uses a USB COM port in a custom application, that functions across multiple operating systems, while not running into difficulties?

It used to be with creating host applications for a computer, you only needed to create one application for Windows. In today's world, operating systems such as Mac OS X and Linux are growing in popularity. Additionally, mobile devices running Android are increasing in numbers with the continuous  production of smart phones and tablets. With so many different operating systems available, the need for cross platform functionality is ever so more important.

What if I told you there was a way to develop a PSoC 3 or PSoC 5 application to easily stream general data across USB and provide the foundation for cross platform functionality?  Using the Human Interface Device (HID) class makes this possible. Yes, the same class that is used for mice and keyboards is breaking free from the stereotype that it is limited to a device that requires some form of human interface, such as a button press, to function.

The truth is that the HID protocol provides the perfect foundation to shuttle data back and forth between a PSoC and computer, in applications where high speed data transfer is not required. Best of all is that implementing a generic HID on PSoC is easy to do and creating Graphical User Interfaces (GUIs) on various operating systems such as Windows, Mac OS X, and Linux is fairly straightforward.  AN82072: PSoC 3 / PSoC 5 USB General Data Transfer with Standard OS Drivers will guide you through all the steps required to do so. You will have your PSoC streaming data to a host operating system of your choice in no time! 

You can download this application note from the following link.
AN82072 - PSoC® 3 / PSoC 5 USB General Data Transfer with Standard OS Drivers

 

By Robert Murphy

Rating: (5/5) by 1 user
Tags: PSoC® 3
Comments (0)
Oct 15, 2012

PSoC Creator 2.1 Component Pack 4 (CP4) adds 6 new components to Cypress growing library of inbuilt virtual chips or components. To those not familiar with Component Packs they are component-only enhancements to PSoC Creator. So what are these new components?

1.       SMBus and PMBus

These complete Cypress power supervision portfolio for PSoC 3 and PSoC 5, by adding SMBus and PMBus slave communication capability to PSoC. Learn more about PSoC Power Supervision solution at http://www.cypress.com/go/PowerSupervision.

2.       Debouncer

This is probably going to be the most-used component out of all six new releases because it is the easiest and best way to debounce and edge-detect switch inputs to your system, without using your CPU.

3.        Glitch Filter

The hardware glitch filter removes unwanted pulses from a digital signal, and is a frequently used function in digital designs. The Glitch Filter v2.0 is a complete re-design from its previous version which was available as a PSoC Creator concept component.

For more information on switch-debouncing and glitch-filtering, see AN60024.

4.       RTD Calculator

5.       Thermistor Calculator

6.       Thermocouple Calculator

These three new components add easy-to-implement temperature-sensing capability to PSoC Creator s component library. Find out more about temperature-sensing with PSoC 3 and PSoC 5 through the suite of application notes available:

·         AN70698 - Temperature Measurement with RTDs

·         AN66477 - Temperature Measurement with Thermistor

·         AN75511 - Temperature Measurement with Thermocouples

In addition, you may be interested in:

·         AN60590 - Temperature Measurement Using Diode

·         AN65977 - Creating an Interface to a TMP05/TMP06 Digital Temperature Sensor

CP4 also provides an update to the I2C Master/Multi-Master/Slave component, with the addition of an I2C bus multiplexing feature, besides for some minor tweaks.

I have already installed CP4 on my system especially for the debouncer. Many of you may want one or more of these new components, or the more robust I2C. To get all of these, please download Component Pack 4.

Rating: Be the first to rate
Tags: PSoC® 3
Comments (0)
Oct 10, 2012

Often I write programs that can have multiple modes based on a constant or I just want to vary a parameter and rerun the program.  Since the schematic is the main view of the project, it is often beneficial to see the current constants or parameters right on the schematic.  This is done for components such as the DelSig ADC where the resolution of the first configuration is displayed.  This same concept can be used for software only constants as well.

The Constants component is a very simple way to display constants used by the firmware on the schematic.  Also this allows you to change firmware parameters without changing actual source code.  I have created an example component that allows the user to assigns names and values to up to four constants.  The component consists of just a symbol and a header file. Below is what the component would look like on the schematic.  The four constants have already been assigned names, DEBUG, LOOP, DELAY, and COUNT, as well as values.

Figure 1 Example Project Constants Component

 

The configuration is very simple.  The user simply assigns a name and value.  The header file is automatically generated.  The constants defined below will have the instance name pre-pended on the name.  For example, the LOOP constant name will be MyConstants_LOOP .

Figure 2 Configuration dialog of Project Constants Component

 

The generated header file would look like this using the configuration in Figure 2.

 #defineMyConstants_DEBUG   0

#defineMyConstants_LOOP   100

#defineMyConstants_DELAY   95

#defineMyConstants_COUNT   5

 

 

The constants can then be used throughout the firmware, just by including the MyConstants.h header file.  Below is an example of a code snippet that makes use of the constants provided in MyConstants.h.

 

 for(i = 0; i < MyConstants_LOOP; i++)

{

      LCD_Position(1,5);  
   
      LCD_PrintHexUint8(i);

      CyDelay(MyConstants_DELAY);

}

  

The same concept could be used for user created components for a specific application. For example a project phase component that displays on the schematic whether the project is in the release or debug phase.  The header file would contain the #define statements for the different mode.

 

 

Figure 3 Project Phase Component

 

Other similar components can easily be generated by the user, with just some simple basic knowledge of how to create components. For example if you wanted a waveform generator to change the waveform without changing code.

 

Figure 4 Application Mode Example

 

The header file would contain the following:

 

 #defineAppMode_Mode     2

#defineAppMode_SINE     0

#defineAppMode_SQUARE   1

#defineAppMode_TRIANGLE 2

 

 

The firmware would look at the AppMode_Mode constant to determine which waveform to generate, requiring no code changes.

This is just one simple trick to make a project more flexible and easier to change its operation without editing code.  It is also a good way to demo an application to a customer.  The user can then try different operations without editing code.  The MyConst component is generic and can be used with any project.  The ProjectPhase and AppMode components can easily be created by the user in a matter of minutes.

 

By Mark Hastings

Rating: Be the first to rate
Tags: PSoC® 3
Comments (0)
Oct 03, 2012

Do you want to use the Programmable Logic Device (PLD) capability of PSoC, and don t know where to start? Or need to create your own custom digital components in PSoC Universal Digital Blocks (UDBs)? Then look no further.

AN82250: PSoC® 3 and PSoC 5 Implementing Programmable Logic Designs An Introduction provides you with an ideal start towards digital mastery with PSoC UDBs. By introducing the PLD architecture, and then walking through an example project, AN82250 teaches you how to create Verilog components in PSoC Creator. For those interested in advanced features of PSoC PLDs and PSoC Creator, these are touched upon in the additional reading material in the appendices.

This application note is actually the second of a three-part series of application notes written to help you learn and exploit PSoC s powerful digital capabilities. This series begins with the introductory AN81623: Digital Design Best Practices, continues with the PLD-centric AN82250, and culminates with the datapath-focused AN81256: Designing PSoC Creator Components With UDB Datapaths.

After reading AN82250, you will be able to implement moderately complex PLD-based components in PSoC Creator. AN82250 also provides a good gateway to building more complex Datapath-based designs dealt with in AN82156. So what are you waiting for? Download AN82250 now!

 

By Antonio De Lima Fernandes

Rating: Be the first to rate
Tags: PSoC® 3
Comments (1)

< Previous   |   6 to 10 of 87 Results  |   Next  >
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.

 
 
FB1.png Twitter1.png linkedin youtube