cancel
Showing results for 
Search instead for 
Did you mean: 

PSoC™ 5, 3 & 1

JoSc_4496551
New Contributor II

Hello,

I'm using this kit for a learning project and it occurs that it could be very useful for a particular task.

I need to count pulses on 8 lines; the pulses can be set to be 0.1 or 1 microsecond wide, but the gap between them is variable. It would be good if the gap could be as small as 1 microsecond. The pulses are coming at random times on all 8 lines. Every 20 ms or so, I need to read the counters, do a little math, and send a signal on an output line.

I also need to connect several of these systems to a PC to load configurations such as counting time. Ethernet would be good, but RS-485 should also work

In the IDE, I have configured 8 Basic Counters and the compilation succeeded but I haven't tested anything yet. Before I go on, I'd like to know if this part is a good fit for the application or if I should upgrade. I'd like to stay with the KIT style for at least the prototypes.

Thanks,

John

0 Likes
1 Solution
Len_CONSULTRON
Honored Contributor II

John,

I use the CY8CKIT-059 all the time for projects.  It's small, tight and CHEAP!

In general it should be good for what you need to do. The 0.1 us pulse minimum width means you should clock your counters at 10MHz+ to have one count detected by the capture FIFO.

How accurate do you need the pulse width measurement?

Here's a summary of the high-speed clock accuracy on the PSoC5:

Clock sourceAccuracyNote
IMO 3MHz+/- 1%
IMO 6MHz+/- 2%
IMO 12MHz+/- 3%
IMO 24MHz+/- 4%
IMO 24MHz (with USB enabled)+/- 0.25%

With the USB clock block selected using IMOx2 as an input.

This clock is needed if you want to use the PSoC5 USB port.

IMO 48MHz+/- 5%
IMO 62.6MHz+/- 7%
IMO 74.7MHz+/- 7%
ECO (Freq dependent on XTAL)dependent on XTAL
DSI (Freq dependent on external source)dependent on external source

As to how to communicate this back to a PC:  The simple and inexpensive solution is to use the serial comm through the KitProg of the CY8CKIT-059.  It can support high data rates if needed.  All you need is a PC with a USB hub (to support multiple USB data streams) and a PC comm program at either support multiple serial comms or a PC comm program that can be opened in multiple instances.

Len

Len
"Engineering is an Art. The Art of Compromise."

View solution in original post

0 Likes
3 Replies
Len_CONSULTRON
Honored Contributor II

John,

I use the CY8CKIT-059 all the time for projects.  It's small, tight and CHEAP!

In general it should be good for what you need to do. The 0.1 us pulse minimum width means you should clock your counters at 10MHz+ to have one count detected by the capture FIFO.

How accurate do you need the pulse width measurement?

Here's a summary of the high-speed clock accuracy on the PSoC5:

Clock sourceAccuracyNote
IMO 3MHz+/- 1%
IMO 6MHz+/- 2%
IMO 12MHz+/- 3%
IMO 24MHz+/- 4%
IMO 24MHz (with USB enabled)+/- 0.25%

With the USB clock block selected using IMOx2 as an input.

This clock is needed if you want to use the PSoC5 USB port.

IMO 48MHz+/- 5%
IMO 62.6MHz+/- 7%
IMO 74.7MHz+/- 7%
ECO (Freq dependent on XTAL)dependent on XTAL
DSI (Freq dependent on external source)dependent on external source

As to how to communicate this back to a PC:  The simple and inexpensive solution is to use the serial comm through the KitProg of the CY8CKIT-059.  It can support high data rates if needed.  All you need is a PC with a USB hub (to support multiple USB data streams) and a PC comm program at either support multiple serial comms or a PC comm program that can be opened in multiple instances.

Len

Len
"Engineering is an Art. The Art of Compromise."

View solution in original post

0 Likes
JoSc_4496551
New Contributor II

Len,

Thanks for the info. I don't need the pulse width, just to count the rising

edges.

It's good to know there is a serial function built-in. I happen to have 49

port USB hub but it did not work very well connected to some other devices.

Maybe with some work on the PC program it can identify and keep separate

all the Cypress devices.

John

On Fri, Jun 26, 2020 at 6:51 AM LePo_1062026 <community-manager@cypress.com>

0 Likes
Len_CONSULTRON
Honored Contributor II

John,

If you're CPU bandwidth can handle it, you might be able to get multiple 'channels' of pulse width counters on the same PSoC5.  Then as each channel measures it's pulse, you can combine the output results to one UART comm channel with the channel number and pulse width encoded.  Therefore, you use less PSoCs and less UART comm ports.

Len

Len
"Engineering is an Art. The Art of Compromise."
0 Likes