Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Txplctrl - регистр управления длительностью импульса передатчика ircom

Поиск
Бит                  
+0x00
TXPLCTRL[7:0]
TXPLCTRL
Чтение/запись Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап
Нач значение                

· Биты 7:0 - TXPLCTRL[7:0] - управление длительностью импульса передатчика

Хранящееся в этом регистре 8-битное значение задает схему модуляции импульсов в передатчике. Настройка этого регистра не оказывает никакого эффекта, если модулем USART не выбран режим IRCOM.

Если данный регистр оставить равным нулю, будет использоваться схема модуляции 3/16 от периода скорости связи. Запись же в этот регистр значения от 1 до 254 активизирует схему кодирования с фиксированной длительностью импульсов. Записанное в регистр 8-битное значение задает длительность импульса количеством периодов системной синхронизации, при этом, начало импульса синхронизировано с нарастающим фронтом сигнала генератора скорости.

Запись в регистр значения 255 (0xFF) отключит кодирование импульсов, при этом, сигналы RX и TX будут проходить через модуль IRCOM транзитом, не подвергаясь каким-либо изменениям. Благодаря этому, модуль IRCOM становится выгодным использовать для организации полудуплексной работы USART, для контроля работоспособности трансивера приемом сам на себя и для подачи на вход приема USART сигнала из канала событий.

Прим.: регистр TXPCTRL необходимо настроить перед разрешением работы передатчика USART (TXEN).

RXPLCTRL - регистр управления длительностью импульса приемника IRCOM

Бит                  
+0x01
RXPLCTRL[7:0]
RXPLCTRL
Чтение/запись Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап
Нач значение                

· Биты 7:0 - RXPLCTRL[7:0] - управление длительностью импульса

Хранящееся в этом регистре 8-битное значение задает коэффициент фильтра трансивера IRCOM. Оно не оказывает никакого эффекта, если модулем USART не выбран режим IRCOM.

Если данный регистр оставить равным нулю, фильтрация окажется отключенной. Если же в регистр записать значение от 1 до 255 (х), то это активизирует фильтрацию, при этом, импульс будет считаться принятым при обнаружении x+1 одинаковых выборок.

Прим.: регистр RXPCTRL необходимо настроить перед разрешением работы приемника USART (RXEN).

CTRL - регистр управления IRCOM

Бит                  
+0x02
- - - - EVSEL[3:0]
CTRL
Чтение/запись Чт. Чт. Чт. Чт. Чт/Зап Чт/Зап Чт/Зап Чт/Зап
Нач значение                

· Биты 7:4 - Res: резервные биты

Данные биты не используются и зарезервированы для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нули в резервные биты.

· Биты 3:0 - EVSEL [3:0]: настройка канала события

Данные биты предназначены для выбора источника канала события для приемника IRCOM (см. таблицу 22.1). Если вход события выбран для приемника IRCOM, то вывод RX модуля будет автоматически отключен.

Таблица 22.1. Настройка канала событий

EVSEL[3:0] Групповая конфигурация Источник событий
    Нет
    (резерв)
    (резерв)
    (резерв)
    (резерв)
    (резерв)
    (резерв)
    (резерв)
1xxx CHn Канал х системы событий, где х = {0,…,7}

Обзор регистров

Адрес Наименование Бит 7 Бит 6 Бит 5 Бит 4 Бит 3 Бит 2 Бит 1 Бит 0
+0x00 TXPLCTRL TXPLCTRL[7:0]
+0x01 RXPLCTRL TXPLCTRL[7:0]
+0x02 CTRL         EVSEL[3:0]

Криптоускорители

Отличительные особенности

· Инструкция шифрования данных по стандарту DES

· Модуль шифрования по стандарту AES

· Инструкция DES

· шифрация и дешифрация

· одноцикловая инструкция

· шифрация/дешифрация 8-байтного блока за 16 циклов синхронизации

· Модуль AES

· шифрация и дешифрация

· поддержка 128-битных ключей

· поддержка XOR режима загрузки данных в память состояния

