jasiek
Guest
Mon Feb 15, 2010 3:11 pm
Jest sobie układ gdzie na jednej szynie pojawiają się impulsy (zero
logiczne) średnio co 300ms. Gdy nic się nie dzieje na szynie panuje stan
logiczny H.
Impulsy do stanu niskiego mają czasy w okolicy 10-200 ms.
Teraz jest potrzeba wymyślenia układu, który nie będzie reagował na
pojedyncze bardzo krótkie impulsy (5-20ms) a wszystko co powyżej np. 100 ms
będzie już traktować jako impuls użyteczny i np po wystąpieniu takich 3-4
impulsów (o czasie minimum 100 ms) we wspomnianych okresach 300ms. Dopiero
po wystąpieniu takich 3-4 impulsów "długich" układ wygeneruje na wyjściu
impuls do stanu L. Impuls w okolicy 200ms-1sek. Nie jest to jakiś bardzo
krytyczny czas, więc ważne aby się zmieścił w okolicy wskazanego przedziału.
W układzie już pracuje procesor, który oczywiście jest zabezpieczony przed
odczytem.
Trzeba więc dodać prosty układ, który wyeliminuje powyższe interpretowanie
każdego sygnału z czujnika jako użytecznego - zwyczajnie chińczyk napisał
dupiaty soft i program reaguje na wszystko a powinien prawidłowo reagować na
długie 3-4 impulsy 100-200ms) wszystko poniżej tej ilości i czasu ma być
pomijane i nie wywoływać zmiany na linii wejściowej na procesor dla którego
stan L na porcie powoduje podjęcie dalszych kroków w programie.
Układ pewnie moszna wykombinować na podstawie przerzutnika monostabilnego z
gatunku 74HC123
Typowo układ ten ma wydłużanie impulsu wyjściowego kolejnymi nadchodzącymi
zboczami podawanymi na wejście. A tu trzeba wygenerować impuls gdy
odpowiednio długie czasy impulsów na wejściu się pojawią.
Jakiś pomysł?
Filtrowanie impulsów na jakiś obwodach RC niewiele wnosi, bo za często
pojawia się kolejny impuls.
plebi
Guest
Mon Feb 15, 2010 3:17 pm
Quote:
Jakiś pomysł?
Filtrowanie impulsów na jakiś obwodach RC niewiele wnosi, bo za często
pojawia się kolejny impuls.
Chyba najlepiej dodaj do ukladu kolejny maly procek - bedziesz mogl zawsze
wniesc poprawke gdyby cos nie tak jeszcze bylo a realizacja sprzetowa
najprostsza. Przynajmnie dla mnie najlepsze rozwiazanie - o ile nie dziala
prymitywny uklad RC
kk
Guest
Mon Feb 15, 2010 3:28 pm
Quote:
Układ pewnie moszna wykombinować na podstawie przerzutnika monostabilnego
z gatunku 74HC123
+ kawałek jakiegoś licznika zerowanego przez przerzutnik mono
Waldemar Krzok
Guest
Mon Feb 15, 2010 4:22 pm
jasiek schrieb:
Quote:
Układ pewnie moszna wykombinować na podstawie przerzutnika
monostabilnego z gatunku 74HC123
Typowo układ ten ma wydłużanie impulsu wyjściowego kolejnymi
nadchodzącymi zboczami podawanymi na wejście. A tu trzeba wygenerować
impuls gdy odpowiednio długie czasy impulsów na wejściu się pojawią.
Jakiś pomysł?
Filtrowanie impulsów na jakiś obwodach RC niewiele wnosi, bo za często
pojawia się kolejny impuls.
Jak plebi napisał: najłatwiej i najtaniej na jakimś procku, najmniejszym
jaki się znajdzie w szufladzie. U mnie pewnie albo AtTiny12 lub
MSB430F2013 (bo mam

)
Waldek
Konop
Guest
Mon Feb 15, 2010 4:52 pm
Quote:
Jak plebi napisał: najłatwiej i najtaniej na jakimś procku, najmniejszym
jaki się znajdzie w szufladzie. U mnie pewnie albo AtTiny12 lub
MSB430F2013 (bo mam

)
Niech będzie nowoczesny i użyje ATtiny10 albo lepiej ATtiny4

...
--
Pozdrawiam
Konop
Konop
Guest
Mon Feb 15, 2010 5:29 pm
Quote:
no można, ale tego nie mam w szufladzie. Ale podoba mi się, chyba sobie
kupię parę na testy. Powoli trzeba uważać, by się procesorem nie
zaksztusić
Zaksztusić??!! Zaksztusić to się można zwykłym DIPem

... z tym trzeba
uważać, żeby nie wciągnąć do nosa, albo nie wsadzić do oka przypadkiem

