1

Тема: 1 wire

Здравствуйте. Я давно занимаюсь установкой доп. оборудования в авто и не плохо знаю автоэлектрику, но в микроконтроллерах новичёк. Заказал CANNY 7 SDK и пытаюсь вникнуть в ваш проект. Есть необходимость в реализации на базе CANNY следующего адаптера. Возьмем к примеру мультимедиа станцию Alpine. Если в ее настройках вход AUX обозначить как TV, то на проводе  REMO CONT она будет генерировать команды управления внешним одноимённым ТВ тюнером, а мне нужно подружить ее с цифровым ТВ тюнером другого производителя, который управляется с пульта по ИК каналу.
 
Так вот подскажите как считать логи с этого провода?
 
Потом, если я правильно понимаю, из этих логов нужно создать библиотеку и тоже самое проделать с пультом от тюнера подключив к CANNY ИК приемник. С пониманием создания библиотеки у меня тоже проблема.
 
Далее работаем в CANNY Lab, заливаем всё в контроллер, подключаем REMO CONT к CANNY и подключаем ИК светодиод ( в идеале подключиться напрямую к проводу  ИК приемника тюнера, поставив в разрыв диод)
 
Разъясните пожалуйста по подробнее при помощи вашего CAN монитора можно считать логи с REMO CONT и с ИК пульта и как создать библиотеку?

2

Re: 1 wire

Задача для CANNY 7, прямо скажем, не типовая.
Стоит сразу оговориться, что обозначение "1-Wire", встречающееся в описании возможностей уже реализованных в контроллере, указывает на конкретный протокол (см.https://ru.wikipedia.org/wiki/1-Wire ), а не любую однопроводную линию связи в принципе.
Что касается снятия лога с вашего оборудования, то я предлагаю начать с осциллограммы. Далее, если станет ясно что это, к примеру, поддерживаемый CANNY 7 протокол ИК-связи, то можно будет подключить CANNY 7 к Alpine и ретранслировать принимаемые команды в CAN или RS-232, чтобы посмотреть на них на экране ПК, используя CAN-монитор или программу-терминал. Если же осциллограмма окажется нам не знакома, то без доработки нами системного ПО контроллера вы вряд ли сможете продвинуться дальше.
Но даже если это известный нам ИК- протокол, то для его перекодировки и ретрансляции нам опять же придется дорабатывать системное ПО CANNY, так как сейчас он может лишь принимать ИК, но не передавать. Такая доработка давно стоит у нас в планах.
В принципе прямо сейчас CANNY 7 вам вряд ли поможет, но после доработки ПО он наверняка справится с этой задачей, вопрос в том, насколько глубоко вы готовы погрузиться в исследования вашего оборудования и как долго готовы ждать.

3

Re: 1 wire

Константин спасибо за быстрый ответ. Если честно я и не питал иллюзий, что все будет легко и просто и CANNY заказывал не конкретно под эту идею. В процессе моей работы переодически возникает необходимость в не стандартных решениях в мелкосерийных количествах. Пока отношусь к этому как к хобби и никуда не тороплюсь. Касаемо осцилограммы, то я не знаю на что конкретно в ней обратить внимание. Если вам это что-нибудь подскажет, то я как то снимал осцилограммы управления и физически сигнал похож на тот что выдают адаптеры резистивных кнопок управления магнитоллой с руля типа такого http://www.acv-auto.com/catalog/cmd/download?id=22 их делают все кому не лень, конкретно этот сделан на PIC  и паре транзисторов. И если канни пока не может генерировать  ик кодировку , то к его выходу ШИМ можно подключить вышеуказанный адаптер

4

Re: 1 wire

Не уверен что до конца понял ваше сообщение, но попытаюсь прокомментировать:
На осцилограмме серии импульсов, то это может быть цифровой протокол например. В этом случае сделайте скриншот какой-либо команды и выкладывайте, посмотрим на нее. Если там весовой код - то вам потребуется какой либо внешний АЦП для ввода его в CANNY, примеры есть на форуме.
Так же думаю что использовать PWM CANNY для правления таким адаптером - хорошая идея.

5

Re: 1 wire

Константин приветствую. До сих пор не получил CANNY SDK, поэтому занимаюсь пока теорией. Касательно сигнала на проводе REMO CONT, я посмотрел осцилографом и сравнил с пультом ДУ Alpine, в общем кодировка NEC по проводу передается. В CANNY Lab есть драйвер ик порта и NEC кодировки, но по этой теме очень мало информациию На форуме есть пример как управлять каналами с ДУ, но объясните пожалуйста новичку как считать код кнопки пульта ДУ, чтобы вставить его в программе как константу? CAN Монитором или каким нибудь терминалом COM порта? Аппаратная часть мне понятна

6

Re: 1 wire

Совершенно верно, именно таким путем - или в CAN-монитор, или в терминал, зависимости от того, какой метод доступнее в данном конкретном случае. Отлаженную диаграмму трансляции например IR -> CAN, если нужна, могу подготовить к среде, по возвращению в офис.

7

Re: 1 wire

Опубликовали пример: http://forum.canny.ru/viewtopic.php?id=119

8

Re: 1 wire

Скажите, а в регистре уст. ик  константа 9 это номер канала?

9

Re: 1 wire

Да, это номер канала контроллера, используемого для получения данных от ИК-приемника.

10

Re: 1 wire

Денис а 4 канал соеденить вместе с 9?

11

Re: 1 wire

В примере канал №4 вообще не задействован. Пожалуйста, подробнее - что имеется в виду?

12

Re: 1 wire

регистр уст. can erl  -  константа 4

13

Re: 1 wire

Этот регистр не относится к конфигурации каналов ввода-вывода контроллера - это регистр конфигурации драйвера CAN и устанавливает количество байт данных (4) передаваемых в CAN сообщении.
Подробнее о назначении регистров ввода-вывода и драйвера CAN читайте в руководстве по программированию контроллеров CANNY5 и CANNY7, доступном по нажатию клавиши F1 из интегрированной среды разработки CannyLab или в каталоге среды разработки, например ..\cannylab_v1_1\canny7manual.pdf