Выполнил студент 316 группы Ходаковский Игорь. Система передачи телеметрических данных по симплексному радиоканалу с использованием потокового шифрования Характеристики: Напряжение питания передатчик: 7..12В приемник: от шины USB Частота несущей: 433.95МГц Тип модуляции: частотная манипуляция Максимальная частота выборок в 1сек: 360 Разрешение по ускорению: 1mg Энергопотребление: 5-25мВт Температурный диапазон: 0..700С Функциональная блочная схема: Приложения: дистанционная телеметрия в охранных системах, позиционирование подвижных объектов и т.п. Общее описание: Система состоит из приемника, передатчика, датчика ускорения, генератора случайных чисел, интерфейсного модуля сопряжения с ПК, источника питания. Приемник и передатчик выполнены на основе микроконтроллера ATmega8-16PI, в качестве приемопередающих блоков использованы гибридные радиочастотные модули RTFQ1-433, RRFQ1-433. Для сопряжения с ПК выбран модуль MM232R, осуществляющий преобразование сигнала COM-USB. В качестве датчика ускорения используется акселерометр ADXL202. Генератор случайных чисел выполнен на базе датчика температуры KTY83/122. Используется процедура потокового шифрования. Принципиальная схема передатчика: Принципиальная схема приемника: Принципиальная схема ГСЧ: Описание принципиальной схемы: Передатчик базируется на микроконтроллере фирмы Atmel ATmega8-16PI. В качестве датчика ускорения используется акселерометр фирмы Analog Devices ADXL203CE, имеющий две оси, вдоль которых производится измерение проекций ускорений, используем одну из них. Данный датчик ускорения имеет аналоговые выходы. Согласно технической документации производителя, параллельно каждому выходу устанавливается конденсатор, выбор емкости которого зависит от требуемой полосы пропускания сигнала по выходам акселерометра. При использовании емкости 0,1 мкФ, полоса составляет 50 Гц. Таким образом, мы упускаем из виду все изменения ускорения за время меньшее 0,02 с, но одновременно отфильтровываем высокочастотные помехи, неизбежно появляющиеся при работе датчика. Сигнал с выхода акселерометра подается на вход АЦП микроконтроллера (ADC2). Выполняется оцифровка. По её завершению происходит передача полученного значения по радиоканалу. После передачи отсчета, процесс оцифровки повторяется вновь. После этого производится передача оцифрованного отсчета по радиоканалу, для этого используются передатчик и приёмник фирмы Telecontrolli RTFQ1-433, RRFQ1-433 соответственно. Это готовые к использованию гибридные модули, осуществляющие передачу сигнала посредством частотной манипуляции. Вход передатчика IN соединен с выходом контроллера PD0. Делитель R1R2 необходим для согласования уровня логической единицы микроконтроллера и передатчика. Для начала передачи подаем логическую «1» на линию вывода микроконтроллера PD0. Это состояние сохраняется неизменным в течение времени, пропорционального величине оцифрованного отсчета акселерометра, после чего на линии PD0 устанавливается начальное значение – логический «0». Таким образом, реализуется широтноимпульсная модуляция. Напряжение питания передатчика составляет 3,3 В, питание микроконтроллера 5 В. Понижение осуществляется при помощи транзистора КТ315Б. При сборке, используя потенциометр R5, нужно получить напряжения на коллекторе 3,3 . Для стабилизации напряжения применена микросхема КР142ЕН5А. Питание осуществляется от бортового аккумулятора самолета, на который устанавливается передатчик с акселерометром. Приемник также разработан на базе микроконтроллера ATmega8-16PI. Сигнал с выхода приемника поступает на вход внешнего прерывания (INT0), при получении которого, запускается счётчик, измеряющий временной интервал до получения следующего прерывания. После остановки счетчика, производится передача накопленного в нем значения на персональный компьютер. Счетчик обнуляется, после чего процесс повторяется вновь. Для передачи принятого отсчёта на ПК удобно использовать стандартный USART микроконтроллера и модуль фирмы FTDIChip MM232R. Данное устройство имеет с одной стороны USART интерфейс, а с другой USB. Также можно питать схему приемника от шины USB непосредственно через модуль, что избавляет от необходимости использовать дополнительный источник питания. Производитель предоставляет программное обеспечение для перепрограммирования модуля и драйверы для нескольких операционных систем, в том числе Windows XP. Драйверы реализуют виртуальный COM-порт, с которым можно работать привычным способом, используя, к примеру, стандартную программу HyperTerminal, многочисленные сканеры последовательного порта ПК, или написать собственную программу. Протокол потокового шифрования: Основной трудностью при реализации потокового шифрования для симплексного канала связи является возможность потери синхронизации. Таким образом схемы шифрования, в которых ключ для следующего байта данных зависит от результата предыдущего шифрования или схемы, в которых необходимо знать порядковый номер байта от начала (к примеру, при использовании регистра сдвига) явно не применимы. Теряя одно сообщение, мы теряем все, идущие за ним. Одновременно с этим использовать при шифровании один секретный ключ не целесообразно в связи с ненадежностью такой схемы шифрования. В этих условиях предлагается следующее решение. Для передачи каждого байта информации дополнительно получаем случайный байт от ГСЧ (выход ГСЧ подключен ко входу АЦП ADC1). Полученный байт складываем по модулю 2 с информационным байтом, результат отправляем в канал. После этого этот же случайный байт умножаем на секретный ключ (который в данной реализации также составляет 1 байт), передаем результат следом за предыдущей посылкой по каналу связи. Таким образом, ключ, используемый для шифрования информационного байта является абсолютно случайным (оцифрованный тепловой белый шум, его распределение равномерно). Для передачи случайного ключа используется некоторый секретный ключ, который, будучи умноженный на случайным байт, так же является случайной величиной с равномерным распределением. На приемной стороне, производя деление второго сообщения на известный приемнику секретный ключ, получаем байт ГСЧ, служащий для шифрования соответствующего байта данных в первом сообщении. Зная байт ГСЧ для данного сообщения, восстанавливаем байт полезной информации. Для следующего байта информации байт ГСЧ уже новый, процедура повторяется вновь. При потере синхронизации, возможна ситуация, когда байт с ГСЧ принят за байт шифрованного сообщения. В этом случае необходимо запоминать принятые байты и по дополнительным требованиям, наложенным на сигнал (у нас от датчика) отличать его от белого шума и логически изменять очередность сообщений. Итак, все данные, передаваемые по каналу связи, имеют равномерное распределение, следовательно, единственным способом взлома является подбор секретного ключа. Увеличивая длину секретного ключа, получаем надежную и чрезвычайно простую криптосистему. Примечание: расчет схемы ГСЧ базируется на необходимости получить максимальную для используемого АЦП амплитуду шумового сигнала (без постоянной составляющей)