Scientific journal
Modern high technologies
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,940

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

Значительно уменьшить дозу радионуклидов, вводимых в кровь пациента, и при этом получить качественное изображение можно с помощью метода кодированной апертуры.[1]

Построенную по этому принципу систему можно разделить на два крупных блока - блок формирования тени и блок восстановления изображения.

Первый блок состоит из кодированной апертуры (маски) - непрозрачного для излучения экрана с набором миниатюрных отверстий (пинхолов), размещенных по поверхности экрана по псевдослучайному закону и из матрицы детекторов (например, ФЭУ), расположенной на некотором расстоянии от маски. Таким образом, первый блок создает и регистрирует тень изображения.

Второй блок - компьютер, в который по шине данных передается информация от детекторов. На этапе реконструкции требуется выполнение значительных по объему и сложности математических вычислений (вычисляется свертка матрицы тени с матрицей обратной матрице кодированной апертуры). Учитывая то, что умножение и сложение являются весьма длительными операциями, вычисление свертки является весьма длительной операцией.

Добиться ускорения процесса восстановления можно двумя методами.

Во-первых, увеличивая производительность вычислительной техники.

Во-вторых, опираясь на теорию представления, можем считать, что возбуждение детектора является результатом логической операции между сигналом от источника и кодированной апертурой.[2] Таким образом восстанавливать изображение мы можем, используя только логические операции, а, следовательно, возможна аппаратная реализация блока восстановления на основе контроллера сбора-обработки информации (на базе микроконтроллер AVR - сопроцессор ПЛИС FPGA).

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

  • Логические функции выполняются быстрее арифметических;
  • Скорость функционирования ПЛИС очень высока;
  • Обработка матрицы тени производится не поэлементно, а построчно.

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

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

Работа выполнена в рамках проекта МНТЦ №893.

В качестве аппаратного модуля предлагается использование специального блока на основе универсального контроллера PRC3-6.

В состав контроллера входят:

  • AVR - Микроконтроллер (процессор);
  • FPGA - ПЛИС сопроцессора ввода-вывода и обработки данных;
  • Система связи RS-485/232 - Модуль связи с ПЭВМ;
  • EEPROM - Последовательное ПЗУ хранения данных;
  • FPGA I/O - Интерфейс связи «Микропроцессор-ПЛИС»;
  • USER I/O - Интерфейс связи с внешними устройствами.

Основными составными частями контроллера PRC3-6 являются:

  • AVR - Микроконтроллер (процессор);
  • FPGA - ПЛИС сопроцессора ввода-вывода и обработки данных;
  • HOST I/O - Система связи RS-485/232 (Модуль связи с HOST-процессором или ПЭВМ);
  • EEPROM - Последовательное ПЗУ хранения данных;
  • Peripheral I/O - Блок связи с внешними устройствами внешними устройствами (ВУ);
  • Buff North, East, South, West - Буферы связи с ВУ;
  • CONF - Модуль конфигурирования ПЛИС на основе ПЗУ AT17_512A с помощью устройства ATDH2225;
  • JTAG - Разъем конфигурирования ПЛИС с помощью интерфейса JTAG и устройства ByteBlaster MV;
  • FPGA I/O - Интерфейс связи «Микропроцессор-ПЛИС»;
  • USER I/O - Универсальный (конфигурируемый пользователем) интерфейс связи с ВУ;
  • I/O - Интерфейс последовательной связи с ВУ.

С помощью интерфейса USER I/O (до 70 линий, конфигурируемых пользователем) к сопроцессору могут подключаться датчики или исполнительные устройства. При этом может обеспечиваться последовательное или параллельное сопряжение в соответствии с требованиями различных стандартов, физические параметры которых определяются возможностями используемых буферов или приемо-передатчиков. Стандартные буферы могут обеспечить многоуровневое (Multivolt) ТТЛ-сопряжение с устройствами 5В и 3,3В-логики, а после несложной доработки и 2,5В-логики. Добавлением приемо-передатчиков, осуществляемое путем установки дополнительных плат с мезанинным принципом размещения, достигается расширение возможных используемых интерфейсов. Сюда можно отнести такие интерфейсы как RS-422/485, IEEE1284, USB (1.1-2.0), IrDA и многие другие. Удаление ВУ может составлять расстояния более 1 км, скорость передачи может превышать значения 1-100 Мбайт/с. Помимо ВУ предусматривается возможность подключения к каналам USER I/O других контроллеров типа PRC3-6 или иных типов.