· шифрация/дешифрация 16-байтного блока за 375 циклов синхронизации

Обзор

AES и DES - два наиболее распространенных стандарта шифрования. В микроконтроллерах XMEGA они поддерживаются на уровне модуля AES и инструкции DES.

Стандарт DES поддерживается инструкцией DES ядра AVR XMEGA. Перед выполнением инструкции в регистровый файл необходимо поместить 8-байтный блок ключа и 8-байтный блок данных. После этого, для выполнения шифрации или дешифрации блока данных инструкцию DES нужно выполнить 16 раз.

Модуль AES предназначен для шифрации и дешифрации 128-битных блоков данных с использованием 128-битного ключа. Перед запуском шифрации/дешифрации в модуль необходимо загрузить ключ и данные. Вся процедура шифрации/дешифрации длится 375 циклов синхронизации УВВ, после чего данные могут быть считаны.

Инструкция DES

Инструкция DES является одноцикловой. Для выполнения шифрации или дешифрации 64-битного (8-байтного) блока данных её необходимо выполнить 16 раз.

Блок ключа и блок данных помещается в регистровый файл перед запуском шифрации/дешифрации. 64-битный блок данных (PLAINTEXT или CIPHERTEXT) помещается в регистры R0-R7, причем младший бит данных помещается в младший бит регистра R0, а старший бит данных - в старший бит регистра R7. 64-битный ключ (вместе с битами паритета) хранится в регистрах R8-R15, причем младший бит ключа в младшем бите R8, а старший бит ключа - в старшем бите R15.

Рисунок 23.1. Использование регистрового файла в ходе шифрации/дешифрации инструкцией DES

Выполнение инструкции DES приводит к исполнению одного цикла алгоритма DES. Для корректной шифрации/дешифрации CIPHERTEXT или PLAINTEXT необходимо выполнить 16 циклов DES. Промежуточные результаты после выполнения каждой инструкции DES сберегаются в регистровом файле (R0-R15). После выполнения 16 циклов, ключ помещается в R8-R16, а зашифрованные/дешифрованные данные CIPHERTEXT/PLAINTEXT - в R0-R7. От операнда инструкции (K) зависит, какой цикл выполняется, а от флага полупереноса (H) в регистре статуса ЦПУ - тип выполняемой операции: шифрация или дешифрация. Если флаг полупереноса равен единице, выполняется дешифрация, а если нулю - шифрация.

Более подробно о работе инструкции DES см. в руководстве по набору инструкций AVR.

Модуль AES

Модуль AES выполняет шифрацию и дешифрацию в соответствии со стандартом AES (FIPS-197). 128-битный блок ключа и 128-битный блок данных (PLAINTEXT или CIPHERTEXT) должны быть загружены в память ключа и память состояния модуля AES. Это достигается выполнением поочередной записи в регистр ключа и регистр состояния 16 байт.

Программно можно выбрать, что должен выполнить модуль: шифрацию или дешифрацию. Также возможно разрешить режим XOR, в котором ко всем новым данным, помещенным в ключ состояния, и текущим данным в памяти состояния применяется операция исключающего ИЛИ.

Операция шифрации/дешифрации в модуле AES выполняется 375 циклов, после чего данные CIPHERTEXT/PLAINTEXT могут быть считаны из памяти состояния.

Для настройки и использования модуля рекомендуется придерживаться следующей процедуры:

· Разрешение прерываний модуля AES (опционально).

· Выбор направления AES: шифрация или дешифрация.

· Загрузка блока ключа в память ключа модуля AES.

· Загрузка блока данных в память состояния модуля AES.

· Запуск шифрации/дешифрации.

При необходимости шифрации или дешифрации более чем одного блока данных, данную процедуру необходимо выполнить требуемое число раз, начиная с пункта 3.

По завершении процедуры шифрации/дешифрации, устанавливается флаг AES и генерируется опциональное прерывание.



Поделиться:


Последнее изменение этой страницы: 2016-12-30; просмотров: 250; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.141.25.100 (0.007 с.)