 |
|
|
|
| Автор |
Сообщение |
ps1x Частый гость (>5)

Зарегистрирован: 24.10.2006 Сообщения: 5
|
Добавлено: 30 Окт 2006, 23:28 Заголовок сообщения: Декодирование SIRC от Sony |
|
|
Декодирование протокола ИК ДУ SIRC от SONY
Чтото никак не могу въехать в Ваш алгоритм декодирования...
Эх с Вами бы вживую поболтать или хотяб по аське. Ну или в крайнем случае не могли бы Вы объяснить свой алгоритм в словах (из коментариев мало понятно)  |
|
| Вернуться к началу |
|
 |
AndryG Модератор
Зарегистрирован: 24.07.2006 Сообщения: 411 Откуда: Helios-3
|
Добавлено: 31 Окт 2006, 8:22 Заголовок сообщения: |
|
|
http://www.andryg.ho.com.ua/index.php?p=sirc - сырое словесное описание алгоритма.
Принимаю все вопросы и конструктивную критику для нормального оформления страницы для следующих посетителей. _________________ AndryG |
|
| Вернуться к началу |
|
 |
ps1x Частый гость (>5)

Зарегистрирован: 24.10.2006 Сообщения: 5
|
Добавлено: 31 Окт 2006, 11:34 Заголовок сообщения: |
|
|
А как можно быть точно уверенным, что длина T точно 600us? Вдруг она окажется 601us тогда ведь алгоритм не заработает?
И еще в строке:
| Код: |
if ((sirc_t != 2) && (sirc_t != 1))//Не 4 и не 2 и не 1 ...
|
ведь нет проверки на sirc_t !=4 ? это верно?
И вообще именно этот код работает в железе? |
|
| Вернуться к началу |
|
 |
AndryG Модератор
Зарегистрирован: 24.07.2006 Сообщения: 411 Откуда: Helios-3
|
Добавлено: 31 Окт 2006, 13:09 Заголовок сообщения: |
|
|
| Цитата: |
А как можно быть точно уверенным, что длина T точно 600us? Вдруг она окажется 601us тогда ведь алгоритм не заработает?
|
Заработает ... это отдельная тема вычислений у меня была. www.andryg.ho.com.ua/sirc.xls - файлик для расчета... опишу позднее... при моих таймингах получается, что длительность может колебаться на 10%.
Мы ведь в программе используем к-во полных тиков таймера ... получается, если длительность будет 650, то полных тиков будет 1 и еще 100 (например) тактов таймера .... но ведь он не перегрузится и sirc_t у нас останется 1.
| Цитата: | И еще в строке:
Код: if ((sirc_t != 2) && (sirc_t != 1))//Не 4 и не 2 и не 1 ...
ведь нет проверки на sirc_t !=4 ? это верно? |
нужно выше посмотреть ... эта строка зашита в else по проверке sirc_t == 4 .... получается, что мы на эту строку заходим только при sirc_t != 4
| Код: |
if (sirc_t==4){ //Стартовый бит (4T)...
sirc_addr=0x00; //...инициализация переменных,...
sirc_cmd =0x00; // ...готовимся к приему данных
sirc_cnt =1; //Ну и счетчик выставляем. см.определение sirc_cnt
} //end 4T Конец инициализации
else{ //Проверяем на ошибку
if ((sirc_t != 2) && (sirc_t != 1))//Не 4 и не 2 и не 1 ...
sirc_error; //... значит ОШИБКА!
} //... конец анализа длинны посылки.
|
| Цитата: | | И вообще именно этот код работает в железе? |
Да именно этот.
www.andryg.ho.com.ua/sirc_bs.gif - нарисовал блок-схему ... надеюсь поможет в разборках
____
P.S.
Сейчас сам чужие исходники регулятора мощности разбираю - голова пухнет  _________________ AndryG |
|
| Вернуться к началу |
|
 |
ps1x Частый гость (>5)

Зарегистрирован: 24.10.2006 Сообщения: 5
|
Добавлено: 02 Ноя 2006, 23:22 Заголовок сообщения: |
|
|
Огромное спасибо! Все заработало!!!  |
|
| Вернуться к началу |
|
 |
AndryG Модератор
Зарегистрирован: 24.07.2006 Сообщения: 411 Откуда: Helios-3
|
Добавлено: 03 Ноя 2006, 8:19 Заголовок сообщения: |
|
|
Пздрвл.
Может претензии какие к описанию, блок-схеме ? Поправлю/добавлю для других.
Теперь переходим к универсальному распознавальщику - на все пультяшки.
Кстати ... если не ошибаюсь под твоим ником на електрониксе проскакивала тема по твоему умному дому... на какой стадии? _________________ AndryG |
|
| Вернуться к началу |
|
 |
ps1x Частый гость (>5)

Зарегистрирован: 24.10.2006 Сообщения: 5
|
Добавлено: 03 Ноя 2006, 18:42 Заголовок сообщения: |
|
|
| Никаких претензий, единственное, я переделал под TINY26, а у него прерывание INT1 и уровни MCUCR=0x02 для из 1 в ноль и MCUCR=0x03 - наоборот, думаю, стоит добавить это в хедер. |
|
| Вернуться к началу |
|
 |
ps1x Частый гость (>5)

Зарегистрирован: 24.10.2006 Сообщения: 5
|
Добавлено: 03 Ноя 2006, 19:20 Заголовок сообщения: |
|
|
И еще, у меня почему-то после непродолжительного пользования пульта, он стал отрабатывать только с расстояния около 0,8 метра, в то время как муз центр с этим пультом работает > 3 метров  |
|
| Вернуться к началу |
|
 |
AndryG Модератор
Зарегистрирован: 24.07.2006 Сообщения: 411 Откуда: Helios-3
|
Добавлено: 06 Ноя 2006, 10:11 Заголовок сообщения: |
|
|
Возможно подсели батареи пультяшки и Вы используете IR-приемник малочуствительный или не на ту частоту... _________________ AndryG |
|
| Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете добавлять вложения в этом форуме Вы можете просматривать вложения в этом форуме
|
|