1

Тема: canny nano UART прием есть, передачи нет

Здравствуйте
Прошу подсказки по следующей ситуации:
Используя канал UART1 контроллера нано, подключился в шину i-bus.
Сообщения получаю, обрабатываю - все ок.
Но не могу ничего послать в шину. Прикрутил параллельно отправку сообщений в КАН шину - там все есть, что я отправляю. Светодиод на канале 10 - моргает, кан посылки шлет, UART молчит.

http://i.piccy.info/i9/b16f3d28df7496012cd646532ed9bf8f/1520095405/33988/1079312/uart1_800.jpghttp://i.piccy.info/a3/2018-03-03-16-43/i9-12118515/800x147-r/i.gif

http://i.piccy.info/i9/f1982e2fa047a4f5b0f5bd38267c909c/1520095428/150303/1079312/uart2.jpghttp://i.piccy.info/a3/2018-03-03-16-43/i9-12118519/761x430-r/i.gif

Вот диаграмма, которая получилась.
Если бы ошибка была в настройках UART - разве прием работал бы?
Подскажите, плиз, что может быть не так?
Спасибо!

2

Re: canny nano UART прием есть, передачи нет

А откуда появилось предположение, что не происходит отправки в UART? Видимо, не происходит реакции на отправляемые команды. Проверить факт отправки можно подключив контроллер к ПК через USB, используя VCP (т.к. используется UART1 контроллера) и посмотреть получение сообщений в терминале ПК.
Очевидно, отправка выполняется, но не в том виде, в котором оно должно быть. Сообщения i-Bus включают в себя, помимо идентификатора, длины сообщения, адресата, непосредственно данных, еще контрольную сумму (по ссылке, страница 9), без которой или при несовпадении которой сообщение  будет считаться не корректным и команда не будет выполнена.
В приложенном фрагменте диаграммы не увидел расчета и отправки контрольной суммы. Возможно проблема в этом.

3

Re: canny nano UART прием есть, передачи нет

А откуда появилось предположение, что не происходит отправки в UART?


Я для этого в диаграмму кан прикрутил и смотрю кан хакером с другого ноута.
Когда через nav coder посылаю команду в том же виде - схема приемник реагирует как надо.

К примеру, С8 04 Е7 2В 01 01  - вот посылка, которую я жду в шине по индексу 1.

С8 - источник, 04 длина, Е7 получатель, 2В команда, 01 - данные, 01 - контрольная сумма (все сложил через XOR).
И эта посылка через нав кодер работает как надо. А из нано ее отправку я не вижу, в т.ч и осциллографом.

Никаких уровней не надо "подтягивать" как в и2с? Если я "вижу" ай-бас через УАРТ - стало быть с настройками "железа" все ок? Рыть только в диаграмме?

Для меня еще непонятно, как Тх и Rx в организации UART (я так понял прием и передача) в ай-бас по одному проводу совмещаются. Может в этом проблема? Я к выводу 8 Тх подключился.

Может играет роль "режим открытого коллектора"?

http://i.piccy.info/i9/af3c9346c41fb8c9f729ea67a57adfdf/1520275206/105376/1079312/uart2_800.jpghttp://i.piccy.info/a3/2018-03-05-18-40/i9-12125293/800x375-r/i.gif

Сделал так. Переключая коммутатор смотрю что просто в ай-басе происходит (если ноль индекс) и что кэнни в него отправляет (если индекс 1).

Спасибо.

4

Re: canny nano UART прием есть, передачи нет

Я к выводу 8 Тх подключился.

Покажите пожалуйста, хотя бы нарисовав от руки и сфотографировав на телефон полную схему подключения вашего пятивольтового контроллера CANNY 5 nano к 12 вольтовой шине i-bus.

5 (07-03-2018 12:13:34 отредактировано alex_engine)

Re: canny nano UART прием есть, передачи нет

