<?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=849&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2012-02-17T13:31:35+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=849&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-17T13:31:35+01:00</updated>
<published>2012-02-17T13:31:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=849&amp;p=3008#p3008</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=849&amp;p=3008#p3008"/>
<title type="html"><![CDATA[Re: czas przetwarzania ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=849&amp;p=3008#p3008"><![CDATA[
czy to są korzyści czy wady to może określić tylko twórca projektu i pomysłu - bo kto mu zajrzy do głowy co on chce na końcu uzyskać.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 17 lut 2012, o 13:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marthinek]]></name></author>
<updated>2012-02-17T11:43:32+01:00</updated>
<published>2012-02-17T11:43:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=849&amp;p=3006#p3006</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=849&amp;p=3006#p3006"/>
<title type="html"><![CDATA[Re: czas przetwarzania ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=849&amp;p=3006#p3006"><![CDATA[
Ok git, czyli idąc dalej, mogę zrzucić wartość kwarcu do:<br />1.8432 MHz, ustawić prescaler na 8, wtedy częstotliwość próbkowania wyniesie: 230,4 kHz<br /><br />czas przetwarzania 14,5 cyki = 0,062 e-3 = 62 us.<br /><br />Czyli mniej niż w przypadku  taktowania z pierwszego podanego przykłądu w 1. poście, a do tego spada mi zużycie energii.<br /><br />dla takiego kwarcu transmisja UART z ilością 115,2kbps jest wciąż obciażona błędem 0.0% (z tabelki datasheeta).<br /><br />Hmm teoretycznie same korzyści? kosztem tylko pewnie jakiegoś wydłużenia czasu zapisywania przetworzonych przez ADC danych do pamięci RAM, i działaniem funkcji itoa.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=222">marthinek</a> — 17 lut 2012, o 11:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-15T18:07:29+01:00</updated>
<published>2012-02-15T18:07:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=849&amp;p=2946#p2946</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=849&amp;p=2946#p2946"/>
<title type="html"><![CDATA[Re: czas przetwarzania ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=849&amp;p=2946#p2946"><![CDATA[
<div class="quotetitle">marthinek napisał(a):</div><div class="quotecontent"><br />ok, dobrze wiedzieć, że w dół nic nie ogranicza... poza prescalerem <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /><br /><br />czy praca prescalera w trybie dzielenia na 2 albo dzielenia na 128 też się jakoś czasowo (cyklowo) różni?<br />w sensie szybciej dzieli przez 2 czy przez 128?<br /></div><br /><br />Tak jak powiedział kolega wyżej a ja dodam, że cyklami odpowiedzialnymi za działania preskalera nie masz co się martwić <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> bo to moduł sprzętowy a nie programowy. Ustawiasz preskaler i nic cię nie interesuje czy tam jakieś cykle są czy nie ma <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... to po prostu przerzutniki .<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 15 lut 2012, o 18:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[miszczo]]></name></author>
<updated>2012-02-15T17:25:21+01:00</updated>
<published>2012-02-15T17:25:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=849&amp;p=2944#p2944</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=849&amp;p=2944#p2944"/>
<title type="html"><![CDATA[Re: czas przetwarzania ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=849&amp;p=2944#p2944"><![CDATA[
<div class="quotetitle">marthinek napisał(a):</div><div class="quotecontent"><br />ok, dobrze wiedzieć, że w dół nic nie ogranicza... poza prescalerem <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /><br /><br />czy praca prescalera w trybie dzielenia na 2 albo dzielenia na 128 też się jakoś czasowo (cyklowo) różni?<br />w sensie szybciej dzieli przez 2 czy przez 128?<br /></div><br /><br />A wiesz na jakiej zasadzie działa prescaler? W przypadku dzielenia przez 128 na wyjściu będziesz dostawał impulsy 64 razy wolniej niż przy dzieleniu przez 2. Prescaler to coś w rodzaju licznika zbudowanego na przerzutnikach JK. Wiadomo, że pomiar będzie wykonywany wtedy wolniej.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=78">miszczo</a> — 15 lut 2012, o 17:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marthinek]]></name></author>
<updated>2012-02-15T17:17:06+01:00</updated>
<published>2012-02-15T17:17:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=849&amp;p=2942#p2942</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=849&amp;p=2942#p2942"/>
<title type="html"><![CDATA[Re: czas przetwarzania ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=849&amp;p=2942#p2942"><![CDATA[
ok, dobrze wiedzieć, że w dół nic nie ogranicza... poza prescalerem <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /><br /><br />czy praca prescalera w trybie dzielenia na 2 albo dzielenia na 128 też się jakoś czasowo (cyklowo) różni?<br />w sensie szybciej dzieli przez 2 czy przez 128?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=222">marthinek</a> — 15 lut 2012, o 17:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[miszczo]]></name></author>
<updated>2012-02-15T17:08:51+01:00</updated>
<published>2012-02-15T17:08:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=849&amp;p=2940#p2940</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=849&amp;p=2940#p2940"/>
<title type="html"><![CDATA[Re: czas przetwarzania ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=849&amp;p=2940#p2940"><![CDATA[
A to nie ma tak, że taktowanie adc ma się zawierać w przedziale 50-200khz?(przy 10bitowym pomierze)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=78">miszczo</a> — 15 lut 2012, o 17:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-15T15:40:38+01:00</updated>
<published>2012-02-15T15:40:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=849&amp;p=2939#p2939</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=849&amp;p=2939#p2939"/>
<title type="html"><![CDATA[Re: czas przetwarzania ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=849&amp;p=2939#p2939"><![CDATA[
Pewnie, że przełączanie kanału wprowadza dodatkowe cykle zegara - no ale już ustaliliśmy i ty powiedziałeś , że nie potrzebujesz aż takiej precyzyjnej rozdzielczości więc się tym nie przejmuj. Zresztą zwykle tak to bywa, że często zanim ktoś coś zrobi już tak praktycznie i fizycznie to rozważa, liczy te cykle zegara i rozbiera wszystko na drobne - a później okazuje się, że można było sobie to wszystko darować bo i tak program spokojnie się wyrabia - a nawet jeśli nie to dasz kwarc 20MHz zamiast 11MHz i już będzie lepiej <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Odnośnie częstotliwości samplowania to w nocie PDF mowa jest o jej możliwych maksymalnych wartościach a nie o ścisłym przedziale ograniczonym od dołu i góry. W dół poniżej 200kHz nic a nic cię nie ogranicza <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 15 lut 2012, o 15:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marthinek]]></name></author>
<updated>2012-02-15T15:26:22+01:00</updated>
<published>2012-02-15T15:26:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=849&amp;p=2937#p2937</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=849&amp;p=2937#p2937"/>
<title type="html"><![CDATA[Re: czas przetwarzania ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=849&amp;p=2937#p2937"><![CDATA[
ok, coś tak czułem nosem właśnie, że to nie takie proste <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /><br /><br />assemblera sobie na razie daruje (w sensie pisanie wstawek assemblerowych) <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /> <br /><br />miałem nadzieję, że można tylko z grubsza te czasy oszacować, typu że zapisanie uint16_t do pamięci to w najgorszym razie zajmie dajmy na to 10 cykli zegara.<br /><br />dokładnych pomiarów co do us wykonywania programu nie potrzebuję.<br /><br />dodatkową sprawą, która mnie teraz naszła jest ustawianie kanału dla ADC, wpisanie bitów MUX3:0 też zajmie ileś cykli zegara -czyli wprowadza opóźnienie miedzy moimi kanałami.?<br /><br />Możesz jakoś przybliżyć sprawę związaną z utrzymaniem rozdzielczości 10bitowej?<br />czemu częstotliwość samplowania musi być aż tak duża (50-200kHz).<br />Sygnał który chcę przetwarzać ma max f=100Hz, czyli zgodnie z warunkiem Nysquita, wystarczyłaby mi 200Hz wartość próbkowania dla każdego kanału...<br /><br />czy mieszam teraz jakieś pojęcia?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=222">marthinek</a> — 15 lut 2012, o 15:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-15T15:13:33+01:00</updated>
<published>2012-02-15T15:13:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=849&amp;p=2936#p2936</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=849&amp;p=2936#p2936"/>
<title type="html"><![CDATA[Re: czas przetwarzania ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=849&amp;p=2936#p2936"><![CDATA[
Nic nie pomijasz w rozważaniach i dobrze myślisz poza jednym (tak mi się wydaje).<br /><br />Programując w języku C nie licz na to, że doliczysz się czasów pomiędzy danymi liniami programu co do pojedynczych taktów zegara bo to bardzo wielki błąd. Do tego to jest asembler. I jak zależy ci na precyzyjnym dobraniu czasów nawet co do pojedynczego taktu zegara to w asemblerze będziesz to w stanie w pełni zrealizować.<br /><br />Najbardziej dobitnie świadczy o tym twoje pytanie:<br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />ile cykli zajmuje zapisanie wyniku do pamięci mikroklocka?<br /></div><br /><br />Na które jak sądzę już nie mogłeś znaleźć odpowiedzi w PDF'ie tak jak ładnie to rozpisałeś wszystko dla czasów związanych z pomiarami ADC - i słusznie.... tzn że nie mogłeś tego znaleźć w PDF'ie<br /><br />dlaczego? - bo to zależy wszystko do tego:<br /><br />- jak będzie napisany program<br />- jaki będzie włączony stopień optymalizacji<br />- jakim rodzajem zmiennych będziesz się posługiwał np volatile czy nie?<br />- i od wielu jeszcze takich czynników<br /><br />Dlatego tak jak pisałem na początku - język C nie jest stworzony do takich celów - tu już by ci się przydała wstawka asemblerowa a wtedy już znalazłbyś odpowiedź na swoje pytanie o czas zapisu do mikrokolocka w notach PDF. w których jest opisany każdy rozkaz asemblera i widać z niego w ilu cyklach zegarowych on się wykonuje. Zatem sam widzisz, że pisząc w czystym asemblerze - są takie możliwości - bo to ty piszesz rozkazy asm i możesz je dokładnie zliczyć i przemnożyć przez ilość cykli które zabierają.<br /><br />A pisząc to samo w C spróbuj sobie podejrzeć plik *.lss czyli to co kompilator na końcu wygenerował w asemblerze. Okaże się , że często ten kod będzie taki sam przy jednym poziomie optymalizacji, ale wystarczy, że wpleciesz jedną linię nawet w nieco innej części programu a już może się wszystko zmienić.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 15 lut 2012, o 15:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marthinek]]></name></author>
<updated>2012-02-15T12:19:42+01:00</updated>
<published>2012-02-15T12:19:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=849&amp;p=2934#p2934</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=849&amp;p=2934#p2934"/>
<title type="html"><![CDATA[czas przetwarzania ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=849&amp;p=2934#p2934"><![CDATA[
Siema, mam zagwozdkę, bardziej ideową niż programową (na razie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /> )<br />Potrzebuję wykonać 3 kanałowy pomiar ADC. zależy mi na zachowaniu małej różnicy czasowej miedzy pomiarami, czy jeżeli w funkcji main, uruchomię kolejno:<br /><br />pomiar(kanal1);<br />pomiar(kanal2);<br />pomiar(kanal3);<br /><br />gdzie funkcję pomiar() odpowiadają za obsługę przetwornika ADC i zapisanie wyniku w pamięci RAM<br /><br />to różnica w czasie między pomiar(kanal1), a pomiar(kanal2); wyniesie dla Atmega8A:<br />Normal conversions, single ended:  1.5 (Cycles from Start of Conversion)  13 (Conversion Time (Cycles)) //dane z datasheeta <br /><br />[w sumie 14,5 cykli?]<br /><br />przy kwarcu 11,0592 MHz<br />prescaler ustawiony na 64, to częstotliwość próbkowania = 172,8 kHz, wtedy<br />czas 14,5 cykli = 0,0839 e-3 = 83,9 us<br /><br />i taka powinna być różnica między pomiarem 1 a 2?<br />czyli miedzy pomiarem 1 a 3 różnica wyniesie 2*83,9 us = 167,8 us?<br /><br />ile cykli zajmuje zapisanie wyniku do pamięci mikroklocka?<br /><br /><br /><br />Ustawienie prescalera na 2, spowodowałoby czas samplowania = 5,5255MHz, wtedy<br />czas 14,5 cykli = 2,62 e-6 = 2,62 us, tylko wtedy tracę 10 bitową rozdzielczość próbkowania, która powinna zawierać się (50-200 kHz)?<br /><br />co istotnego pomijam w tych rozważaniach?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=222">marthinek</a> — 15 lut 2012, o 12:19</p><hr />
]]></content>
</entry>
</feed>