Перейти к содержанию
    

Нужно разобраться в протоколе RS485 беговой дорожки.

1 hour ago, vguard said:

Все файлы логов абсолютно одинаковые.

Это не так. Если результаты выгрузить например в эксель и сверить то пакеты разные.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@MiD, у вас есть возможность подпаяться к драйверу и переснять логи?

Анализатор уарта у салеае туповат (настоящий уарт такие помехи игнорирует). Рассматривать лог с кучей "левых" 0xFF не очень удобно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Quote

Это не так. Если результаты выгрузить например в эксель и сверить то пакеты разные.

Ну возьмите, например, первый и второй из опубликованных Вами файлов и сравните в WinMerge/WinHex или любым другим образом и убедитесь что файлы одинаковые. Все опубликованные. Или расскажите мне как эти Ваши файлы выгрузить в Excel?

Изменено пользователем vguard

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, MiD said:

Это не так. Если результаты выгрузить например в эксель и сверить то пакеты разные.

logs.jpg.2134503e9dddeb5fd28d76232bb10207.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, esaulenka said:

В saleae они не вставляются. Для "чистого" сигнала надо просто подпаяться к RO/DI (а заодно и DE) драйвера 485.

да. А на "скрине" с saleae отображаются A-B линии RS485 (зачем-то). Очевидно чтобы видеть что на шине, если не один "мастер".

1 hour ago, MiD said:

Это не так. Если результаты выгрузить например в эксель и сверить то пакеты разные.

Я бы не был так уверен.

E:\tmp9\B>fc "16 MHz, 80 M _InlineDown.logicdata" "16 MHz, 80 M _InlineUP.logicdata" /b
Сравнение файлов 16 MHz, 80 M _InlineDown.logicdata и 16 MHZ, 80 M _INLINEUP.LOGICDATA
FC: различия не найдены


E:\tmp9\B>fc "16 MHz, 80 M _InlineUP.logicdata" "16 MHz, 80 M _Nothing.logicdata"  /b
Сравнение файлов 16 MHz, 80 M _InlineUP.logicdata и 16 MHZ, 80 M _NOTHING.LOGICDATA
FC: различия не найдены

Excel тут никак не поможет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Имхо, исходя из рассматривания единственного лога.

На шине общаются несколько устройств:

- постоянно бегает пакет

0x80 0x30 0x6F 0x00 0x45

 

- также постоянно бегает пакет

0x80 0x30 0x8F 0x00 0x30

 

- и некое третье устройство (пульт?) изредка отправляет пакеты вида

0x80 0x30 0x9F 0x40 0x00 0x15 0x86
0x80 0x30 0x9F 0x40 0x00 0x15 0x86
0x80 0x30 0x9F 0x40 0x00 0x35 0xA5
0x80 0x30 0x9F 0x40 0x00 0xF5 0x6F
0x80 0x30 0x9F 0x40 0x00 0xD5 0x4C
0x80 0x30 0x9F 0x40 0x00 0x55 0xC0
0x80 0x30 0x9F 0x40 0x00 0x25 0x38
0x80 0x30 0x9F 0x40 0x00 0xA5 0xB4
0x80 0x30 0x9F 0x40 0x00 0x65 0x7E

 

Ждём выяснений, соответствует ли это нажатию одной кнопки, или это "нажал всё что было". 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Причем последний байт 100% CRC8/MAXIM, проверил в онлайн "кулькуляторе".

Изменено пользователем __Alexander

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

15 minutes ago, esaulenka said:

Имхо, исходя из рассматривания единственного лога.

На шине общаются несколько устройств:

- постоянно бегает пакет

0x80 0x30 0x6F 0x00 0x45

 

- также постоянно бегает пакет

0x80 0x30 0x8F 0x00 0x30

 

- и некое третье устройство (пульт?) изредка отправляет пакеты вида

0x80 0x30 0x9F 0x40 0x00 0x15 0x86
0x80 0x30 0x9F 0x40 0x00 0x15 0x86
0x80 0x30 0x9F 0x40 0x00 0x35 0xA5
0x80 0x30 0x9F 0x40 0x00 0xF5 0x6F
0x80 0x30 0x9F 0x40 0x00 0xD5 0x4C
0x80 0x30 0x9F 0x40 0x00 0x55 0xC0
0x80 0x30 0x9F 0x40 0x00 0x25 0x38
0x80 0x30 0x9F 0x40 0x00 0xA5 0xB4
0x80 0x30 0x9F 0x40 0x00 0x65 0x7E

 

Ждём выяснений, соответствует ли это нажатию одной кнопки, или это "нажал всё что было". 

