Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

"Analogowy" zapis kodu ired

elemid
-
-
Posty:318
Rejestracja:22 mar 2003, o 17:49
Lokalizacja:Polanica Zdrój
Kontaktowanie:
"Analogowy" zapis kodu ired

Postautor: elemid » 17 sie 2005, o 16:09

Interesuje mnie możliwość "analogowego" zapisu kodu transmitowanego za pomocą ired, a później "analogowe" jego odtworzenie.
Całość chcę oprzeć na jakimś Atmelku 51, lub AVR.

Takie postępowanie pozwala pominąć zabawę w rozpoznawanie kodu (praktycznie nic nie musimy o nim wiedzieć), i umożliwia wykorzystanie (po wcześniejszym "analogowym" zapisie transmitowanego kodu), dowolnego pilota ired!

Czy możliwa jest realizacja takiego pomysłu?

Awatar użytkownika
gawel
-
-
Posty:683
Rejestracja:24 lis 2003, o 11:19
Lokalizacja:Białystok

Postautor: gawel » 17 sie 2005, o 18:25

Możesz zapamiętać cyfrowy przebieg sygnału z pilota na zasadzie zapamiętania kolejno czasu trwania jedynki i czasu trwania zera. Też nie musisz wnikać w rodzaj kodu. Kod masz zapamiętać jako ciąg zer i jedynek. Na podobnej zasadzie działają uczące się piloty.

elemid
-
-
Posty:318
Rejestracja:22 mar 2003, o 17:49
Lokalizacja:Polanica Zdrój
Kontaktowanie:

Postautor: elemid » 17 sie 2005, o 19:55

W sensie - próbkować przychodzący sygnał i zapisywać wyniki? Z jaką częstotliwością najlepiej?

Awatar użytkownika
pajaczek
Moderator
Moderator
Posty:2653
Rejestracja:24 sty 2005, o 00:39
Lokalizacja:Winny gród

Postautor: pajaczek » 17 sie 2005, o 22:02

No tak czy inaczej bedziesz musial to probkowac... a jak sobie wyobrazasz to zrobic ?? Zapis na tasmie analogowej chyba odpada... W jakiejkolwiek pamieci danych analogowych (sensu stricte) nie zapiszesz.

Awatar użytkownika
gawel
-
-
Posty:683
Rejestracja:24 lis 2003, o 11:19
Lokalizacja:Białystok

Postautor: gawel » 17 sie 2005, o 22:23

W sensie - próbkować przychodzący sygnał i zapisywać wyniki? Z jaką częstotliwością najlepiej?
To zależy na ile dokładnie chcesz oddać sygnał. W przebiegu z pilota z pewnością da się określić czas trawania pojedynczego bitu, więc należy próbkować nie mniej niż dwa razy częściej. W sumie im szybciej tym lepiej.
Można zastosować inne podejście do problemu. Mierzyć czas każdego bitu od zbocza do zbocza i zapamiętać ten czas. Przykładowo na zbocze odpalasz licznik i zapamiętujesz jego stan na drugie zbocze. W ten sposób to nawet nie jest istotna jednostka, w jakiej mieżysz czas.

a_antoniak
-
-
Posty:651
Rejestracja:13 sty 2005, o 18:38
Lokalizacja:Krasnystaw
Kontaktowanie:

Postautor: a_antoniak » 17 sie 2005, o 22:54

Pomiar czasu trwania impulsów o którym pisze Gaweł jest w istocie próbkowaniem z okresem równym okresowi taktowania timera.

Czest. próbkowania zależy od tego z jaką rozdzielczością chcesz mieć odwzorowane przebiegi. Jeśli na pdst. zapamiętanego przebiegu ma byc bezpośrednio generowany przebieg odtwarzany to nieporozumieniem jest próbkowanie "co najmniej 2 razy w ciągu czasu trwania bitu". Tu nie chodzi o aliasing. Po prostu chcemy mieć przebieg odwzorowany na tyle dokładnie żeby rozdzielczość nie była gorsza niż specyfikowana tolerancja czasów trwania bitów*. W praktyce 10pkt/bit* to minimum (na oko :) )

* - jeśli chcesz mieć nośną to oczywiście jednostką jest nie bit a połowa okresu nośnej

Czyli na oko dla typowej nośnej 36kHz należałoby próbkować z częstotliwością ok. 500kHz...1MHz. Zapis kodu trwającego np. 25ms (ramka RC5) zajmie duużo miejsca (chyba że skomresujemy - w sumie wystarczy 1 bit/próbkę więc stosowanie 1 bajtu byłoby marnotrastwem 8-krotnym).

Z zewn. gen. nośnej jest prościej. Dla czasów bitów rzędu 500us (mniejsze chyba nie bywają) wystarczy ok. 20kHz co pozwala zamknąć typową ramkę RC5 w 63 bajtach z kompresją lub w 500 bajtach bez niej.

Wróć do „Elektronika - tematy dowolne”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 150 gości