diplom (Система криптозащиты в стандарте DES. Система взаимодействия периферийных устройств), страница 9
Описание файла
Документ из архива "Система криптозащиты в стандарте DES. Система взаимодействия периферийных устройств", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "diplom"
Текст 9 страницы из документа "diplom"
U1
U2
U_
R2
R1
Рис 5.2. Схема не инвертирующего операционного усилителя.
В цепи обратной связи включен делитель напряжения с коэффициентом передачи:
Тогда выражение для коэффициента усиления не инвертирующего операционного усилителя:
Коэффициент усиления, в нашем случае, равен двум, тогда R1=R2=10 кОм
Для инвертирующего операционного усилителя (Рис.5.3) коэффициент усиления:
При коэффициенте усиления равном единице R1=R2=10 кОм.
R2
R1
U2
R1
U1
Рис 5.3. Схема инвертирующего операционного усилителя.
К ОУ
R1
Rx
Вход
R2
К ОУ
Рис.5.4. Согласующее устройство.
На входе операционного усилителя, для обеспечения требуемого затухания отражения и асимметрии рассчитаем делитель (рис.5.4) на резисторах R1,R2,Rx.
Затухание отражения:
Требуемая Аотр.тр.=26дб, тогда R1=R2=301 Ом.
Защищенность асимметрии:
Требуемая Аасим=52дб, тогда при допуске резисторов 5% Rx=10 кОм.
В качестве аналогово-цифрового преобразователя возьмем ИМС фирмы ANALOG DEVICES AD7574. Структурная схема АЦП AD7574 приведена на рис.5.5.
ФНЧ
АМПЛИТУДНО- ИМПУЛЬСНЫЙ МОДУЛЯТОР
КОДЕР
D
f(t)
fд
Рис.5.5.Структурная схема АЦП AD7574
Аналогово-цифровой преобразователь предназначен для преобразования аналогового сигнала в цифровой. Состоит из фильтра низкой частоты (ФНЧ), который предназначен для ограничения полосы частот передаваемого телефонного сигнала, амплитудно- импульсного модулятора и кодера, преобразующего АИМ сигнал в восьмиразрядный цифровой сигнал, который поступает в порт Р2 микроконтроллера.
Для хранения комбинаций ключей используем ИМС NM256Q. Она представляет собой постоянное запоминающее устройство на 2^15=32Кбайта. К старшим шести разрядам подключим DIP-переключатели для выбора ключей, которые сами собой являются индикаторами. Количество ключей будет равно:
Так как для обращения к внешнему ПЗУ и считывания с него данных мы используем одну шину, то для запоминания адреса ячейки используем регистр КР1533ИР33.
Ввод ключа в процессор происходит следующим образом:
При обращении к внешней памяти на Р0 появляется адрес ячейки по которому в ПЗУ хранится комбинация ключа, после установки сигнала ALE этот адрес запоминается регистром и появляется на адресной шине (младший байт) микросхемы памяти. После появления сигнала RD с порта Р0 считываются данные из данного адреса.
Для увеличения мощности сигнала на выходе и входе системы используем ИМС К555ЛН2.
Электрическая принципиальная схема приведена на рис.5.6.
Эл.схема.
6. Разработка и отладка алгоритмического и программного обеспечения системы взаимодействия с периферийными устройствами.
На рис.6.1-6.6 представлена блок-схема алгоритма системы взаимодействия периферийных устройств с учетом технических требований разработанных ранее.
В нашем устройстве будем использовать прерывания в следующих целях:
INT0(низкий приоритет, уровневый режим прерываний)- для перехода в режим закрытой передачи и обратно.
INT1(низкий приоритет, краевой режим прерываний)- для ввода ключа.
T/C0(высокий приоритет)- для формирования сигналов управления АЦП с f=64/8=8кГц, Т=125мкс(период повторения).
Для получения требуемой частоты определим перезагружаемое число, содержащееся в регистре TH0:
Период машинного цикла при частоте задающего генератора 55 МГц:
Перезагружаемое число равно:
S(высокий приоритет)- используем для считывания отчета поступившего в последовательный порт.
Скорость передачи определяется частотой переполнения Т/С1, который работает в режиме 2. Скорость передачи описана выражением:
При скорости передачи 115200 бит/с найдем TH1:
TH1=255
1
2
3
4
5
6
Разработка и отладка программного обеспечения.
Правила записи программы на языке ассемблер.
При составлении программы разработчик обычно пользуется языком более высокого уровня, чем язык машинных команд (обычно используется язык ассемблера данного процессора или более универсальный язык С), при этом текст программы переводится в требуемую для запоминающего устройства памяти программ совокупность двоичных символов с помощью ЭВМ с использованием специальных программ, получивших название трансляторов. Программа- транслятор, базирующаяся на мнемокодах системы команд какого-то конкретного процессора, обычно называется ассемблером данного процессора.
При составлении программы на языке ассемблера следует иметь в виду ряд правил, весьма похожих, однако имеющих различия для конкретных ассемблеров. Ниже приведен свод правил составления программ на языке ассемблера.
Программа записывается в виде последовательности операторов. Каждый оператор занимает одну строку программы. В тексте программы допускается использование следующих символов:
-
строчных и прописных букв латинского алфавита;
-
цифр 0…9;
-
специальных знаков ''#'', ''@'', '';'', '':'', '','';
-
знаков математических действий.
Текст программы для каждого оператора разбивается на четыре поля- поле метки, поле кода операции, поле операндов и поле комментариев. Заполнение полей не является обязательным за исключением случая заполнения поля кода операции мнемокодом команды, требующей указания операндов. Поля размещаются в тексте в указанном порядке и отделяются друг от друга как минимум одним пробелом или табуляцией.
Поле метки начинается с первой позиции текста (крайнее левое положение курсора на экране) и содержит метку, которая может быть указана в любом месте сегмента как адрес перехода.
Если метка в операторе не используется, первая позиция текста должна быть свободна (содержать пробел).
Метка представляет собой любую комбинацию латинских букв, цифр и символа подчеркивания, начинающуюся с буквы и содержащую не более семи символов. После метки ставится двоеточие (без отделения пробелом). Каждая метка должна иметь свое уникальное имя, повторение меток в программе не допускается.
Поле кодов операций и поле операндов заполняются мнемокодами команд процессора или мнемокодами псевдоинструкций ассемблера. Если в поле операндов указаны два операнда, они разделяются между собой запятой. Если в качестве операнда указывается число, оно должно начинаться с символа #. Как числа, так и номера ячеек памяти могут быть представлены в различных системах счисления, при этом в конце числа или номера ячейки ставится символ соответствующей системы:
В- двоичной;
Н- шестнадцатеричной.
Если символ принадлежности к системе счисления в конце числа или номера ячейки отсутствует, соответствующий номер или число воспринимается транслятором в десятичной системе счисления.
Поле комментариев должно начинаться с символа ''точка с запятой''. Это поле используется по усмотрению программиста для повышения удобочитаемости программы. Информация, содержащаяся в поле комментариев, не транслируется ассемблером и не влияет на выполнение программы процессором.
Отладка программы.
Отладку программного обеспечения удобно вести по отдельным частям, выполняющим конкретные законченные функции. В нашем случае мы имеем 5 законченных функций (сегментов), их отладку будем производить в следующем порядке:
-
Основная программа.
-
Подпрограмма обработки прерываний от INT0.
-
Подпрограмма обработки прерываний от INT1.
-
Подпрограмма обработки прерываний от УАПП.
-
Подпрограмма обработки прерываний от Т/С0.
Процесс компоновки осуществим на ЭВМ с помощью программы- линковщика.
Программа, написанная на языке программирования ассемблер, отлажена и доказала свою работоспособность с помощью пакета симуляции AVSIM51. Листинг трансляции приведен ниже:
==============================================================
AVCASE 8051-Family Linker. Version 1.200
==============================================================
Date: 2/08/101 11:23:21
Image File: DESSYS.hex
Symbol File: DESSYS.sym
Options: -SY
-SM
-SM
-SP
Startup Addr: Unspecified
=================
INPUT FILES
=================
Input File Name L Date & Time Version
-------------------------------------- - ----------------- ---------------
DESSYS.obj 2/08/101 11:23:16
================
MEMORY MAP
================
Space Start End Length Segment Module
------- ------- ------- ------ --------------- ---------------
ROM 0000H 01B1H 1B2H BEG DESSYS