1

Тема: Осваиваю Canny 5 Nano

Наконец приобрёл Canny 5 Nano.  Решил помигать диодом на четвёртом канале. В режиме симулятора работает.
Подключил устройство. Загрузил системное ПО.  Диагностика показывает, что устройство подключено и системное ПО есть. Записываю диаграмму. Выходит сообщение - Диаграмма успешно записана. И после этого сообщение Диаграмма :недоступно.. Естественно никакого Блинка нет.  Нашёл.. Разомкнул перемычку J1. Работает..  Мне кажется, что эту операцию с перемычкой стоит обозначить как-то покрупнее..  И как-то прокомментировать сообщение Диаграмма: недоступно. Можно ли размыкать/замыкать перемычку при подключенном контроллере.
Писать на CFD истинное удовольствие после вариаций на тему СИ в Ардуино.

С уважением, Михаил Сурин

2

Re: Осваиваю Canny 5 Nano

Можно ли размыкать/замыкать перемычку при подключенном контроллере.

Можно. Однако, если размыкание перемычки при работающем загрузчике CANNY Lab приведет к запуску контроллера в режиме исполнения диаграммы, то обратное замыкание перемычки режим контроллера не изменит. Для повторного входа в режим загрузчика CANNY Lab необходимо отключить и подключить питание контроллера с установленной перемычкой.

Действительно, как-то акцентировать внимание на этих нюансах необходимо. Попробуем найти способ.

Спасибо за ваш отзыв!

3

Re: Осваиваю Canny 5 Nano

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

4

Re: Осваиваю Canny 5 Nano

Уже работаем над этим.

5

Re: Осваиваю Canny 5 Nano

Осваиваю дальше и глубже. А параллельно осваиваю FLprog для Ардуино..  Интересное сравнение..

А пока вопрос. На странице 180 представлен внешний вид контроллера. Около некоторых контактов присутствуют всякие обозначения.. Вроде   SDI, SDA  и тд...  Возможно ли прямо в тексте руководства около этой схемы иметь расшифровку аббревиатур.. Чтобы не лазить по описанию. И тут же более детально расписать нагрузочные характеристики каждого канала.. И все возможные ограничения на использование каналов.

6

Re: Осваиваю Canny 5 Nano

Вот в одной из тем сказано  Максимальный ток ..... каналов №№10-15 составляет 2мА. Это не ошибка насчёт двух миллиампер?

7

Re: Осваиваю Canny 5 Nano

Часть каналов 25mA, часть 2mA. Так указано в документации производителя на базовый микроконтроллер.

8

Re: Осваиваю Canny 5 Nano

Осваиваю UART.   Сказано, что Каналы 0 и 1 контроллера параллельно подключены к USB контроллеру виртуального последовательного порта , что позволяет использовать интерфейс UART1 организовать обмен данными между пользователей диаграммой и ПК.....
Вот тут непонятно, каким образом ПК увидит передаваемые ему данные..  В Ардуино есть Монитор последовательного порта.. Я попробовал. Работает...  А куда UART1 засылает свои сигналы, чтобы их можно было увидеть на ПК?

9

Re: Осваиваю Canny 5 Nano

Вы можете обмениваться данными между ПК и CANNY 5 nano используя драйвер UART1 контроллера и тот же COM-порт ПК, который используете при записи диаграмм в контроллер из CANNY Lab. В качестве терминала со стороны ПК можно использовать приложение HyperTerminal из состава Windows до XP включительно или любой сторонней программой-терминалом если у вас Windows более поздней версии. Например: http://realterm.sourceforge.net/

10

Re: Осваиваю Canny 5 Nano

ipsurin пишет:

Осваиваю дальше и глубже. А параллельно осваиваю FLprog для Ардуино..  Интересное сравнение

Ну и как? Не возникло впечатление что Arduino+MCP2515 CANbus module обладают бОльшими возможностями чем Canny и в тоже время гораздо меньшей ценой.
Еще гляньте Scratch for Arduino

11

Re: Осваиваю Canny 5 Nano

У меня нет модуля CAN для ардуино.  Да и меня вполне устраивает, что в Canny СAN встроен. Одна из задач состоит в том, чтобы соединить передатчик и приёмник CAN, подавать помеху на линию интерфейса и посмотреть как помеха влияет на качество передачи. При этом, желательно, ничего не спалить. В любом случае потребуется ещё одна Canny Nano, а в пределе и Canny 7  для имитации работы других интерфейсов, использующих RZ кодирование в канале передачи. 

Скрэтч вещь неплохая. Ещё есть horizontautomatics. Всё сразу не освоишь.

Для моих задач требуется программирование на уровне FBD. Возиться с Си не хочется.

12 (18-12-2015 00:45:38 отредактировано ipsurin)

Re: Осваиваю Canny 5 Nano

