roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 10:04

Часовой пояс: UTC + 4 часа


Правила форума


В данном разделе каждый может иметь не более одной темы. Тема должна начинаться с логина (ника) робофорума.



Начать новую тему Ответить на тему  [ Сообщений: 1580 ]  На страницу Пред.  1 ... 95, 96, 97, 98, 99, 100, 101 ... 106  След.
Автор Сообщение
 Заголовок сообщения: Re: dccharacter - Излить посильно
СообщениеДобавлено: 19 фев 2016, 12:21 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
Да, на сотках не инвертируется. Возьми поновее f0 какой-нить. Вот это для stm32f042


Вложения:
t1.png
t1.png [ 41.55 КиБ | Просмотров: 2875 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: dccharacter - Излить посильно
СообщениеДобавлено: 19 фев 2016, 15:27 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
Ну что, молодец, вскрыл суслика! )
86 7C 0F 00 00 11 - обычная логика, 11 - контрольная сумма 8 бит из всех чисел (86 7C 0F 00 00)
Остальные команды надо наблюдать...

Добавлено спустя 2 часа 55 минут 24 секунды:
На самом деле, чтобы точно удостоверится, что правильно понят интерфейс, можно собрать "сквозняковый" порт из двух штук (на подобии loop), в разрыв и понаблюдать, будет ли всё работать. Если аномалий не будет выявлено - переходим к следующему плану по расшифровке протокола обмена.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: dccharacter - Излить посильно
СообщениеДобавлено: 19 фев 2016, 21:57 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
Цитата:
11 - контрольная сумма 8 бит из всех чисел (86 7C 0F 00 00)

А объясни мне вот это ПЛЗ?
86 56 0F 01 00 6C (0x6c) <-----
У меня этот результат (6с) получается только если не складывать первый бит, т.е. не 86+56+0f+01, а 06+56+0f+01

Добавлено спустя 1 час 34 минуты 24 секунды:
Понял, что это за первый бит - это заголовок пакета. Только в первом байте пакета этт бит выставлен

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: dccharacter - Излить посильно
СообщениеДобавлено: 20 фев 2016, 06:02 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
Блин, с информационными блоками еще как-то можно разобраться, когда данных много (нашел, например, 3 байта тайм-стэмпа :-)))
А вот какие-то служебные командные пакеты по 27 символов в каждом - шею свернешь :-(

Добавлено спустя 8 минут 13 секунд:
ПОнаписал парсеров :-)
Живые данные (STM32 двумя уартами ловит TX/RX, бьет данные по пакетам, вставляет разделитель (0xFF) и идентификатор линии (0xFD и 0xFE) и гонит на комп третим уартом.):
Код:
FE8560040F78FFFD86600F000075FFFE8561040F

Разбираем на пакеты:
Код:
hea: 8567040272
DVD: 86660F03007E
DVD: 9B670215106978697800000000000008106978007F7F000000187A
hea: 8568040172
DVD: A1680115127F7F7F0F7F0F7F7F7F7F7F00000F7F0F7F002000007F7F5C3E140C3A
hea: 8569040274

Смотрим на последовательность обмена (там есть сбой, но идентификаторы пакетов позволяют его увидеть)
Код:
61 (H) 04 0F  (d) 0F 00 00
62 (H) 04 0F  (d) 0F 00 00
63 (H) 04 0F  (d) 0F 00 00  (d) 0F 01 00
64 (H) 04 01  (d) 01 10 02 7F 7F 7F 0F 7F 0F 7F 7F 7F 7F 7F 00 00 0F 7F 0F 7F 00 20 00 00 7F 7F 5C 3E 14 0C
65 (H) 04 0F  (d) 0F 00 00
66 (H) 04 0F  (d) 0F 00 00  (d) 0F 03 00
67 (H) 04 02
66 (d) 0F 03 00
67 (d) 02 15 10 69 78 69 78 00 00 00 00 00 00 08 10 69 78 00 7F 7F 00 00 00 18

Смотрим на все множество команд (в конкретной ситуации) от головы
Код:
040F
0401
0402

и от двд
Код:
0F0000
0F0700
031201382C790000006E000000630A4000000D04080201691C4000
0212006978697800000000000008106978007F7F00000018
0112027F7F7F0F7F0F7F7F7F7F7F00000F7F0F7F002000007F7F5C3E140C