В файле, Nothing:  я не нажимал ничего на дорожке, но было все равно 9 пакетов 3-го типа. Дорожка работала в режиме по умолчанию после включения на мин скорости без изменений.

В остальных файлах. Нажимал соответствующие кнопки названиям. Т.е. SpeeUP кнопку увеличить скорость несколько раз. Я прбовал делать это определенное количество раз, но закономерностей в пакетах "3-го" типа не нашел.

image.thumb.png.91be96326fba2d4abf69ce73f2dbba8f.png

 

50 minutes ago, k155la3 said:

да. А на "скрине" с saleae отображаются A-B линии RS485 (зачем-то). Очевидно чтобы видеть что на шине, если не один "мастер".

Я бы не был так уверен.


E:\tmp9\B>fc "16 MHz, 80 M _InlineDown.logicdata" "16 MHz, 80 M _InlineUP.logicdata" /b
Сравнение файлов 16 MHz, 80 M _InlineDown.logicdata и 16 MHZ, 80 M _INLINEUP.LOGICDATA
FC: различия не найдены


E:\tmp9\B>fc "16 MHz, 80 M _InlineUP.logicdata" "16 MHz, 80 M _Nothing.logicdata"  /b
Сравнение файлов 16 MHz, 80 M _InlineUP.logicdata и 16 MHZ, 80 M _NOTHING.LOGICDATA
FC: различия не найдены

Excel тут никак не поможет.

Извиняюсь, видимо сделал экспорт из одной и той же закладки в Saleae. Могу переделать подъем опускание, или любые другие, но исходя из одинаковой структуры можно ориентироваться на файлы скорости.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 minutes ago, MiD said:

но исходя из одинаковой структуры можно ориентироваться на файлы скорости.

Файлы скорости тоже идентичные. Либо вы что-то не то сохранили, либо эти нажатия ваще не бегают по сети.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, vguard said:

Ну возьмите, например, первый и второй из опубликованных Вами файлов и сравните в WinMerge/WinHex или любым другим образом и убедитесь что файлы одинаковые. Все опубликованные. Или расскажите мне как эти Ваши файлы выгрузить в Excel?

 

Может я что-то напутал с экпортом дампов. Вот мои выгрузки в Excel после наложени салевского анализатора. Взял разные типы событий в закладках. Последняя - пакеты.

Treadmill_analyse.xlsx

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

34 minutes ago, esaulenka said:

Имхо, исходя из рассматривания единственного лога.

. . . .

Если у ТС есть возможность поотключать поочередно периферийные блоки, то нужны дампы после "холодного включения"

с каждым из отключенных. Так можно сориентироваться с адресацией.

ps TC - делать надо аккуратно, чтобы не спалить чего. Безопасно, если RS485 линии заводятся отдельным разъемом. Что маловероятно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 minutes ago, k155la3 said:

Если у ТС есть возможность поотключать поочередно периферийные блоки, то нужны дампы после "холодного включения"

с каждым из отключенных. Так можно сориентироваться с адресацией.

Если под перефрийными блоками имеется в виду (пульсометр, музыка, вентилятор кнопки и т.д.) то нет. Всё распаяно на плате, даже отключив сами устройства например раъем колонок врядли что-то даст (кмк). А еще мне кажется что они не участвуют в передачи данных на силовой блок мотора и подъема.

Если речь об отключении мотора и подъема, то там есть разъемы - могу разъединить.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 minutes ago, MiD said:

Вот мои выгрузки в Excel

Ну так вы уже половину сделали.

Мне кажется, уже пора скрестить пальцы и попробовать самому кидать эти пакеты в шину. Синхронизацию с "тишиной" в шине на коленке не сделаешь, высока вероятность коллизий, но для первого опыта пойдёт.

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

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

4 minutes ago, MiD said:

если я разрываю провода данных между верхним и нижнем блоком - дорожка сразу отключается

Кстати, может быть полезным посмотреть обмен в этот момент.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 minutes ago, MiD said:

Если речь об отключении мотора и подъема, то там есть разъемы - могу разъединить.

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

Во включенном режиме не рекомендую что-либо дергать (как разъединять, так и соединять). Скорее всего последствий не будет, но есть риск.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 minutes ago, esaulenka said:

Ну так вы уже половину сделали.

Мне кажется, уже пора скрестить пальцы и попробовать самому кидать эти пакеты в шину. Синхронизацию с "тишиной" в шине на коленке не сделаешь, высока вероятность коллизий, но для первого опыта пойдёт.

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

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

Кстати, может быть полезным посмотреть обмен в этот момент.

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

Какое ПО лучше использовать для отправки пакетов ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...