Конфигурирование FPGA может осуществляться традиционными способами, с помощью интерфейса JTAG и устройства ByteBlaster MV или модуля конфигурирования ПЛИС на основе ПЗУ AT17_512A. ПЗУ типа AT17, в свою очередь может программироваться с помощью устройства ATDH2225. Существует возможность удаленного конфигурирования ПЛИС или перепрограммирования AT17 с последующим конфигурированием FPGA путем соединения внешним кабелем Peripheral I/O и модулей JTAG или CONF. После такого подключения осуществляется передача/обмен данными под управлением AVR, данные для конфигурирования могут находиться в ПЗУ EEPROM или поступать от HOST-процессора. Предусмотрен режим переконфигурирования схемы FPGA в режиме "ON-Line", в работающем контроллере.

В качестве вспомогательного модуля хранения данных используются микросхемы (до 2 ИМС) последовательного ПЗУ типа AT25xxx, суммарной емкостью до 128кбайт. Программирование ПЗУ осуществляется микроконтроллером AVR. Предусмотрена возможность удаленного программирования ПЗУ со стороны HOST-процессора и программирование (перезапись данных) со стороны AVR, включая режим записи текущих данных в реальном масштабе времени при проведении измерений или диагностики. Дополнительно реализована возможность замены ПЗУ, размещенной в специальной панели на плате. Информация, хранящаяся в ПЗУ используется микроконтроллером и может содержать:

  • Текущие данные измерительных систем и систем управления,
  • Калибровочные и поправочные значения, кодировочные таблицы,
  • Систему меню и базовые значения для системы ручного управления,
  • Варианты конфигураций схемы ПЛИС,
  • Иную информацию.

Основные вопросы разработки обеспечения аппаратных и программных средств поддержки DSP-приложений, включая алгоритмы основных функций, широко освещается в технической литературе, например в работах [3], [4]. Как правило, в качестве средства реализующего выполнение алгоритмов подразумевается использование специализированных DSP-процессоров или центрального процессора ПЭВМ. Однако, в ПЛИС некоторые операции выполняются не менее эффективно (см. таблицу 1 и 2), а, в ряде случаев, превосходят результаты характерные для процессоров.


Таблица 1. Выполнение некоторых операций в FPGA

ACEX 1K Device Performance

Application

Performance

Speed Grade

Units

-2

-3

16-bit loadable counter

232

185

MHz

16-bit accumulator

232

185

MHz

16-to-1 multiplexer

4.5

6.6

ns

16-bit multiplier with 3-stage pipeline

131

93

MHz

256x16 RAM read cycle speed

196

143

MHz

256x16 RAM write cycle speed

143

111

MHz

Таблица 2. Выполнение некоторых DSP-операций в FPGA

ACEX 1K Device Performance for Complex Designs

Application

 

Performance

Speed Grade

Units

-2

-3

 

16-bit, 8-tap parallel finite impulse response (FIR) filter

156

116

MSPS

8-bit, 512-point Fast Fourier transform (FFT) function

28.7

38.9

ms

92

68

MHz

Основные функции микроконтроллера AVR в контроллере PRC3-6:

  • Обеспечение связи с HOST-процессором и управление связью с ВУ,
  • Обеспечение управлением работой составных частей контроллера и обменом данными между ними, арбитраж работы системы,
  • Управление предварительной обработкой данных и выполнение ряда математических операций, например умножение,
  • Принятие решений при управлении работой подключенных устройств.

Благодаря использованию микропроцессора и ПЛИС удалось на одной плате совместить достоинства как алгоритмической, так и быстрой параллельной многоканальной обработки данных.

СПИСОК ЛИТЕРАТУРЫ

  1. Г.А. Федоров, С.А. Терещенко Вычислительная эмиссионная томография. Москва. Энергоатомиздат, 1990г.
  2. О.А. Ханджян Начала и основы теории представления. Москва. Диалог-МГУ, 1998г.
  3. Оллсон Г., Пиани Д. Цифровые системы автоматизации и управления. - СПб.: Невский Диалект, 2001. 557с. ил.
  4. Солонина А.И., Улахович Д.А., Яковлев Л.А. Алгоритмы и процессоры цифровой обработки сигналов. - СПб.: БХВ- Петербург, 2001.-464с.: ил.