... Procki są bardzo fajne, niestety, trzeba mieć pewnie oryginalne i
najnowsze narzędzia od Atmela, żeby się nimi pobawić - czyli nie dla
hobbystów...
--
Pozdrawiam
Konop
Waldemar Krzok
Guest
Mon Feb 15, 2010 5:31 pm
Konop schrieb:
Quote:
Jak plebi napisał: najłatwiej i najtaniej na jakimś procku,
najmniejszym jaki się znajdzie w szufladzie. U mnie pewnie albo
AtTiny12 lub MSB430F2013 (bo mam

)
Niech będzie nowoczesny i użyje ATtiny10 albo lepiej ATtiny4

...
no można, ale tego nie mam w szufladzie. Ale podoba mi się, chyba sobie
kupię parę na testy. Powoli trzeba uważać, by się procesorem nie
zaksztusić ;-)
Waldek
entroper
Guest
Mon Feb 15, 2010 7:22 pm
Użytkownik "Konop" <konoppo@gazeta.pl> napisał w wiadomości
news:hlbspa$j8f$1@inews.gazeta.pl...
Quote:
Zaksztusić??!! Zaksztusić to się można zwykłym DIPem

...
albo na nim usiąść :)
e.
Sebastian Biały
Guest
Mon Feb 15, 2010 8:20 pm
Konop wrote:
Quote:
Procki są bardzo fajne, niestety, trzeba mieć pewnie oryginalne i
najnowsze narzędzia od Atmela
Czy jakoś dużo się różnia od pozostałych AVRów ? Widzę że interfejs
programowania to juz nie jest SPI tylko jakieś coś przypominające I2C.
Wykonanie tego (włacznie z 12V na RESET) chyba nie jest problemem
hobbystycznie.
Pszemol
Guest
Tue Feb 16, 2010 2:04 am
"jasiek" <wycietyodspamu@mail.pl> wrote in message
news:hlbkr5$jf4$1@atlantis.news.neostrada.pl...
Quote:
Jest sobie układ gdzie na jednej szynie pojawiają się impulsy (zero
logiczne) średnio co 300ms. Gdy nic się nie dzieje na szynie panuje stan
logiczny H.
Impulsy do stanu niskiego mają czasy w okolicy 10-200 ms.
Teraz jest potrzeba wymyślenia układu, który nie będzie reagował na
pojedyncze bardzo krótkie impulsy (5-20ms) a wszystko co powyżej np. 100
ms będzie już traktować jako impuls użyteczny i np po wystąpieniu takich
3-4 impulsów (o czasie minimum 100 ms) we wspomnianych okresach 300ms.
Dopiero po wystąpieniu takich 3-4 impulsów "długich" układ wygeneruje na
wyjściu impuls do stanu L. Impuls w okolicy 200ms-1sek. Nie jest to jakiś
bardzo krytyczny czas, więc ważne aby się zmieścił w okolicy wskazanego
przedziału.
W układzie już pracuje procesor, który oczywiście jest zabezpieczony przed
odczytem.
Trzeba więc dodać prosty układ, który wyeliminuje powyższe interpretowanie
każdego sygnału z czujnika jako użytecznego - zwyczajnie chińczyk napisał
dupiaty soft i program reaguje na wszystko a powinien prawidłowo reagować
na długie 3-4 impulsy 100-200ms) wszystko poniżej tej ilości i czasu ma
być pomijane i nie wywoływać zmiany na linii wejściowej na procesor dla
którego stan L na porcie powoduje podjęcie dalszych kroków w programie.
Układ pewnie moszna wykombinować na podstawie przerzutnika monostabilnego
z gatunku 74HC123
Typowo układ ten ma wydłużanie impulsu wyjściowego kolejnymi nadchodzącymi
zboczami podawanymi na wejście. A tu trzeba wygenerować impuls gdy
odpowiednio długie czasy impulsów na wejściu się pojawią.
Jakiś pomysł?
Filtrowanie impulsów na jakiś obwodach RC niewiele wnosi, bo za często
pojawia się kolejny impuls.
A jaki masz tam generator do dyspozycji? Coś z porównywalnym okresem?
Bo to co potrzebujesz to jeden "debounce circuit" z okresem 100ms a potem
licznik 4 bitowy. Zamiast procesora możesz wstawić tam małego GALa lub CPLD.
Wybór konkretnego scalaka programowalnego masz dziś bardzo spory
Pawel \"O'Pajak\"
Guest
Tue Feb 16, 2010 2:16 am
Powitanko,
Quote:
Procki są bardzo fajne, niestety, trzeba mieć pewnie oryginalne i
najnowsze narzędzia od Atmela, żeby się nimi pobawić - czyli nie dla
hobbystów...
.... i tak oto zostalem profesjonalista;-)
Pozdroofka,
Pawel Chorzempa
--
"-Tato, po czym poznać małą szkodliwość społeczną?
-Po wielkiej szkodzie prywatnej" (kopyrajt: S. Mrożek)
******* >>> !!! UWAGA: ODPOWIADAM TYLKO NA MAILE ->:
> pavel(ten_smieszny_znaczek)aster.pl <<<<*******
Konop
Guest
Tue Feb 16, 2010 9:52 am
Quote:
Procki są bardzo fajne, niestety, trzeba mieć pewnie oryginalne i
najnowsze narzędzia od Atmela, żeby się nimi pobawić - czyli nie dla
hobbystów...
... i tak oto zostalem profesjonalista;-)
Nie, po prostu przestałeś być niskobudżetowym hobbystą

