В HTML      В PDF
микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > Обзоры по типам > Микроконтроллеры > AVR

реклама

 
радиационно стойкие ПЗУ Миландр

Продажа силового и бронированного кабеля и провода в Москве




Arduino Uno R3 Atmega328
готовый модуль
Лучшая Цена 335 руб




Стартовый набор с большим набором аксесуаров
Arduino Uno R3 Atmega328
Лучшая Цена 2211 руб



23.5. Обзор регистров модуля AES

23.5.1. CTRL - регистр управления модулем AES

Бит 7 6 5 4 3 2 1 0  
+0x00
START AUTO RESET DECRYPT - XOR - -
CTRL
Чтение/запись Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт. Чт./Зап. Чт. Чт.
Начальное значение 0 0 0 0 0 0 0 0
  • Бит 7 - START: запуск AES

Установка данного бита запускает процедуру шифрации/дешифрации. Данный бит остается в установленном состоянии в процессе выполнения шифрации/дешифрации. Запись нуля в данный бит остановит выполняющийся процесс шифрации/дешифрации. Бит START автоматически сбрасывается при установке флага SRIF или ERROR в регистре STATUS.

  • Бит 6 - AUTO: автоматический запуск AES

Установка данного бита разрешает работу в режиме автоматического запуска. В этом режиме, установка бита START, а, следовательно, и запуск процедуры шифрации/дешифрации происходит автоматически в следующих условиях:

  • Бит AUT
  • установлен перед загрузкой памяти состояния.
  • Все указатели памяти (чтение/запись памяти состояния и чтение/запись памяти ключа) равны нулю.
  • Память состояния полностью загружена.

С некорректным ключом запуск шифрации/дешифрации не выполняется.

  • Бит 5 - RESET: программный сброс модуля AES

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

  • Бит 4 - DECRYPT: задание направления

Данный бит предназначен для задания направления работы модуля AES. Запись нуля в этот бит переводит модуль в режим шифрования, а запись единицы - в режим дешифрации.

  • Бит 3 - Res: резервный бит

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

  • Бит 2 - XOR: разрешение режима XOR загрузки памяти состояния модуля AES

Установка этого бита разрешает загрузку данных в память состояния в режиме XOR. Когда данный бит равен единице, загружаемые в память состояния данные подвергаются побитной операции исключающее ИЛИ (XOR) с текущими данными в памяти состояния. Запись нуля в этот бит отключает режим XOR и, поэтому, новые записываемые в память состояния данные будут перезаписывать текущие данные в памяти состояния.

  • Биты 1:0 - Res: резервные биты

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

23.5.2. STATUS - регистр статуса модуля AES

Бит 7 6 5 4 3 2 1 0  
+0x01
ERROR - - - - - - SRIF
STATUS
Чтение/запись Чт. Чт. Чт. Чт. Чт. Чт. Чт. Чт.
Начальное значение 0 0 0 0 0 0 0 0
  • Бит 7 - ERROR: флаг ошибки модуля AES

Флаг ERROR сигнализирует о возникновении ошибки в работе модуля AES. Флаг становится равным единице в следующих случаях:

  • в регистре управления установлен бит START, но память состояния и/или память ключа не записаны или не считаны полностью. Такая ошибка возникает, когда во время запуска AES общее число операций чтения или записи регистра состояния или регистра ключа оказывается некратным 16.
  • выполнен доступ (чтение или запись) к регистру управления, когда бит START равен единице.

Флаг ошибки можно сбросить программно записью в него единицы.

  • Биты 6:1 - RES: резервный бит

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

  • Бит 0 - SRIF: флаг прерывания по готовности к чтению памяти состояния модуля AES

Данный флаг является флагом прерывания/DMA-запроса. Он становится равным единице по завершении процедуры шифрации/дешифрации, когда в памяти состояния имеются действительные данные. Равенство флага нулю указывает на то, что в памяти состояния нет действительных зашифрованных/дешифрованных данных.

Флаг сбрасывается аппаратно при чтении первого байта из памяти состояния. Альтернативно, данный флаг можно сбросить программно записью в него единицы.

23.5.3. STATE - регистр состояния модуля AES

Бит 7 6 5 4 3 2 1 0  
+0x02
STATE
STATE
Чтение/запись Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап.
Начальное значение 0 0 0 0 0 0 0 0

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

По завершении, шифрации/дешифрации, CIPHERTEXT/PLAINTEXT можно считать путем побайтного опроса регистра состояния.

Загрузку исходных данных в регистр состояния необходимо выполнить после установки соответствующего режима модуля AES и направления. По ходу шифрации/дешифрации доступ к этому регистру невозможен.

23.5.4. KEY - регистр ключа модуля AES

Бит 7 6 5 4 3 2 1 0  
+0x03
KEY
KEY
Чтение/запись Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап.
Начальное значение 0 0 0 0 0 0 0 0

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

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

23.5.5. INTCTRL - регистр управления прерыванием модуля AES

Бит 7 6 5 4 3 2 1 0  
+0x04
- - - - - - INTLVL[1:0]
INTCTRL
Чтение/запись Чт. Чт. Чт. Чт. Чт. Чт. Чт./Зап. Чт./Зап.
Начальное значение 0 0 0 0 0 0 0 0
  • Биты 7:2 - RES: резервные биты

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

  • Биты 1:0 - INTLVL[1:0]: разрешение прерывания модуля AES и задание его приоритета

Данные биты предназначены для разрешения работы прерывания модуля AES и задания его приоритета в соответствии с описанием, приведенном в разделе 12 "Прерывания и программируемый многоуровневый контроллер прерываний". После разрешения прерывания, оно будет генерироваться при установке флага SRIF в регистре STATUS.

23.6. Обзор регистров модуля AES

Адрес Наименование Бит 7 Бит 6 Бит 5 Бит 4 Бит 3 Бит 2 Бит 1 Бит 0
+0x00 CTRL START AUTO RESET DECRYPT - XOR - -
+0x01 STATUS ERROR - - - - - - SRIF
+0x02 STATE STATE[7:0]
+0x03 KEY KEY[7:0]
+0x04 INTCTRL - - - - - - INTLVL[1:0]
+0x05 (резерв) - - - - - - - -
+0x06                  
+0x07                  
+0x08                  
+0x09                  
+0x0A                  
+0x0B                  
+0x0C                  
+0x0D                  
+0x0E                  
+0x0F                  

23.7. Вектор прерываний модуля AES

Таблица 23.2. Вектор прерываний модуля AES

Смещение Источник Описание прерывания
0 AES Смещение вектора прерывания модуля AES


<-- Предыдущая страница Оглавление Следующая страница -->





 
Впервые? | Реклама на сайте | О проекте | Карта портала
тел. редакции: +7 (495) 514 4110. e-mail:info@eust.ru
©1998-2016 ООО Рынок Микроэлектроники