1 (18-09-2023 09:15:40 отредактировано granichnikov)

Тема: Временная диаграмма работы драйвера асинхронной передачи.

Добрый день.

Подскажите, где посмотреть временную диаграмму работы драйвера асинхронной передачи?

Начало передачи сообщения после включения, начало передачи сообщения после обновления настройки драйвера асинхронной передачи, в том числе при смене периода отправки?
Можно ли посмотреть где-то количество переданных сообщений во время работы диаграммы? Кстати, был бы очень удобен режим работы асинхронной передачи с возможность указать время передачи либо количество переданных сообщений.

Можно ли обычную передачу в диаграмме совмещать с асинхронной?

С уважением, Сергей.

2

Re: Временная диаграмма работы драйвера асинхронной передачи.

Сразу попутно дополню вопрос конкретикой.
Если передача по асинхронному каналу запущена и в какой-то момент идет смена режима со сменой значений регистров (данные, адрес), но без изменения периода. Отсчет таймера продолжится или начнется с нуля?

3

Re: Временная диаграмма работы драйвера асинхронной передачи.

Начало передачи сообщения после включения,

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

начало передачи сообщения после обновления настройки драйвера асинхронной передачи, в том числе при смене периода отправки?

Зависит от уже накопленного таймером отправки времени. Если оно превысит величину нового периода отправки, то передача произойдет немедленно, если нет, то по истечении времени недостающего от уже накопленного таймером до величины нового периода.

Можно ли посмотреть где-то количество переданных сообщений во время работы диаграммы?

Есть регистр контроля факта отправки сообщения для каждого буфера асинхронной передачи CAN, что в случае если период отправки данного буфера ДАП CAN больше чем период исполнения диаграммы, позволит подсчитать кол-во отправленных из данного буфера сообщений.

Можно ли обычную передачу в диаграмме совмещать с асинхронной?

Да, можно.

Если передача по асинхронному каналу запущена и в какой-то момент идет смена режима со сменой значений регистров (данные, адрес), но без изменения периода. Отсчет таймера продолжится или начнется с нуля?

Продолжится.

4

Re: Временная диаграмма работы драйвера асинхронной передачи.

Добрый день

Я правильно понимаю, такая схема должна давать количество отправленных пакетов?
Я вижу только только один фронт, счетчик дальше единицы не считает.

С уважением,
Сергей

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

Буфер обмена-4.jpg, 19.42 кб, 590 x 109
Буфер обмена-4.jpg 19.42 кб, скачивался 30 раз, последний раз 2023-09-19 

5

Re: Временная диаграмма работы драйвера асинхронной передачи.

Я правильно понимаю, такая схема должна давать количество отправленных пакетов?

Такая схема будет работать только если период отправки заведомо превышает удвоенную продолжительность цикла исполнения диаграммы. Более универсальный метод подсчета выглядит так:

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

acan.png, 6.1 кб, 590 x 132
acan.png 6.1 кб, скачивался 35 раз, последний раз 2023-09-19 

6

Re: Временная диаграмма работы драйвера асинхронной передачи.

Там период 100 мс, а длина цикла 1 мс.
А по вашему способу работало бы, если бы длительность импульса была на выходе регистра величиной в один цикл. А там после начала отправки (или окончания первого сообщения, не знаю) висит 1 и не убирается

7

Re: Временная диаграмма работы драйвера асинхронной передачи.

Там период 100 мс, а длина цикла 1 мс.

Теперь мы это знаем. Возможно есть и еще что-то что нам следует знать? Может быть модель контроллера, корректность подключения CAN?

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

Предложенный способ универсален для всех случаев кроме тех, в которых период меньше чем половина цикла исполнения диаграммы. В данном регистре появляется "1" на каждом цикле, на котором происходила отправка сообщения из данного буфера.

К сожалению, не имея диаграммы трудно строить предположения о причинах наблюдаемых вами явлений.

Прилагаю работоспособную диаграмму для контроллера CANNY 7.2 Duo и предлагаю вам пойти по пути предложенному в п.4 этой статьи: https://canny.ru/docs/tips_tricks/solut … ents_tips/

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

Иконка вложения c72duo_acan_3a_light_2x.cfd 1.44 кб, скачивался 40 раз, последний раз 2023-09-19 

8

Re: Временная диаграмма работы драйвера асинхронной передачи.

Спасибо за пример
Перенес на свою Alfa 7.2 (во вложении).
К сожалению не работает, светодиод моргнул лишь раз.
Данные об устройстве тоже прицепил.

