[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Какие сбои по SPI возможны и насколько они вероятны ?
Существуют ли абсолютно надежные протоколы ?
Как написать простой (без CRC и контрольной суммы, чтобы минимизировать потери скорости), но надежный протокол обмена по SPI ?
У меня master - ADuC812, slave - AT89S8252. Пока сделано следующим образом: 812 получает PSW от 8252 и в зависимости от него запрашивает или передает пакет фиксированной длины, в котором указывается тип информации, количество пакетов и номер текущего пакета. Если 812 запрашивает пакет, то каждый принятый байт возвращается при следующей передаче к 8252, а тот контролирует правильность приема, сравнивая вернувшийся байт с ранее переданным. В конце передачи 8252 должен сообщить 812-му о том правильно ли тот принял пакет. Это может быть либо последний байт пакета, либо бит в PSW. Но как проверить правильность приема того же последнего байта или PSW ? По-моему это самое узкое место. Какие варианты приемлимы в этом случае или я выбрал неверный путь ?
Буду весьма признателен за помощь.
E-mail: info@telesys.ru