- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello
For my current project i need 36x phase PWM output Up to ~100khz each , with phase shift , and dead time control .
Whether implementation of this project is possible using Psock5 , with use of any existing components. ?
- Labels:
-
PSoC 5LP
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Depends on the options. Check first the threads below to get an idea
http://www.cypress.com/forum/psoc-4-ble/maximum-amount-pwm-psoc4
http://www.cypress.com/blog/psoc-sensei-blog/how-many-pwm-outputs-can-psoc-3-or-5-generate
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Assuming that each of the PWMs is consuming one UDB you will be able to implement in hardware as a max 24 PWMs.
At frequencies up to 100kHz even a software implementation could be too tight to CPU limits. Think of using 2 PSoC5 chips.
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I presume you'd run them at the same frequency given the phase-shift requirement?
If so then continually generating a static signal would involves 72x toggles at some cycle and order within one period, continually repeating the same pattern. This pattern might be played back from a pre-assembled buffer through an array of UDB FIFOs with parallel outputs routed to the pins. Say with 36-bits of pin data and a cycle count defining when to trigger the next edge in each DMA word using a separate counter.
Then you could pre-compile such scripts in software, including a transitional buffer to handle the crossover, which would be swapped over with DMA transaction chains once submitted. Effectively modification would be relatively CPU intensive (sorting the flank events, etc) this work could be performed entirely asynchronously and so wouldn't be critical unless you require fast and continuous modification of the waveforms.
Of course even then the compilation algorithm might be optimized to perform single-cycle parameter shifts efficiently, probably not even requiring the transitional buffer.
edit: At maximum resolution DMA bandwidth may be a problem for short pulses in rapid succession. You might want to use an absolute cycle comparator instead of a relative delay to re-synchronize after a quick pulse train draining the FIFOs. Perhaps juggle both UDB FIFOs for extra tolerance.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
pcf1ru,
your question is ambiguous. Can you please specify how many PWM blocs you need and what relative phase granularity you expect for each one? How far phase shift would go (is 0-90 deg enough or 0-360deg)? Bit resolution, etc...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks All!!
36x PWM for control 36x Phase motor
360deg 16 bit phase shift
8bit Duty
frequency up to 100khz
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content