Связь по UART освоил. Планирую приобрести вторую CANNY 5 NANO и сделать связь между ними по CAN BUS. 
Как в процессоре/контроллере организован выход\вход по CAN bus. Какие микросхемы, параметры. Как не спалить.. Например, подавая на приёмник помеху... Какие требования к витой паре и к согласующим резисторам.

13

Re: Осваиваю Canny 5 Nano

В качестве CAN-трансмиттера в CANNY 5 nano используется TJA1040 или TJA1042 в зависимости от партии. Какой применен в вашем экземпляре вы сможете прочесть непосредственно на корпусе микросхемы. Физические параметры  CAN  вы можете найти в стандарте или в документации на эти микросхемы.

Вкратце:
Линия дифференциальная,  полагается сопротивление линии между CAN-H и CAN-L = 60 Ом, в CANNY 5 nano его нет. При использовании пары  CANNY 5 nano поставьте рядом с каждыми по 120 Ом.
Рецессивный уровень на CAN-H и CAN-L по 2.5В, доминантный на CAN-H = 5В, на  CAN-L = GND.
Трансмиттер работает по CAN-H  верхним ключом, а по CAN-L  нижним.
Соответственно, чтобы надежно поставить помеху и при этом не повредить трансмиттеры, необходимо подать на линию доминантные уровни: CAN-H = 4.5-5В, на  CAN-L = 0.5В-GND.

14 (20-12-2015 22:00:47 отредактировано ipsurin)

Re: Осваиваю Canny 5 Nano

Приобрёл вторую CANNY 5 NANO. Осваиваю программирование CAN драйвера. На передачу и на приём. Увлекательное занятие.

Разбираюсь в регистрах. Непонятно как указывать значение в регистре ERL. Что означает конструкция 0....ER+8.  Количество байтов в сообщении понятно, а вот как тут описаны значения EXT и RTR непонятно. Скажем, у меня длина сообщения один байт (2,3...,8). Передача в  стандартном формате и приём обычного сообщения.  Нужна некоторая таблица, формула формирования значения регистра ERL.

15

Re: Осваиваю Canny 5 Nano

ipsurin пишет:

Непонятно как указывать значение в регистре ERL. Что означает конструкция 0....ER+8.  Количество байтов в сообщении понятно, а вот как тут описаны значения EXT и RTR непонятно. Скажем, у меня длина сообщения один байт (2,3...,8). Передача в  стандартном формате и приём обычного сообщения.

Название регистра ERL можно интерпретировать как аббревиатуру Ext+Rtr+Len: Старший, пятнадцатый бит регистра является признаком расширенного формата идентификатора сообщения (EXT), следующий за ним, четырнадцатый бит регистра является признаком удаленного запроса на передачу (RTR), остальные биты регистра кодируют длину передаваемого сообщения (LEN)

При передаче обычного, не RTR сообщения со стандартным, не расширенным идентификатором, в регистр  ERL записывается только длина сообщения, например:

для сообщения с длиной данных 2 байта: 0x0002
для сообщения с длиной данных 3 байта: 0x0003
...
для сообщения с длиной данных 8 байта: 0x0008

При передаче обычного, не RTR сообщения с расширенным идентификатором, в регистр  ERL записывается длина сообщения + 0x8000, например:

для сообщения с длиной данных 2 байта: 0x8002
для сообщения с длиной данных 3 байта: 0x8003
...
для сообщения с длиной данных 8 байта: 0x8008

При передаче RTR сообщения со стандартным, не расширенным идентификатором, в регистр  ERL записывается длина сообщения + 0x4000 сообщения, например:

для сообщения с длиной данных 2 байта: 0x4002
для сообщения с длиной данных 3 байта: 0x4003
...
для сообщения с длиной данных 8 байта: 0x4008

При передаче RTR сообщения с расширенным идентификатором, в регистр  ERL записывается длина сообщения + 0xC000 сообщения, например:

для сообщения с длиной данных 2 байта: 0xC002
для сообщения с длиной данных 3 байта: 0xC003
...
для сообщения с длиной данных 8 байта: 0xC008

16

Re: Осваиваю Canny 5 Nano

Спасибо.

Создал первую в своей истории линию на канбасе и двух процессорах канни 5 нано..  Столкнулся с тем, что монитор кан шины не видит контроллер-приёмник.. Контроллер сидит на COM3. Через него идёт программирование.
Запускаю кан-монитор. Присоединяю запрограммированный на приём контроллер.. Выдаётся сообщение- Please connect device.  Что-то этому монитору не нравится.

17

Re: Осваиваю Canny 5 Nano

ipsurin пишет:

Столкнулся с тем, что монитор кан шины не видит контроллер-приёмник.. Контроллер сидит на COM3.

К сожалению, утилита CANNY CAN Monitor (ccm.exe), если речь о ней, работает только с контроллерами CANNY 7.

