Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Защита от дурака
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам
-=Vitaly=-
Здравствуйте.

Хочу поинтересоваться. Мне надо каким-то образом сделать надежный алгоритм распознавания 8-битных команд. Т.е. чтобы когда я отсылаю команду по SPI, я мог определить это команда или просто набор битов , что-то вроде защитного механизма.
Появилась идея иметь в 8ми битной команде всегда только четыре единицы. Есть ли более надежные способы как осуществить защиту?
Теоретически это должно быть преобразование, которое из множества валидных входных данных получало бы всего одно значение, но как это сделать в цифре?

Заранее спасибо!
mdmitry
пакетная передача с CRC, либо использовать какой-нибудь протокол (Wake или другие), использовать команды и данные с особой структурой. Набор команд с хорошими корреляционными свойствами (можно взять набор байт из книг по кодированию), данные имеют, например, формат менее 8 бит с особым префиксом, непересекающимся с началом команд.
P.S. SPI синхронный и обычно используется на небольших длинах в "спокойной" помеховой обстановке.
-=Vitaly=-
Цитата(mdmitry @ Nov 5 2007, 19:32) *
P.S. SPI синхронный и обычно используется на небольших длинах в "спокойной" помеховой обстановке.

У меня будет спокойная помеховая обстановка, задача сделать так чтобы юзер не попадал в недокументированные режимы работы.
rezident
Не совсем понятно, что именно вы хотите и в каком виде это реализовать? Т.е. для общения между "чем" и "чем" вы используете SPI-интерфейс? МК<->МК или МК<->"что-то другое с аппаратным SPI"? Фреймовая синхронизация у вас есть? Обычно ведь в начале фрейма передают команду(ы), а потом данные. Если принятая команда не является валидной, то вся транзакция до окончания фрейма игнорируется.
mdmitry
Присоединяюсь к вопросам rezident. Чтобы дать более конкретный ответ необходима дополнительная информация.
ALexx
Цитата(-=Vitaly=- @ Nov 5 2007, 19:01) *
Появилась идея иметь в 8ми битной команде всегда только четыре единицы...


Но и среди данных может появиться подобный байт.

Вариантов масса:
1) Если есть возможность - данные сделать 7-битными, а единица в старщем разряде будет индицировать то, что в данном байте команда.

2) Разбивать данные на тетрады и в старших 4-х разрядах данных слать нули, а в старших 4-х разрядах команды слать единицы (как Вы и хотели)

3) и т.д.


И все таки... каким боком "пользователь" имеет доступ к SPI?
В законченном устройстве предусмотрена возможность внешнего доступа к этому интерфейсу??
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.