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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-09-13T18:14:13+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=30&amp;t=21273&amp;mode</id>
<entry>
<author><name><![CDATA[abel11]]></name></author>
<updated>2018-09-13T18:14:13+01:00</updated>
<published>2018-09-13T18:14:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21273&amp;p=211647#p211647</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21273&amp;p=211647#p211647"/>
<title type="html"><![CDATA[Re: Znaczniki czasowe w sieci CAN ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21273&amp;p=211647#p211647"><![CDATA[
Coś w ten deseń, chociaż jeśli chcesz sobie poćwiczyć z znacznikami czasu to proponuje &quot;zabawę&quot; którą sobie wymyśliłem jak nie mogłem ogarnąć synchronizacji.<br />1. Master i slave powinny mieć oscylatory stabilizowane kwarcem (albo dokładne wewnętrzne).<br />2. Master synchronizuje zegar (licznik) slave'ów z swoim.<br />3. Każdy rozkaz roboczy (włączenie LED itp.) jest dodatkowo powiększony o czas wykonania (&quot;godzinę&quot; startu).<br />Działało to w ten sposób, że po zsynchronizowaniu zegarów (zawartości rejestrów z danymi zliczania czasu) master do każdego rozkazu dołączał informację przy jakiej wartości licznika czasu rozkaz ma zostać wykonany. Może śmiesznie to zabrzmi ale zainspirował mnie do tego jakiś niskobudżetowy film szpiegowski gdzie bohaterzy synchronizowali zegarki przed akcją <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /> Do takiego algorytmu dodawałem symulowane błędy komunikacji itp. żeby sprawdzić jak długie powinno być okno wymiany danych (czas do wykonania) i w ogóle wszystkie głupoty jakie przyszły mi do głowy.<br />Powyższa metoda jest dosyć powolna ale skuteczna o ile nie sieć nie wpadnie w bezustanne odpytywanie uszkodzonego slave.<br />Powodzenia z CAN.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17861">abel11</a> — 13 wrz 2018, o 18:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wat1970]]></name></author>
<updated>2018-09-13T10:17:38+01:00</updated>
<published>2018-09-13T10:17:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21273&amp;p=211617#p211617</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21273&amp;p=211617#p211617"/>
<title type="html"><![CDATA[Re: Znaczniki czasowe w sieci CAN ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21273&amp;p=211617#p211617"><![CDATA[
Czyli z grubsza jeśli chcemy jak zrozumiałem synchronizować urządzenia w węzłach CAN od chwili startu lub wykonania jakiejś czynności, to nadzorca czasu mierzy swój odcinek czasu od startu a urządzenie podlegające synchronizacji mierzy swój odcinek i porównuje go do nadzorcy. Z porównania wychodzi czy należy zwolnić proces czy przyspieszyć.<br /><br />Dobra dziękuję chłopaki coś tam zaczyna świtać pod czaszką <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2179">wat1970</a> — 13 wrz 2018, o 10:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[0livaw]]></name></author>
<updated>2018-09-12T19:15:45+01:00</updated>
<published>2018-09-12T19:15:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21273&amp;p=211610#p211610</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21273&amp;p=211610#p211610"/>
<title type="html"><![CDATA[Re: Znaczniki czasowe w sieci CAN ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21273&amp;p=211610#p211610"><![CDATA[
Myślę że można by to wykorzystać do funkcji &quot;HEARTBEAT&quot; czyli kontroli czy dane urządzenie żyje na magistrali. Spotkałem się z taką funkcją w urządzeniach przemysłowych, np. falowniku.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1304">0livaw</a> — 12 wrz 2018, o 19:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[abel11]]></name></author>
<updated>2018-09-12T17:32:05+01:00</updated>
<published>2018-09-12T17:32:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21273&amp;p=211605#p211605</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21273&amp;p=211605#p211605"/>
<title type="html"><![CDATA[Re: Znaczniki czasowe w sieci CAN ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21273&amp;p=211605#p211605"><![CDATA[
Hej.<br />Z tego dobrodziejstwa (jeszcze) w CAN nie korzystałem ale swego czasu w projekcie z RS485 FD dodałem właśnie znaczniki czasu, czyli stan licznika 32 bit wysyłany razem z ramką danych lub jako samodzielne dane. <br />Problemem, który zmusił mnie do zastosowanie timestamp'ów była synchronizacja czasu i punktu pracy kilku urządzeń. W telegraficznym skrócie kilka generatorów musiało pracować synchronicznie (lub w sterowany sposób asynchronicznie) i jakoś wymieniać się informacjami takimi jak obciążenie (żeby je równo rozłożyć), częstotliwości pracy, awaria tranzystorów mocy itp. Przy starcie urządzenia master synchronizował sobie slave z wykorzystaniem znaczników czasu (urządzenia startowały z różnym opóźnieniem), potem MST zarządzał self testy i mierzył czas wykonania dla każdego SLV (na podstawie znaczników) - zbyt długi self test wiadomo zwiastował problemy (najczęściej przewody od RS'a).<br />Nie pamiętam teraz jaka była dokładnie rozdzielczość licznika czasu ale coś w granicach 1-10ms przerwanie tylko z rozkazem inkrementacji rejestru i z wykorzystaniem CTXT (dodatkowe akumulatory ograniczające prolog i epilog przerwania). Częstotliwość przerwań była wymuszona wymaganą dokładnością synchronizacji.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17861">abel11</a> — 12 wrz 2018, o 17:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wat1970]]></name></author>
<updated>2018-09-12T15:37:18+01:00</updated>
<published>2018-09-12T15:37:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21273&amp;p=211600#p211600</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21273&amp;p=211600#p211600"/>
<title type="html"><![CDATA[Znaczniki czasowe w sieci CAN ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21273&amp;p=211600#p211600"><![CDATA[
Witam<br /><br />Przy okazji zabaw z kontrolerem CAN  natrafiłem w nim na funkcjonalność nazwaną Timestaping (znaczniki czasowe) . Te znaczniki czasowe generuje  w kontrolerze CAN timer 32 bitowy odpalany na życzenie użytkownika. Wartość znacznika odczytana z timera jest wysyłana z ramką CAN. Po stronie odbiorcy odczytamy sobie te wartość ale teraz pytanie do czego to wykorzystać w praktyce ? Wiem , że ogólnie synchronizacja czasowa w sieci etc ale czy byłby ktoś uprzejmy wyjaśnić to jak chłop chłopu przy piwie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Z góry dziękuję.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2179">wat1970</a> — 12 wrz 2018, o 15:37</p><hr />
]]></content>
</entry>
</feed>