Но не всё еще потеряно! У нас уже есть пример переброски LIN сообщений в ASCII формате по последовательному порту RS-232 на ПК: http://forum.canny.ru/viewtopic.php?id=109, его не трудно переделать для CAN на базе CANNY 5 nano. Разумеется, такое решение не заменит CANNY CAN Monitor в полной мере, но позволит решать определенные практические задачи, включая возможно и вашу.

18

Re: Осваиваю Canny 5 Nano

Это огорчает. Придётся вытащить осциллограф. Посмотреть сигнал на шине.

Теперь о регистрах диагностики кан.

Регистр переполнения буфера приёма кан- что означает буфер кан переполнен.  Каков размер буфера.

Регистр ошибки приёма кан-  каким образом фиксируются ошибки. как устанавливается допустимый порог ошибок.

Регистр готовности буфера передачи данных кан-  каким образом фиксируется свобода (освобождение) буфера передачи данных.

19

Re: Осваиваю Canny 5 Nano

Победа, однако.

Я примерно так и сделал..   Принимаю по Кан и копирую принятые байты в буфер Уарт.. Посылаю на Реалтерм. Впечатляет.  Теперь можно строить измеритель ошибок в шине..

20

Re: Осваиваю Canny 5 Nano

ipsurin пишет:

Регистр переполнения буфера приёма кан- что означает буфер кан переполнен.

Регистр синтетический, = 1 если буфер приема переполнен или буфер передачи переполнен

ipsurin пишет:

Каков размер буфера.

8 сообщений на прием 3 на передачу. При использовании режима фильтрации: 1 сообщение на 1 фильтр.

ipsurin пишет:

Регистр ошибки приёма кан-  каким образом фиксируются ошибки. как устанавливается допустимый порог ошибок.

Регистр синтетический, = 1 если ошибок приема >127 или ошибок передачи >127. О способе подсчета ошибок см. в документации к базовому микроконтроллеру.

ipsurin пишет:

Регистр готовности буфера передачи данных кан-  каким образом фиксируется свобода (освобождение) буфера передачи данных.

Если в буфере передачи есть место для хотя бы одного сообщения = 1

Все вышеприведенные данные касаются только CANNY 5 nano.

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

21

Re: Осваиваю Canny 5 Nano

Спасибо.

Верно, просто констатации  того, что ошибок больше 127 семи недостаточно.. Нужно лезть глубже. Тем не менее на верхнем уровне уже есть возможность подсчитывать ошибки..  Что передаётся мне известно.. Что принимается тоже. Можно устроить сравнение и подсчёт...  Но интересно сравнить этот подсчёт с подсчётом на нижнем уровне.  Понятно, что в настоящее время ошибок нет. Что передаю, то и принимаю.

22

Re: Осваиваю Canny 5 Nano

Выяснилось, что Терминальный адаптер для Arduino nano выпускаемый Лартмастер полностью подходит для Канни 5 нано. Почти законченная промавтоматика.. Только надо обозначения для винтовых выводов переписать.

23

Re: Осваиваю Canny 5 Nano

Сделал макет генератора RZ кода. Использовал Канни для управления H-мостом на L293DNE. Работает в лучшем виде. Плохо, что не могу использовать осциллограф. Теперь планирую построить приёмник RZ кода.  Ну а там можно будет подавать помеху и считать ошибки..

Тем не менее осталась одна загадка.

Я так и не смог разобраться в таинственных обозначениях, приведённых вокруг картинки контроллера.

Конкретно  - SDI, SDA,  SCK, SCL, PWM0, SDO, PWM1, INT, PU.

Может эти обозначения и несущественны, но для порядка хотелось бы знать.

24

Re: Осваиваю Canny 5 Nano

Serial Data Input ,Serial Data Output , ChipSelect - SPI (I interface)
SDA, SCK -  I2C (Inter-Integrated Circuit)
Pulse-width modulation   PWM ( наш родненький ШИМ (ШиротноИмпульснаяМодуляция )
и т.д.( и Так Далее) smile как варианты- PPM PDM PCM

25 (31-12-2015 21:24:11 отредактировано ipsurin)

Re: Осваиваю Canny 5 Nano

Всё меньше тёмных мест.   

А вот в плане сравнения Canny и Ардуино обнаружилось, что у Canny нет классической оперативной памяти. Есть энергонезависимая память, но её не рекомендуется слишком часто дёргать.



Что мешает в CANNY иметь десяток другой регистров, которые можно было использовать как оперативную память.

А вообще- С наступающим Новым Годом.

Пусть это будет Год Канни..

В плане разработки приёмника RZ кода возник вопрос о возможности подключения нескольких каналов, сконфигурированных на вход к одному источнику сигнала.. Можно сказать и иначе- один входной канал подключить параллельно  к двум другим входным каналам.  Сигналы пятивольтовые. Когда ничего нет, то на входе 5 вольт. Когда сигнал приходит, то напряжение на входе какого либо  из входного каналов стремится к GND.