Is this the right solution to my application?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

I got a tip that Cypress PSoC could suit my needs. Now I have a few questions to ask.

   

I have three signal channels all of which will receive a signal within one millisecond.. All the signals may arrive at the same time, or they may be offset by a maximum of one millisecond. I have to measure time from the first signal to each of the other two. Any of the signals may be the first to arrive.

   

Measurement resolution should be at least 0.3 microseconds. It's also vital to know in which order the signals arrived. I'm thinking of getting the absolute time of the arrival of each signal so software could then check which was first and calculate the elapsed time. I'm, however, not sure if there is a better way.

   

I was told that the digital blocks of Cypress PSoC might be a solution. But before I buy any development Kits and such I'd like to have some comments from the experts.

   

Can this be done with Cypress PSoC?

   

Should I select PSoC 5 or PSoC 4?

0 Likes
1 Solution
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Welcome in the forum, Kestis.

   

I would suggest you to get hands on a PSoC5 Prototyping Kit, ask your local distri. Nothing more you will need. Download the IDE software from Cypress (it's free) and start learning. Using 3 counters running @10MHz 32bit wide with your signals connected to the capture input will do the hardware job. Some C-language programming and you can display/send your results.

   

 

   

Bob

View solution in original post

0 Likes
4 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Welcome in the forum, Kestis.

   

I would suggest you to get hands on a PSoC5 Prototyping Kit, ask your local distri. Nothing more you will need. Download the IDE software from Cypress (it's free) and start learning. Using 3 counters running @10MHz 32bit wide with your signals connected to the capture input will do the hardware job. Some C-language programming and you can display/send your results.

   

 

   

Bob

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Here's a document that might help.

Anonymous
Not applicable

I bought the prototyping kit and got it mostly working as I wanted. I have three timers running continuously and connected the signal channels to their capture inputs. Capture_out triggers an interrupt and the measurements are processed. This works perfectly.

   

The problem is that the timers should be synchronized. Now they seem to be somehow in sync but sometimes the times I measure just aren't right. I wonder what is the best method the synchronize them?

   

I also have another question. I have added several #includes to the source file for the interrupt. Whenever I change something in the schematic PSoC Creator generates source code again and removes all #includes I have added. How can I prevent this?

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Do not mess around with the generated files. There is an Interrupt_StartEx() API to use your own code which will not be altered at project generation.

   

You may consider using a control register connected to the counters trigger input

   

 

   

Bob