Вот тут, похоже и ответ. Я совсем упустил это из виду sad.
Предыдущие диаграммы для удобства работы выполнял на кэнни7 + плата. А теперь перенес на нано...

Про 5 вольт нано вообще забыл. Просто подключил 8 вывод прямо в айбас. На прием работает отлично, поэтому и не возникло никаких подозрений, что есть ошибка.

Подскажите, плиз, как правильно "развязаться". Оптопарой? Будет работать? Или транзисторный ключ?
Спасибо!

http://catethysis.ru/logic-level-converters-1/  такие варианты актуальны?

Как согласовать "в одну" сторону более менее понятно. Но на прием-передачу нужно преобразования 12-5 и 5-12. Вот тут нужна подсказка.

UPD - можно сделать по управлению любым свободным каналом коммутацию 8-го через схему преобразователя "на прослушку" шины, и переключать на момент отправки "на передачу".
Может уже кто-то делал такое?

6

Re: canny nano UART прием есть, передачи нет

Для согласования можете использовать схему http://web.comhem.se/mulle2/IBUSInsideDRAFTREV5.pdf на стр. 10 (на pin 4 разъема DB9 подайте +5V, pin 5 - GND, pin 2 - RX, pin 3 -TX)

7

Re: canny nano UART прием есть, передачи нет

Cпасибо. Попробую так

8

Re: canny nano UART прием есть, передачи нет

Попробовал с транзисторами - не получилось.

Решил пойти через использование ТН3122.4
http://www.yeint.ru/suppliers/melexis/p … 22_004.pdf

Вопрос по обработке сигнала SEN/STA - без него при отправке в шине получаются накладки сообщений (как и с использованием схем на транзисторах, оптронах и т.д), и, как результат, жесткие глюки всего.

Из описания:
The pin SEN/STA is bidirectional. Used as an output the pin indicates whether the transmit-path
is enabled or disabled:
SEN/STA =”0”   transmission path is enabled
SEN/STA =”1”   transmission path is disabled

Для нормального функционирования достаточно просто назначить какой-то вход нано для "мониторинга" статуса этого вывода как 1 или 0, и через логическое "И" организовать старт передачи UART?
Не нужно дополнительно никаких временных задержек вводить?
Для реализации такого варианта - любой канал подойдет? В сети много примеров по работе ТН3122 с ардуино - там отдельный вывод используется.

Спасибо! Буду благодарен за любые подсказки.

9

Re: canny nano UART прием есть, передачи нет

Судя по документации, для подключения SEN/STA к контроллеру Canny 5 nano вы можете использовать любой свободный канал контроллера, кроме С0, С1, С4 и С13

Как вы будете использовать этот канал и организовывать передачу (логические элементы, временные задержки и т.п.) - это уже особенности вашей реализации протокола. Мы сами реализацией данного протокола не занимались и не хотим вас вводить в заблуждение своими предположениями.

10

Re: canny nano UART прием есть, передачи нет

Благодарю. Буду пробовать

11

Re: canny nano UART прием есть, передачи нет

Приделал ТН3122.4  Назначил канал 2 контроллера для sen/sta
и тут начинается мистика для меня. Если "слушать" с помощью кана посылки, что отправляются в UART - все ок.
Но если смотреть, что принято из уарта - получается станная ситуация. В каждой отправленной мною посылке заменяется последний бит.
http://i.piccy.info/i9/101292b24e91cb0cad3dbef2522219e1/1521399050/44659/1079312/Bezymiannyi_800.jpghttp://i.piccy.info/a3/2018-03-18-18-50/i9-12166008/800x281-r/i.gif

С8 04 Е7 2В 04 04  отправляю, а получаю С8 04 Е7 2В 04

При такой диаграмме, как на скрине, я получаю две посылки из UARTа, и две мои. Те, что я отправляю, но искаженные.
Причем заметил, что последний бит моих посылок заменяется на содержимое аналогичного бита предыдущего сообщения из уарт.

