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

Особенности построению встроенных логических анализаторов бортовых микропроцессорных систем Текст научной статьи по специальности «Электротехника, электронная техника, информационные технологии»

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

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

SVCXPRT *transp;

} ;

pthread_t p_thread; pthread_attr_t attr;

/* Процедура, выполняемая потоком */ void *

serv_request(void *data)

{

struct thr_data *ptr_data = (struct thr_data *)data; union {

square_in squareproc_2_arg;

} argument; union {

square_out squareproc_2_res;

} result; bool_t retval;

xdrproc_t _xdr_argument, _xdr_result; bool_t (*local)(char *, void *, struct svc_req *);

/*

Получение данных для выполнения удаленной процедуры процедурой serv_request ( )

*/

struct svc_req *rqstp = ptr_data->rqstp; register SVCXPRT *transp = ptr_data->transp;

Дальнейший код процедуры serv_request () смотри, например, в [3] или [4]. Блок main(), сгенерированный утилитой rpcgen, оставляем без измене-ний.Полностью код файла square_svc.c для среды RHEL AS 3 опубликован в [3], [4]. Детально сборка многопотокового RPC-сервера в среде RHL9/RHEL AS 3 описана в [1].

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. http://www.linuxgazette.com/node/9005.

2. Стивенс У. UNIX: Взаимодействие процессов. -Спб.: Из-во “Питер”, 2002.

3. http://www.linuxgazette.com/node/10201.

4. http: //lxer.com/module/newswire/view/36422.

А.О.Пьявченко, А.А.Литовкин, В.А.Дьяченко

ОСОБЕННОСТИ ПОСТРОЕНИЮ ВСТРОЕННЫХ ЛОГИЧЕСКИХ

АНАЛИЗАТОРОВ БОРТОВЫХ МИКРОПРОЦЕССОРНЫХ СИСТЕМ

В статье рассматриваются актуальность и необходимость создания встроенных логических анализаторов (ЛА) для диагностики цифровых блоков бортовых микропроцессорных систем (БМПС), их цифровых каналов связи в процессе проведения их отладки и комплексной регулировки системы; рассматриваются принципы построения таких устройств с применением и в составе ПЛИС, а также результаты апробации принципов на примере макета логического анализатора шины PCI персонального компьютера.

Как уже отмечалось в [1], для современных бортовых микропроцессорных систем в настоящее время характерен модульный принцип построения, как правило, реализованный конструктивно в виде кассеты, каждое гнездо которой занимает специализированная ячейка единого типоразмера (ТЭЗ). С учетом высоких скоростей межмодульного обмена, разветвленности каналов связи нет никакой гарантии тому, что успешно прошедшая стендовые испытания ячейка сразу заработает при проведении приборных (комплексных) испытаний. Виной тому могут быть различные помехи в каналах связи, ошибки в монтаже кассеты, несогласованность нагрузки в линиях, недоработка аппаратуры самой ячейки, а иногда и ошибки в ее программном обеспечении. Установить причину в современных условиях довольно сложно, особенно в случае, когда резко возрастает вероятное количество сбоев, а возможности проведения внешнего контроля ТЭЗ и выявления их причин, наоборот, резко сужаются. Это происходит ввиду недоступности большинства предусмотренных разработчиком контрольных точек при помощи стандартного измерительного оборудования по месту штатной установки ячейки.

Применение в составе ТЭЗ современных FPGA-модулей позволяет поднять процесс комплексной отладки и регулировки ячеек приборов БМПС на иной, более эффективный уровень. Дело в том, что ведущие производители ПЛИС вот уже на протяжении нескольких лет предлагают разработчикам собственные техно ло-гии отладки и регулировки цифровых устройств, проектируемых на кристалле, и направленных на сокращение времени их создания. Так, фирма Altera разработала два метода, для того чтобы у разработчика была возможность проанализировать состояние внутренних точек и входов/выходов устройства. Это методы с применением отладочных средств SignalProbe и логического анализатора SignalTap. Обе технологии могут работать совместно со средствами синтеза сторонних производителей и не требуют внесения изменений в исходный HDL-файл проекта. Доступная в последних версиях программного обеспечения Quartus II технология аппаратной отладки SignalProbe позволяет пользователям последовательно соеди-нять внутренние точки устройства со свободными зарезервированными выводами микросхемы для анализа с помощью внешнего осциллографа или логического анализатора, сохраняя все временные параметры и установленные проектом межсоединения. Однако в случае комплексной отладки ячейки в составе прибора такой подход, как правило, не эффективен. Конечно, можно в конструкции устройства предусмотреть вывод контрольных точек на лицевую панель ячейки, а значит сделать ее доступной разработчику в процессе комплексной отладки, однако частая смена конфигурации ячейки, установленной в прибор, не допустима. Применение же в последних разработках ПЛИС, выполненных в BGA-корпусах с большим количеством выводов, сводит на нет эффективность применения этого метода ввиду большой сложности проекта и, как следствие, большого количества тестируемых контрольных точек в процессе его комплексной отладки. Для решения этой проблемы целесообразно применить альтернативную технологию -SignalTap, предполагающую встраивание мегафункции логического анализатора в схемотехнический проект устройства, реализуемый на ПЛИС. Из фирменной документации известно, что SignalTap позволяет разработчикам собирать данные с любых внутренних точек и входов/выходов устройства в режиме реального времени при работе системы. Quartus II вставляет в проект мегафункцию, содержащую логический анализатор. Пользователь может выполнить настройку ЛА на соответ -ствующий вариант запуска (по уровню или по фронту сигнала в требуемой контрольной точке) с указанием длины зоны предпусковой регистрации. При этом имеется возможность собирать данные в блоках встроенной памяти отлаживаемого устройства и направлять их в программное обеспечение Quartus II через загру-

зочный кабель. В результате в ПК оказывается возможным выполнение сравнения результатов машинного эксперимента с реальными, полученными в процессе отладки, а значит, сравнительно быстро найти причину возникшей неисправности. Данная технология прекрасно себя зарекомендовала при стендовых испытаниях сложных устройств, однако ее применение в процессе проведения комплексных испытаний затруднено: так, переподключение контрольных точек съема, расширение каналов ЛА, как и в первом случае, требуют изменения текущей конфигурации ПЛИС с последующей перезагрузкой устройства, а значит и всей системы в целом. Кроме того, использование РиагШБ II (версии от 4.1 и выше) предъявляет повышенные требования как к быстродействию ПК, так и к таким его ресурсам, как встроенный объем оперативной памяти, объем свободного дискового пространства. Кроме того, на рабочих постах, где штатно помещаются приборы БМПС, зачастую отсутствует подводка требуемого для ПК питающего напряжения.

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

Таким средством, по мнению авторов настоящей статьи, может стать логический анализатор, состоящий из встраиваемого и внешнего по отношению к верифицируемому устройству модулей. Причем встраиваемый модуль предлагается синтезировать на основе 81^аГГар-технологии с той разницей, что между контрольными точками, создаваемыми согласно данной технологии, и непосредственными точками съема вводится блок коммутации, управляемый от соответствующего блока настройки конфигурации ЛА. Последний блок, в свою очередь, программно управляется внешним микроконтроллером, входящим в состав второго модуля ЛА - модуля управления и отображения (рис. 1). Причем связь блока и микроконтроллера осуществляется по интерфейсу 8Р1, выбранному из-за его простоты и достаточного быстродействия. Введение в состав второго модуля ЛА (пульта ЛА) двухстрочного символьного индикатора и матричной клавиатуры, а также наличие интерфейса связи с ПК позволяют обеспечить возможность организации эффективного управления сравнительно небольшими ресурсами памяти ПЛИС, переподключая в динамике фиксированное число каналов встроенного ЛА и имея при этом установленную в проекте глубину выборки. Таким образом, внешний по отношению к тестируемой ячейке модуль ЛА играет в процессе ее верификации роль консоли и пульта дистанционного управления.

Следует указать на особую осторожность, которую необходимо соблюдать разработчику при создании распределенного блока коммутации. Так, излишний топологический разброс контрольных точек, программно настраиваемых на одну и ту же мегафункцию однобитового ЛА, может привести к проявлению эффекта гонок в цепях коммутации, а значит к возникновению «глитчей», не связанных с работой аппаратуры функциональной части ячейки. Наличие пассивных мегафункций в составе проекта позволяет значительно снизить эффект гонок межсоединений, предусматриваемых для съема данных с контрольных точек, однако неэффективно расходует ресурсы ПЛИС. Следовательно, здесь необходимо искать компромисс между сложностью блока коммутации, количеством контрольных точек и подключением в проект дополнительных пассивных мегафункций однобитовых ЛА, активизируемых пользователем в процессе регулировки устройства.

Устройство логического анализатора ТЭЗов бортовой МПС

ТЭЗ бортовой МПС

Блок графической памяти

Функциональный FPGA-модуль

Контроллер графической памяти - Контроллер графического LCD

Блоки памяти регистрации X Q. ■ І» С

данных О CL S

с?< —

Блок многоканального S ^ -0-X о 0 W ш S

анализа и — Q.

регистрации 5 га

сигналов I

Модуль управления и отображения информации

Интерфейс LCD ---------►

Графический LCD 640x480

Интерфейс SPI «-------->

Устройство

подсветки

Блок

питания

Переключатели

источника

питания

Клавиатура

Адаптер интерфейса связи с ПК

Диапазон номиналов внешних источников питания

+12В; +27В; +36В; -220В

Интерфейс сопряжения с ПК

Символьный

LCD

Модуль флэш-диска

, Встраиваемый модуль J1A

Выносной модуль Л А

К ресурсам бортовой МПС

Рис.1. Структура логического анализатора

Как видно из рис. 1, собранная при помощи встроенной SignalTap-технологии информация преобразуется на ортогональной регистровой матрице контроллером модуля графической памяти к виду, регламентированному протоколом связи с графическим LCD, и записывается в теневую страницу модуля графической памяти. При этом контроллер графического LCD выполняет очередную выборку из активной страницы, назначенной контроллером памяти для отображения. В функции контроллера также входят формирование на аппаратном уровне и удержание временной диаграммы управления графическим LCD, регламентированной требованиями его интерфейса для устойчивого покадрового воспроизведения. При необходимости, контроллер графического LCD может решать вопросы программно-управляемого масштабирования изображения, выводимого на экран. Следует отметить, что воспроизводимые на экране LCD пульта кадры могут быть в фоновом режиме архивированы на встроенном электронном диске, объем которого устанавливается пользователем. Наличие интерфейса связи с ПК позволяет передавать в ПК результаты архивации для их последующей обработки, сопоставления и распечатки на принтере. Возможности современных микроконтроллеров с ядром ARM7TDMI позволяют реализовать с малыми аппаратными затратами такие интерфейсы ПК, как RS232, USB или Ethernet 10/100BasedT. Особенно для этой цели подходят микроконтроллеры производства фирм Samsung, Philips, NEC и ряд других.

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

Как видно из рис. 2, устройство выполнено в виде стандартного слота PCI и содержит:

- PCI 32-бит 33МГц интерфейс - блок отвечает за правильную работу устройства по протоколу PCI спецификации [7];

- модуль многоканальной регистрации сигналов из состава встроенного в ПЛИС логического анализатора - обеспечивает регистрацию сигналов шины PCI и запись этих сигналов в 32-канальную память регистрации;

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

- многоканальное ОЗУ анализатора - память, в которой хранится зарегистрированная информация;

- блок обработки и вывода изображения - блок, отвечающий за инициализацию LCD, обработку зарегистрированной информации в ОЗУ анализатора с отображением ее в ОЗУ видеопамяти и вывод на графический дисплей;

- управляющий AVR-микроконтроллер - используется в качестве внешнего устройства управления логическим анализатором. Именно на него возлагается решение задач управления режимами работы ЛА, группировки контролируемого набора сигналов, формирования и задания шаблонов символьного обозначения групп сигналов, управления клавиатурой, прорисовки координат, линий и другой символьной информации.

Разъем для программиро -вания ПЛИС в PS-режиме

Разъем

интерфейса

RS232C

Разъем для подключения AT-совместимой клавиа-

туры

Разъем для подключения LCD

Конфигурационное ППЗУ EPC2 и разъем для про-граммиров ания

Разъем ISP-программирования AVR-микроконт роллера

AVR-микро-

контроллер

ATmega128

Одноканальный АЦП

Разъем шины PCI Local Bus Specification, Revision 2.2

ПЛИС FPGA семейства ACEX: EP1K100QC208-3

Разъем для подключения внешнего технологического источника питания +5 В

Рис. 2. Учебный проект логического анализатора шины РСІ персонального

компьютера

С учетом ориентации на учебный процесс на устройстве были также установлены 12-разрядные двухканальный ЦАП и одноканальный АЦП. Последние блоки позволяют в 4В-диапазоне реализовать два аппаратных канала генерации низкочастотных сигналов произвольной формы, а также программно-управляемый канал ввода аналогового сигнала. Частота дискретизации - до 70 КГц на канал,

причем суммарная ошибка в канале не превышает одного младшего разряда 12битового представления сигнала. Также имеется возможность использования совместно с ПЛИС многоканального АЦП микроконтроллера, установленного на плате ЛА.

Результатами данного проекта явилось создание инструмента для разработчика встроенных систем с внутрисистемным интерфейсом PCI - макета платы логического анализатора шины PCI, основными достоинствами которого являются:

- наличие базового набора мегафункций, обеспечивающих функционирование ЛА на шине PCI;

- поддержка PCI интерфейса с возможностью его сканирования и вывода изображения на графический LCD в режиме 640х480 пикселей;

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

PCI;

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

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

- возможность работы под управлением встроенного AVR-микроконтроллера, в свою очередь управляемого при помощи внешнего оборудования, например другого ПК через интерфейс RS232, или ручного управления с помощью стандартной AT-клавиатуры;

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

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

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

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

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

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

В-четвертых, наличие микроконтроллерного управления позволяет программно управлять режимами ЛА на лету, без дополнительной перезагрузки всей БМПС, в том числе, объявлять заранее созданные контрольные точки активными,

а значит группировать их экранное изображение в порядке, необходимом пользователю.

В-пятых, предложенный подход может быть расширен для нескольких FPGA-модулей, использование которых возможно в составе ячейки. Для этого каскад ПЛИС объединяется посредством интерфейса SPI, мастером на котором выступает микроконтроллер. Каждой ПЛИС присваивается индивидуальный идентификационный номер, позволяющий ее идентифицировать со стороны микроконтроллера пульта. После идентификации работа с ЛА, встроенным в выбранную ПЛИС, производится так же, как и при одиночном варианте применения.

Расплата же за указанные выше преимущества, на наш взгляд, незначительна - разработчику необходимо резервировать порядка 20 контактов корпуса ПЛИС и определенное пространство кристалла для реализации встроенной части ЛА. Очевидно, объем занимаемой ЛА части кристалла пропорционален сложности как самого анализатора, так и применяемых в каналах функций расширенной обработки сигналов. Так, коэффициент использования кристалла ПЛИС в случае макета ЛА с учетом реализации в нем мегафункции PCI-устройства не превышает 15 % от общего числа его ресурсов. Для большей же эффективности проект следует реализовывать с применением ПЛИС таких семейств, как APEX, Cyclone, Stratix и др., поддерживающих на аппаратном уровне вышеупомянутую SignalTap-технологию и обладающих достаточным объемом встроенной памяти.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Пьявченко А. О. Об одном из подходов к построению устройств функционального контроля и диагностики бортовых микропроцессорных систем // Известия ТРТУ -Таганрог. 2005. №1 (45). С.157-164.

2. Микропроцессоры: системы программирования и отладки / В.А.Мясников,

М.Б.Игнатьев, А.А.Кочкин, Ю.Е.Шейнин; Под ред. В.А.Мясникова, М.Б.Игнатьева.

- М.: Энергоатомиздат, 1985. - 272 с.

3. Шумский И.А. Современный инструмент разработчика цифровых устройств- логические анализаторы Textronics серии TLA5000 // Контрольно-измерительные системы. 2004. №4. С.17-19 ; №>5. С.33-35.

4. Каршенбойм И. Микропроцессор своими руками -2. Битовый процессор // Компоненты и технологии. 2003. №8. С.48-53.

5. Altera Documentation Library. June 2003/2004.

6. MegaCore Function User Guide. February 2003.: 101 Innovation Drive San Jose, CA 95134

7. PCI Local Bus Specification. Revision 2.2 //PCI Special Interest Group 2575 N.E. Kathryn #17 Hilsboro, Oregon 97124.

8. AN224 High-Speed Board Layout Guidelines // Altera Documentation Library.

9. AN106 Designing with 2.5-V Devices // Altera Documentation Library.

В.Е. Золотовский, Д.В. Золотовский

СТРУКТУРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ СИСТЕМ СТРУКТУРНОГО МОДЕЛИРОВАНИЯ

Задача симуляции физических объектов методами структурного моделирования требует разработки алгоритмов и специального программного обеспече -ния, реализующих их. Ниже описывается программная система моделирования. Структура программного обеспечения приведена на рис.1. Система содержит:

- три входных интерфейса: входной, визуальный и программный интерфейсы (блоки 1, 2, 3);

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