<?xml-stylesheet type="text/xsl" href="https://community.element14.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Learning Xilinx Zynq: FPGA based PWM generator with scroll wheel control</title><link>/technologies/fpga-group/b/blog/posts/learning-xilinx-zynq-fpga-based-pwm-generator-with-scroll-wheel-control</link><description>DIY Test Instrumentation Submit an Entry Submit an Entry 
 
 Monthly Themes | Monthly Poll | Back to homepage 


 
This DIY instrument is a PWM generator with dead band support.
It...</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: Learning Xilinx Zynq: FPGA based PWM generator with scroll wheel control</title><link>https://community.element14.com/technologies/fpga-group/b/blog/posts/learning-xilinx-zynq-fpga-based-pwm-generator-with-scroll-wheel-control</link><pubDate>Thu, 20 Apr 2023 19:52:06 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ddb4865e-0d80-4c18-8f46-d0c010744131</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;It&amp;#39;s been so long ago that I completely forgot how Pynq and Jupiter work. Reading my own post&amp;nbsp;&amp;nbsp;[mention:b372f53a71cb44769f65ea935e407b8b:f7d226abd59f475c9d224a79e3f0ec07]&amp;nbsp;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=11564&amp;AppID=19&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Learning Xilinx Zynq: FPGA based PWM generator with scroll wheel control</title><link>https://community.element14.com/technologies/fpga-group/b/blog/posts/learning-xilinx-zynq-fpga-based-pwm-generator-with-scroll-wheel-control</link><pubDate>Thu, 20 Apr 2023 06:55:03 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ddb4865e-0d80-4c18-8f46-d0c010744131</guid><dc:creator>yepe</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Hi Jan Cumps, I hope you don&amp;#39;t mind if I ask a question regarding the PYNQ half-bridge PWM driver. I am working on a student project for school and I need to drive a half-bridge for an ultrasound pulser. I was working through your great tutorial and I had the complementary pwm output on my board PYNQ Z1. However, I have to make certain changes to the operation to make it compatible with my needs which I attempted to do, but I could not determine the best approach. First off, I need to simplify that I only need 50% duty cycle and no other duty cycles needed. I have made a timing diagram for the various waveforms:&lt;br /&gt;&lt;img alt="image" src="/resized-image/__size/1280x720/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-ddb4865e-0d80-4c18-8f46-d0c010744131/pastedimage1681969842099v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;CLK&lt;/em&gt; should be a continuous 20 MHz signal, &lt;em&gt;PRF&lt;/em&gt; should be a 10 kHz 50% duty cycle signal that synchronizes the rest of the waveforms. &lt;em&gt;PWM&lt;/em&gt;&amp;amp;&lt;em&gt;PWMN&lt;/em&gt; are the complementary PWM signals with dead-time of programmable N cycles with a timed delay from a falling edge of &lt;em&gt;&lt;/em&gt;PRF. &lt;em&gt;PULSE&lt;/em&gt; should be equal to the length of the PWM pulse train, and &lt;em&gt;GATE&lt;/em&gt; is equal to pulse but with a programmable delay. The &lt;em&gt;PWM&lt;/em&gt; pulse-train should be 5 MHz. The first thing I tried to do is to change your example to see if I could get a 5 MHz complementary PWM but I could not see how the frequency is determined so I was playing around with the board clocks and only could get it up to 650 kHz.&lt;/p&gt;
&lt;p&gt;I am a biginner at vhdl so I am a bit out of my element. I have developed all the electronics and analogue demodulation circuits but I still lack the control system to tie it together. If I were to implement these signals in the PYNQ, where do you propose to start?&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=11564&amp;AppID=19&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Learning Xilinx Zynq: FPGA based PWM generator with scroll wheel control</title><link>https://community.element14.com/technologies/fpga-group/b/blog/posts/learning-xilinx-zynq-fpga-based-pwm-generator-with-scroll-wheel-control</link><pubDate>Fri, 13 Aug 2021 12:01:18 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ddb4865e-0d80-4c18-8f46-d0c010744131</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I&amp;#39;ve added a second video, with the FPGA PWM actually driving a home-made GaN half bridge.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span id="58c8f268_bfc1_4c3b_a869_bf270eba83ca"&gt;&lt;span&gt;[View:https://www.youtube.com/watch?v=WH33_7QTxrY:740:466]&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=11564&amp;AppID=19&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Learning Xilinx Zynq: FPGA based PWM generator with scroll wheel control</title><link>https://community.element14.com/technologies/fpga-group/b/blog/posts/learning-xilinx-zynq-fpga-based-pwm-generator-with-scroll-wheel-control</link><pubDate>Sat, 10 Jul 2021 13:55:44 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ddb4865e-0d80-4c18-8f46-d0c010744131</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I&amp;#39;ve been looking at other people&amp;#39;s AXI (memory map) implementation, and I see I have an error in all my AXI designs:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I connected the processor&amp;#39;s interconnect_axi reset to all my resets, but it is only intended for the AXI input of the AXI Interconnect IP.&lt;/p&gt;&lt;p&gt;For other blocks, I&amp;#39;d have to use peripheral_reset. This reset triggers at the same time, waits 16 clocks more before release.&lt;/p&gt;&lt;p&gt;I&amp;#39;ve updated my model. I&amp;#39;ll zip the example and re-upload ...&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[View:/resized-image/__size/620x283/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-ddb4865e-0d80-4c18-8f46-d0c010744131/4774.contentimage_5F00_208445.png:620:283]&lt;/span&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=11564&amp;AppID=19&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item></channel></rss>