На конкретном примере:
посылка из уарт "родная":      F0 04 FF 48 08 4B DD 20
посылка, что я отправил:        С8 04 Е7 2В 04 4В
ожидаемая:                            С8 04 Е7 2В 04 04

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

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

12

Re: canny nano UART прием есть, передачи нет

И почему у вас Рег.уст длины сообщения UART1 = 5 в то время как вы пытаетесь отправить 6 байт?

Что будет если убрать остальные устройства из сети и проверить работу контроллера в режиме "на себя"?

Есть ли возможность получить осциллограммы обмена в сети?

13

Re: canny nano UART прием есть, передачи нет

И почему у вас Рег.уст длины сообщения UART1 = 5 в то время как вы пытаетесь отправить 6 байт?

Провтыкал, если честно. Считал биты - 0, 1, 2, 3, 4, 5 ... Вот 5 и написал sad . Исправлю.

Что будет если убрать остальные устройства из сети и проверить работу контроллера в режиме "на себя"?

Не пробовал. Проверю. Я правильно понял - отправляю из UART1 и принимаю в UART2, контролируя при этом что вышло, что пришло, чтобы определить вносится "проблема" извне или нет?

Есть ли возможность получить осциллограммы обмена в сети?

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

Спасибо за помощь

14

Re: canny nano UART прием есть, передачи нет

Исправил длину сообщения с 5 на 6 - в кане появилась правильная посылка.


http://i.piccy.info/i9/d36d4e4d22176c0e1cb8fc33c0341b5e/1521490083/80931/1079312/Bezymiannyi2_800.jpghttp://i.piccy.info/a3/2018-03-19-20-08/i9-12169713/800x271-r/i.gif

Вот попытка из уарт1 послать, принять в уарт2 и просмотреть по кану.
Соединил Tx (0) c Tx(8), Rx (1) c Rx(9)  запускаю по каналу 6.

http://i.piccy.info/i9/2cfb0dcfdbbc20d272e9dbc28112982b/1521490691/116389/1079312/0_02_05_00777775581a62d0e2a7c8091908f5852ef0da5e51762ea7aaf6a62f4f745e4a_full_800.jpghttp://i.piccy.info/a3/2018-03-19-20-18/i9-12169749/755x566-r/i.gif

Собственно, посылка в кане что с уарт1 что с уарт2 имеется и правильная, (если верить тому, что принято в кан)

Дальше подключил на передачу в айбас с уарт1

http://i.piccy.info/i9/490da1ab97b8569677fdb82c6e500c14/1521490873/64313/1079312/0_02_05_2e802832249f2d26e1205cf41b7c7e9c68068559e4af88d3d259620ac94c1451_full_800.jpghttp://i.piccy.info/a3/2018-03-19-20-21/i9-12169765/566x755-r/i.gif
Осцилл тоже показывает, что сигнал идет. По форме такой же как на приеме.
А вот дальше - печаль полная:
Если навкодером смотреть всю шину - то между сообщений системы иногда проскакивает бит-два моей посылки, ясное дело как неопознанная посылка.
Если просто подключиться и слать мою посылку в айбас, без остальных блоков - то навкодер "видит" такое:
http://i.piccy.info/i9/35c7927cb420102089886682a16f8bc1/1521491049/49475/1079312/0_02_05_0a4a2d7ae20823815f4509ea4278c8f84346274e1409e804d15720417d3a8cf3_full_500.jpghttp://i.piccy.info/a3/2018-03-19-20-24/i9-12169774/472x354-r/i.gif
sad
Видно, что этот весь "мусор" из кусков моей посылки. Но почему так?

На днях получу логический анализатор, может с ним удастся прояснить ситуацию.
Пока в ступоре.
Буду рад любым подсказкам.
Спасибо!

15 (24-03-2018 11:57:04 отредактировано alex_engine)

Re: canny nano UART прием есть, передачи нет

Так и не могу победить.

