<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.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/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>NRF52832 unexpected PWM rate</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/39101/nrf52832-unexpected-pwm-rate</link><description>Hello, 
 I am using hardware PWM on NRF52832 in order to drive a MOS. I found something unexpected with the rates. i understand the PWM rate is determined by the clock divider and the counterTop value, which can be considered as the resoution in bit.</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 02 Oct 2018 12:38:11 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/39101/nrf52832-unexpected-pwm-rate" /><item><title>RE: NRF52832 unexpected PWM rate</title><link>https://devzone.nordicsemi.com/thread/151232?ContentTypeID=1</link><pubDate>Tue, 02 Oct 2018 12:38:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:911c382a-bc82-4f0b-9747-e7058be7bf93</guid><dc:creator>lo</dc:creator><description>&lt;p&gt;Thank you for the return, indeed the&amp;nbsp;wrong values&amp;nbsp;were due to the&amp;nbsp;rounding in the function which printed the table and a wrong prescaler (div_2), my bad. Yes i am aware that overall accuracy&amp;nbsp;of PWM frequency is&amp;nbsp;determined by the HF oscillator accuracy,&amp;nbsp;i use a&amp;nbsp;5ppm one.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52832 unexpected PWM rate</title><link>https://devzone.nordicsemi.com/thread/151215?ContentTypeID=1</link><pubDate>Tue, 02 Oct 2018 11:56:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:88d6eb03-84cd-4fca-8480-8119f77ce781</guid><dc:creator>MartinBL</dc:creator><description>&lt;p&gt;&lt;span&gt;Hi,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I&amp;#39;m not sure what you are doing wrong, but the values in your table look wrong. Your formula looks alright, but when I run the numbers I get:&lt;/span&gt;&lt;/p&gt;
&lt;table width="1056"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="124"&gt;&lt;/td&gt;
&lt;td width="83"&gt;&lt;/td&gt;
&lt;td colspan="12" width="849"&gt;&lt;strong&gt;Bit width and Counter Top&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;15&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;14&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;13&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;12&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;11&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;10&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;9&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;8&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;7&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;6&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;5&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Divider (Prescaler)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;F_PWM_CLK&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;32767&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;16383&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;8191&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;4095&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;2047&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;1023&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;511&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;255&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;127&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;63&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;31&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;15&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;128&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;125000&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;3.815&lt;/td&gt;
&lt;td&gt;7.630&lt;/td&gt;
&lt;td&gt;15.261&lt;/td&gt;
&lt;td&gt;30.525&lt;/td&gt;
&lt;td&gt;61.065&lt;/td&gt;
&lt;td&gt;122.190&lt;/td&gt;
&lt;td&gt;244.618&lt;/td&gt;
&lt;td&gt;490.196&lt;/td&gt;
&lt;td&gt;984.252&lt;/td&gt;
&lt;td&gt;1984.127&lt;/td&gt;
&lt;td&gt;4032.258&lt;/td&gt;
&lt;td&gt;8333.333&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;64&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;250000&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;7.630&lt;/td&gt;
&lt;td&gt;15.260&lt;/td&gt;
&lt;td&gt;30.521&lt;/td&gt;
&lt;td&gt;61.050&lt;/td&gt;
&lt;td&gt;122.130&lt;/td&gt;
&lt;td&gt;244.379&lt;/td&gt;
&lt;td&gt;489.237&lt;/td&gt;
&lt;td&gt;980.392&lt;/td&gt;
&lt;td&gt;1968.504&lt;/td&gt;
&lt;td&gt;3968.254&lt;/td&gt;
&lt;td&gt;8064.516&lt;/td&gt;
&lt;td&gt;16666.667&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;32&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;500000&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;15.259&lt;/td&gt;
&lt;td&gt;30.519&lt;/td&gt;
&lt;td&gt;61.043&lt;/td&gt;
&lt;td&gt;122.100&lt;/td&gt;
&lt;td&gt;244.260&lt;/td&gt;
&lt;td&gt;488.759&lt;/td&gt;
&lt;td&gt;978.474&lt;/td&gt;
&lt;td&gt;1960.784&lt;/td&gt;
&lt;td&gt;3937.008&lt;/td&gt;
&lt;td&gt;7936.508&lt;/td&gt;
&lt;td&gt;16129.032&lt;/td&gt;
&lt;td&gt;33333.333&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;16&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;1000000&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;30.519&lt;/td&gt;
&lt;td&gt;61.039&lt;/td&gt;
&lt;td&gt;122.085&lt;/td&gt;
&lt;td&gt;244.200&lt;/td&gt;
&lt;td&gt;488.520&lt;/td&gt;
&lt;td&gt;977.517&lt;/td&gt;
&lt;td&gt;1956.947&lt;/td&gt;
&lt;td&gt;3921.569&lt;/td&gt;
&lt;td&gt;7874.016&lt;/td&gt;
&lt;td&gt;15873.016&lt;/td&gt;
&lt;td&gt;32258.065&lt;/td&gt;
&lt;td&gt;66666.667&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;8&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;2000000&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;61.037&lt;/td&gt;
&lt;td&gt;122.078&lt;/td&gt;
&lt;td&gt;244.170&lt;/td&gt;
&lt;td&gt;488.400&lt;/td&gt;
&lt;td&gt;977.040&lt;/td&gt;
&lt;td&gt;1955.034&lt;/td&gt;
&lt;td&gt;3913.894&lt;/td&gt;
&lt;td&gt;7843.137&lt;/td&gt;
&lt;td&gt;15748.031&lt;/td&gt;
&lt;td&gt;31746.032&lt;/td&gt;
&lt;td&gt;64516.129&lt;/td&gt;
&lt;td&gt;133333.333&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;4000000&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;122.074&lt;/td&gt;
&lt;td&gt;244.156&lt;/td&gt;
&lt;td&gt;488.341&lt;/td&gt;
&lt;td&gt;976.801&lt;/td&gt;
&lt;td&gt;1954.079&lt;/td&gt;
&lt;td&gt;3910.068&lt;/td&gt;
&lt;td&gt;7827.789&lt;/td&gt;
&lt;td&gt;15686.275&lt;/td&gt;
&lt;td&gt;31496.063&lt;/td&gt;
&lt;td&gt;63492.063&lt;/td&gt;
&lt;td&gt;129032.258&lt;/td&gt;
&lt;td&gt;266666.667&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;1&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;16000000&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;488.296&lt;/td&gt;
&lt;td&gt;976.622&lt;/td&gt;
&lt;td&gt;1953.363&lt;/td&gt;
&lt;td&gt;3907.204&lt;/td&gt;
&lt;td&gt;7816.317&lt;/td&gt;
&lt;td&gt;15640.274&lt;/td&gt;
&lt;td&gt;31311.155&lt;/td&gt;
&lt;td&gt;62745.098&lt;/td&gt;
&lt;td&gt;125984.252&lt;/td&gt;
&lt;td&gt;253968.254&lt;/td&gt;
&lt;td&gt;516129.032&lt;/td&gt;
&lt;td&gt;1066666.667&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;These values seem pretty spot on when I test with a logic analyzer.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;PS: Remember that the tolerance of your PWM frequency will only&amp;nbsp;ever be as accurate as your high frequency clock source. So if you rely on the internal HF RC Oscillator (HFINT) your accuracy &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52832.ps.v1.1/clock.html?cp=2_1_0_18_3_0#unique_1861058799"&gt;can be off by as much as 6 %&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>