МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ
федеральное государственное автономное
образовательное учреждение высшего образования
«Самарский национальный исследовательский университет
имени академика С.П. Королева»
(Самарский университет)
Институт информатики, математики и электроники
Факультет электроники и приборостроения
Кафедра лазерных и биотехнических систем
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
«Устройство видеокапсульной эндоскопии»
по направлению подготовки 12.03.04 Биотехнические
системы и технологии
(уровень бакалавриата)
направленность (профиль) «Биомедицинская техника»
Обучающийся____________________________________ Н.И. Фадеев
Руководитель ВКР,
к.т.н.,
доцент_____________________________________И.А.
Кудрявцев
Самара 2020
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ
федеральное государственное автономное образовательное учреждение
высшего образования «Самарский национальный исследовательский
университет
имени академика С.П. Королева» (Самарский университет)
Кафедра лазерных и биотехнических систем
УТВЕРЖДАЮ
Заведующий
кафедрой
______________ /______В.П.Захаров
(подпись)
/
И.О.Фамилия
«____» _______________ 20___ г.
Задание на выпускную квалификационную работу (ВКР)
Студенту
Фадееву Никите Ивановичу
(ФИО, полностью)
Группы 6464-120304D
1. Тема ВКР:
«Разработка устройства видеокапсульной эндоскопии»
утверждена приказом по университету от «____»______________20___ г.
№____
2. Перечень вопросов, подлежащих разработке в ВКР:
2.1 провести анализ существующих решений по визуализации
труднодоступных участков тонкого кишечника;
2.2 разработать структурную электрическую схему устройства;
2.3
разработать
принципиальную
электрическую
схему
устройства;
2.4 разработать алгоритм работы устройства;
2.5
Разрабатываемое
устройство
должно
обеспечивать
визуализацию тонкого кишечника на всем его протяжении, должна
быть возможность использовать устройство повторно;
2.6 Требуемые характеристики устройства:
2.6.1 разрешение: 248x248 (не менее);
2.6.2 глубина резкости: 0-5 см;
2.6.3 угол обзора латерально: 360 градусов;
2.6.4 угол обзора аксиально: 120 градусов (не менее);
2.6.5 длительность работы в автономном режиме: 8 ч (не менее);
2.6.6 скорость съемки 5 кадров/сек (не менее);
2.6.7 бесконтактное считывание;
2.6.8
бесконтактный
заряд
аккумуляторов
посредством
трансформаторной связи;
2.6.9 Габариты ø 13 x 30 мм (не более);
3. Дата выдачи задания: «____» _______________ 20___ г.
4. Срок представления на кафедру законченной ВКР: «____» ___________
20__г
3
Руководитель ВКР
Декан факультета электроники и приборостроения
Кудрявцев /
________ /
должность, степень
И.О.Фамилия
И.А.
подпись
Задание принял к исполнению
Н.И. Фадеев
/
_______________
/
подпись студента
И.О.Фамилия студента
РЕФЕРАТ
Пояснительная записка 72с, 33 рисунка, 29 источников,
4 приложения.
ВИДЕОКАПСУЛЬНАЯ ЭНДОСКОПИЯ, АКСИАЛЬНЫЙ
ОБЪЕКТИВ,
ЛАТЕРАЛЬНЫЙ
АККУМУЛЯТОРОВ,
ОБЪЕКТИВ,
ПЛИС,
ПИТАНИЕ
ПЕТЛЕВАЯ
ОТ
АНТЕННА,
ПРИНЦИПИАЛЬНАЯ ЭЛЕКТРИЧЕСКАЯ СХЕМА.
В
работе
было
разработано
устройство
для
видеокапсульной эндоскопии с панорамным и фронтальным
обзором.
Устройством
управления
матрицами
послужил
автомат с конечным числом состоянии на базе ПЛИС.
Питание устройства осуществляется за счет аккумуляторов.
Устройство можно использовать повторно после заряда.
Заряд – бесконтактный, от энергии радиоволн.
Также
в
работе
приведены
расчетные
формулы,
принципиальная схема, перечень элементов эпюры сигналов
модулей устройства управления.
4
СОДЕРЖАНИЕ
ВВЕДЕНИЕ.................................................................................. 6
1 АНАЛИЗ СУЩЕСТВУЮЩИХ РЕШЕНИЙ................................8
2 РАЗРАБОТКА СТРУКТУРНОЙ СХЕМЫ.................................12
2.1 Выбор матрицы...................................................................12
2.2 Выбор метода передачи данных.........................................15
2.3 Выбор блока управления....................................................16
2.4 Выбор способа управления капсулой................................16
2.5 Выбор аккумуляторов и преобразователей питания........17
2.6 Выбор способа заряда.........................................................18
3 РАЗРАБОТКА ПРИНЦИПИАЛЬНОЙ СХЕМЫ.......................19
3.1 Выбор способа модуляции..................................................19
3.2 Разработка устройства управления матрицами................23
3.2.1 Разработка модуля top_NanEye.......................................27
3.2.2 Разработка модуля Clock_data_recovery.........................28
3.2.3 Разработка модуля MUX..................................................30
3.2.4 Разработка модуля deserialisator....................................31
3.2.5 Разработка модуля Antenna_ctrl......................................32
3.2.6 Разработка модуля picture_watch...................................33
3.2.7 Разработка serial_config:..................................................35
3.3 Выбор метода задания конфигурации ПЛИС....................37
3.4
Выбор
схемы
переключения
режимов
антенны
и
аккумулятора............................................................................39
3.5 Выбор RF-DC преобразователя..........................................41
3.6 Подключение матриц NanEye 2D......................................43
3.7 Выбор светодиодов..............................................................44
5
3.8 Подключение DC-DC преобразователей............................45
3.9 Расчёт времени работы......................................................46
4 РЕКОМЕНДАЦИИ ПО РАБОТЕ С КАПСУЛОЙ.....................48
ЗАКЛЮЧЕНИЕ..........................................................................49
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ.......................50
6
ВВЕДЕНИЕ
Болезни
тонкого
кишечника
характеризуются
специфическими морфологическими изменениями слизистой
оболочки разной степени выраженности. В большинстве
случаев болезни ТК имеют тяжелое, часто прогрессирующее
течение [1].
На современном этапе развития медицины существует
ряд методов, позволяющих визуально оценить заболевания
тонкого кишечника. К ним относят:
1)
Колоноскопия. Инструментом в данном исследовании
является эндоскоп. С помощью сигналов с видеокамеры врач
способен оценить состояние внутренних стенок кишечника,
наличие
опухолей,
язв,
полипов
и
воспаления.
Однако
процедура годится лишь для осмотра небольшого участка
тонкого кишечника, поскольку полный осмотр ограничивает
длина эндоскопа. К противопоказаниям процедуры относят:
острую стадию инфаркта миокарда, перфорацию кишечника,
перитонит,
воспаление
брюшной
полости,
молниеносная
форма ишемического колита, острую сердечно-сосудистую
или дыхательную недостаточность.
2)
Компьютерная
построить
томография.
трехмерную
модель
Процедура
тонкого
позволяет
кишечника,
на
основании которой врач и ставит диагноз. Диагностика
занимает
до
безболезненный.
десяти
минут.
Метод
Противопоказания
абсолютно
аналогичны
колоноскопии, и ко всему прочему, данный метод не годится
для беременных женщин.
3)
Баллонная эндоскопия. Процедура длится несколько
часов и проходит под общим наркозом. Врач вводит эндоскоп
с двумя или одним баллоном в задний проход и ротовую
7
полость, после чего начинает осмотр кишечника. Баллоны
необходимы
для
фиксации
трубки
и
дальнейшего
самостоятельного передвижения продолжения эндоскопа.
Баллонная эндоскопия кроме осмотра позволяет делать
биопсию,
удалять
опухоли
или
инородные
тела,
останавливать кровотечения.
4)
Капсульная эндоскопия. Метод представляет собой
обследование,
корпусе.
с
Капсула
помощью
видеокамеры
продвигает
по
ЖКТ
в
специальном
передает
или
записывает визуальную информацию о внутреннем строении
тонкого кишечника. После врач-эндоскопист анализирует
полученные видеоданные, и ставит диагноз.
Таблица 1 – достоинства и недостатки существующих методов
диагностики тонкого кишечника
Метод
Колоноскопи
я
Достоинства
- низкая стоимость
Компьютерна - низкая
я
информативность
томография
исследования
- комфорт пациента
Баллонная
- возможность
эндоскопия
проводить биопсию
- просмотр в режиме
реального времени
Капсульная
Эндоскопия
Таким
является
- малое число
противопоказаний
- комфорт пациента
- отсутствие наркоза
образом,
капсульная
Недостатки
- противопоказания
- низкая
информативность
- нет возможности
брать биопсию
- противопоказания
- необходим наркоз
- противопоказания
- необходимость
прямого и
ретроградного
доступа
- нет возможности
брать биопсию
эндоскопия
сегодня,
информативным способом диагностики тонкого
кишечника, длина которого не позволяет исследовать его
8
классическими
Преимущества
эндоскопическими
капсульной
безопасность,
минимум
необходимости
наркоза,
эндоскопии
противопоказаний,
делают
капсульную
средствами.
–
комфорт,
отсутствие
эндоскопию
востребованным средством диагностики в гастроэнтерологии.
9
1 АНАЛИЗ СУЩЕСТВУЮЩИХ РЕШЕНИЙ
Видеокапсульная эндоскопия чаще всего используется
при диагностике кровотечений неясной этиологии (obscure
gastrointestinal
капсульной
bleeding).
эндоскопии
Показанием
также
к
являются
проведению
подозрение
на
болезнь Крона, опухоли тонкой кишки, повреждение тонкой
кишки
в
результате
приема
нестероидных
противовоспалительных медикаментов, целиакии, а также
наследственные полипозы [2]. На данный момент существует
множество видеокапсул, которые условно можно разделить
на капсулы с аксиально расположенными объективами и
латерально расположенными объективами [3].
В [4, 5, 6] отмечается, что низкая чувствительность
видеокапсул с аксиально расположенными объективами к
ангиэкстазиям,
возникновения
дивертикулам
большого
числа
и
др.
слепых
получается
зон
в
из-за
процессе
перемещения по извилистым каналам тонкого кишечника.
Пример случаев возникновения подобных зон представлен на
рисунке 1.
Рисунок 1 – малоинформативные кадры классической
аксиальной видеокапсулы [15]
10
Исследования [5-8] показывают, что диагностический
выход капсул с латеральными объективами на 32% больше
выхода капсул с аксиально расположенными объективами.
Изображения,
систем
полученные
высокоинформативны,
с
помощью
но
панорамных
крайне
тяжело
анализируемы, поскольку в них отсутствует визуализация
просвета полого органа [9]. Это требует долгой адаптации
врача-эндоскописта и, соответственно, ведет к увеличению
времени
интерпретации
увеличивает
результатов
временные
и
анализа,
финансовые
затраты
что
на
исследование. Поэтому существует потребность в фиксации
одновременно
панорамного
изображение
и изображения
просвета кишечника.
Параметры пространства изображения важны при 3-D
реконструкции, при локализации капсулы и особенно при
определении размеров объектов на изображении [3]. Всего
существуют
несколько
типов
объективов
видеокапсул
(Рисунок 2) a, b – капсулы с аксиально расположенными
объективами, с – с возможностью вращения матрицы вокруг
неподвижной оси, d – объектив представляет собой несколько
латерально
расположенных
матриц,
e
–изображение
на
матрице формируется с помощью конусообразного зеркала.
По
данным
[3]
минимум
аберраций
и
соответственно
наименьшее число ошибок характерно для случая – d.
Поэтому
формирование
панорамного
изображения
помощью нескольких матриц предпочтительнее.
11
с
Рисунок 2 - положение объектов в пространстве и на
изображении для разных типов объективов [3]
Реализация
высокоточной
оптической
системы,
состоящей из линз, зеркал и матриц требует значительных
финансовых затрат. Требования к качеству изготовления
линз, зеркал, к допускам во время сборки конструкции
увеличивают
стоимость
медицинского
изделия.
развитием
технологий
С
кристалле,
КМОП
миниатюрными
панорамных
и
матрицы
печати
становятся
доступными
капсул,
диагностического
состоящий
систем
все
[10].
Поэтому
из
нескольких
на
более
объектив
матриц
экономически выгоднее конструкции с конусным зеркалом.
На
рынке
сегодня
основными
производителями
видеокапсул являются: Given Imaging, Olympus America,
Intromedic Co, OMOM, Capso-vision. Характеристики капсул
данных производителей представлены в таблице 2.
Таблица 2 -характеристики современных видеокапсул
PillCa
PillCa
PillCam
12
Endo
MicroCa
OMOM
Capso-
m
Colon
2
m
ESO2
SB3
Capsul m
e
Vision
количество
объективов
2
2
1
1
1
разрешение
256х25
6
256х2
56
256х25
6
512х5
12
320x320
-
-
-
-
-
-
360°
170°
169°
156°
145°
170°
145°
-
10
30
мин
11
9
11
8
15
4-35
14
2-6
2
3
2
15
11.6x3
1
11x26
11x26
11x26
11x24
13x28
11.6x31
угол
обзора
латерально
угол
аксиально
обзора
срок
службы
батареи, ч
кадров в секунду
габариты, мм
В
соответствии
сформированными
с
1
техническим
рыночными
тенденциями,
4
256х25 248x248
6
заданием,
а
также
учитывая преимущества и недостатки имеющихся решений,
предлагается вариант конструкции видеокапсулы (Рисунок
3). Время непрерывной работы не менее 8 часов – с учетом
среднего времени прохождения капсул по ЖКТ. Разрешение
матриц не менее 248x248 пикселей. Глубина резкости 0 – 5
см - в соответствии с особенностями просвета тонкого
кишечника [1]. Частота не менее 10 кадров в секунду –
согласно средней скорости перемещения капсулы внутри
ЖКТ.
Диаметр
и
длина
не
более
13
мм
и
30
мм
соответственно – допустимые габариты для комфортного
проглатывания устройства. Глубина резкости достигается с
помощью линз, расположенных на стенках капсулы. Угол
обзора - аксиально не менее 120°. Характеристики сведены в
таблицу 3.
13
Рисунок 3– функциональная схема видеокапсулы
Таблица 3 - технические характеристики проектируемого
устройства
Значение
1
2
3
4
5
глубина резкости
разрешение
угол обзора латерально
угол обзора аксиально
кол-во часов в автономном
режиме
6 кадров в секунду
0-5
248x248
360°
120°
8
5
единицы
измерен
ия
см
пикс.
град.
град.
ч
кадров/
сек
7 габариты
13x30
мм
8 передача информации на внешнее устройство
9 бесконтактный заряд аккумуляторов
14
примечан
ие
(не менее)
(не менее)
(не менее)
(не менее)
(не менее)
(не более)
2 РАЗРАБОТКА СТРУКТУРНОЙ СХЕМЫ
Структурная схема устройства представлена на рисунке
4.
Рисунок 4 – структурная схема устройства
2.1 Выбор матрицы
На современном рынке светочувствительных матриц
широко
представлены
продукты,
удовлетворяющие
требованиям высокого разрешения (более 248x248 пикс.) и
габаритных размеров, т. е. линейный размер (длина или
ширина) матрицы не должен превышать диаметра капсулы.
Для матриц прямоугольной формы это
12
=8,48 мм (с учетом
√2
толщины стенок 0.5 мм [11]). К ним относят матрицы OV6946
от компании OmniVision или NanEye 2D от компании AMS.
Обе матрицы [12, 22] имеют линейные размеры 1x1 мм и
необходимую
разрешающую
способность.
Преимущество
матрицы NanEye 2D состоит, в том, что eё SNR больше на 21
дБ (36.8 дБ для OV6946 и 58 дБ для NanEye 2D), потребление
15
NanEye 2D ниже в 6 раз (25мВт для OV6946 и 4,2мВт для
NanEye 2D). Исходя из этого выбор матрицы останавливается
на NanEye 2D.
NanEye
2D
поставляется
вместе
с
линзами,
обеспечивающими угол обзора в 120° и глубину резкости 350
мм.
Принцип
работы
матриц
позволяет
принимать
изображения с частотой до 63fps. Технические параметры
представлены в таблице 4 [12].
Таблица 4 - параметры КМОП матрицы.
Параметр
значен
ие
1x1
249x25
0
LVDS
I2C
2,5
30
4,7
10
Размеры
Разрешение
Способ передачи сигнала
Интерфейс
Частота восходящего потока
Частота нисходящего потока
Потребление
Глубина цвета
размерност
ь
мм
пикс.
МГц
МГц
мВт
бит
Матрица работает по алгоритму, представленному на
рисунке 4. При подаче питания происходит инициализация и
начинается
передача
синхронизирующего
пакета.
После
синхронизации NanEye 2D отправляет пакетами в 12 bit (start
bit + 10 bit + stop bit) значения каждого пикселя слева
направо в строке, и сверху вниз по строкам. После этого
камера принимает управляющие биты по интерфейсу I2C
используя ту же линию LVDS и цикл повторяется. Таким
образом, происходит последовательная отправка кадров с
частотой
управление
44-62
fps.
позволяет
Матрица
задать,
16
полностью
усиление
автономна,
АЦП,
уровень
черного, а также сбрасывать строки, задавая тем самым
время экспозиции.
Рисунок 5 - алгоритм работы NanEye [12]
Для предотвращения искажений матрицы в капсуле
устанавливаются так, чтобы центр объектива совпадал с
центром кривизны купола капсулы для фронтального случая
[14].
В решении [14] для экспозиции использовались четыре
светодиода с суммарной силой света 520mcd, для одной
матрицы с сопоставимой с NanEye 2D чувствительностью. В
данном
решении
используются
четыре
светодиода
установленные возле каждой матрицы. Суммарная сила
излучения в этом случае составляет 1920 mcd.
17
2.2 Выбор метода передачи данных
Существует
два
концептуально
разных
подхода
к
передаче информации с капсул – это передача по радиосвязи
и накопление на внутреннем носителе. Как отмечается в
исследовании [3], главным недостатком второго подхода
является
отсутствие
возможности
просматривать
изображения в режиме реального времени, в то время как
радиосвязь позволяет врачу-эндоскописту контролировать
съемку с помощью внешнего устройства в режиме on-line.
В данной реализации выбор передачи данных сделан в
пользу
радиосвязи.
Приемная
и
передающая
антенна
представлена в исследовании [13].
Поскольку
капсула
внутри
организма
излучает
радиоволны, необходимо учитывать вопросы безопасности, т.
е. максимально допустимую энергию поглощения тканей при
воздействии радиоволн. Величина SAR - Specific absorption
rate – удельный коэффициент поглощения, по данным IEEE
C95.1-1999 [13] и C95.1-2005 [13] не должна превышать 1.6
Вт/кг для 1 грамма ткани или 2Вт/кг для 10 граммов ткани.
Согласно
проведенному
на
модели
человеческого
тела
исследованию [13], максимальная допустимая мощность на
входе используемой антенны это 7.1 и 28 мВт для толстой
кишки, 5.0 и 24мВт для тонкой кишки, 7.2 и 25мВт для
желудка, на 1 грамм и 10 граммов ткани соответственно.
Поскольку
информация
с
матрицы
поступает
со
скоростью 30 Mbps (30 МГц частота передатчика NanEye 2D)
радиопередача должна осуществлять передачу со скоростью
большей этого значения, для предотвращения переполнения
18
памяти устройства, т. е. полоса частот должна составлять
более 60 МГц.
19
2.3 Выбор блока управления
Для реализации приема информации с матриц можно
воспользоваться
ПЛИС.
микроконтроллером
Рекомендуемая
частота
(процессором)
приемника
или
300МГц
–
необходима для надежного определения фазы поступающего
с матриц сигнала [12]. Реализация на базе микроконтроллера
(процессора)
требует
дифференциальными
выходами,
что
наличия
и
двух
десериализаторов
несимметричными
сокращает
количество
входами
с
и
свободного
пространства внутри капсулы. Поэтому в данном случае
задача управления и приема информации осуществляется с
помощью
ПЛИС.
Основные
требования
—
это
наличие
достаточного количества портов LVDS, т. е. 4 порта для
приема информации и 4 порта для задания конфигурации,
также еще 1 порт используется для управления антенной, и
компактные
размеры
превышают
удовлетворяет
кристалла
12
=8,48 мм).
√2
кристалл
(линейные
размеры
не
Всем
этим
требованиям
фирмы
Lattice
Semiconductor
MachXO3LF4300C-6UWG81C с размерами корпуса 6x6 мм
[18].
2.4 Выбор способа управления капсулой
Активируется и деактивируется капсула с помощью
магнитоуправляемого
нормально
замкнутого
ключа
[27].
Такой способ управления позволит запускать прекращать
работу
капсулы
без
нарушения
ее
герметичности.
Управляющий магнит представляет собой постоянный магнит
с индукцией более ±2мТл. В режиме хранения или заряда
20
капсула
помещается
возле
магнита,
размыкая
цепь
от
питания. В рабочем режиме капсула удаляется от действия
магнитного поля.
21
2.5 Выбор аккумуляторов и преобразователей питания
Основные требования к аккумуляторам — это габариты,
энергоемкость и максимальный ток. Габариты аккумулятора
не должны превышать диаметр в 12 мм.
Аккумуляторы
GP
M10-10
имеют
характеристики,
представленные в таблице 6 [15]. В отличие от остальных
аккумуляторов подходящего диаметра, представленных на
рынке
данный
продукт,
имеет
меньший
объем
и
одновременно большую емкость.
Таблица 5 - характеристики аккумуляторов
Параметр
Значение
Размерность
Ёмкость (C акк .)
55
мАч
Напряжение (U акк.)
3,8
В
Габариты (∅ x h)
10.4x10.4
мм
Максимальное
заряда
напряжение 4,35
В
Максимальный ток заряда
60
мА
Максимальный ток разряда
120
мА
Поскольку
матриц
и
необходимо
допустимые
светодиодов
предусмотреть
напряжения
имеют
питания
различные
преобразователи
ПЛИС,
значения,
питания
из
номинального напряжения аккумулятора в 3.6В – питание
светодиодов [20] и ПЛИС [18] и 2.4 В – питание матриц [12].
22
2.6 Выбор способа заряда
Заряд
аккумуляторов
осуществляется
с
помощью
устройства, преобразующего энергию радиоволн в энергию
электрического тока. Такой способ предпочтительнее заряда
посредством
электромагнитной
индукции,
поскольку
это
позволит использовать уже имеющуюся антенну в качестве
приемника
энергии.
Основные
критерии
выбора
RF-DC
преобразователя [17] это частотный диапазон, согласованный
с
антенной
и
компактность.
Одновременный
аккумуляторов и передача данных исключены.
23
заряд
3 РАЗРАБОТКА ПРИНЦИПИАЛЬНОЙ СХЕМЫ
3.1 Выбор способа модуляции
С точки зрения вероятности ошибки BER= f
Eb
, BPSK –
N0
( )
фазовая манипуляция превосходит остальные двухуровневые
виды манипуляции OOK - амплитудная, MSK-частотная на
3дБ (Рисунок 6) [16].
Рисунок 6 - зависимость вероятности битовой ошибки от
Eb
величины N
0
Где Eb −¿энергия, необходимая для передачи одного бита
информации, N 0 −¿ спектральная плотность мощности белого
шума в канале [16].
Поэтому в данном решении, реализация радиопередачи
используется двоичная фазовая манипуляция – BPSK, при
которой каждому цифровому символу сопоставляется своя
начальная
фаза
несущего
колебания,
при
неизменной
амплитуде. Низкому уровню бинарного сигнала советует
фаза 0°, высокому 180°.
24
Наименьшие потери при распространении радиосигнала
в организме человека обеспечиваются в полосе 400-600МГц
[13]. Зависимость коэффициента поглощения радиоволн от
толщины тканей представлена на рисунке 7.
В решении используется петлевая антенна, нанесенная
на поверхность капсулы (Рисунок 9 a, b) [13]. На частотах 430
МГц и 933 МГц у такой антенны коэффициент отражения
системы антенна-фидер минимален (Рисунок 8a) [13]. Исходя
из предыдущих соображений, частота несущей составляет
430МГц, а частота модуляции 43МГц.
Рисунок 7 - экспериментальные зависимости и зависимости,
полученные в результате симуляции потерь сигнала в Дб от
толщины ткани в мм, при различной ориентации антенны
[13]
25
Рисунок 8 - коэффициент отражения антенны капсулы (а) и
антенны на поверхности тела (b) [13]
Мощность
сигнала
на
поверхности
ткани,
в
месте
установки приемной антенны, зависит от коэффициента
отражения. Согласно [13] K отраж.дб =−17,5 Дб для аналогичной
конфигурации антенны (Рисунок 8а). Потери от ослабления
радиоволн
тканями
определяются
коэффициентом
ослабления ( K ослабления.дб =50 дБ ) (Рисунок 7). Рассчитаем долю
мощности
1
гармоники
P1
Pполн .
с
помощью
Фурье-
преобразования:
P1
Pполн .
=
4U
π
2
( ) =0.8(2)
2U 2
Антенна управляется через LVDS порт ПЛИС, мощность
которого составляет P LVDS =I LVDS 2 ∙ R=1,225 мВт .Тогда, учитывая
все изложенные выше факторы, мощность сигнала в месте
установки приемной антенны будет
P поверх=P LVDS ∙ K ослабления ∙ ( 1−K отраж . ) ∙
P1
P полн.
=9,43нВт (3)
Таким образом, мощность излучения, используемая в
данном решении, отвечает требованиям безопасности [13].
26
Рассчитаем
отношение
вероятность
С
.
Ш
ошибки
BER.
Найдем
Мощность теплового шума при T =307 K °
температура
тела, R=50Ом
–сопротивление
-
приемной
антенны, B = 86МГц - полоса пропускания канала, равна:
Ш =k∙ T ∙ R ∙ B=1.8∙ 10−11 Вт( 4)
гдеk-постоянная Больцмана.
Eb
учитывая, что приемная антенна
N0
Найдем величину
изотропна
(пик
отражения
скорость
усиления
−¿18
антенна-фидер
передачи
пропускания
B
бит
дБи
[13]),
(Рисунок
K отраж.2 =−20 дБ
R=43МГц,
=86МГц.
а
Коэффициент
коэффициент
ширина
шума
8b),
полосы
приемной
антенны примем равным 7дБ.
Eb С ∙ ( 1−K отраж .2 ) B
=
∙ −7дБ=23.1дБ (5)
N0
Ш
R
Тогда вероятность ошибки для BPSK сигнала равна [16]:
1
BER=
√2 π
Поскольку
рассчитанном
∞
∫
√
e
−t
2
2
dt=5.339∙10
−12
(6)
Eb
2
N0
такой
метод
отношении
передачи
сигнал/шум
данных
обладает
при
низкой
вероятностью ошибок, дополнительного помехоустойчивого
кодирования не требуется.
Чувствительность
приемника
рассчитаем
исходя
из
следующей формулы:
S=10 log
(
P поверх
=−50,26 Дбм(7)
1 мВт
)
Здесь используется приемная антенна, согласованная с
антенной передатчиком, представленная на рисунке 9 c, d.
27
Зависимость
коэффициента
отражения
от
частоты
представлена на рисунке 8b [13].
Рисунок 9 - a - антенна капсулы, b – антенна, нанесенная на
поверхность, c, d – антенна внешняя, накладываемая на тело
[13]
Антенна
Согласование
обеспечивается
подключается
импеданса
самой
к
LVDS
питающей
выходу
линии
конфигурацией
и
ПЛИС.
антенны
нанесенной
на
поверхность антенны и фидера [13].
К плате антенна крепится посредством паечных точек.
Предварительно она наносится на гибкую подложку из
тугоплавкого прозрачного полимера и вместе с платой
помещается внутрь капсулы.
28
3.2 Разработка устройства управления матрицами
Устройство управления будет синтезирована на языке
Verilog
описания
и
реализовано
в
ПЛИС.
Функции,
выполняемые этим устройством:
1) Управление питанием матриц и светодиодов.
3) Передача информации с матриц на внешнее устройство
посредством антенны.
4) Задание конфигурации матриц.
Само
устройство
управления
будет
активироваться
и
деактивироваться с помощью магнитоуправляемого ключа.
Устройство управления матрицами является автоматом с
конечным числом состояний. Устройство последовательно
включает матрицы, синхронизируется, принимает 1 кадр с
изображением, отправляет данные конфигурации и цикл
повторяется. Конфигурация матриц необходима для задания
времени экспозиции. Время экспозиции в этих матрицах
устанавливается
количеством
сброшенных
состояний автомата представлен на рисунке 11.
29
строк.
Граф
Рисунок 11 - Граф состояний устройства управления
матрицами
Сигнал «старт» поступает при коммутации герконового
ключа. В самом начале процедуры устройство включается,
пользователь убеждается, что сигнал с камер поступает на
внешнее устройство, после чего капсула проглатывается.
Таким образом, осуществляется тестирование устройства на
работоспособность. Работу устройства можно прекратить,
изменяя полярность управляющего магнита, сбросив тем
самым сигнал «старт» в 0.
Камера
NanEye
2D
после
каждого
отправленного
изображения ожидает в течение некоторого времени ответа
от управляющего устройства, этим ответом и является
состояние
“Задание
конфигурации”.
Оно
может
быть
проигнорировано, однако используется в данном случае для
того, чтобы задать время экспозиции в следующем кадре.
Задание экспозиции происходит в соответствии с формулой 5
[12]:
T экс =
max [ N строк −N строк. reset ;2 ]
N строк
× T чтен . (8)
Где T экс время экспозиции; N строк −количесвто строк ; N строк .reset−¿
количество сброшенных строк; T чтен . =22,7 мс−¿время чтения
данных ячеек
Схема взаимодействия блоков управляющего устройства
представлена
на
рисунке
13.
Модуль
top_NanEye
осуществляет управление камерами и светодиодами.
–
Сигнал
reset перед каждым включением матрицы сбрасывает все
регистры и PLL устройства. Сигнал config_done служит для
распознавания конца полного цикла работы с одной матрицы.
30
Модуль MUX коммутирует сигналы с матрицы на вход, а
при начале цикла конфигурации коммутирует сигналы на
выход. Сигнал config_data – сигнал конфигурации, in _clk_data
– сигнал, поступающий с матриц.
Модуль Clk_data_recovery с помощью внутреннего PLL
захватывает
частоту
тактирования
сигнал
матриц
in_clk_data
с
матриц
на
и
разделяет
тактовый
clk
и
информационный data. Сигнал clk_data_locked информирует о
готовности посылать данные.
Модуль
deserialisator
записывает
поступающие
последовательные данные data в параллельные - signal [11:0].
Сигнал done информирует о поступлении новых 12 бит кадра
с матриц.
Модуль
Antenna_ctrl
–
управляет
антенной.
Осуществляет модуляцию с частотой большей, чем частота
поступающих данных. Отправляет из регистра signal [11:0] на
антенну пачками последовательный сигнал.
Модуль
отсчитывая
picture_watch
поступающие
с
помощью
кадры
следит
сигнал
за
тем,
done
когда
матрица будет готова к конфигурации. По завершению цикла
получения
данных
матрицы
генерируется
сигнал
picture_done.
Модуль serial_config отвечает за конфигурацию матриц,
он
отправляет
последовательным
сигналом
config_data
заранее заданные биты конфигурации. Сигнал с config_data
сопровождается высоким уровнем сигнала config_done. Спад
config_done
информирует
о
конце
цикла
конфигурации.
Посылка конфигурации всегда для матриц значит одно –
сбросить все ячейки в ноль для последующих снимков.
31
Рисунок 13 - Схема взаимодействия блоков устройства управления матрицами NanEye 2D
32
3.2.1 Разработка модуля top_NanEye
Модуль
представляет
собой
автомат,
реализующий
следующую последовательность операций:
1)
при
поступлении
сигнала
активации
start
–
модуль
активирует одну из четырех камер – сигнал power_NanEye
[3:0]
2) нижние модули обрабатывают сигнал с камеры и по
завершению обработки посылают сигнал config_done – сигнал
конца конфигурации
3) при поступлении сигнала config_done, модуль top_NanEye
дожидается
конца установки конфигурации,
включенной
ранее матрицы, и устанавливает reset в верхний уровень
переключая питание на следующую матрицу.
4)
активация
каждой
новой
матрицы
сопровождается
активацией светодиодов power_LED [3:0]. По завершению
времени экспозицииT exp =
2
∙ 22.7ms, заданной заранее, сигнал
250
power_LED [3:0] устанавливается в нижний уровень отключая
светодиоды.
Рисунок 14 – эпюры сигналов модуля top-NanEye
Модуль top_NanEye имеет три счетчика (приложение А):
один счётчик инкрементирует двух разрядный регистр count,
значение которого соответствует текущей матрице, другой
счетчик enable отсчитывает время экспозиции светодиодов,
третий инкрементирует регистр timer и служит для задания
паузы после конфигурации матрицы.
Конструкция case -
предназначена для последовательной подачи питания на
матрицы.
3.2.2 Разработка модуля Clock_data_recovery
Модуль
представляет
собой
автомат,
реализующий
следующую последовательность операций:
1) После включения одной из матриц, та приступает к
синхронизации (фаза 253 – рисунок 20) [13]. В течение цикла
синхронизации
модуль
Clock_data_recovery
захватывает
частоту тактирования матрицы.
2) Цикл синхронизации матрицы завершается молчанием
длиной в три кадра (фаза 253а рисунок 20) в этот момент
модуль
Clock_data_recovery
поступающих
данных
с
осуществляет
матрицы
на
уже
разделение
захваченный
тактовый сигнал - clk и сигнал данных - data. Начало
разделения
сопровождается
установлением
выхода
clk_data_locked в высокий уровень. Детектирование конца
цикла синхронизации и начала цикла отправки данных
матрицей осуществляется сравнением сигнала захваченной
ранее частоты и новых поступающих данных. Как только
поступающие данные in_clk_data отличаются от захваченного
синхросигнала clk наступает процесс разделения данных data
и синхросигнала clk.
34
3) перед каждым следующим циклом захвата синхросигнала
все регистры и внутренний PLL сбрасывается сигналом reset
Рисунок 15 - эпюры сигналов модуля Clock_data_recovery
Основная часть модуля Clock_data_recovery это PLL. На
вход PLL подается сигнал синхронизации.
При захвате
частоты PLL генерирует сигнал locked который разрешает
проверку условия несовпадения входного сигнала in_clk_data
и сигнала, захваченного PLL - clk_out_pll. Как только эти
сигналы отличаются друг от друга генерируется сигнал
clk_data_locked
и
на
выходе
модуля
Clock_data_recovery
появляются захваченная частота clk и поступающие на вход
данные data.
35
3.2.3 Разработка модуля MUX
Модуль
представляет
собой
автомат,
реализующий
следующую последовательность операций:
1)
при
поступлении
сигнала
reset
модуль
MUX
инкрементирует внутренний счетчик. Значение счетчика
соответствует значению подключаемых портов inout_LVDS
[3:0].
2) фронт сигнала config_done информирует о начале передачи
конфигурации
на
информирует
о
конце
соответствии
с
этим
устанавливаются
матрицу,
на
выход
спад
сигнала
передачи
порты
config_done
конфигурации.
inout_LVDS
(config_done
=
1)
В
[3:0]
или
–
вход
(config_done = 0)
3) in_clk_data – выход, по которому поступают сигналы
синхронизации или данных с одной из матриц, config_data –
вход, по которому поступают данные конфигурации на одну
из подключаемых матриц.
Рисунок 16 - эпюры сигналов модуля MUX. Z - состояние в
данном случае означает состояние при котором включена
только одна матрица, в то время как остальные выключены.
36
Модуль MUX (приложение А) включает в себя счетчик
count – инкрементируется при поступлении сигнала reset и
конструкцию
case,
которая
в
зависимости
от
значения
счетчика count с помощью регистров enable_1 - enable_4
запрещает или разрешает передачу и прием информации со
входов, подключенных к матрицам (inout_LVDS). Положение
сигнала config_done в нуле означает прием данных - сигнал
in_clk_data
(inout_LVDS
устанавливается
на
вход),
в
1
означает отправку данных – сигнал config_data (inout_LVDS
устанавливается на выход).
3.2.4 Разработка модуля deserialisator
Модуль
представляет
собой
автомат,
реализующий
следующую последовательность операций:
1) сигнал clk_data_locked разрешает работу модуля.
2) фронт сигнала clk сопровождается записью во внутренний
12
-
разрядный
регистр
последовательного
сигнала,
поступающего со входа data.
3)
каждые
12
тактов
выходной
регистр
signal
[11:0]
принимает значение внутреннего регистра и выход done
устанавливается в высокий уровень, после чего сбрасывается.
4) спад сигнала reset устанавливает в ноль значения всех
внутренних регистров
37
Рисунок 17 - эпюры сигналов модуля deserialisator
Модуль
deserialisator
(приложение
А)
при
помощи
конструкции case записывает в последовательные данные со
входа data в регистр buff[11:0], при переполнении регистра
переписывает его значения в выходной регистр signal[11:0] и
устанавливает сигнал done в высокий уровень, сигнализируя
тем самым последующим модулям о принятии полного кадра.
3.2.5 Разработка модуля Antenna_ctrl
Модуль
представляет
собой
автомат,
реализующий
следующую последовательность операций:
1) При поступлении сигнала done разрешающего отправку
сообщения модуль генерирует несущее колебание с частотой
430 МГц.
2)В соответствии со значениями битов в регистре signal [11:0]
модуль с частотой 43 МГц меняет фазу на 180 градусов если
значение очередного бита = 1 или не меняет фазу если
значение очередного бита = 0. Частота 43 МГц была выбрана
из условий:
- модулирующая частота должна быть кратна 430МГц, для
исключения фазовых сдвигов, расширяющих спектр сигнала.
- модулирующая частота должна быть больше частоты 30МГц
– частоты получения информации с камер.
38
3) первый и последний бит всегда принимаются равными
нулю вне зависимости от значений signal [11] и signal [0] –
это старт и стоп биты из исходной посылки
Рисунок 18 - эпюры сигналов модуля Antenna_ctrl
Несущая частота 430МГц и огибающая 43МГц создаются
с
помощью
PLL.
Конструкция
case
осуществляет
последовательное сравнение битов из регистра signal [11:0] с
единицей. Если бит равен 1, то инвертируется значение flag,
что фактически означает смену фазы несущего колебания
430МГц. Сигнал done в always блоке обнуляет счетчик count
запуская заново цикл в конструкции case.
3.2.6 Разработка модуля picture_watch
Последовательность
сигналов
с
камеры
NanEye
2D
представлена на рисунке 20. Один полный цикл работы
матрицы
делится
на
253
фазы.
Фаза
253,
-
фаза
синхронизации, занимает 249 или 250PP. Фазы 1.1 – 250.2 и
253a
-
фазы
отправки
1+ ( 3+249 ) ∙ 250+4+ 248=63004
PP.
изображения
Фаза
252
–
занимают
фаза
приема
конфигурации занимает 505 PP. Где PP – Pixel Period – время
отправки значения 1 пикселя соответствует частоте 2.5МГц.
Таким
образом,
для
детектирования
начала
цикла
конфигурации необходимо отсчитать 63004 кадра от момента
завершения цикла синхронизации.
39
1)
вход
clk_data_locked
разрешает
модулю
picture_watch
инкрементировать значения внутреннего регистра каждый
раз при поступлении сигнала done.
2) когда значение внутреннего регистра достигает 63004 на
выход
picture_done
подается
высокий
уровень.
Сигнал
означает конец цикла приема изображения или начало цикла
передачи конфигурации.
3) спад сигнала reset сбрасывает значение всех регистров
модуля picture_watch
Рисунок 19 - эпюры сигналов модуля picture_watch. Сигнал
picture_done сформировался в момент времени
24 1935us=0.384 us∙63004
Фронт
сигнала
done
в
модуле
picture_watch
инкрементирует регистр count до значения 63004, после чего
счетчик
count
останавливается
поскольку
срабатывает
условие, устанавливающее регистр flag в 1, который в свою
очередь
запрещает
инкремент.
устанавливается в высокий уровень.
40
Сигнал
picture_done
Рисунок 20 - последовательность посылок с матрицы NanEye
2D [12]
41
3.2.7 Разработка serial_config:
Кроме
всего
прочего
конфигурация
позволяет
сбросить
строки в матрице, сокращая тем самым время экспозиции
следующего кадра [12]. Конфигурация матрицы задается в
соответствии
с
последовательностью,
представленной
на
рисунке 22. Первые 4 бита всегда 1001, потом всегда следует
000, и 16 бит непосредственно команды. Эти 16 бит задаются
согласно
рисунку
23.
Полностью
последовательность
конфигурации имеет вид 1001 000 10 10 01 10 1111 1000.
1)
фронт
picture_done
инициирует
отправку
битов
конфигурации по последовательному порту config_data.
2) отправка config_data сопровождается высоким уровнем
сигнала config_done.
3) фронт picture_done устанавливает внутренний регистр
enable в 0. Данный регистр разрешает передачу данных
конфигурации config_data.
4) фронт reset вновь устанавливает enable в 1 разрешая
следующую передачу.
Рисунок 21 – эпюры сигналов модуля serial_config
Конструкция case в модуле serial_config с частотой 2.5МГц
(частота, полученная посредством деления входной частоты
clk), последовательно назначает на выход conig_data биты из
42
регистра conf [22:0]. Передачу разрешает регистр enable,
который устанавливается в конце цикла в 0. Сигнал reset
вновь разрешает цикл, устанавливая enable в 1.
Рисунок 22 - последовательность бит конфигурации матрицы
NanEye 2D [12]
Рисунок 23 - детальное описание управляющих бит
конфигурации матрицы NanEye 2D [12]
43
3.3 Выбор метода задания конфигурации ПЛИС
Загрузка конфигурации ПЛИС происходит на этапе
сборки печатной платы. После установки на печатную плату
через порт JTAG программируется память ПЛИС из которой
впоследствии при подаче питания на устройство загружается
конфигурация. Для загрузки данных по JTAG на плате
предусмотрен специальный
соединитель,
выполненный
виде контактных площадок. (Рисунок 24). [18].
Рисунок 24 - контакты для конфигурации ПЛИС после
монтажа [18]
44
в
Данные конфигурации записываются во внутреннюю
память ПЛИС, при подаче питания ПЛИС автоматически и
конфигурируется [18].
ПЛИС тактируется от внутреннего резонатора. При
подаче питания внутренний резонатор настроен на частоту
2.02МГц, а после завершения конфигурации частота задаётся
равной 133МГц [18].
Питание ПЛИС подключено к DC-DC преобразователю с
выходным напряжением 3.6В. Выводы питания оснащены
блокировочными конденсаторами С1, С2 емкостью 0.1 мкФ и
1нФ
выбираются
01016D104M2A-0.1мкФ-6.3В±20%
и
0101ZD101M2A-100пФ-10В±20% соответственно [25].
Вывод
ПЛИС
CRESET
подключается,
согласно
технической документации, Рисунок 25 [18]. Резистор R10 и
конденсатор
С9
2,2КОм±5%
используются
и
RC0201JR-072K2RL-0.05Вт-
01016D104M2A-0.1мкФ-6.3В±20%
соответственно.
Рисунок 25 - подключение вывода CRESET ПЛИС [18]
45
3.4 Выбор схемы переключения режимов антенны и
аккумулятора
К
дифференциальным
выводам
ПЛИС
антенна
подключается через MEMS ключи D9, D10 (Рисунок 26).
Аккумулятор подключен к схеме через нормально замкнутый
герконовый ключ SF1, управляемый внешним магнитом.
Переключение между режимами необходимо для того, чтобы
RF-DC
преобразователь
не
шунтировал
антенну
при
передаче, а аккумулятор не разряжался при хранении.
В режиме передачи антенна подключена к портам
ПЛИС, а аккумулятор подключен к схеме питания через
замкнутый контакт SF1. Схема заряда при этом неактивна и
отключена от аккумулятора запертым диодом VD5. В режиме
заряда, когда капсула находится рядом с внешним магнитом,
антенна отключается от выводов ПЛИС и подключается к RFDC преобразователю PCC114, а аккумулятор отключается от
потребителей
(матриц,
светодиодов)
и
подключается
контроллеру заряда D6, ключ SF1 разомкнут.
46
к
Рисунок 26 - подключение схемы переключения режимов
заряда
MEMS
ключи
-
SKY13699-21
в
корпусе
размером
1.15x1.15x0.59 мм.
Переключение
герконовым
между
ключом
режимами
R5B-S-5-12.
будет
управляться
Подключение
ключа
проводится согласно рисунку 25 [27]. Диод VD5 выбран из
условия минимального тока утечки в запертом состоянии с
целью обеспечения минимального разряда аккумулятора в
режиме хранения.
Диод VD5 препятствует разряду аккумулятора в режиме
хранения, используется BAT30F4 с малым обратным током
2.2мкА и прямым напряжением U VD 6=¿0.27В [23]. Тогда время
47
хранения капсулы равно t разряд .100% =
С акк .
=2.8 лет – при полном
2,2 мкА
разряде. t разряд .10%=¿3.4 месяца для 10% разряда.
Схема индикации заряда, состоящую из резистора R9,
диода
и
светодиода,
Резистор
R9
430Ом±5%номиналом
напряжение
подключена
-
рисунку
26.
RC0201JR-07430RL-0.05Вт-
R 9=
светодиода
согласно
U пит−U ном
=430 Ом,
3 мА
SMD0402PGC
U пит=4,5 В [26].
48
где
прямое
U ном=3.1В
[20],
3.5 Выбор RF-DC преобразователя
Разумно
выбрать
RF-DC
преобразователь
PCC114
с
характеристиками, представленными в таблице 6 [17].
Таблица 6 - характеристики PCC114 [17]
параметр
КПД
диапазон частот
диапазон мощности
входное сопротивление
размер
выходное напряжение
выходной ток
значение размерность
до 75%
100MHz-6GHz
-17...20
Дбм
50
Ом
1x0.6x0.3 мм
4,2
В
100
мА
Рисунок 27- зависимость КПД от частоты и входной мощности
[17]
Наибольший
КПД
достигается,
когда
на
вход
преобразователя поступает сигнал с частотой 915 МГц
(Рисунок 27). На этой же частоте коэффициент отражения
антенны минимален и составляет K отраж. дб =−17,5 Дб (Рисунок
8). Мощность от системы антенна - преобразователь ( P заряд . ) в
этом случае составит 100 мВт∙ 0,62=62 мВт
49
Тогда время t заряд . заряда составит:
t заряд .=
C акк . ∙ Uакк .
=3.6 часа(9)
P заряд.
где C акк .=55 мАч, U акк . =3,8 В [15].
Подключается согласно документации [17] - рисунок 28.
Микросхема
компактном
D6
-
корпусе
Номинальное
контроллер
0.65x0.65
напряжение
заряда
мм
выбирается
в
NCP160BFCS450T2G.
контроллера
U заряд. =4,5 В
Подключается согласно [26].
Рисунок 28 - схема подключения RF-DC преобразователя
[17,26]
Конденсаторы С3 и С4 в данном случае выбираются
емкостью 22мкФ и 1мкФ. Здесь используется элементы
04026D225M2A-22мкФ-6.3В±20%
6.3В±20% [25].
50
и
02016D105M2A-1мкФ-
3.6 Подключение матриц NanEye 2D
Входные порты соединяются, согласно рисунку 29 [12].
Рисунок 29 - подключение матриц и ПЛИС [12]
Резисторы
выбираются
RC0201JR-07120RL-0.05Вт-
120Ом±5%[24].
По данным технической документации матриц NanEye
2D во внешних согласующих элементах они не нуждаются
[12].
Управление
питанием
матриц
осуществляется
посредством P – канальных полевых транзисторов в ключевом
режиме. Целесообразно выбрать транзисторы FK4B01110L,
которые имеют габаритные размеры 0.60 x 0.60 x 0.37 мм
[19]. Подключаются согласно рисунку 30. Затвор соединен
напрямую к управляющему выводу ПЛИС.
52
Рисунок 30 - подключение ключей к матрицам NanEye
2D
3.7 Выбор светодиодов
Основным
требованием
при
выборе
светодиодов
является их малые габариты, потребление и одновременно
высокая сила рассеивания.
В решении применяются белые импульсные светодиоды
SM0402UWC, размером 0.5x1x0.5мм и углом излучения 130°
и номинальным напряжением 3,1В, которые удовлетворяют
основным требованиям. Характеристики сведены в таблицу 5
[20].
Таблица
7
-характеристики
искусственного
источника
освещения
Параметр
Значение
Размер
0.5x1x0.5
Прямой номинальный ток 20
Размерность
мм
мА
I ном
Номинальное
напряжение 3,1
В
U ном
Угол излучения
Цвет
130
белый
53
град.
Сила рассеивания
Рабочая температура
600
-40…+85
mcd
°С
Управление светодиодами осуществляется с помощью
полевых
MOSFET
транзисторов
NX7002BKH
в
корпусе
0.62x0.62x0.37 мм [27], схема подключения представлена на
рисунке 31.
выходу
R8 =
Затвор подключен напрямую к управляющему
ПЛИС.
Номинал
резисторов
выбран
равным
U пит −Uном
=24 Ом из ряда номиналов E24. Выбор сделан в
I ном
пользу RC0201JR-0724RL-0.05Вт-24Ом±5%[24].
Рисунок 31 - подключение светодиода
3.8 Подключение DC-DC преобразователей
Основным
критерием
является их размер.
в
выборе
Преобразователи
преобразователей
RP605Z3 имеют
габариты 2.315 x 1.71 x 0.36 мм и высокий коэффициент
полезного действия близкий к 100% [21]. Подключаются
согласно рисунку 32[21].
54
Рисунок 32 - схема включения DC-DC преобразователей [21]
Из
технической
номиналы
документации
конденсаторов
равны
[21]
22мкФ,
следует,
а
что
номинал
индуктивности дросселя 2.2 мкГн. Целесообразно выбрать
04026D225M2A-22мкФ-6.3В±20%
2.2мкГн±20% соответственно [25].
55
и
LK10052R2M-TV-
3.9 Расчёт времени работы
Для
расчёта
устройства,
а
потребления
именно
учтем
какую
алгоритм
часть
времени
работы
будет
функционировать тот или иной узел.
Исходя из алгоритма работы NanEye 2D (Рисунок 20)
[12]
время
отправки
одного
( 251+ ( 250 x 254 ) +4+ 505 ) ∙ PP ,. где
PP-Pixel
кадра
составляет
Period
=
1
.
2.5 MHz
Капсула отправляет по 5 кадров в секунду с каждой из
четырех матриц. Вычислим какую часть времени работает
этот узел.
Т NanEye =( 251+ ( 250 x 254 ) +4+505 ) ∙ PP ∙ 5∙ 4=0,52с(10)
Вычислим
сколько
времени тратится
при передаче
информации на внешнее устройство. Кадр размером 249x250
с
глубиной
цвета
10
бит,
отправляется
посредством
частотной модуляции с частотой 43МГц. Тогда 5 кадров с
каждой из 4х матриц будут отправлены в течение:
Т LVDS =( 249×250 ) ∙
1
∙10 ∙ 5∙ 4=0,415с
43 MHz
(11)
Время экспозиции задаётся равным T экс=181,6 мкс [12].
Потребление
ПЛИС
рассчитаем
с
помощью
программного обеспечения Vivado Design Suite (Рисунок 33).
56
Рисунок 33 - расчет потребления ПЛИС
Получили P ПЛИС =18 мВт.
Теперь
рассчитаем
потребление
всего
устройства,
учитывая время работы отдельных узлов.
P капсул=P NanEye ∙
Т NanEye
Т
T
+ P LVDS ∙ LVDS + I свет . ном ∙ U свет . ном ∙ экс + P ПЛИС =20,7 мВт
1с
1с
1с
(12)
где, P NanEye =4,2 мВт , P LVDS =1,225 мВт , I свет .ном ∙U свет.ном =4 ∙20 мА ∙3,1 В ,
P ПЛИС =¿ 18 мВт
Тогда время автономной работы капсулы:
T капсул=
C акк . ∙ U акк .
=10,1часа(13)
P капсул
57
4 РЕКОМЕНДАЦИИ ПО РАБОТЕ С КАПСУЛОЙ
1) Алгоритм работы капсулы аналогичен графу состояний на
рисунке 11.
2)
После
включения
капсулы
информация
поступает
последовательно с каждой камеры, начиная с фронтальной.
Несущая частота сигнала 430МГц. Фазовая манипуляция
происходит на частоте 43МГц. Сдвиг фазы 180° соответствует
“1” сдвиг фазы 0° соответствует “0”.
3) Каждая посылка состоит из 12 бит. Первый и последний
бит = 0. 10 бит кодируют значения каждого пикселя с
матрицы. Между посылками передача прекращается.
4) Значения пикселей посылаются согласно рисунку 20 из
технической документации матриц NanEye 2D [12], минуя
фазы 252 и 253.
5) Перед применением рекомендуется провести тестирование
капсулы,
включив
камеру
убедится,
что
та
посылает
с
помощью
информацию с матриц.
6)
Капсула
активируется
и
деактивируется
магнита. Деактивация и активация соответствует помещению
капсулы в магнитное поле или удалению из него.
7) Капсула может быть использована повторно, после заряда.
8)
Капсула
заряжается
с
помощью
встроенного
RF-DC
преобразователя. Заряд рекомендуется проводить на частоте
радиоволн 933МГц. Время полного заряда от 4 часов.
9)
Заряд
необходимо
проводить
при
деактивированной
капсуле, в присутствии постоянного магнитного поля.
10)При окончании заряда загорается зеленый индикатор,
после чего рекомендуется прекратить заряд.
58
11)
Перед
непосредственным
активировать
передачу
контейнер,
капсулу,
данных
применением
отсоединив
поместив
обеспечивающий
затуханием в теле пациента.
59
магнит
капсулу
затухание,
в
необходимо
и
проверить
специальный
сравнимое
с
ЗАКЛЮЧЕНИЕ
Таким образом, результатом проделанной работы стало
устройство для капсульной эндоскопии, способное вести
съемку как стенок кишечника, получая панорамное, так и
просвета кишечника, получая фронтальное изображения.
Длительность работы получившейся схемы составляет до 10.1
часов, при непрерывной панорамной и фронтальной съемки
со скоростью более 25 кадров в секунду и разрешением
249x250 пикселей. Как и требовалось устройство может быть
заряжено и применено повторно.
60
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Маев И. В., Самсонов А. А. Болезни двенадцатиперстной
кишки. М.: МЕДпресс-информ, 2005—512 с ISBN 5-98322-0926. Гл. 1. Морфологические особенности двенадцатиперстной
кишки.
2. Van de Bruaene C, De Looze D, Hindryckx P. Small bowel
capsule endoscopy: Where are we after almost 15 years of use?
World J Gastrointest Endosc 2015; 7(1): 13-36
3. Robert Koprowski. Overview of technical solutions and
assessment
of
clinical
Koprowski
BioMed
usefulness
Eng
OnLine
of
capsule
(2015)
endoscopy.
14:111
DOI
10.1186/s12938-015-0108-3
4. David Tenembaum, Cristina Sison, Moshe Rubin. Accuracy of
community
based
video
capsule
endoscopy
in
patients
undergoing follow up double balloon enteroscopy. World J
Gastrointest Endosc 2013 April 16; 5(4): 154-159 ISSN 19485190
5. Hong S. P.,
Cheon J. H.,
Kim T. I.
et
al.
Comparison
of
the diagnostic yield of «MiroCam» and «PillCam SB» capsule
endoscopy. Hepatogastroenterology. 2012; 59: 778–781.
6. Cave D. R.,
Fleischer D. E.,
Leighton J. A.
et
al.
Amulticenter randomized comparison of the Endocapsule and
the Pillcam SB. Gastrointest Endosc. 2008; 68: 487–494.
7. Hale MF, Sidhu R, McAlindon ME. Capsule endoscopy:
Current practice and future directions. World J Gastroenterol
2014; 20(24): 7752-7759
61
8. Park S, Chun HJ, Keum B, Seo YS, Kim YS, Jeen YT, Lee HS,
Um SH, Kim CD, Ryu HS. Capsule Endoscopy to Detect Normally
Positioned Duodenal Papilla: Performance Comparison of SB and
SB2. Gastroenterol Res Pract. 2012;2012:202935.
9. М.М. Лохматов, Т.Н. Будкина, В.И. Олдаковский, Е.Ю.
Дьяконова, А.С. Потапов. Первый опыт применения у детей
инновационной эндоскопической видеокапсульной системы с
панорамным
обзором.
Статья
поступила:
31.08.2016
г.,
принята к печати: 26.12.2016 г. DOI: 10.15690/pf.v13i6.1673
10. Горбачёв А.А., Коротаев В.В., Ярышев С.Н. Твердотельные
матричные фотопреобразователи и камеры на их основе. –
СПб.: НИУ ИТМО, 2013. – 98 с.
11. Техническая документация к капсуле COLON 2 PillCam
[Электронный
ресурс]
/
Официальный
PillCam
сайт
//
компании
Режим
доступа:https://www.accessdata.fda.gov/cdrh_docs/reviews/K123
666.pdf (дата обращения 23.04.2020)
12.
Техническая
документация
к
матрице
NanEye
2D
[Электронный ресурс] / Официальный сайт компании AMS //
Режим
доступа:
https://ams.com/naneye
(дата
обращения
23.04.2020)
13. Chih-Kuang Wu., Tsung-Fu Chien., Chin-Lung Yang., and
Ching-Hsing Luo. Design of Novel S-Shaped Quad-Band Antenna
for MedRadio/WMTS/ISM Implantable Biotelemetry Applications.
2012; doi:10.1155/2012/564092
14. Dobromir Filip, OrlyYadid-Pecht, Christopher N. Andrews,
and Martin P. Mintchev; Design, implementation, and testing of a
62
miniature self-stabilizing capsule endoscope with wireless image
transmission
capabilities.
International
Journal "Information
Technologies & Knowledge" Vol.5, Number 1, 2011
15. Техническая документация к аккумуляторам GP M10-10
[Электронный ресурс] / Официальный сайт компании GP //
Режим доступа: https://ind.gpbatteries.com/application/gp-lrcrechargeable-lithium-ion-coin-cell-series.html
дата
обращения
23.04.2020
16.
Выбор
оптимального
метода
модуляции
сигнала
в
современных цифровых системах радиосвязи. моделирование
в среде Awr Design Environment Москва – 2008 г.
17. Техническая документация к RF-DC преобразователю
PC114 [Электронный ресурс] / Официальный сайт компании
Powercast
//
Режим
доступа:
https://www.powercastco.com/products/powerharvesterreceivers/ (дата обращения 23.04.2020)
18. Техническая документация к ПЛИС MachXO3 семейства
[Электронный ресурс] / Официальный сайт компании Lattice
Semiconductor
//
Режим
доступа:
http://www.latticesemi.com/en/Products/FPGAandCPLD/MachXO
3.aspx (дата обращения 23.04.2020 )
19. Техническая документация к полевым транзисторам
FK4B01110L [Электронный
дистрибьютора
ресурс]
/ Официальный
Mouser
//
https://ru.mouser.com/datasheet/2/315/FK4B01110L_E1391680.pdf (дата обращения 23.04.2020)
63
сайт
Режим
20. Техническая документация к светодиодам SM0402xx
[Электронный ресурс] / Официальный сайт дистрибьютора
Mouser
//
Режим
доступа:
https://ru.mouser.com/datasheet/2/50/Bivar-3-22-2017SM0402UWC-1159049.pdf (дата обращения 23.04.2020)
21. Техническая документация к DC-DC преобразователю
RP605x
[Электронный
ресурс]
дистрибьютора
/
Официальный
сайт
Mouser
//
https://ru.mouser.com/datasheet/2/792/rp605-ea-1815205.pdf
(дата обращения 23.04.2020)
22.
Продакшин
ресурс]
/
бриф
к
Официальный
матрице
сайт
OV6946
компании
https://www.ovt.com/sensors/OV6946
[Электронный
OmniVision
(дата
//
обращения
23.04.2020)
23.
Техническая
документация
к
диоду
BAT30F4
[Электронный ресурс] / Официальный сайт дистрибьютора
Mouser
//
https://ru.mouser.com/datasheet/2/348/sml-p11-e-
1139217.pdf (дата обращения 23.04.2020)
24. Техническая документация к резисторам [Электронный
ресурс]
/
Официальный
сайт
дистрибьютора
Mouser
//
https://ru.mouser.com/datasheet/2/447/PYuRC_Group_51_RoHS_L_10-1664068.pdf
(дата
обращения
23.04.2020)
25.
Техническая
документация
к
диэлектрическим
конденсаторам [Электронный ресурс] / Официальный сайт
дистрибьютора
Mouser
https://ru.mouser.com/datasheet/2/40/cx5r-776519.p
обращения 23.04.2020)
64
//
(дата
26.
Техническая
документация
к
микросхеме
NCP160BFCS450T2G [Электронный ресурс] / Официальный
сайт
дистрибьютора
Mouser
//
https://ru.mouser.com/datasheet/2/308/NCP160-D-1812517.pdf
(дата обращения 23.04.2020)
27.
Техническая
документации
к
ключу
R5B-S-5-12
[Электронный ресурс] / Официальный сайт компании RPE //
https://www.reed-sensor.com/reed-sensors/biased-smd/ultramini
ature-nc-reed-sensors/ (дата обращения 23.04.2020)
28. Техническая документация к транзисторам NX7002BKH
[Электронный ресурс] / Официальный сайт компании RPE //
https://ru.mouser.com/datasheet/2/916/NX7002BKH-1599193.pdf
(дата обращения 23.04.2020)
29.
Техническая
документация
к
катушке
LK10052R2M
[Электронный ресурс] / Официальный сайт дистрибьютора
Mouser //
https://ru.mouser.com/datasheet/2/396/mlci01_hq_e-
1620716.pdf (дата обращения 23.04.2020)
65
ПРИЛОЖЕНИЕ А
module top_NanEye(
input
wire
CLK100MHZ,
// глабальное тактирование
input
wire
config_done,
конигурации для 1 матрицы
// конец приема информации и передачи
input
wire
start,
// сигнал начала работы
output
reg
[3:0]LED_power,
// питание LED
output
reg
[3:0]NanEye_power,
// питание NanEye
output
reg
reset
// reset
);
//
Clock_data_recovery top_NanEye_CDR(
//
.CLK100MHZ
(CLK100MHZ),
//
.reset
(reset)
//
);
//
deserialisator top_NanEye_deserialisator(
//
.CLK100MHZ
(CLK100MHZ),
//
.reset
(reset)
//
);
//
picture_watch top_NanEye_picture_watch(
//
.CLK100MHZ
(CLK100MHZ),
//
.reset
(reset)
//
);
//
Antenna_Ctrl top_NanEye_Antenna_Ctrl(
//
.CLK100MHZ
(CLK100MHZ),
//
.reset
(reset)
//
);
//
serial_config top_NanEye_serial_config(
//
.CLK100MHZ
(CLK100MHZ),
//
.reset
(reset)
//
);
66
//
MUX top_NanEye_MUX(
//
.CLK100MHZ
(CLK100MHZ),
//
.reset
(reset),
//
.config_done
(config_done)
//
);
// подача питания на матрицы и светодиоды после конца reset
reg enable=1'bz;
reg [19:0]exp=0;
reg [1:0]count=2'b0;
always @(posedge CLK100MHZ)
begin
if (enable == 1)
exp=exp+1;
if (exp == 90_800)
begin
exp =0;
enable =0;
end
LED_power [0] = enable ? 1'b1 : 1'b0;
LED_power [1] = enable ? 1'b1 : 1'b0;
LED_power [2] = enable ? 1'b1 : 1'b0;
LED_power [3] = enable ? 1'b1 : 1'b0;
end
always @ (reset or start)
begin
if (start == 1)
begin
if (reset == 0)
begin
case (count)
0: begin
67
NanEye_power[0] =1'b1;
NanEye_power[1] =1'b0;
NanEye_power[2] =1'b0;
NanEye_power[3] =1'b0;
enable=1;
count =1;
end
1: begin
NanEye_power[0] =1'b0;
NanEye_power[1] =1'b1;
NanEye_power[2] =1'b0;
NanEye_power[3] =1'b0;
enable=1;
count = 2;
end
2:
begin
NanEye_power[0] =1'b0;
NanEye_power[1] =1'b0;
NanEye_power[2] =1'b1;
NanEye_power[3] =1'b0;
enable=1;
count = 3;
end
3:
begin
NanEye_power[0] =1'b0;
NanEye_power[1] =1'b0;
NanEye_power[2] =1'b0;
NanEye_power[3] =1'b1;
enable=1;
count =0;
end
endcase
end
else begin
NanEye_power[3:0] =4'b0;
68
LED_power[3:0] =4'b0;
end
end
else begin
NanEye_power[3:0] =4'b0;
LED_power[3:0] =4'b0;
end
end
reg [7:0]timer=0;
reg enable_res=0;
always @(CLK100MHZ)
begin
if (enable_res ==1)
timer = timer +1;
else if (config_done==1)
timer=0;
end
always @( config_done, timer)
begin
if (config_done==0 && timer != 255)
enable_res =1;
if (timer==255)
enable_res =1'b0;
end
always @( config_done or timer)
begin
if (config_done==0)
begin
if (timer == 2)
begin
reset=1;
end
if (timer == 255)
begin
69
reset=0;
end
end
end
endmodule
module Clock_data_recovery(
input
input
input
output
output
output
data и clk
wire
wire
wire
wire
wire
reg
in_clk_data,
// clk и data LVDS NanEye
CLK100MHZ,
// глобальное тактированеие
reset,
// reset на PLL
data,
// выход data после синхронизации
clk,
// выход clk после синхронизации
clk_data_locked // синхронизация завершена на выходе
);
wire
wire
wire
clk_in_pll;
clk_out_pll;
locked_pll;
// провода для внутренней связи
// PLL и CDR
//
clk_wiz_1 clk_wiz_1_CDR(
.clk_in1
(clk_in_pll),
//30MHz - NanEye data clk
.reset
(reset),
// сброс PLL
.locked
(locked_pll),
// PLL синхронизирован с опрной
частотой
.clk_out1
(clk_out_pll)
//30MHz
);
deserialisator deserialisator_CDR(
.data
(data),
.clk
(clk),
.clk_data_locked
(clk_data_locked)
);
picture_watch picture_watch_CDR(
.clk_data_locked
(clk_data_locked)
);
serial_config serial_config_CDR(
.clk
(clk)
);
MUX MUX_CDR(
.in_clk_data
);
(in_clk_data)
assign clk_in_pll = locked_pll ? clk_out_pll : in_clk_data ;
assign clk = clk_data_locked ? clk_out_pll : 1'bz;
assign data = clk_data_locked ? in_clk_data : 1'bz;
always @(posedge clk_out_pll)
отправляет сигнал молчания
begin
захваченного синхросигнала
// при передаче данных матрица
// сигнал молчания отличается от
70
if (clk_out_pll != in_clk_data)// блок информирует о начале передаче
данных
begin
передача данных
end
end
clk_data_locked = 1;
always @(posedge CLK100MHZ )
begin
if (reset == 1)
clk_data_locked = 0;
end
endmodule
module deserialisator(
input
wire
//тактирование
input
wire
input
wire
input
wire
input
wire
output
reg
output
reg
);
// синхросигнал захвачен, начинается
CLK100MHZ,
// не испльзуется глобальное
reset,
//
data,
//
clk,
//
clk_data_locked,//
[11:0]signal,
//
done
//
не используется reset
вход data c CDR
вход clk c CDR
enable для deserialisator
выход 12 бит данных 1 кадр
кадр готов
picture_watch picture_watch_DESER(
.done
(done)
);
Antenna_Ctrl Antenna_Ctrl_DESER(
.signal
(signal),
.done
(done)
);
reg [3:0]count = 0;
reg [11:0]buff = 0;
// счетчик бит в кадре. считает до 12
// промежуточный буфер
always @(posedge CLK100MHZ )
begin
if (reset == 1)
begin
count <=0;
buff <=0;
signal <=0;
done <=0;
end
end
always @(posedge clk )
begin
if (clk_data_locked==1 && reset ==0)
begin
case(count)
0: begin
signal = buff;
buff[11] <= data;
count = 1;
done = 1;
71
end
begin
buff[10] <= data;
count = 2;
done = 0;
end
2: begin
buff[9] <= data;
count = 3;
end
3: begin
buff[8] <= data;
count = 4;
end
4: begin
buff[7] <= data;
count = 5;
end
5: begin
buff[6] <= data;
count = 6;
end
6: begin
buff[5] <= data;
count = 7;
end
7: begin
buff[4] <= data;
count = 8;
end
8: begin
buff[3] <= data;
count = 9;
end
9: begin
buff[2] <= data;
count = 10;
end
10: begin
buff[1] <= data;
count = 11;
end
11: begin
buff[0] <= data;
count = 0;
end
endcase
end
if (clk_data_locked==0)
1:
data
begin
done =0;
end
// пока с CDR не поступает
// кадр не готов
end
endmodule
72
module Antenna_Ctrl(
input
wire
CLK100MHZ,
input
wire
[11:0]signal,
input
wire
done,
input
wire
reset,
output wire
antenna_out
//проманипулированна по фазе
);
//
//
//
//
//
глобальное тактирование вход PLL
вход 12 бит
разрешить передачу
reset подключен напрямую к PLL
выход несущая частота
wire
CLK43MHZ;
wire
clk_out1;
wire
clk_out2;
wire
locked;
//настройки PLL)
//
//
//
//
огибающая
сигнал несущей фаза 0
сигнал несущей фаза 180
конец выставления несущей (конец
clk_wiz_0_clk_wiz Antenna_Ctrl(
.reset
(reset),
.clk_in1
(CLK100MHZ),
.clk_out1
(clk_out1),
.clk_out2
(clk_out2),
.clk_out3
(CLK43MHZ),
.locked
(locked)
);
//
//
//
//
//
//
//
PLL
reset
вход
выход
выход
выход
конец
reg flag;
reg [3:0]count;
always @(posedge CLK100MHZ)
begin
if(reset == 1)
begin
count=0;
end
end
always @(posedge done)
begin
if(reset == 0 && locked == 1)
begin
count=0;
flag =1'bz;
end
end
assign antenna_out = flag ? clk_out1 : clk_out2;
always @ (posedge CLK43MHZ )
begin
if (locked == 1 && reset == 0)
begin
case(count)
0: begin
flag =1;
count=1;
end
1: begin
if (signal[10] == 1)
flag = !flag;
73
фаза 0
фаза 180
частота манипуляции
подстройки
count=2;
end
2: begin
if (signal[9] == 1)
flag = !flag;
count=3;
end
3: begin
if (signal[8] == 1)
flag = !flag;
count=4;
end
4: begin
if (signal[7] == 1)
flag = !flag;
count=5;
end
5: begin
if (signal[6] == 1)
flag = !flag;
count=6;
end
6: begin
if (signal[5] == 1)
flag = !flag;
count=7;
end
7: begin
if (signal[4] == 1)
flag = !flag;
count=8;
end
8: begin
if (signal[3] == 1)
flag = !flag;
count=9;
end
9: begin
if (signal[2] == 1)
flag = !flag;
count=10;
end
10: begin
if (signal[1] == 1)
flag = !flag;
count=11;
end
11: begin
flag = 1'bz;
end
endcase
end
end
endmodule
74
module picture_watch(
input
wire
CLK100MHZ,
input
wire
reset,
input
wire
clk_data_locked,
input
wire
done,
output reg
picture_done
);
serial_config picture_watch(
.picture_done
(picture_done)
);
reg [19:0]count;
reg flag=0;
always @ (posedge CLK100MHZ)
begin
if (reset == 1)
begin
count = 63004;
63004
picture_done = 0;
flag = 0;
end
end
// 1PP+(3PP+249PP)*249+(3PP+248PP) =
always @ (posedge done)
begin
if (reset == 0 && clk_data_locked == 1 && flag == 0)
count = count - 1;
if (count ==0)
picture_done <=1;
if (count > 63004)
// 1PP+(3PP+249PP)*249+(3PP+248PP) =
63004
begin
flag=1;
end
end
endmodule
75
module serial_config(
input
wire
input
wire
input
wire
input
wire
//начало цикла управления
output
wire
//данными конфигурации
output
reg
посланы
);
MUX serial_config(
.config_data
.config_done
);
reg [2:0]count_1;
reg clk2_5MHZ;
CLK100MHZ,
reset,
clk,
picture_done,
//
//
//
//
глобальное тактирование
reset
30MHZ тактирование с CDR
изображение отправлено,
config_data,
// последовательный выход с
config_done
// данные конфигурации
(config_data),
(config_done)
// счетчик считает до 12
// 2.5MHz clk
always @ (posedge clk)
// 30MHZ to 2.5MHz
begin
count_1 = count_1 + 1'b1 ;
if (count_1 == 3'b110)
begin
count_1 =0;
clk2_5MHZ = !clk2_5MHZ;
end
end
reg enable;
reg conf_serial ;
//
//
разрешает отправку конфигурации
регистр для последовательного присвоения
assign config_data = enable ? conf_serial : 1'bz;
отправка
//конфигурации
reg [22:0]conf;
reg [4:0]count_2;
// при enable = 1
// 23 бит регистр конфигурации
// счетчик считает до 23
always @(posedge CLK100MHZ)
// сброс
begin
if (reset == 1)
begin
count_1=0;
conf = 23'b_1001_000_10_10_01_10_1111_1000; // из даташит
//NanEye
count_2=0;
config_done=0;
clk2_5MHZ=1;
enable=1;
conf_serial=1'bz;
end
end
always @(posedge clk2_5MHZ )
присваивает
// последовательно
76
//на выход config_data биты из
//регистра [22:0]conf
begin
if (picture_done == 1 && enable == 1)
// проверка отправлено ли
//изображения был ли reset
begin
case(count_2)
0: begin
conf_serial = conf[22];
count_2 = 1;
config_done=1;
// сообщаем что конфигурация
началась
end
1: begin
conf_serial = conf[21];
count_2 = 2;
end
2: begin
conf_serial = conf[20];
count_2 = 3;
end
3: begin
conf_serial = conf[19];
count_2 = 4;
end
4: begin
conf_serial = conf[18];
count_2 = 5;
end
5: begin
conf_serial = conf[17];
count_2 = 6;
end
6: begin
conf_serial = conf[16];
count_2 = 7;
end
7: begin
conf_serial = conf[15];
count_2 = 8;
end
8: begin
conf_serial = conf[14];
count_2 = 9;
end
9: begin
conf_serial = conf[13];
count_2 = 10;
end
10: begin
conf_serial = conf[12];
count_2 = 11;
end
11: begin
conf_serial = conf[11];
count_2 = 12;
end
12: begin
conf_serial = conf[10];
count_2 = 13;
77
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
//завершилась
end
begin
conf_serial = conf[9];
count_2 = 14;
end
begin
conf_serial = conf[8];
count_2 = 15;
end
begin
conf_serial = conf[7];
count_2 = 16;
end
begin
conf_serial = conf[6];
count_2 = 17;
end
begin
conf_serial = conf[5];
count_2 = 18;
end
begin
conf_serial = conf[4];
count_2 = 19;
end
begin
conf_serial = conf[3];
count_2 = 20;
end
begin
conf_serial = conf[2];
count_2 = 21;
end
begin
conf_serial = conf[1];
count_2 = 22;
end
begin
conf_serial = conf[0];
count_2 = 23;
end
begin
enable =0;
config_done=0;
end
endcase
end
end
endmodule
78
// до следующего reset
// сообщаем что конфигурация
module MUX(
input
wire
CLK100MHZ,
//
input
wire
reset,
input
wire
config_done,
//
input
wire
config_data,
//
inout
wire
[3:0]inout_LVDS,
//
output reg
next,
//
//изображения и отправки конфигурации
output wire
in_clk_data
//
);
reg
reg
reg
reg
reg
глабальное тактирование
завершение конфигурации
данные конфигурации
вход с матриц
индикатор завершения цикла приема
выход clk data
[1:0]count=0; // счетчик для последовательно переключения матриц
enable_0;
// флаги разрешающие цикл приема информации
enable_1;
// или передачи конфигурации
enable_2;
// (1 - передается конфигурация)
enable_3;
// (0 - принимается информация с матриц)
// основная часть мультиплексора распределяет inout на in и out
assign in_clk_data = enable_0 ? 1'bz: inout_LVDS[0];
assign inout_LVDS[0] = enable_0 ? config_data : 1'bz;
assign in_clk_data = enable_1 ? 1'bz: inout_LVDS[1];
assign inout_LVDS[1] = enable_1 ? config_data : 1'bz;
assign in_clk_data = enable_2 ? 1'bz: inout_LVDS[2];
assign inout_LVDS[2] = enable_2 ? config_data : 1'bz;
assign in_clk_data = enable_3 ? 1'bz: inout_LVDS[3];
assign inout_LVDS[3] = enable_3 ? config_data : 1'bz;
always@ (posedge config_done)
begin
if (reset == 0)
begin
case (count)
0: begin
enable_0
count=1;
next=0;
end
1: begin
enable_1
count=2;
next=0;
end
2: begin
enable_2
count=3;
next=0;
end
3: begin
enable_3
count = 0;
next=0;
end
endcase
end
end
=
1'b1;
=
1'b1;
=
1'b1;
=
1'b1;
always@ (negedge config_done)
79
begin
enable_0
enable_1
enable_2
enable_3
next=1;
end
=
=
=
=
1'b0;
1'b0;
1'b0;
1'b0;
// блок обработки reset
always @(posedge CLK100MHZ)
begin
if (reset ==1)
begin
next=0;
count=0;
enable_0
enable_1
enable_2
enable_3
end
end
=
=
=
=
1'b0;
1'b0;
1'b0;
1'b0;
endmodule
80
Отзывы:
Авторизуйтесь, чтобы оставить отзыв