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

Как лучше реализовать на внутренней периферии обмен между устройствами

Думаю как лучше сделать. Охота чтобы все было аппаратное на внутренней периферии. Есть устройство мастер (одно) есть устройства слейф (много). Протокол между ними модбас RTU. 

Мастер stm32h743.

Алгоритм следующий для мастера: 

1. формирования посылки для передачи с расчетом контрольной суммы.

2. передача через usart по средствам DMA.

3. получения пакета с подчинённого или выход по таймауту на шаг 2. Повторение 2 раза. 

4. если получил, проверка контрольной суммы, если контрольная сумма не сошлась то передача еще раз (шаг 2.) если снова не сошлась или нет ответа то переход на шаг 1.

 

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


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

2 minutes ago, Alex_Golubev said:

передача данных озу ---> dma ---> usart. вроде все ясно ?

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

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


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

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

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

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

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

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

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

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

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

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