Научная статья на тему 'Моделирование алгоритма определения оттенка цвета зубных коронок на базе микроконтроллеров серии stm32f4xx'

Моделирование алгоритма определения оттенка цвета зубных коронок на базе микроконтроллеров серии stm32f4xx Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
324
44
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАСПОЗНАВАНИЕ ЦВЕТА / ЦВЕТ ЗУБА / ДАТЧИК ЦВЕТА / АЛГОРИТМ ИЗМЕРЕНИЯ / STM32 / COLOR RECOGNITION / TOOTH COLOR / COLOR SENSOR / MEASUREMENT ALGORITHM

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бурдовицын П.А., Шаталова В.В.

Приведен вариант реализации алгоритма определения оттенка цвета зубных коронок с функцией адаптации к внешним условиям на базе микроконтроллеров серии STM32F4xx и модуля датчика распознавания цвета TCS3200.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

MODELLING OF THE ALGORITHM FOR DEFINITION OF THE TOOTH CROWN''S COLOR SHADE BASED ON STM32F4XX SERIES MICROCONTROLLERS

Here's a variant of implementation of the algorithm for definition of the tooth crown's color shade with adaptation’s function to external conditions based on stm32f4xx series microcontrollers and color sensor module TCS3200.

Текст научной работы на тему «Моделирование алгоритма определения оттенка цвета зубных коронок на базе микроконтроллеров серии stm32f4xx»

_Доклады БГУИР_

2016 № 7 (101)

QUALITY CONTROL PROGRAM FOR POSITRON EMISSION TOMOGRAPH COMBINED WITH COMPUTER TOMOGRAPH

EE. EMELYANENKO , I.G. TARUTIN , A.V. SAVKOV

Abstract

The quality control program for positron emission tomograph Discovery IQ is presented. The program is adapted to the specific conditions of the clinical operation of indicated equipment at the N.N. Alexandrov National Cancer Centre of Belarus, taking into account the existing features and equipment capabilities.

Keywords: quality control, PET / CT scanner, a phantom, standards, PET Center.

Список литературы

1. Наркевич Б.Я., Костылев В.А. Медицинская физика. М., 2008.

2. Рудас М.С., Насникова И.Ю., Матякин Г.Г. Позитронно-эмиссионная томография в клинической практике. М., 2007.

3. ГОСТ Р МЭК 61223-2-6-2001. Оценка и контроль эксплуатационных параметров рентгеновской аппаратуры в отделениях (кабинетах) рентгенодиагностики.

4. International Electrotechnical Commission. Evaluation and Routine Testing in Medical Imaging Departments Geneva, 2006.

5. Тарутин И.Г., Шитиков Б.Д., Апанович В.Н. Протокол контроля качества работы аппаратов и приборов ядерной медицины.

УДК 535.65.088.4

МОДЕЛИРОВАНИЕ АЛГОРИТМА ОПРЕДЕЛЕНИЯ ОТТЕНКА ЦВЕТА ЗУБНЫХ КОРОНОК НА БАЗЕ МИКРОКОНТРОЛЛЕРОВ СЕРИИ STM32F4xx

П.А. БУРДОВИЦЫН, ВВ. ШАТАЛОВА

Белорусский государственный университет информатики и радиоэлектроники П. Бровки, 6, Минск, 220013, Беларусь

Поступила в редакцию 22 ноября 2016

Приведен вариант реализации алгоритма определения оттенка цвета зубных коронок с функцией адаптации к внешним условиям на базе микроконтроллеров серии STM32F4xx и модуля датчика распознавания цвета TCS3200.

Ключевые слова: распознавание цвета, цвет зуба, датчик цвета, алгоритм измерения, STM32.

Введение

Точность и достоверность измерений - ключевое требование для любого измерительного прибора. В связи с этим актуальной является необходимость моделирования алгоритма каких-либо измерений, в том числе, алгоритма определения оттенка цвета зубных коронок. Для этого необходимо тщательное изучение всех составляющих алгоритма измерений, которые определяются применяемыми компонентами, в частности, микроконтроллера и датчика распознавания цвета, а также конструкцией измерительной системы [1-4].

Описание алгоритма определения оттенка цвета зубных коронок

Весь алгоритм распознавания оттенка цвета зуба основан на принципе работы программируемого интегрального датчика распознавания цвета TCS3200, структурная схема которого изображена на рис. 1.

Рис. 1. Структурная схема датчика распознавания цвета TCS3200