Сократил до минимума http://i.piccy.info/i9/59edd69fea608999f8029a6443d9a22f/1521880666/117735/1079312/Bezymiannyi.jpghttp://i.piccy.info/a3/2018-03-24-08-37/i9-12183235/779x298-r/i.gif

Больше никаких абонентов. Шлю с нано через тн3122.4 в айбас с подтяжкой через 1ком к плюсу (без нее вообще не работает).

осциллограмма как по букварю
http://i.piccy.info/i9/dc6fca84b5850d74ccbcaff14f09c335/1521880818/75984/1079312/0_02_05_57d1f91457d5955b7bc9da6654bdff97c749ce1c84c6eb81c15069f73d2b096c_full_800.jpghttp://i.piccy.info/a3/2018-03-24-08-40/i9-12183238/755x566-r/i.gif

Но в шине творится вот такое:

http://i.piccy.info/i9/c2f6ef2e68d2e93131ebc979546374f4/1521880868/144635/1079312/0_02_05_ec1318f47eee99335c0e5fc32bdef910b53eb9a7d7bb512567fb5daae9f18320_full_800.jpghttp://i.piccy.info/a3/2018-03-24-08-41/i9-12183241/755x566-r/i.gif

Ни длинна сообщения, ни содержимое не совпадают с ожидаемым. Никаких других посылок в шине нет. Стало быть тайминги, наложения и т.д не при делах.

Все тоже самое перебрасываю на кэнни7
http://i.piccy.info/i9/be8c182bee1a7ca5c1f3bfaf05ece6de/1521881549/117735/1079312/Bezymiannyi.jpghttp://i.piccy.info/a3/2018-03-24-08-52/i9-12183270/779x298-r/i.gif

И вот
http://i.piccy.info/i9/66aaf7d0c540fbb7eb4736104c471d43/1521881595/133878/1079312/0_02_04_f2e0e71e7db2ada7af6eed67810f4abb7a586d6ebf0294d408f9fcd630a7f2f7_full_800.jpghttp://i.piccy.info/a3/2018-03-24-08-53/i9-12183272/755x566-r/i.gif

Все норм. В нижней части "новые" сообщения (кэнни7) распознаются как надо и схема на них реагирует как надо.

Что я делаю не так?  Идеи закончились sad

16

Re: canny nano UART прием есть, передачи нет

Попробуйте в установке конфигурации UART CANNY 5 nano выбрать инверсную полярность.

17

Re: canny nano UART прием есть, передачи нет

Дальше вообще чудеса.
Оказывается передача и длинна посылки зависят от значений в D5 D4 установки сообщения UART
http://i.piccy.info/i9/7fc749846ba91b8ecb5ef3ca039338d0/1521883205/141315/1079312/0_02_04_584287351f83e84c6a65b460389c5226890876a54e411b8b768f84aad46e3e4e_full_800.jpghttp://i.piccy.info/a3/2018-03-24-09-20/i9-12183341/755x566-r/i.gif

Если 04 04 -- посылка в навкодере из 6 бит с содержимым 04.
Если 08 08 -- 10 бит длинна
Если 10 10 -- 18 бит длинна
Если 03 03 или 05 05 -- вообще нет посылки

Дальше не перебирал.

18

Re: canny nano UART прием есть, передачи нет

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

Попробуйте в установке конфигурации UART CANNY 5 nano выбрать инверсную полярность.

Пробовал. Вообще тишина. Даже по осциллограмме. Может тн3122 не пропускает.

19

Re: canny nano UART прием есть, передачи нет

Сократил до минимума

В этой диаграмме проблема - перегруз драйвера CAN сообщениями (если CAN сконфигурирован, на диаграмме этого не видно). Попробуйте убрать CAN из диаграммы вообще и сравнить осцилограммы посылок UART CANNY 7 и NANO

20

Re: canny nano UART прием есть, передачи нет

Кроме того, как следует из документации, потенциал SEN/STA управляется по GND и должен быть установлен заранее, ДО передачи.

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

