AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
25.08.2012, 23:02
|
#81
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: RC5+atmega 8
пульт от тюнера компа. Откуда ж я знаю его протокол ))
|
|
|
|
25.08.2012, 23:10
|
#82
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: RC5+atmega 8
почитаю статью, спасибо
|
|
|
|
25.08.2012, 23:20
|
#83
|
Гражданин KAZUS.RU
Регистрация: 31.12.2010
Сообщений: 837
Сказал спасибо: 371
Сказали Спасибо 153 раз(а) в 113 сообщении(ях)
|
Re: RC5+atmega 8
omercury, частота таймера выставилась навскидку. Понятно что для измерения длительности импульса модулированного ИК сигнала 1000 итераций таймера на 1 замер это лишнее, но согласитесь все равно если использовать 1 байтный таймер получится слишком грубо.
Прерывание в котором много кода вызывается раз в иногда. Да конечно если устройство будет заниматься еще какими то RealTime задачами, то это прерывание может навредить будучи вызванным в критичный момент, но как я написал выше это сделано ради экономии озу. Массивы с задержками в моем примере введены только для отладки и не используются в алгоритме приема. Да и кода там думаю не больше чем на 100 ассемблерных команд, там больше сравнений чем полезной нагрузки, при частоте ядра даже 10 Мгц этот код будет выполнен за 10мкс.
|
|
|
|
25.08.2012, 23:20
|
#84
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: RC5+atmega 8
Сообщение от miwutka
|
Откуда ж я знаю его протокол ))
|
На такой скорости в качестве осциллографа достаточно звуковой карты компа и звукового редактора. ВременнАя шкала там обычно присутствует, всё можно глазами посмотреть. Только не напрямую с выхода TSOP, делитель нужен.
|
|
|
|
25.08.2012, 23:24
|
#85
|
Гражданин KAZUS.RU
Регистрация: 31.12.2010
Сообщений: 837
Сказал спасибо: 371
Сказали Спасибо 153 раз(а) в 113 сообщении(ях)
|
Re: RC5+atmega 8
В моем коде есть все для анализа протокола. Нужно просто вывести значения массивов после замера. Там этот кусок кода в main закомментирован. Но советую для удобной отладки подключить МК к ПК через USART. Ну или через звуковую как советуют выше.
|
|
|
|
25.08.2012, 23:34
|
#86
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: RC5+atmega 8
Сообщение от Flopix
|
если использовать 1 байтный таймер получится слишком грубо.
|
Точности более чем достаточно для ИК.
Сообщение от Flopix
|
если устройство будет заниматься еще какими то RealTime задачами
|
Насколько понял, там вообще HID USB, а это процесс периодический.
Сообщение от Flopix
|
это сделано ради экономии озу
|
Ну не знаю, у меня это в 32х регистрах всё крутится, без RAM вообще, включая двойную буферизацию, АЦП с усреднением, перекодировку в hex и вывод на индикатор...
UPD
Упс... Без USB, ессно - таня15...
Последний раз редактировалось omercury; 25.08.2012 в 23:49.
|
|
|
|
25.08.2012, 23:57
|
#87
|
Гражданин KAZUS.RU
Регистрация: 31.12.2010
Сообщений: 837
Сказал спасибо: 371
Сказали Спасибо 153 раз(а) в 113 сообщении(ях)
|
Re: RC5+atmega 8
Точности вполне было бы достаточно для ИК если бы я еще этим таймером не измерял
длительность около 100мс. У меня ДУ с протоколом NEС, там есть задержка 0,5 мс и почти 100 мс.
Если растянуть 100 мс на байт (значение 255), да еще и с некоторым запасом, то на этот импульс будет приходиться 1 итерация таймера. А чуть поплывет фронт сигнала может быть и 0 итераций. Есть сигнал длительностью 1мс. На него будет приходится 2 итерации, а может быть и 1.
10 мкс задержки для USB там роли не сыграет. То что этот код можно оптимизировать я и не возражаю.
Последний раз редактировалось Flopix; 26.08.2012 в 00:11.
|
|
|
|
26.08.2012, 20:24
|
#88
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: RC5+atmega 8
Код заработал. принимает сигнал. Подскажите как правильно расшифровывать числа в pult_a1, pult_a2, pult_c1, pult_c2?? Я там числа вижу, но при нажатии на одну и туже кнопку там числа а1 и а2 повторяються часто. Из 5 раз 1-2 раза не то. А с1 и с2 както 50 на 50 повторяются. Может чтото еще не так. Записал все временные интервалы. в основном 110-140 и 390-415. Записал длительности первого полупериода и второго.
|
|
|
|
26.08.2012, 20:26
|
#89
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: RC5+atmega 8
взял другой пульт. У него все сигналы стабильные, кроме адреса. а1 и а2 редко сбиваются... Подскажите как их лучше декодировать?
|
|
|
|
26.08.2012, 20:48
|
#90
|
Гражданин KAZUS.RU
Регистрация: 31.12.2010
Сообщений: 837
Сказал спасибо: 371
Сказали Спасибо 153 раз(а) в 113 сообщении(ях)
|
Re: RC5+atmega 8
miwutka, при правильном подключении ИК сенсора и ошибок быть не должно. У меня сбоев при прямой видимости пульт-ИК сенсор не бывает вообще. Возможно необходимо несколько расширить диапазон допустимых задержек или наоборот сузить.
Так же возможен вариант неправильного подключения ИК сенсора. Приведите схему подключения. И заодно киньте весь текст того что у вас получилось.
а1 и а2 это как правило код производителя устройства.
pult_c1 содержит в себе код нажатой кнопки и должен быть равен инвертированному значению pult_c2, то есть должно выполнятся условие
(pult_c1 == ~pult_c2)
Конечно если у вас протокол NEC
Последний раз редактировалось Flopix; 26.08.2012 в 20:53.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Декодер RC5
|
vmax1987 |
Микроконтроллеры, АЦП, память и т.д |
38 |
25.08.2010 22:26 |
RC5 transmitter
|
Saadov |
Микроконтроллеры, АЦП, память и т.д |
12 |
22.12.2008 21:08 |
Приемник RC5 в малом корпусе?
|
Muzicant |
Микроконтроллеры, АЦП, память и т.д |
1 |
17.02.2008 11:57 |
Совмещение динамической индикации и приема команд RC5
|
megAdriVeR |
Микроконтроллеры, АЦП, память и т.д |
22 |
24.07.2007 21:18 |
Декодирование команд RC5
|
R_V_A |
Микроконтроллеры, АЦП, память и т.д |
10 |
20.12.2006 19:52 |
Часовой пояс GMT +4, время: 22:31.
|
|