В состав датчика входит матрица фотодиодов со светофильтрами основных цветов: красный, синий и зеленый, а также есть группа фотодиодов без светофильтров (данную группу теоретически можно использовать для оценки яркости светового излучения от самосветящихся объектов). Выбор необходимой группы фотодиодов осуществляется путем подачи комбинации логических уровней на входы S2 и S3 датчика распознавания цвета. Получаемое напряжение с группы фотодиодов подается на встроенный генератор, который выдает сигнал типа «меандр» с частотой, пропорциональной интенсивности освещения выбранной группы фотодиодов (конвертер напряжение-частота). Диапазон частот, генерируемых датчиком распознавания цвета - (2...500) кГц. Для того, чтобы разрешить работу встроенного генератора, необходимо подать уровень логического нуля на вход OE (Output Enable) датчика. Входы S0 и S1 предназначены для выставления коэффициента деления генерируемой частоты, либо для перевода датчика в режим пониженного энергопотребления.

Исходя из вышеописанного предлагается следующий алгоритм распознавания цвета:

1. Накопление данных о состоянии выхода OUT датчика.

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

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

1) выставление необходимых логических уровней на входах датчика;

2) выставление уровня логического нуля на входе OE датчика;

3) формирование выборки из 20 значений частоты выходного сигнала датчика с последующим определением среднего арифметического;

4) пересчет усредненных значений частоты выходного сигнала датчика в координаты цветности стандарта RGB.

Но при этом стоит учитывать особенности работы встроенного генератора датчика. После выставления уровня логического нуля на входе OE в течение 1,5.2 с наблюдается флуктуация частоты выходного сигнала на уровне ±6 кГц, что может внести значительную погрешность на результат измерений. Следовательно, чтобы исключить данный фактор, необходимо перед началом формирования выборки выставлять задержку 2.3 с.

Далее, для снижения погрешности, связанной со спектральными характеристиками чувствительности системы «светофильтр-фотодиод», а также спектром светового излучения источника освещения (белые светодиоды), необходимо полученные координаты RGB преобразовать в другую систему цветности - CIExy, стандартизированной международной комиссией по освещенности по следующим формулам:

" X" " R"

Y = M * G

Z B

(1)

где M - матрица преобразования (/ = 3, j = 3) координат цвета из цветового пространства RGB в XYZ.

X

x =-, (2)

X + Y + Z

Y

У = ■

(3)

X + Y + Z

В публикации «Sensing color with the TAOS TCS230» фирмы TAOS рекомендуется использовать следующую матрицу преобразования, в которой уже учтены особенности спектральных характеристик систем «светофильтр-фотодиод» и спектра светового излучения белого светодиода:

"0,3895 0,4993 -0,0491" M = 0,1212 0,8890 -0,1231 . (4)

0,0343 -0,2657 0,9438

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

Реализация алгоритма измерения цветовых параметров физических объектов на базе

микроконтроллеров серии STM32F4

Многими производителями выпускаются 32-разрядные микроконтроллеры, но наиболее широкое распространение, на текущий момент, получил продукт совместной франко-итальяно-японской фирмы STMicroelectronics (STM). Достаточно низкая стоимость, удобство программирования и наличие бесплатного ПО способствовали его продвижению. Наиболее производительными в семействе STM32 являются микроконтроллеры линейки STM32F4.

Семейство микроконтроллеров STM32F4 построено на базе 32-битного высокопроизводительного процессорного ядра ARM 32-bit Cortex-M4. Данный процессор имеет аппаратную поддержку команд цифровой обработки данных (DSP) и операций над числами с плавающей точкой. Производительность ядра составляет 1,25 DMIPS/МГц (при выполнении тестов Dhrystone 2.1). Благодаря используемой при производстве STM32F4 90-нм технологии удается достигать неплохих результатов энергопотребления.

Микроконтроллеры серии STM32F4 способны работать на тактовой частоте до 168 МГц, а также имеют большой объем оперативной памяти (192 кбайт) и встроенный ПЗУ 512 или 1024 кбайт. Микроконтроллеры серии STM32 F4 являются результатом идеального симбиоза возможности управления МК в реальном времени и производительностью обработки сигналов, свойственной сигнальным процессорам, дополняя таким образом линейку контроллеров STM32 новым классом устройств, сигнальными микроконтроллерами (англ. digital signal controller, DSC). Для реализации алгоритма измерения цветовых параметров физических объектов был выбран микроконтроллер STM32F407VGT, на базе которого существует оценочная плата STM32F4-Discovery.

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

Рис. 2. Работа таймера в режиме захвата

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

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

Микроконтроллер STM32F407VGT имеют дополнительные возможности для режима захвата:

- каждый таймер общего назначения оснащен не одним, а четырьмя каналами захвата. Соответственно имеется четыре входа контроллера (которые именуются CH1,CH2,CH3 и CH4), на которые можно подавать измеряемые сигналы, и четыре регистра захвата (забегая наперед скажу, что эти же выводы контроллера используются для работы в режиме сравнения);

- сигнал захвата каждого канала можно обработать с помощью входного фильтра;

- имеется возможность выбрать активный уровень сигнала (фронт или спад) для каждого канала;

- сигнал захвата можно пропустить через делитель с изменяемым коэффициентом деления (1, 2, 4, 8);

- источником сигнала захвата может быть другой таймер;

- для каждого канала предусмотрено по два флага. Второй флаг устанавливается, если произошел захват при установленном первом флаге.

Регистры захвата называются CCR1, CCR2, CCR3 и CCR4. (Если быть точным, то это регистры захвата/сравнения. Если канал настроен в режим захвата, то соответствующий ему регистр CCRх является регистром захвата, если настроен в режим сравнения - регистром сравнения).

Настройка режима сравнения осуществляется с помощью регистров CCMR1 (для каналов 1 и 2) и CCMR2 (для каналов 3 и 4)

Как правило, для микроконтроллеров с ядром ARM 32-bit Cortex-M4 существует библиотека CMSIS, написанная на языках C/C++, с помощью которой настраиваются все параметры регистров. Однако, фирмой STMicroelectronics были написаны свои библиотеки StdPeriph (в основе которой лежит библиотека CMSIS) для настройки периферии микроконтроллера, что делает процесс написания кода программы, во-первых, интуитивно понятным, во-вторых, более простым - не требуется знать какой бит какого регистра за что отвечает, достаточно лишь знать принцип работы периферии. Руководствуясь комментариями библиотек, можно написать доступную для понимания и компактную программу.

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

1. Настроить вывод порта общего назначения на альтернативную функцию, заполнив структуру GPIOInitTypeDef с использованием переменных из библиотеки stm32f4xx_gpio;

2. Задать базовые настройки таймера, заполнив структуру TIM TimeBaselnitTypeDef с использованием переменных из библиотеки stm32f4xx_tim;

3. Настроить параметры таймера в режиме захвата, заполнив структуру TIMICInitTypeDef с использованием переменных из библиотеки stm32f4xx_tim;

4. Включить прерывание при срабатывании «захвата» сигнала таймером с помощью функции TIM ITConfig, используя переменные из библиотеки stm32f4xx_tim;

_Доклады БГУИР_

2016 № 7 (101)

5. Получить значения регистра CCRx, используя библиотечную функцию TIMGetCaptureX.

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

Основываясь на алгоритме, существует необходимость в написании функций выставления комбинаций логических уровней на входах датчика: функция Set Color - для выбора активной группы фотодиодов, функция Set Color Freq Scaling - для выставления коэффициента деления генерируемой датчиком частоты выходного сигнала. Вместе с тем необходимо настроить используемые выводы микроконтроллера как выходы, заполнив структуру GPIO InitTypeDef с использованием переменных из библиотеки stm32f4xx_gpio. Все последующие этапы алгоритма, такие как вычисление калибровочных коэффициентов, накопление данных, перевод усредненного значения частот в координаты цвета, реализуются путем написание соответствующих пользовательских функций средствами языков программирования C/C++.

Моделирование алгоритма измерения цветовых параметров физических объектов осуществлялось в интегрированной среде разработки KEIL ^Vision с использованием встроенного отладчика. Наводя датчик на эталон белого цвета, в конечном результате были получены координаты x = 0,34 e = 0,37, что соответствует данным стандартизированной системы координат CIExy.

Заключение

На основании полученных данных можно сделать вывод, что по данному алгоритму можно достаточно точно определить стандартизированные координаты, однозначно описывающие цвет при соблюдении требований к конструкции измерительной системы: защита датчика цвета от ИК-засветки и засветки от используемых фотодиодов, недопущение изменения источника освещения, защита всей измерительной системы от засветки и др. Описанный алгоритм совместно с применением указанной элементной базы может найти свое применение в стоматологии для определения цвета зубов при эстетической реставрации коронки зуба.

MODELLING OF THE ALGORITHM FOR DEFINITION OF THE TOOTH CROWN'S COLOR SHADE BASED ON STM32F4XX SERIES MICROCONTROLLERS

P.A. BURDAVITSYN, V.V. SHATALOVA

Abstract

Here's a variant of implementation of the algorithm for definition of the tooth crown's color shade with adaptation's function to external conditions based on stm32f4xx series microcontrollers and color sensor module TCS3200.

Keywords: color recognition, tooth color, color sensor, measurement algorithm, STM32.

Список литературы

1. Джадд Д., Вышецки Г. Цвет в науке и технике. М., 1978.

2. Домасев М.В., Гнатюк С.П. Цвет, управление цветом, цветовые расчеты и измерения. СПб., 2009.

3. Malacara D. Color Vision and Colorimetry Theory and Applications. Bellingham WA, 2002.

4. Poynton C. Sensing color with the TAOS TCS230. TAOS Incorporated, 2005.

i Надоели баннеры? Вы всегда можете отключить рекламу.