С уважением,
Сергей

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

Буфер обмена-5.jpg, 50.15 кб, 402 x 489
Буфер обмена-5.jpg 50.15 кб, скачивался 29 раз, последний раз 2023-09-20 

Иконка вложения тест _асх.cfd 1.54 кб, скачивался 38 раз, последний раз 2023-09-20 

9

Re: Временная диаграмма работы драйвера асинхронной передачи.

Проверили вашу диаграмму - работает.

К сожалению не работает, светодиод моргнул лишь раз.

Как я и спрашивал ранее:

Возможно есть и еще что-то что нам следует знать? Может быть модель контроллера, корректность подключения CAN?

В отсутствие на шине узла, подтверждающего прием отправляемых диаграммой сообщений (например CANNY CAN Monitor или любого другого USB-CAN интерфейса работающего в режиме NORMAL, а не LISTEN ONLY) или в случае нарушения целостности или электрических характеристик CAN светодиод будет вести себя именно так - моргнет один раз. В случае же целостной шины светодиод будет включаться 2 раза в секунду.

10

Re: Временная диаграмма работы драйвера асинхронной передачи.

Хорошо, этого я не знал.
Изменил на CAN1, где находится устройство, которое и последовательностью в обычном режиме и последовательностью в асинхронном инициализируется и работает (но я при этом не знаю, работает оно в режиме Normal или Listen only).
Взял один из элементов инициализации, правильную скорость канала, необходимый период.
В этом случае светодиод просто загорается и горит, как и было когда я первый раз добавил использование этого порта для диагностики в рабочую схему, чтобы проверить тайминги отправки сообщений.
Еще раз хочу сказать, что асинхронная передача работает, но этим портом я ее отследить не могу. И в этом случае для наладки и контроля какие и когда сообщения отправляются мне нужно либо еще одно внешнее устройство CAN, либо соединить шины CAN1 и CAN0 и ловить входящие на свободной шине.
Возможно я что-то делаю не так, но воспользоваться портом мониторинга асинхронной отправки пока не могу.
Из-за этого переделываю схему без использования асинхронного режима, хотя с ним она получается значительно проще.

В случае же целостной шины светодиод будет включаться 2 раза в секунду.

Не включается (в моем случае 10 раз в секунду)

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

Буфер обмена-7.jpg, 107.51 кб, 635 x 502
Буфер обмена-7.jpg 107.51 кб, скачивался 29 раз, последний раз 2023-09-21 

11

Re: Временная диаграмма работы драйвера асинхронной передачи.

Если я правильно понимаю о чем идет речь, то контроллер не может работать одновременно и в режиме CAN-монитора и исполнять диаграмму. Если требуется контролировать обмен в CAN во время исполнения диаграммы, то вам потребуется для этого либо еще один контроллер, поддердживающий работу в режиме CAN-монитора, либо устройство мониторинга CAN стороннего производителя.

Для Регистра контроля отправки буфера ДАП CAN1 когда он назначен интерфейсу CAN1 проблему наблюдаем, разбираемся.

granichnikov пишет:

В случае же целостной шины светодиод будет включаться 2 раза в секунду.

Не включается (в моем случае 10 раз в секунду)

В приложенной вами ранее диаграмме период был 500 мс

12

Re: Временная диаграмма работы драйвера асинхронной передачи.

granichnikov пишет:

Не включается (в моем случае 10 раз в секунду)

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

проблему наблюдаем, разбираемся.

Разобрались. Проблема решается включением ДАП CAN0. При этом он может не использоваться, то есть ни одному из буферов не назначаться интерфейс CAN0. Это никак не повлияет на работу диаграммы, но решит проблему с некорректным поведением  Регистров контроля отправки буферов ДАП назначенных интерфейсу CAN1
Полностью устраним проблему в следующей версии CannyLab

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

Буфер обмена-7-1.jpg, 191.86 кб, 635 x 502
Буфер обмена-7-1.jpg 191.86 кб, скачивался 29 раз, последний раз 2023-09-21 

13

Re: Временная диаграмма работы драйвера асинхронной передачи.

Да, спасибо, вариант рабочий. Добавил в свою диаграмму.
Теперь смог отследить тайминги отправки сообщений. Жаль не видно какое сообщение отправилось, до применения новых параметров или после. Возможно в следующих версиях?)
Ну или, как я понял, у вас есть свое видение развития драйвера асинхронной передачи, так что ждем.

С уважением,
Сергей