Смекни!
smekni.com

Устройство аппаратного шифрования данных с интерфейсом USB (стр. 11 из 12)

Флюс в составе припойных паст служит для активации контактируемых металлических поверхностей, удаления с них окислов и предотвращения окисления припоя в процессе пайки (что необходимо для создания паяного соединения). Флюс обеспечивает требуемую растекаемость (реологию), а также изменение вязкости со временем (тиксотропность) при нанесении припойной пасты на коммутационную плату. Если состав припойной пасты имеет недостаточную вязкость, она будет растекаться, или "расползаться", что, несомненно, приведет к потере точности рисунка, обеспечиваемой трафаретом, а это в свою очередь может послужить причиной образования шариков припоя или перемычек в процессе пайки. Кроме того, количество припойной пасты, нанесенной на плату, в ряде мест может оказаться недостаточным из-за ее растекания по плате.

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

Наиболее важным в массовом производстве печатных плат, является метод трафаретного нанесения припойной пасты (рис.3.7.), в котором паста продавливается через трафарет (окна) на контактные площадки печатной платы. Припойная паста уже содержит в себе и припой, и флюс, а их пропорция одна из важных характеристик пасты. Материалом трафарета может быть как сплав никеля, так и нержавеющая сталь. Отверстия в трафарете обычно прорезаются лазером или протравливаются. В массовом производстве этот метод эффективен, но не гибок, так как свой собственный трафарет (причем несколько) требуется для каждой платы. Гибкость достигается только за счет быстрой смены трафарета и автоматического распределения пасты.

При проведении скребком по поверхности трафарета припойная паста продавливается сквозь отверстия в трафарете на контактные площадки. Наиболее важной фазой этого процесса является продвижение пасты вдоль поверхности трафарета, она должна продвигаться с правильной силой, углом и скоростью. Трафарет и скребок должны быть чистыми и паста должна иметь строго определенные характеристики для этой силы, угла и скорости. Ошибки в этих параметрах приводят к плохим характеристикам пайки. Больше половины ошибок всего процесса сборки печатных плат приходятся именно на процесс нанесения припойной пасты. Преимуществом метода трафаретного нанесения припойной пасты является то, что паста может быть нанесена слоем до 300 мкм с очень высокой точностью.

Рис. 3.7 – Нанесение припойной пасты

3.9.4 Пайка SMT компонентов

Традиционная техника пайки волной припоя выполняется чаще всего погружением компонента в ванну с припоем. Для пайки на коммутационных платах SMT компонентов обычно применяется метод расплавления дозированного припоя. Пайка расплавлением припоя в парогазовой фазе в настоящее время уступает место пайке с инфракрасным нагревом, лазерная пайка пока не получила распространения. Ведущие поставщики сборочно-монтажного оборудования обычно включают установки для пайки в состав выпускаемых производственных линий.

Появление на коммутационных платах поверхностно монтируемых компонентов существенно изменило технологию пайки. Пайка волной припоя была внедрена в 50-х гг. и до настоящего времени является единственным групповым методом пайки компонентов, устанавливаемых в отверстия коммутационных плат. Для пайки плат со смешанным монтажом (компоненты, монтируемые в отверстия с одной стороны платы и простые, монтируемые на поверхность) был разработан метод пайки двойной волной припоя. Технология пайки поверхностно монтируемых компонентов расплавлением дозированного припоя в парогазовой фазе (ПГФ) появилась в 1973 г., когда фирма DuPont разработала и запатентовала специальные жидкие материалы. В течение нескольких лет Western Electric была единственной фирмой, пользовавшейся преимуществами этой новой разработки. С 1983 г. основным конкурентом пайки в ПГФ стала пайка расплавлением дозированного припоя с помощью инфракрасного нагрева (ИК-пайка).

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


4. РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ АППАРАТНОГО ШИФРАТОРА

Исходный код программного обеспечения приведен в Приложении А.

4.1 Программное обеспечение микроконтроллера

Основой устройства является высокопроизводительный (50 MIPS) 32-х разрядный ARM микроконтроллер AT91SAM7S64. Программное обеспечение для этого микроконтроллера было написано на языке “C” в программном продукте IAR Embedded Workbench 4.40A. Отладка программы производилась в устройстве через интерфейс JTAG.

После подачи питания на микроконтроллер, программа выполняет инициализацию регистров микроконтроллера и периферийных модулей (схему ФАПЧ, контроллер потребляемой мощности, контроллер прерываний, генератор случайных чисел). Если установка параметров микроконтроллера прошла успешно, программа зажигает красный светодиод – индикация работы устройства.

На следующем этапе работы программа микроконтроллера проходит процедуру энумерации USB устройства (перевод устройства в адресное состояние, выбор конфигурации, выбор интерфейса). Устройство имеет одну конфигурацию и один интерфейс. Если энумерация прошла успешно, программа зажигает зеленый светодиод – индикация распознанного системой USB устройства.

Далее программа переходит в цикл ожидания управляющих команд от драйвера устройства.

Команды, поддерживаемые устройством:

· получение версии устройства;

· загрузка в устройство мастер ключа;

· считывание номера мастер ключа;

· запись номера мастер ключа, с которым будут производится операции шифрования;

· назначение символического имени ключу с указанным номером;

· шифрование файла;

· расшифровка файла;

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

После получения номера мастер ключа программа с помощью ГСЧ генерирует сеансовый ключ (К2). Далее происходит инициализация алгоритма Blowfish для ключа К2 и шифрование выбранного файла (шифруются получаемые устройством пакеты, размером 64 байта). После того как файл зашифрован ключ К2 шифруется алгоритмом Blowfish с ключом К1 и зашифрованный ключ К2 передается в персональный компьютер.

Для расшифровки файла, программа микроконтроллера считывает зашифрованный ключ К2 и номер ключа К1. Программа расшифровывает ключ К2 и далее расшифровывает файл используя ключ К2.

На рисунке 4.1. представлена блок-схема программы для микроконтроллера.


4.1.1 Структура программы микроконтроллера

Рис. 4.1 – Структура программы микроконтроллера


4.2 Драйвер устройства

Драйвер устройства написан на языке “C++” в программном продукте Compuware Driver Studio 3.2.0. с использованием Microsoft Windows XP DDK.

Драйвер устройства принимает IOCTL запросы на ввод-вывод (Input Output Control Codes – IOCTL) от DLL библиотеки, которая поставляется в комплекте с драйвером.

Запросы драйвера к USB устройству перечислены в пункте 4.1.

На рисунке 4.2. представлена блок-схема, которая демонстрирует работу программы драйвера.

4.2.1 Структура программы драйвера устройства

Рис. 4.2 – Структура программы драйвера устройства


4.3 DLL библиотека драйвера устройства

DLL библиотека предназначена для предоставления стандартного интерфейса для работы с драйвером устройства. DLL библиотека экспортирует функции для:

·получения версии устройства;

·шифрования файла;

·расшифровки файла;

·записи в устройство мастер-ключа;

·считывания номера мастер-ключа, который используется в данный момент;

·записи в устройство номера мастер-ключа, который необходимо использовать в последующих операциях шифрования;

·назначения мастер-ключу символьного имени;

DLL библиотека написана на языке “C++” в программном продукте Microsoft Visual Studio 6.0.

4.3.1 Структура программы DLL библиотеки

Рис. 4.3 – Структура программы DLL библиотеки


4.4 Прикладная программа

Прикладная программа для шифрования файлов позволяет пользователю осуществлять следующие операции:

·шифровать файлы;

·расшифровывать файлы;

·производить операции с мастер-ключами (загружать ключи в устройство, назначать ключу символическое имя, удалять ключи из устройства).

Приложение написано в программе Microsoft Visual Studio 6.0. на языке “С++”, с использованием библиотеки классов MFC.

Алгоритм работы программы приложения показан на рис. 4.4.