ibus.png, 18.26 кб, 894 x 214
ibus.png 18.26 кб, скачивался 50 раз, последний раз 2018-03-24 

ibus2.png, 7.48 кб, 506 x 385
ibus2.png 7.48 кб, скачивался 47 раз, последний раз 2018-03-24 

21

Re: canny nano UART прием есть, передачи нет

Ну и разумеется сама iBus должна быть притянута к +12 внешним резистором.

22 (24-03-2018 17:28:43 отредактировано alex_engine)

Re: canny nano UART прием есть, передачи нет

Подтяжка 1 кОм к плюсу есть
Вот диаграмма
http://i.piccy.info/i9/f1eda3cbdb71a3ad437698d31292746a/1521901696/69224/1079312/Bezymiannyi_800.jpghttp://i.piccy.info/a3/2018-03-24-14-28/i9-12184149/800x262-r/i.gif

Вот в шине первые строки при 04 04
ниже 08 08

http://i.piccy.info/i9/52413704051e618cfd9cf6f98efe2f6c/1521898197/142316/1079312/0_02_05_06f6d3a5a366612f2169ec0d307552477ba5c3df3f9e7a41e65db5da7ad2b406_full_800.jpghttp://i.piccy.info/a3/2018-03-24-13-29/i9-12183994/755x566-r/i.gif

Осциллограммы нано. Слева "родные", что в шине. Справа - исходящие из нано.
http://i.piccy.info/i9/17a64e21a17d478b5e48cfa07339cc2d/1521900116/49463/1079312/Bezymiannyi_800.jpghttp://i.piccy.info/a3/2018-03-24-14-01/i9-12184078/800x282-r/i.gif

Слева нано, справа семерка в режиме передачи. Очень заметна разница в амплитуде. Пробовал подтяжкой туда-сюда, не меняется. Но дело ли в амплитуде?
http://i.piccy.info/i9/9300405e414f7ca993c6f86b5db58b1a/1521900788/65897/1079312/Bezymiannyi_800.jpghttp://i.piccy.info/a3/2018-03-24-14-13/i9-12184101/800x471-r/i.gif

23

Re: canny nano UART прием есть, передачи нет

Добавьте защиту от дребезга на входной канал. В CANNY 7 она встроена в драйвер, в Nano нет.
И проверьте надежное соединение общей GND всех компонентов системы.

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

ibus3.png, 6.82 кб, 698 x 85
ibus3.png 6.82 кб, скачивался 65 раз, последний раз 2018-03-24 

24 (26-03-2018 21:41:19 отредактировано alex_engine)

Re: canny nano UART прием есть, передачи нет

Дребезг поставил, без изменений. Приделал генератор и отправку по фронту счета - тоже мимо.
Заменил ТН3122.4 на ELMOS e910_30 (Elmos 10020b) - все тоже самое.
Добрался до логического анализатора
http://i.piccy.info/i9/d7a77c0814017ee74e036c329091a235/1522089439/61287/1232451/nano_analyz_800.jpghttp://i.piccy.info/a3/2018-03-26-18-37/i9-12191437/800x482-r/i.gif

канал 00 - это исходящий из нано пакет (через делитель с  шины айбас)
Чуть ниже TxD и RxD - с ножек нано.
Анализатор распознает правильно даже содержимое посылки.

А дальше - мистика....
Канал 01 - это посылка через кэнни 7. Она работает в схеме.
Канал 04 - это посылка через навкодер с использованием внешнего адаптера. Работает в схеме.
Но, они обе неправильно распознаются анализатором и отличаются от посылки с нано. Они "неправильные" , но обе работают. 
Посылка из нано вроде "правильная", но ни схема ни навкодер на нее не реагируют.


Я в тупике sad

25

Re: canny nano UART прием есть, передачи нет

Похоже вы упустили важную вещь в документации

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

ibus4.png, 20.83 кб, 874 x 225
ibus4.png 20.83 кб, скачивался 48 раз, последний раз 2018-03-26