Strictly necessary cookies are on by default and cannot be turned off. Functional, Performance and Tracking/targeting/sharing cookies can be turned on below based on your preferences (this banner will remain available for you to accept cookies). You may change your cookie settings by deleting cookies from your browser. Then this banner will appear again. You can learn more details about cookies HERE.
Strictly necessary (always on)
Functional, Performance and Tracking/targeting/sharing (default off)
This community has been very helpful to me over the years and I just happen to have a project that has taken me many hours to develop and debug. Hopefully this will help others and save loads of time.
Basically the attached project does two thing rather well:
1. It contains six 24-bit, phase adjustable PWMs using data paths.
2. It has a fairly nice little USB command processor, making it easy to drop-in code and drive it around via a terminal program like PuTTY.
This application is targeted for a CY8CKIT-059 with both crystals installed. I'm using a 10MHz crystal, but a 24MHz crystal works just as good. The clock speed is maxed out at 80MHz giving you 12.5ns phase & pulse resolution.
The idea here is simplicity. Once the application is deployed, you simply connect a USB cable to your PC and drive the PSoC around using menu commands to activate the functions you have written. All of the basic PWM functions I have written are already in this application ready for you to play with. No need for the KitProg once you have things the way you like.
The command processor is written in such a way to minimize keystrokes and make life simple for you to focus on your task at hand. All menu commands are type checked per keystroke so you can't easily enter bogus data.
Thank you for sharing with the community! Since we no longer have Community Components forum, I suggest to add more tags to make component search more relevant, like "PWM24", "PWM with phase", "PSoC Commander", "community component", etc. - the more the merrier! Otherwise it will be very hard to find the demo over time.
It is worth to include some API to the component, so there is would be no need for directly accessing Datapath registers in main.c. Please add some basic datasheet describing PWM24DP functionality.