1

Тема: Параллельная работа шлюза CAN+прием/обработка и отправка сообщений CAN

Добрый день. Нужна ваша помощь заставить работать одно с другим ))

Затея в следующем

1. Can Filter ( фильтр скорости автомобиля на ГУ)

2. Отправка в CAN при получения любого сообщения с ID:661 (один из адишников штатной магнитолы) ID штатного TV

тюнера (для открытия видео входа на ГУ и получения с него кодов кнопок  по ID:461)

3. Прием по CAN c ID:461 кодов кнопок c ГУ и трансляция их напрямую в UART, далее при помощи внешнего котроллера

перевод полученных данных в IR коды для DVBT тюнера (по причине, к моему глубокому сожалению, отсутствия IR

драйвера в CANNY7 DUO

На данный момент затык в том, что раздельно шлюз и посылка ID:461 работает корректно.

Но при включении шлюза перестает работать вторая часть диаграммы (((

Прошу вас оказать в содействие в понимании причин происходящего ))

2

Re: Параллельная работа шлюза CAN+прием/обработка и отправка сообщений CAN

Вы не приложили диаграмму.

3 (23-04-2020 15:23:29 отредактировано -Alexandr-)

Re: Параллельная работа шлюза CAN+прием/обработка и отправка сообщений CAN

Константин, CANNY пишет:

Вы не приложили диаграмму.

Пардон, вроде прикреплял )))

Шлюз в ней сейчас отключен

Вложений в сообщении

Иконка вложения Gate&ID_Snd.cfd 4.26 кб, скачивался 211 раз, последний раз 2020-04-23 

4

Re: Параллельная работа шлюза CAN+прием/обработка и отправка сообщений CAN

Проверьте пожалуйста еще одну диаграмму

В ней стоит задача отправки в UART данных полученных из CAN. Задумка состоит в том чтобы  разрешение на передачу

происходило по активности в D2:D3 или D4:D5. Работает не корректно, видимо из за того что одно из условий приходится на

регистр активности в CAN. Подскажите как поступить правильно

Вложений в сообщении

Иконка вложения can2uart.cfd 5.88 кб, скачивался 190 раз, последний раз 2020-04-23 

5

Re: Параллельная работа шлюза CAN+прием/обработка и отправка сообщений CAN

-Alexandr- пишет:

Пардон, вроде прикреплял )))

Шлюз в ней сейчас отключен

При активном драйвере шлюза в диаграмму попадают только те сообщения, ID которых указаны в отборах для данного интерфейса CAN, если не включен режим слежения указанного интерфейса. Подробнее см. wiki (в том числе описание примеров).
Исправленная диаграмма во вложении.

Вложений в сообщении

Иконка вложения c72duo_Gate&ID_Snd.cfd 4.65 кб, скачивался 226 раз, последний раз 2020-04-24 

6

Re: Параллельная работа шлюза CAN+прием/обработка и отправка сообщений CAN

-Alexandr- пишет:

Проверьте пожалуйста еще одну диаграмму

В ней стоит задача отправки в UART данных полученных из CAN. Задумка состоит в том чтобы  разрешение на передачу

происходило по активности в D2:D3 или D4:D5. Работает не корректно, видимо из за того что одно из условий приходится на

регистр активности в CAN. Подскажите как поступить правильно

Вариант решения во вложении.

Вложений в сообщении

Иконка вложения c72duo_can2uart.cfd 5.03 кб, скачивался 192 раз, последний раз 2020-04-24 

7

Re: Параллельная работа шлюза CAN+прием/обработка и отправка сообщений CAN

Денис, спасибо вам за терпение и науку.  Только начинаю знакомится и разбираться с вашими замечательными

контроллерами. К сожалению информация в меня не очень заходит в режиме WIKI, хотя обещаю посвящу этому время ))

Не знаю как остальным пользователям, но мне проще разбираться на примерах диаграмм представленных на форуме, так

сказать больше практики и интуитивно понятнее, Бразильская система ))))

Еще раз благодарю за помощь.

PS Подскажите, отсутствие модуля IR в Canny7.2Duo обусловлено аппаратно, програмно или маркетинговыми соображениями  )))

8

Re: Параллельная работа шлюза CAN+прием/обработка и отправка сообщений CAN

-Alexandr- пишет:

Подскажите, отсутствие модуля IR в Canny7.2Duo обусловлено аппаратно, програмно или маркетинговыми соображениями  )))

Программно.

UPD: Драйвер ИКДУ был добавлен в системное ПО CANNY 7.2 Duo в CannyLab 2.4

9

Re: Параллельная работа шлюза CAN+прием/обработка и отправка сообщений CAN

Продолжая свой проект в режиме самоизоляции )) появилась потребность в вашей помощи по части элегантного решения

В  CAN шине присутствует информация энкодера, занимает один байт (D7)? изменяется от 00 до FF и от FF до 00 в

зависимости от направления вращения ручки. Абсолютное значение не важно, нужно лишь направление вращения.

Алгоритм довольно простой, буфер и два сравнения больше и меньше. Заковыка у меня в переходе через 00, тк при

вращении в одну сторону после FF будет 00, а это по условии будет означать один клик в противоположную сторону

Помогите пж решить головоломку, или натолкните на способ ее решения

10

Re: Параллельная работа шлюза CAN+прием/обработка и отправка сообщений CAN

-Alexandr- пишет:

...В  CAN шине присутствует информация энкодера, занимает один байт (D7)? изменяется от 00 до FF и от FF до 00 в зависимости от направления вращения ручки...

В общем, направление мысли верное, но лучше анализировать разницу между предыдущим и текущим значением, тогда направление перехода через 0 можно будет идентифицировать (увидеть "отрицательное значение"; в примере по ссылке 16битное число, а в задаче 8битное, но принцип тот же - анализ старшего бита разности чисел).
Вариант решения во вложении. Подход будет работать при абсолютной разнице значений в соседних сообщениях не более 128 единиц.

Вложений в сообщении

Иконка вложения c72duo_can_encoder.cfd 1.54 кб, скачивался 208 раз, последний раз 2020-04-29