Пойду потыркаю кнопки - задача минимум заставить голову думать, что к ней подключен ДВД, в котором нет диска :-)

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: dccharacter - Излить посильно
СообщениеДобавлено: 22 фев 2016, 00:53 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
Гггг, я тут гнал на STM32
На pic16f1827 URAT инвертируется, НО ТОЛЬКО НА TX пине!!!!! Талантливо!

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: dccharacter - Излить посильно
СообщениеДобавлено: 22 фев 2016, 01:53 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
Косяк, да, но есть внутр. компаратор и SR LATCH, любым можно инвертнуть сигнал. Я вообще софтовые приемники люблю, ну прет меня от них :)

Добавлено спустя 2 минуты 59 секунд:
Во, например в PIC12F1822: RX совмещен с SRNQ, может прокатить...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: dccharacter - Излить посильно
СообщениеДобавлено: 22 фев 2016, 08:39 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
Блина, оно работает! Заборол я ее, ребяты!!!

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: dccharacter - Излить посильно
СообщениеДобавлено: 22 фев 2016, 14:23 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
:beer:

Добавлено спустя 1 минуту 35 секунд:
Это про тебя
http://www.networkworld.com/article/289 ... -cars.html


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: dccharacter - Излить посильно
СообщениеДобавлено: 22 фев 2016, 23:22 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
:-)
Проблема в том, что чтобы все это тестить я вчера раз 25 ходил в машину, подключал провода, тестировал, отключал провода, шел перешивал и т.д. Машина в разобранном состоянии, в час ночи сидел с фонариком и собирал консоль. Аккумулятор старый, дохнет за 20 минут включенного зажигания (это практически со всеми выключенными потребителями) - вот не знаю, заведется ли жена сегодня, держу кулаки.
еще одна проблема - в том, что под виндой есть софт, который умеет делать 9-ти битный обмен по уарту (риал терм - отличная прога, давно ее использую, путти только так - строчками покидаться), а под линухами - хрен.
Вот сейчас думаю, что использовать как источник сигнала, требования:
1) Максимально быстрая загрузка (raspberry pi - ну это совсем трагедия. до места доедешь, пока загрузится)
2) HDD (т.е. SATA)
3) USB (для флэшек)
4) Bluetooth (чтобы с телефона слушать)
5) Что-нить линуксовое с рутом, чтобы брать данные с микроконтроллера, обрабатывать команды и т.д.
6) Аналоговый видеовыход
7) UART (чтоб не через переходник общаться)

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: dccharacter - Излить посильно
СообщениеДобавлено: 23 фев 2016, 00:37 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
Зачем на комп передавать 9 бит? Ты уже всяких парсеров написал вагон, неужели трудно на комп выдавать простую информацию обработанную контроллером? Вообще, на последней странице собрал все нетрадиционные способы извращения, что инвертировать rx для контроллера, что скармливать PC 9 бит...
А работать можно в машине с нетбуком долгоиграющим. я когда еду на работу, даже не беру бп для нетбука, хватает на весь день. А 220 вольт не дотащить до машины? Заодно зарядка для аккума машины, очень они не любят глубоких разрядов, осыпаются от этого.
Изврат на изврате...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: dccharacter - Излить посильно
СообщениеДобавлено: 23 фев 2016, 01:07 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
Странный вопрос - голова общается инвертированным уартом 9е1. Она вот такая есть и мне с ней вот такой надо говорить. Ты предлагаешь в провода азбукой морзе передать недовольство техническими решениями инженеров компании Матсушита Панасоник и надеятся, что голова осознает свою ошибку и перейдет на более удобный для меня формат 8n1?

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: dccharacter - Излить посильно
СообщениеДобавлено: 23 фев 2016, 01:24 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
dccharacter писал(а):
Странный вопрос - голова общается инвертированным уартом 9е1. Она вот такая есть и мне с ней вот такой надо говорить.

Инвертированным уартом ttl уровня? Или ты дешевым делителем пытаешься скормить стандартный уарт контроллеру? Если нет, то для этого существуют max232, которые как раз и инвертируют уарт с уровнями +/- 12v для ttl устройств.
dccharacter писал(а):
Ты предлагаешь в провода азбукой морзе передать недовольство техническими решениями инженеров компании Матсушита Панасоник и надеятся, что голова осознает свою ошибку и перейдет на более удобный для меня формат 8n1?

В голову надо пихать уарт с контроллера, в котором можно сделать все. A все возможные варианты протоколов rs232 не впихнешь в PC. И есть анализаторы протоколов, на том же stm32:
forum40/topic14211.html
Был еще анализатор на лпт, но это все голимо по сравнению с контроллерами...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: dccharacter - Излить посильно
СообщениеДобавлено: 23 фев 2016, 04:20 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
Dmitry__ писал(а):
Инвертированным уартом ttl уровня? Или ты дешевым делителем пытаешься скормить стандартный уарт контроллеру? Если нет, то для этого сущ

Я не пытаюсь, я скормил. Там схема такая - приемник подтягивает шину к VCC (2.5В). Передатчик с открытым коллектором роняет ее в ноль и держит, отпуская только для передачи. Получается инвертированный УАРТ, 9 бит (8 данных + парити), один стартовый и один стоповый бит. Есть еще периоды молчания по 5мс между посылками, я ж постил осциллограммы.

Добавлено спустя 1 минуту 54 секунды:
Dmitry__ писал(а):
Зачем на комп передавать 9 бит?

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: dccharacter - Излить посильно
СообщениеДобавлено: 23 фев 2016, 05:11 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
dccharacter писал(а):
Я не пытаюсь, я скормил. Там схема такая - приемник подтягивает шину к VCC (2.5В). Передатчик с открытым коллектором роняет ее в ноль и держит, отпуская только для передачи. Получается инвертированный УАРТ, 9 бит (8 данных + парити), один стартовый и один стоповый бит.

Это не уарт, панимаш? Завтра тебе захочется колупать 12бит сериал с подтверждениями ack, ты будешь сетовать что в линухе нет вьювера для этого протокола? Такие вещи колупаются логическими анализаторами, уарт компа предназначен (был) для определенных устройств и для тупых юзеров, никто не собирался делать уарт для поддержки 12..100500 бит в слове, ack, и.т.д. и.т.п.
Что делает открытый коллектор в твоем девайсе думал? Ты уверен что голова не дает в конце каждого фрейма подтверждение - ack? Ты же его не можешь определить просто так осциллом, т.к. осцилл не видит в каком направлении течет ток в шине.
dccharacter писал(а):
И под виндой есть прога, которая это умеет. И вообще что хочешь умеет. А под линухами - нет.

Еще ни одно твое утверждение про линух не было верным, это тоже ошибочно. Погугли "linux rs485"
Кста, линух без вопросов понимает 9 бит (8 данных + парити), но ты же говоришь не про парити, а про адресацию (это когда 1-й бит всегда "1"), а этого венды не умеют. А если ты на парити смотрел под вендами, то вперед с песнями тоже самое смотреть в линухе.
Вот открыл самый простой moserial, настройка кома: data bits: 5..8, stop bits: 1..2, parity: 5 типов. Итог, ты можешь в линухе принять 1 старт, 8 дата, 2 стоп, 1 парити = 12 бит :)
dccharacter писал(а):
Даже сниффать открытый другим устройством порт.

Не поверишь, в линухе ВСЕ-ВСЕ-ВСЕ - есть файл, даже температура процессора :), такшта венды нервно курят по возможностям что-то сниффать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: dccharacter - Излить посильно
СообщениеДобавлено: 23 фев 2016, 05:50 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
Dmitry__ писал(а):
Что делает открытый коллектор в твоем девайсе думал? Ты уверен что голова не дает в конце каждого фрейма подтверждение - ack? Ты же его не можешь определить просто так осциллом, т.к. осцилл не видит в каком направлении течет ток в шине.

Да пофиг че он там дает. Работает главное, остальное - хоть трава не расти

Добавлено спустя 26 минут 1 секунду:
Похоже надо-таки распберри пихать:
https://www.youtube.com/watch?v=lDAucFgfp5Q

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 1580 ]  На страницу Пред.  1 ... 95, 96, 97, 98, 99, 100, 101 ... 106  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO