<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=8&amp;t=11329&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-04-10T13:49:26+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=11329&amp;mode</id>
<entry>
<author><name><![CDATA[m@ciej]]></name></author>
<updated>2015-04-10T13:49:26+01:00</updated>
<published>2015-04-10T13:49:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11329&amp;p=126131#p126131</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11329&amp;p=126131#p126131"/>
<title type="html"><![CDATA[Re: Jak przyspieszyć PWM na Xmega?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11329&amp;p=126131#p126131"><![CDATA[
Po przeczytaniu noty wiem, że Xmega nie współpracuje z kwarcem 32MHz, najwyżej 16MHz i podbija się za pomocą PLL właśnie.<br /><br />Oto kod:<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#define PWM_RES14 16384<br /><br />void ustaw_zegar(void) // Konfiguracja zegara systemowego<br />{<br />OSC.XOSCCTRL = OSC_FRQRANGE_12TO16_gc | OSC_XOSCSEL_XTAL_256CLK_gc; //zakres częstotliwości i wybór źródła jako kwarc<br />OSC.CTRL |= OSC_XOSCEN_bm; //włącz kwarc<br />while (!(OSC.STATUS &amp; OSC_XOSCRDY_bm))<br />; //czekaj dopóki kwarc nie wystartuje<br />OSC.PLLCTRL |= OSC_PLLSRC_XOSC_gc | (OSC_PLLFAC_gm &amp; 2); //pll taktowany z układu XOSC, ustawiamy mnożnik<br />OSC.CTRL |= OSC_PLLEN_bm; //włącz PLL<br />while (!(OSC.STATUS &amp; OSC_PLLRDY_bm))<br />; //czekaj dopóki PLL nie wystartuje<br />CCP = CCP_IOREG_gc; //zezwól na modyfikację rejestrów chronionych i potem wybierz PLL<br />CLK.CTRL = CLK_SCLKSEL_PLL_gc; //wybierz PLL<br />}<br /><br />void ustaw_porty(void) //konfiguracja portów<br />{<br />PORTE.DIRSET = PIN0_bm; <br />PORTE.DIRSET = PIN1_bm; <br />PORTE.DIRSET = PIN2_bm; <br />PORTE.DIRSET = PIN3_bm; <br />}<br /><br />void ustaw_PWM(void)<br />{<br />TCE0.CTRLB = TC_WGMODE_SINGLESLOPE_gc |// tryb dwuzboczowy<br />TC0_CCAEN_bm | //włącz CCA<br />TC0_CCBEN_bm | // włącz CCB<br />TC0_CCCEN_bm | //włącz CCC<br />TC0_CCDEN_bm; //włącz CCD<br />TCE0.CTRLA = TC_CLKSEL_DIV1_gc; // ustawienie preskalera i uruchomienie timera<br />}<br />int main(void)<br />{<br />ustaw_zegar();<br />ustaw_porty();<br />ustaw_PWM();<br /><br />TCE0.PER = PWM_RES14; //period, top<br />TCE0.CCA = 1024; //wartości dla 16-bitowego PWM<br />TCE0.CCB = 2048;<br />TCE0.CCC = 8192;<br />TCE0.CCD = 16383;<br /><br />while(1)<br />{<br /><br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7141">m@ciej</a> — 10 kwi 2015, o 13:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Alsa]]></name></author>
<updated>2015-04-09T19:30:35+01:00</updated>
<published>2015-04-09T19:30:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11329&amp;p=126082#p126082</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11329&amp;p=126082#p126082"/>
<title type="html"><![CDATA[Re: Jak przyspieszyć PWM na Xmega?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11329&amp;p=126082#p126082"><![CDATA[
Po 1 wklej kod <br />Po 2 na wew kwarcu (2MHz ) zmiana PLL dla xmegi nie stanowi problemu<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6277">Alsa</a> — 9 kwi 2015, o 19:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[m@ciej]]></name></author>
<updated>2015-04-09T12:41:23+01:00</updated>
<published>2015-04-09T12:41:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11329&amp;p=126033#p126033</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11329&amp;p=126033#p126033"/>
<title type="html"><![CDATA[Jak przyspieszyć PWM na Xmega?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11329&amp;p=126033#p126033"><![CDATA[
Witam,<br />Nadal bawię się prockami Xmega, przyszła więc kolej na PWM. Chcę wygenerować tym sposobem napięcia stałe, więc wyjścia uśredniam na RC, ale problemem jest bardzo powolny ten PWM (mała częstotliwość).<br /><br />Przy trybie jednozboczowym, rozdzielczości 14 bit i preskalerze 1 wyciągnąłem ledwie 2kHz. <br /><br />Czy można podłączyć jakoś PLL? Mam już użyty PLL do zwiększenia częstotliwości zegara systemowego ( kwarc 16MHz) do 32mega, ale być może wygrzebię kwarc 32MHz i PLL do zegara nie będzie potrzebny.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7141">m@ciej</a> — 9 kwi 2015, o 12:41</p><hr />
]]></content>
</entry>
</feed>