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

геннадий75

Участник
  • Постов

    20
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные геннадий75


  1. 11 часов назад, V_G сказал:

    Неправильный калькулятор, привязанный одновременно к протоколу асинхронной передачи RS-232 

    И такого бреда в спецификациях устройств с COM-портом, где для 9600 бит/с указывают скорость 12000 бод, я не встречал.

     

    Всё правильно в бот указывается битовая скорость потока , включая старт бит и стоп бит . Соответственно на скорости 9600 бод/с можно передать 7680 бит/с . 

  2. В 11.03.2024 в 02:01, girts сказал:

    Чуть задумался...
    Если задача запустить самый последний софтварь, но использовать для древних котлов начала 2000-х, то может оно и оправдано.
    Только вот... А что же они там могли добавить?
    Под винтаж?
    И добавили ли?

     

    Если захочешь V3 диагностировать старые подогреватели , в лучшем случае увидишь такую заставку .  

    web1.5.png

  3. 6 часов назад, AKK сказал:

     (ни разу не видел автомобиль с двумя дизельными двигателями)

    Насчёт двух моторов в одной машине тоже не видел . А два ,не зависимых друг от друга блока управления двигателя с 2000 года, притеняются в авто . Причём он может быть как master так и scave и иметь разные ID .

  4. Почему , считают что в CAN, все устройства должны постоянно стучать в шину . Можно назначить одно устройство мастером , и оно будет периодически отправлять сообщения например с ID 0x01 , и первый байт данных 01 затем 02 потом 03 итак далее в зависимости от количества узлов  . Остальные узлы настроены на приём IDx01 , и соответственно принимают все запросы мастера . После приёма сравнивают первый байт данных со своим уникальным номером , и если он совпадает ,один узел отправляет одно сообщение мастеру с другим ID например 02  и любых 8 байт данных о своём состояний  . Мастер принимает эти данные , и решает продолжать обмен с этим узлом или перейти к следующему .

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

     

  6. Если отправляешь 65 байт должно дойти именно 65 , но в два захода сначала первый пакет 64 байта, затем второй 1 байт . Нулевой или не полный пакет (менее 64 байт ) говорит об окончаний запроса . Если сделаешь размер точки 8 байт , то уйдёт 8 пакетов по 8 байт и 9 пакет 1 байт.

  7. в битом кадре данные читаются - если у вас 0 то вы не доделали программу чтения битых кадров

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

  8. Также нужно было увидеть весь поток CAN сообщений (в том числе битые сообщения,шесть нулей на шине) написал программу, которая сохраняет весь поток на диске и потом его можно проанализировать.

    CAN.rar

  9. Перегонял данные в ПК на скоростях 1 мбод ,2 мбод ,4 мбод с помощью переходника USB-COM собраном на PL2303HX.Для этого в своё время, писалась терминальная программа, для обработки больших объёмов данных.

  10. Наверняка это баг в драйвере.

    А почему сразу баг. Если вы передаёте пакеты по 64 байта, драйвер их собирает и ждёт окончания запросов (неполный пакет или нулевой пакет) если его небудет он заполнит свой буфер (по умолчанию 4к) и только после этого отдаст данные в windows. Данные нужно выставлять на отправку сразу после пакета sof и заканчивать нулевым пакетом в пределах кадра.

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