Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 mar 2024, o 09:52


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 26 mar 2013, o 21:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 lis 2012
Posty: 35
Lokalizacja: Jaworzno
Pomógł: 0

Witam

Mam potrzebę aby uruchomić niejako komunikację pomiędzy procesorami ATTINY.
Z tego co kojarzę to ten procesor nie obsługuje żadnego protokołu.
Przy czym moje potrzeby są bardzo skromne. Potrzebuję wzajemnie wymieniać się jedną dana z zakresu 0 - 100 z rozdzielczością powiedzmy nawet 2 co 1 sekundę.

Proszę o opinię na temat mojego pomysłu.
Moja idea taka, że jeden port będzie pracował w trybie wejścia. Kiedy otrzyma impuls przejdzie w tryb zliczania i po zadanym czasie skończy liczenie i zapisze wynik. Tak samo przy wysyłaniu przejdzie w tryb wyjścia i zacznie nadawać impulsy a drugi zacznie zliczać.
Wiem, że mogę opuścić kilka impulsów lub jak dwa jednocześnie zaczną nadawać to w ogóle się nie uda, ale na to jestem w stanie przystać.

Więc pierwsza część (odczytu) niejako wzięta z odczytu enkodera tylko jednokanałowego ;-) a druga to już dodana.

Czy to w ogóle zda egzamin no i jak zacząć ;-)
Proszę o pomocną rękę albo dwie (łatwiej się pisze na klawiaturze).

_________________
Trochę tu, trochę tam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 mar 2013, o 21:39 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

hmmm wiesz przy tak niewielkiej ilości danych, sporym zapasie czasu itp to czemu miałaby ta idea być zła ale tak się na razie tylko zapytam - czy może nie dałoby radę zastosować niewiele większego procka jak np ATtiny2313 który już ma prześliczny UART ? ;)

jeśli nie to poszukaj tu na forum (jak nie znajdziesz to pewnie ktoś pomoże) funkcje do obsługi enkodera autorstwa kolegi SunRiver - może właśnie to ci się przyda jako punkt wyjścia do dalszych rozważań a będzie to już w postaci jakiegoś kodu

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 mar 2013, o 22:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 21 cze 2012
Posty: 171
Pomógł: 5

Witam,
jeśli chodzi o jedną z prostszych "transmisji" możesz zastosować coś takiego:
Jeden procek nadaje (pin jako wyjcie), drugi odbiera (pin jako wejście) do tego zew. pull up
przerwa czyli stan wysoki dłużej niż np. 30ms to początek synchronizacja.
następnie nadajesz powiedzmy 8 bitów i tak stan niski 5ms to "0" a 10ms to "1".

Ja stosuję coś takiego tylko na poziomie 24Vdc i działa nawet na duże odległości.

Pozdrawiam
R.L.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 mar 2013, o 22:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 lut 2013
Posty: 223
Zbananowany użytkownik

Pomógł: 21

Koniecznie ATTiny13 ? 1kB to trochę mało miejsca na wykonywanie czegoś + programowa komunikacja. ATTiny 25/45/85 mają USI i ilość FLASHa pozwalającą na implementację własnej transmisji, jeżeli piny Ci nie odpowiadają, a wymiary te same.

_________________
Nie pisz komentarzy - dobry kod komentuje się sam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2013, o 10:58 
Offline
Użytkownik

Dołączył(a): 08 wrz 2012
Posty: 505
Pomógł: 6

Jeśli masz niebieska książkę Mirka poczytaj na temat RC5. Może wykorzystasz coś podobnego. Oczywiście bez nośnej 36kHz. Ramkę możesz przecież przerobić na inna długość. Można usunąć adres zostawiając tylko command przerobiony na długość 7-8 bitów. Pozostaje Ci struktura ramki z bitami startu i toggle. Do tego bardzo fajna biblioteka Mirka do odbioru i weryfikacji ramki. Po wysłaniu takiego kodu procesor odbiorczy przełączy się na nadawanie i wyśle swoja ramkę i tak w kółko. W prawdzie nie będzie to już RC5 bo nie musi, ale będzie miało jakąś strukturę a przez to eliminacje błędów. Pisałeś, że czasu masz dużo. Nie wiem tylko jak z wykorzystaniem timerów i pamięci flash.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2013, o 11:50 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

Tom277 napisał(a):
Jeśli masz niebieska książkę Mirka poczytaj na temat RC5. Może wykorzystasz coś podobnego. Oczywiście bez nośnej 36kHz. Ramkę możesz przecież przerobić na inna długość. Można usunąć adres zostawiając tylko command przerobiony na długość 7-8 bitów. Pozostaje Ci struktura ramki z bitami startu i toggle. ....


ooo to też bardzo w sumie bardzo fajna idea - podoba mi się takie kombinowanie i pomysłowość ;) ....

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2013, o 17:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 lut 2013
Posty: 223
Zbananowany użytkownik

Pomógł: 21

squeez napisał(a):
Attiny13 ma tylko jeden timer, więc będzie trzeba robić programowe jeśli ma robić coś jeszcze z czasem poza komunikacją.

Nie do końca jeden. Zawsze można uruchomić Watchdoga w trybie przerwania ;)
Szybkie toto nie jest, ale zawsze coś :)

_________________
Nie pisz komentarzy - dobry kod komentuje się sam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2013, o 21:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 lis 2012
Posty: 35
Lokalizacja: Jaworzno
Pomógł: 0

dziekuję za przedstawienie różnych mozliwości.
Juz odpowiadam na pytania:
Po pierwsze musi byc 13-tka bo: (no może nie musi, dobrze by było)
- jest mała
- jest tania
- jest prosta w podłączeniu (tzn. plus i minus)
Po drugie mam niebieską książkę (i na pewno nie dam ją psu ;-)
Po trzecie zgodnie z zaleceniami z najnowszego trailera trzeba troche pokąbinować a nie tak z armaty od razu
A tak zupełnie na serio to zerknę na ten przykład z RC5
Ponadto naprawdę wystarczy mi ATTINY 13 obecnie program juz realizuje prawie wszytko co chcę i ma rozmiar 605 wiec może tam docisne jeszcze parę bajtów z tą "komunikacją".
Coś stworzę i dam jeszcze znać

_________________
Trochę tu, trochę tam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2013, o 21:29 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

Jasne możliwości jak widać masz dużo - a jeśli zmieści ci się to w tiny13 ;) to na prawdę maleńkie bździdełko wyjdzie jeśli chodzi o urządzonko ;)

jak coś - to pytaj dalej ;)

------------------------ [ Dodano po: 1 minucie ]

a! ;) i fajnie że dbasz o psa ;) nie karmiąc go celulozą ... a nie tak jak inni hyhyhyhy ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 12 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO