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

Протокол обмена между МК и ПК

Доброго времени суток. :1111493779:

Суть вопроса заключается в том, что у меня нет опыта разработки протоколов обмена между МК-ПК или МК-МК. в моей задаче требуется чтобы контроллер(ГМК) принимал данные от персонального компьютера и, затем, разобрав пакет/набор пакетов переправил данные далее уже по шине I2C трем другим контроллерам(СМК), которые являются приводами двигателей.

 

 

Задачи ГМК

принять пакет

проверить правильность

разобрать по адресам

отправить данные по соответствующим адресам

 

 

Задачи СМК

получить пакет по I2C

проверить правильность

отправить подтверждения приема

и в реальном времени по запросу ГМК отсылать данные:

текущая координата

завершена ли отработка данных

наличие ошибок

и т.д

 

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

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


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

Протокол от интерфейса зависит, по которому МК к ПК соединяется, где то протокол и интерфейс в одном флаконе, например в USB.

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


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

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

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


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

Суть вопроса заключается в том, что у меня нет опыта разработки протоколов обмена между МК-ПК или МК-МК.

в моей задаче требуется чтобы контроллер(ГМК) принимал данные от персонального компьютера и, затем, разобрав

пакет/набор пакетов переправил данные далее уже по шине I2C трем другим контроллерам(СМК), которые являются

приводами двигателей.

Увы, задача не Вашего уровня. У Вас два пути, либо отказаться, либо повысить свой уровень до видения (т.е. до

понимания) проблем обмена информацией. Если выбираете второй путь, то советую погулить денька два, на тему

передачи данных по ключевым словам RS485, RS232, MODBUS, квитирование, пакет, ACK... Сайтов, ориентированных

на обучение по теме, сейчас более чем достаточно. Вам нужно просто насобирать критическую массу информации.

Особых секретов в решении Вашей задачи -- нет. Ищите, читайте, изучайте! При определенном упорстве, за 2-3 дня

Вы сами начнете разбираться в теме, не задавая пространных (неконкретных) вопросов. А когда появятся уже

конкретные вопросы -- welcome!

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


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

Спасибо за ссылку на Wake протокол. вы уже не первый кто предлагает посмотреть в его сторону. раз уж мнения настолько едины то пожалуй буду делать на основе него. а возможно даже возьму целиком без каких либо исправлений

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


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

Может быть, стоит посмотреть в сторону Wake протокола: caxapa.ru/lib/wake/.

WAKE очень даже неплохой вариант для тех, кто не имеет опыта. 4 года назад столкнулся с такой же проблемой. Не знал ничего ни по поводу интерфейса, ни по поводу протокола. WAKE решил мои проблемы, дав протокол. В качестве интерфейсам можно использовать любой, я выбрал RS-232. Ничто не мешает положить его и на I2C. Другое дело, будет ли это эффективным... надо подумать. Перечитать это (разговор-то о подключении приводов).

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


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

Присоединяюсь к haker_fox.

Делал на wake связь контроллера от freescale с ПК. Когда будете брать тексты, будьте внимательны. Я обнаружил некорректный код в реализации для ПК (CRC считалось некорректно). Автору отправил сообщение, он вреде исправил. Я не смотрел текущие архивы на предмет исправления.

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


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

90% вероятности, что я знаю этот привод :) Бауманка, да? СМ7 ? :)

 

Предлагаю подумать на тему непрерывной отправки данных от ГМК в сторону ПК.

Быть может, удасться пропихнуть побольше данных...

 

Вариант "ПК высылает запрос, контроллер привода (в нынешней терминологии - СМК) его пережёвывает и отвечает" два года назад... ну, не то, чтобы тормозил, но данных передавал крайне мало.

 

 

PS стукнись, пожалуйста, в почту мой-ник@gmail.com. Интересно, что вы там понаделали. Ну и я могу быть полезен ;)

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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