реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Защита от дурака
-=Vitaly=-
сообщение Nov 5 2007, 15:01
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 468
Регистрация: 31-08-06
Из: Киев
Пользователь №: 19 991



Здравствуйте.

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

Заранее спасибо!

Сообщение отредактировал -=Vitaly=- - Nov 5 2007, 15:01
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Nov 5 2007, 17:32
Сообщение #2


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



пакетная передача с CRC, либо использовать какой-нибудь протокол (Wake или другие), использовать команды и данные с особой структурой. Набор команд с хорошими корреляционными свойствами (можно взять набор байт из книг по кодированию), данные имеют, например, формат менее 8 бит с особым префиксом, непересекающимся с началом команд.
P.S. SPI синхронный и обычно используется на небольших длинах в "спокойной" помеховой обстановке.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
-=Vitaly=-
сообщение Nov 6 2007, 08:46
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 468
Регистрация: 31-08-06
Из: Киев
Пользователь №: 19 991



Цитата(mdmitry @ Nov 5 2007, 19:32) *
P.S. SPI синхронный и обычно используется на небольших длинах в "спокойной" помеховой обстановке.

У меня будет спокойная помеховая обстановка, задача сделать так чтобы юзер не попадал в недокументированные режимы работы.
Go to the top of the page
 
+Quote Post
rezident
сообщение Nov 6 2007, 19:14
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Не совсем понятно, что именно вы хотите и в каком виде это реализовать? Т.е. для общения между "чем" и "чем" вы используете SPI-интерфейс? МК<->МК или МК<->"что-то другое с аппаратным SPI"? Фреймовая синхронизация у вас есть? Обычно ведь в начале фрейма передают команду(ы), а потом данные. Если принятая команда не является валидной, то вся транзакция до окончания фрейма игнорируется.
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Nov 6 2007, 21:39
Сообщение #5


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Присоединяюсь к вопросам rezident. Чтобы дать более конкретный ответ необходима дополнительная информация.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
ALexx
сообщение Nov 8 2007, 08:13
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 243
Регистрация: 22-09-04
Из: Burbach, Germany
Пользователь №: 704



Цитата(-=Vitaly=- @ Nov 5 2007, 19:01) *
Появилась идея иметь в 8ми битной команде всегда только четыре единицы...


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

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

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

3) и т.д.


И все таки... каким боком "пользователь" имеет доступ к SPI?
В законченном устройстве предусмотрена возможность внешнего доступа к этому интерфейсу??
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 22:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.0138 секунд с 7
ELECTRONIX ©2004-2016