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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-04-29T10:56:48+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=6920&amp;mode</id>
<entry>
<author><name><![CDATA[czarusgg]]></name></author>
<updated>2014-04-29T10:56:48+01:00</updated>
<published>2014-04-29T10:56:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6920&amp;p=79604#p79604</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6920&amp;p=79604#p79604"/>
<title type="html"><![CDATA[Re: Tranzystor na magistrali 1Wire]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6920&amp;p=79604#p79604"><![CDATA[
<strong>squeez </strong>Dziękuję za odpowiedź. Wstyd się przyznać, ale nie. W sumie, stwierdziłem, że skoro dochodzi do wysłania przez MASTERa polecenia ROM SEARCH, to MASTER musi odczytywać &quot;0&quot; z mojego SLAVE, ponieważ musiał zobaczyć impuls &quot;obecności&quot; <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> Coraz mniej to rozumiem. Dlaczego nie łapie bitów?<br /><br />Oba procki narazie podłączone są do jednej płytki stykowej. Także nie ma problemu z odległością czy tym podobnymi kwestiami. PULL-UP to klasyczne 4,7K.<br /><br />Czyli tak naprawdę schemat &quot;C&quot;, tylko jaki rezystor dać? Czy mam policzyć prąd dla PULL-UP'a i przyjąć taki prąd Ice i wtedy odpowiedni prąd dla bazy?<br /><br />Jest jeszcze motyw taki, że PIN, którym podłączam się do 1Wire to INT0, przerwania na oba zbocza. Zbocze opadające zeruje timerek a zbocze narastające sprawdza ile upłynęło czasu (ile trwał impuls). Jeśli czas trwania impulsu oznacza RESET PULSE od mastera, zaczyna się cała obsługa w moim SLAVE.<br /><br />W nocie katalogowej jest napisane, że jeśli mam włączone przerwania INT0, to zmiana stanu generuje przerwanie nawet jeśli PIN pracuje jako OUT. Może tu jest pies pogrzebany? To znaczy po zdiagnozowaniu RESET PULSE wyłączyć przerwania INT0 tak aby pin powrócił pod kontrolę systemu IO a nie kontrolera przerwań, może mi się tylko wydaje, że ustawiam PIN na wyjście a tak naprawdę cały czas jest wejściem bo kontroler przerwań go skanuje?<br /><br />Może ktoś rozwiać ten dylemat (ja niestety dopiero po 20 będę mógł fizycznie powrócić do swojego układu i empirycznie się przekonać)...<br /><br />Jeszcze jedno. Czasy w masterze i slave wydłużyłem do maksimum, podejrzewając na początku, ze może SLAVE nie nadąża <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> Nic się nie zmieniło, gdy wepnę w miejsce swojego SLAVE (odłączając go od magistrali) termometr DS18B20, wszystko działa jak należy <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1942">czarusgg</a> — 29 kwi 2014, o 10:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[czarusgg]]></name></author>
<updated>2014-04-29T09:39:33+01:00</updated>
<published>2014-04-29T09:39:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6920&amp;p=79596#p79596</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6920&amp;p=79596#p79596"/>
<title type="html"><![CDATA[Tranzystor na magistrali 1Wire]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6920&amp;p=79596#p79596"><![CDATA[
Witam Wszystkich!<br /><br />Staram się podłączyć uC (ATMEGA) do magistrali 1Wire w charakterze SLAVE. Mój SLAVE prawidłowo czyta z magistrali (rozpoznaje RESET PULSE oraz komendę SEARCH ROM wystawioną przez HOSTa), lecz niestety nie potrafi nadawać <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> To znaczy, gdy mój SLAVE wysyła do mastera  bity 1 i 0, master odczytuje 1 i 1. Obniżanie stanu linii do poziomu 0 realizuję poprzez ustawienie PINU jako wyjście ze stanel &quot;0&quot;, zwolnienie magistrali zaś jako ustawienie PINU jako wejście (i nasłuch magistrali). Wygląda na to, że MASTER nie widzi mojego wystawiania stanu niskiego. I tutaj wpadłem na pomysł, by linię magistrali zwierać do masy za pomocą tranzystora. Tylko jak to zrobić? To znaczy jasne jest dla mnie, że tranzystor musi działać w charakterze klucza, czyli tylko stan pełnego zatkania bądź pełnego przewodzenia.<br /><br />I tutaj kilka moich wątpliwości...<br /><br />1. Czy muszę dawać rezystor na bazę (wszak nic nie zasilam, tylko chcę odprowadzić ładunki do masy), czy w ten sposób nie zrobię zwarcia i nie ugotuję źródła zasilania. Aczkolwiek rezystor podciągający ogranicza prąd magistrali.<br /><br />2. Czy stworzyć obciążenie za tranzystorem (na linii E - MASA) za pomocą rezystora, policzyć prąd Iegnd i do tego prądu policzyć rezystor bazy?<br /><br />3. Szukać problemów w oprogramowaniu, bo powinno to działać bez żadnych tranzystorów... Wszak wydaje mi się, że RESPONSE PULSE master widzi, bo próbuje skanować magistralę.<br /><br />Załączam rysunek z zapytaniem końcowym, który wariant? A, B, C, D czy E? A może F, czyli każdy mój pomysł zły i trzeba to zrobić inaczej?<br /><br />Pozdrawiam i czekam z niecierpliwością na pomoc...<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/1942/9299e905da4541ff48c8d01353b38f7d.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/1942/9299e905da4541ff48c8d01353b38f7d.png" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1942">czarusgg</a> — 29 kwi 2014, o 09:39</p><hr />
]]></content>
</entry>
</feed>