[an error occurred while processing this directive] [an error occurred while processing this directive]
Коллеги, помогите с SPI (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено KSAR 13 сентября 2001 г. 09:07

Какие сбои по SPI возможны и насколько они вероятны ?
Существуют ли абсолютно надежные протоколы ?
Как написать простой (без CRC и контрольной суммы, чтобы минимизировать потери скорости), но надежный протокол обмена по SPI ?

У меня master - ADuC812, slave - AT89S8252. Пока сделано следующим образом: 812 получает PSW от 8252 и в зависимости от него запрашивает или передает пакет фиксированной длины, в котором указывается тип информации, количество пакетов и номер текущего пакета. Если 812 запрашивает пакет, то каждый принятый байт возвращается при следующей передаче к 8252, а тот контролирует правильность приема, сравнивая вернувшийся байт с ранее переданным. В конце передачи 8252 должен сообщить 812-му о том правильно ли тот принял пакет. Это может быть либо последний байт пакета, либо бит в PSW. Но как проверить правильность приема того же последнего байта или PSW ? По-моему это самое узкое место. Какие варианты приемлимы в этом случае или я выбрал неверный путь ?

Буду весьма признателен за помощь.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru