На рисунке 3.1 приведена структурная схема устройства ввода изображений мазка крови. Устройство представлено в виде двух блоков: блока ввода и анализа (БВиА) и блока управления (БУ).
К системе ввода изображений маза крови относятся все блоки кроме блока «Персональный компьютер» (ПК), он является анализатором и базой данных всех изображений.
У цифровой камеры имеются два выхода: на USB-вход персонального компьютера и на TV-плату. По первому из них передаются изображения «стоп-кадры» высокого качества, а по второму обзорные картинки (разрешение 640*480).
Также через USB к компьютеру подключен микроконтроллер управления, который посылает сигналы управления на:
· Привод X;
· Привод Y;
· Привод Z;
· Устройство регулировки освещения;
Привод X и привод Y используются для сканирования предметного стекла, передвигая координатный стол в одной плоскости. Когда с ПК поступает сигнал о перемещении столика, микроконтроллер снимает с датчика 1 и с датчика 2 координаты места расположения столика и сравнивая заданные значения с значениями с датчиков передвигает столик выдавая управляющие воздействия на приводы X и Y. Привод Z изменяет положение координатного стола в перпендикулярной плоскости для фокусировки изображения. Устройство регулировки освещения изменяет яркость лампы оптической системы микроскопа.
Рисунок 3.1 – Структурная схема устройства ввода изображений мазка крови.
Разработка алгоритма заключается в пошаговом описании работы устройства. Алгоритм предусматривает два режима работы: движение предметного стола и ожидание. Во втором режиме микроконтроллерный блок управления приводами ждет прерывания от ЭВМ. Прерывание поступает когда ЭВМ обработала изображение и необходимо передвинуть стол, чтобы сфотографировать следующую часть изображения.
Рисунок 3.1 – Блок-схема алгоритма работы устройства
Рисунок 3.2 – Блок-схема алгоритма режима работы «движение»
Для определения вычислительной сложности основного алгоритма необходимо подсчитать количество команд на самой длинной ветви выполнения операций в микроконтроллере. Это количество команд не должно превосходить шаг квантования управляющего сигнала.
Самой длинной является цепочка команд, которая формирует две фазы – обмотки управления и обмотки возбуждения. В ней происходят операции: вычисления синуса, сложения, умножения и деления. Если все вычисления производить в главном цикле программы, то время выполнения операций превысит время шага квантования. Поэтому необходимо создать таблицу с вычисленными значениями синуса, сохранить ее в памяти микроконтроллера и вызывать нужные значения в главном цикле программы.
Подсчитаем количество тактов, за которое формируется шаг квантования (N). N вычисляется по формуле:
N= T1кв/Tosc;
где T1кв – время одного отсчета;
Tosc – период кварцевого генератора;
Tosc=1/fosc;
T1кв=Тдв/360;
Определим период сигнала подаваемого на двигатель (Тдв);
Тдв=1/fдв;
где fдв – частота управляющего сигнала, fдв=400(Гц).
Тдв=1/400=0.0025(с);
T1кв=Тдв/360;
так как период синусоиды 360°.
T1кв=0.0025/360=6.94(мкс);
Tosc=1/7.3728=135.6(нс);
N=6940/135.6=51.167;
Из расчетов следует, что количество выполняемых операций не должно превышать 51. Чтение из памяти микроконтроллера занимает 16 тактов, так как мы формируем две синусоиды, получается 32 такта, плюс выполнение промежуточных команд (их 11), в общей сложности получается 43 команды.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.