ATxmega: Засоби шифрування, IrDA канал

Засоби шифрування ATxmega

 В мікроконтролерах ATxmega підтримуються популярні стандарти шифрування AES (Advanced Encryption Standard) та DES (Data Encryption Standard), причому останній реалізований на рівні процесорного ядра за допомогою спеціальної команди des. Ця команда, що займає один цикл, для шифрування або дешифрування блоку з восьми байт (64 біт) даних повинна бути виконана підряд 16 раз. Перед початком шифрування/дешифрування в регістровий файл повинні бути завантажені блоки даних (регістри R0-R7) та ключа (регістри R8-R15).

Одне виконання команди des виконує один цикл алгоритму DES. Для отримання коректно зашифрованого тексту необхідно 16 повторів. Проміжний результат після кожного кроку зберігається в тих же регістрах R8-R15, а зашифрований/дешифрований текст – в регістрах R0-R7.

В якості операнда команді des передається порядковий номер повторення, а флаг H в регістрі станів визначає характер операції: шифрування (H=0) або дешифрування (H=1).

Модуль обміну даними по інфрачервоному каналу ATXMega

Мікроконтролери XMEGA оснащені модулем інфрачервоної зв’язку (IRCOM), який відповідає за IrDA 1.4-сумісну передачу даних на швидкості до 115.2 кбіт/сек. Модуль підтримує три схеми модуляції: 3/16 від періоду швидкості, з фіксованою програмованою тривалістю імпульсу (задається кратно періоду синхронізації УВВ) і з відключеною імпульсною модуляцією. У МК вбудований тільки один модуль IRCOM, який для кодування / декодування ІК сигналів можна підключити до будь-якого з вбудованих модулів USART.

Модуль IRCOM автоматично активізується після переведення модуля USART в режим IRCOM. Якщо це зробити, сигнали між USART і висновками RX / TX подаватимуться в модуль IRCOM, як показано на малюнку 22.1. При необхідності, в якості входу приймача IRCOM може бути вибраний канал системи подій. У результаті такого вибору, вхід RX відключається від USART.

Приймач IRCOM можна налаштувати таким чином, щоб імпульс високого рівня певної тривалості дешифрувати як логічний 0, а при меншій його тривалості – як логічна 1, тобто так, начебто б імпульс не був прийнятий.

Модуль IRCOM доступний для використання будь-яким з модулів USART мікроконтролера. Модуль IRCOM може працювати спільно тільки з одним з USART, тому, неприпустимо переводити в режим IRCOM більше одного модуля USART. Виконання даної вимоги покладається на програму користувача. 

Підключення модуля IRCOM до USART

Література:

  1. Программирование на языке С для AVR и PIC микроконтроллеров. Изд. 2е, переработаное и дополниное / Сост. Ю.А. Шпак—К.: «МК-Пресс», СПб.: «КОРОНА-ВЕК», 2011. – 544 с., ил.
  2. AVR XMEGA – 8/16-битные высокоэффективные маломощные флэш-микроконтроллеры. 
  3. Начинаем работать с микроконтроллерами XMEGA.
  4. AVR 8-bit XMMEGA А Manual. – 2012. – Rev. 1. – p. 432.

 

Автор: Чернишов В.О., ДК-12. ФЕЛ, КЕОА, НТУУ «КПІ».