NEC-ProtocolОдного прекрасного дня я придбав собі акустику для комп’ютера, без особливих наворотів. Звичайне стерео із дистанційним управлінням по Інфра Червоному (далі ІЧ) каналі. Все було класно до пори до часу, доки сам пульт (рідкісне фуфло) почав показувати різні коники і збоїти при кожному використанні. Інших способів регулювання звуку, чи переключення каналів звуку на акустиці, окрім пульта, немає. Трохи згодом мене таке положення почало напружувати і було вирішено купити\зробити щось, щоб все стало як колись.

Питання купівлі стояло на останньому місці, тому я взявся за розбір пульта і тут я зрозумів, що  в ньому насправді нема, що ремонтувати. Він став практично непридатним для ремонту (або просто не хотілось паритись). Із голосом в моїй голові, який підказував, щоб  я пішов і купив той пульт, було все важче сперечатись. Але після пошуків, зрозумів, що може краще попробувати зробити самому.

Полазив трохи по інтернету, надивився як люди зчитували данні із різних ІЧ- пультів, взявся і я за роботу. Буду намагатись описати те, що я робив і які мене спіткали проблеми, попутно буду намагатись все пояснити.

Отже для старту нам знадобиться:

  • ІЧ-датчик  TSOP на частоту 38kHz, яким ми будемо приймати ІЧ-сигнал (свій я випаяв із портативного DVD-плеєра)
  • Осцилограф із функцією захоплення строба, або ще краще логічний аналізатор, або два в одному (в моєму випадку лог.-аналізатор )
  • Сам пульт, із якого будемо знімати данні.

Коротко про сам ІЧ-датчик, як виявилось це не просто якийсь там фото-діод (як я думав раніше), а ціла мікросхема розрахована на певну частоту.

Протокол NEC використовує несучу частоту 38kHz. На передачу використовується 36kHz. Як я зрозумів із писанини на форумах, велика точність частоти тут зовсім не потрібна. Має бути в ройоні 38kHz.

Підключення ІЧ-датчик буде залежати від моделі останнього. Але як я побачив, в них у всіх є одна особливість. Сам датчик три-ногий і перша нога завжди вихід, друга може бути або живлення, або земля. Тут потрібно дивитись на розпіновку в даташиті до вашого прибору.

Отже підключаємо це все до осцилографа, або лог.-аналізатора і бачимо ось таку картину:

NEC-protocol diagram

  • Стартовий біт, який присутній в кожній пачці імпульсів
  • Код приймача, якщо перевести в десяткові це 128
  • Інвертований код приймача
  • Команда, в десятковій системі числення 136
  • Інвертована команда.

Всього виходить пачка в 32 біта=Код приймача 8біт+Інвертований код приймача 8біт+Команда 8біт+Інвертована команда 8біт. Вся пачка триває 67,5ms. Таким чином можна запрограмувати 256 кодів різних пристроїв і 256 команд. Напевне більше ніж достатньо.

Також ще є так званий біт повтору, який викликається коли кнопка на дистанційному управлінні затиснута.

NEC-repeat bit
В наступній статті розкажу про програмну частину проекту. А зараз коротеньке відео:

Comments:

Написати відповідь

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

вимагається