...
A tak swoją drogą - to chodziło mi o brak programowania SPI... ostatnio
chciałem też zastosować procek XMEGA, no ale też, nowy interfejs
programowania... niby taki AVR ISP mkII wystarczy dla XMEGA i kosztuje
koło 180zł, ale już dla ATtiny10 nie :/... i szczerze mówiąc nie wiem,
co powinienem kupić

....
--
Pozdrawiam
Konop
Konop
Guest
Tue Feb 16, 2010 9:57 am
Sebastian Biały pisze:
Quote:
Konop wrote:
Procki są bardzo fajne, niestety, trzeba mieć pewnie oryginalne i
najnowsze narzędzia od Atmela
Czy jakoś dużo się różnia od pozostałych AVRów ? Widzę że interfejs
programowania to juz nie jest SPI tylko jakieś coś przypominające I2C.
Wykonanie tego (włacznie z 12V na RESET) chyba nie jest problemem
hobbystycznie.
Ogólnie rzecz biorąc nie jest, ale to nie chodzi o zrobienie samego
układu, który potrafi wygenerować jakieś poziomy, tylko o wykonanie
programatora, który jako-tako będzie się dał obsłużyć z poziomu
komputera... A jak już pisałem w innym miejscu w tym wątku - to kolejny
interfejs Atmela, bo procesory XMEGA mają też jakiś inny (PDI)... już
nie mówię o debuggerach, bo tam też: JTAG, DebugWire, PDI... no ale
powiedzmy, że do zastosowań hobbystycznych to nie jest niezbędne... Tak
naprawdę nie wiadomo w którym kierunku to wszystko pójdzie i nad czym
się skupić

...
Do niedawna chciałem sobie zrobić programator SPI dla AVRów pracujący na
USB (przez FTcoś), który pełniłby funkcje interfejsu
USB->(UART/SPI/I2C/1wire)... Teraz wychodzi na to, że chyba muszę tam
dać niezłą ATMEGę, oraz trochę "uniwersalnych" pustych padów, żeby w
przyszłości dobudowywać nowe interfejsy



....
--
Pozdrawiam
Konop
Waldemar Krzok
Guest
Tue Feb 16, 2010 11:15 am
entroper schrieb:
Quote:
Użytkownik "Konop" <konoppo@gazeta.pl> napisał w wiadomości
news:hlbspa$j8f$1@inews.gazeta.pl...
Zaksztusić??!! Zaksztusić to się można zwykłym DIPem

...
albo na nim usiąść
wolę usiąść na SMD niż na DIPa. Wiem z autopsji

.
Waldek
Adam Dybkowski
Guest
Thu Feb 18, 2010 12:20 pm
W dniu 2010-02-16 09:52, Konop pisze:
Quote:
A tak swoją drogą - to chodziło mi o brak programowania SPI... ostatnio
chciałem też zastosować procek XMEGA, no ale też, nowy interfejs
programowania... niby taki AVR ISP mkII wystarczy dla XMEGA i kosztuje
koło 180zł, ale już dla ATtiny10 nie :/... i szczerze mówiąc nie wiem,
co powinienem kupić

....
Ależ narzekacie. Czy każdy musi od razu kupować STK600 albo AVRISP mkIII
bo tak napisał Atmel?
Algorytm programowania procków ATxmega albo ATtiny10 jest dokładnie
opisany w ich PDFach. Nie ma problemu aby do programowania wykorzystać
stary dobry STK200 na LPT albo dowolny inny kabelek. Kwestia tylko softu
programującego. A jeżeli potrzeba 12V (nie pamiętam z PDFa) to tylko
jeden tranzystor więcej. Plus wtyczkowy zasilacz stabilizowany 12V.
Jeżeli szukacie gotowego softu to avrdude już obsługuje interfejs PDI.
Jedyne co Atmel ukrywa przed światem to interfejs DebugWire (co wyklucza
programowanie procków mających tylko taką możliwość) oraz szczegóły
debugowania przez JTAG. Wszystkie inne algorytmy są dokładnie opisane.
PS: Jeżeli ktoś ma dużo samozaparcia i chce się w to pobawić, polecam
dodanie programowania ATxmega i ATtiny10 (i podobnych) do ISP
Programmer'a. Pełny kod źródłowy jest tutaj (przez SVN):
http://sourceforge.net/projects/ispprogrammer/
Przysyłajcie mi patche gotowych zmian, umieszczę je w repozytorium. I
nie zapomnijcie o dopisaniu się do listy autorów w okienku "About".
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.