Введение
Программируемые системы и устройства [1, 2] – это не только цифровые, но и реконфигурируемые системы, способные к постоянной модернизации только за счёт смены программного обеспечения. Концепция программируемых радиоэлектронных систем отражает главное изменение в конструкторской парадигме современных радиоэлектронных устройств, для которых соотношение аппаратно-программных средств выбирается с явным преобладанием программных инструментов, что и обеспечивает возможность быстрого изменения их тактико-технических характеристик (ТТХ) в соответствии с изменяющимися требованиями и возможностями.
Традиционные радиоэлектронные системы требуют многих лет усилий большого коллектива разработчиков для отладки различных компонентов и устройств, входящих в систему, и их сопряжения между собой. Время разработки нового продукта – ключевой момент в современных рыночных условиях. И создание программируемых систем существенно сокращает период разработки новых изделий.
Использование программируемых систем значительно снижает затраты на изготовление и проверку радиоэлектронных систем в целом. Более того, программируемые системы могут быть модернизированы уже на этапе испытаний для корректировки непредвиденных проблем или для улучшения ТТХ. Другим преимуществом программируемых систем является их способность к глубокой самодиагностике, что повышает надёжность изделия и минимизирует его обслуживание.
Модельно-ориентированное проектирование
Проектирование программируемых радиоэлектронных систем потребовало соответствующего совершенствования методов их разработки. Наиболее эффективным из новых методов является модельно-ориентированное проектирование (Model-Based Design), являющееся одним из приложений пакета программ MATLAB [3].
Модельно-ориентированное проектирование – эффективный и экономически выгодный способ разработки радиоэлектронных систем. Как показывает опыт, применение этого подхода позволяет повысить качество проектирования и уменьшить время разработки в несколько раз. Вместо физических прототипов при традиционном проектировании программируемых систем в модельно-ориентированном проектировании применяются исполняемые модели, которые используются на всех этапах разработки. При таком подходе можно разрабатывать и проводить имитационное моделирование как всей системы целиком, так и её компонентов. Но главным преимуществом данного подхода является возможность автоматической генерации кода с последующей его верификацией.
Использование моделей позволяет разрабатывать комплексные радиоэлектронные системы с точностью, необходимой для технологического уровня. Представление комплексной разработки в виде моделей системы – лишь часть решения. Необходимо также выполнить математическое описание, чтобы лучше понять поведение системы. Решению поставленной задачи предшествует анализ соответствующего технического задания на проектируемую систему и анализ особенностей существующих радиотехнических систем. Желательно сделать аналитическую оценку основных показателей проектируемой системы.
Большое внимание уделяется выбору платформы с ЦПОС, который будет использован в данном случае. Разрабатывается структурная и функциональная схемы аппаратно-программного комплекса с выбранной платформой и осуществляется подбор необходимого программного обеспечения.
Дальнейшая работа с аппаратно-программным комплексом в режиме модельно-ориентированного проектирования включает в себя все этапы этого метода разработки программируемых радиотехнических систем: от модели системы до её реализации на конкретной платформе с ЦПОС.
При этом предусматриваются следующие этапы проектирования:
- создание модели в MATLAB;
- преобразование этой программы в программу на языке С для ЦПОС, её компиляция в загружаемый код и программирование сигнального процессора;
- верификация спроектированного устройства или системы.
В пакете MATLAB реализованы современные методы вычислений, позволяющие выполнить численное моделирование различных систем. Разработчик может одновременно анализировать результаты моделирования и использовать мощные средства анализа моделей, обеспечивая тем самым верификацию проекта.
Пример модельно-ориентированного проектирования генератора случайных чисел
Генераторы случайных чисел широко применяются в различных радиоэлектронных системах. Проектирование программируемого генератора случайных чисел начинается с разработки алгоритма его работы.
Существуют разные алгоритмы генерации случайных чисел. В данном случае мы воспользуемся датчиком, который может быть реализован в проектируемом устройстве. Если использовать свойство дробной части непрерывной дроби, значения которой имеет равновероятное распределение от 0 до 1, то можно получить простой и эффективный датчик случайных чисел СЛУ, работающий по рекуррентной формуле СЛУ(i)=СЛУ(i-1)*(ПРОСТОЕ ЧИСЛО) – INT(СЛУ(i-1)*(ПРОСТОЕ ЧИСЛО)), где INT – операция выделения целой части.
Поясним эту формулу. Задаётся дробное начальное число. Это число умножается на простое число. Из полученного дробного числа выделяется дробная часть, которая и используется в качестве нового случайного числа. Затем этот процесс рекуррентно повторяется много раз.
Верифицируем данный алгоритм с помощью модели MATLAB. Для проверки качества работы предлагаемого алгоритма используем системный датчик случайных чисел rand из MATLAB. Критерием эффективности формируемых случайных чисел при использовании сравниваемых алгоритмов будет служить расчёт числа p = 3,14159 методом статистического моделирования (см. листинг).

Полученные после 10 000 испытаний результаты говорят сами за себя. Стандартный датчик из MATLAB [rand p = 3.1420 Elapsed time is 0.135702 seconds]. Новый рекуррентный датчик [p = 3.1424 Elapsed time is 0.000908 seconds]. Вывод – предложенный генератор случайных чисел работает на два порядка быстрее.
Переходим к следующему этапу модельно-ориентированного проектирования генератора случайных чисел – выбору аппаратно-программного комплекса для отладки. В данном случае по соображениям доступности и низкой стоимости рассматривается аппаратно-программный комплекс на платформе фирмы Microchip [4]. В качестве системной платы используется dsPICDEM 1.1 Development Board, а для работы с этой платой применяется фирменный пакет программ MPLAB IDE от Microchip, который предоставляется бесплатно. В качестве эмулятора-программатора в аппаратно-программный комплекс входит PICkit 2.
Поскольку для практической реализации проектируемого устройства на сигнальном микроконтроллере фирмы Microchip dsPIC30F4011 нам потребуется компилятор с языка С из системы проектирования MPLAB IDE, необходимо преобразовать приведённую выше верифицированную программу с предложенным датчиком в код С. Это можно сделать вручную, но мы воспользуемся кодером, входящим в MATLAB.
На первом этапе преобразования постараемся получить т.н. mex-файл. Фактически, это файл на С, который можно встраивать в любые программы MATLAB. Одновременно это позволяет убедиться в работоспособности компилятора С, установленного на персональном компьютере. Для его использования в MATLAB, в командном окне необходимо написать mex – setup и подтвердить наличие подключённого компилятора С. Далее открывается проект mex, в который добавляется файл из MATLAB. Затем по команде Build мы получаем искомый файл с расширением .mex. Об успешном выполнении преобразования кода сообщается в строке Code generation successful (см. рис. 1).

Верификацию полученного файла можно осуществить путём встраивания его в исходную программу, которая предельно упрощается:
%Закрываем все открытые окна вывода
close all
%Очищаем рабочую область (WORKSPACE)
clear
p=PI__mex(10000);
p
После запуска программы получен результат для 10 000 испытаний, который подтверждает корректность преобразования файла из MATLAB в код С [p = 3.1424].
Следующий этап проектирования – преобразование исходной программы в формат языка С, используемый в системе проектирования MPLAB IDE для программирования сигнального микроконтроллера. Преобразование выполняется аналогично получению mex-файла, т.е. открывается проект С (см. рис. 2).

Также добавляется исходный файл с расширением .m и параметром N (число испытаний), запускается преобразование командой Build – и вот успешный результат (см. рис. 3).

Полученный текст программы на С перед его компиляцией в объектный код, загружаемый с помощью программатора в ПЗУ сигнального микроконтроллера, требует некоторой корректировки. В частности, в компиляторе фирмы Microchip отсутствует функция floor, и поэтому её следует заменить функцией выделения целой части int. Кроме того, для верификации работы программы в проектируемом устройстве добавлен фрагмент программы вывода результата числа p на дисплей и звуковой сигнал, сообщающий об окончании работы программы. Далее запускается программа MPLAB IDE и создаётся в этой среде новый проект PI.mcp (см. рис. 4).

Затем программа компилируется с положительным результатом (см. BUILD SUCCEEDED на рис. 5).

Полученный объектный код с помощью программатора PICkit 2 загружается в ПЗУ сигнального микроконтроллера dsPIC30F40411. Окончательный этап модельно-ориентированного проектирования состоит в верификации программируемого генератора случайных чисел на этом сигнальном микроконтроллере. На отладочной плате запускается программа после сброса сигнального микроконтроллера, и на экране дисплея появляется приглашение начать моделирование числа p. После нажатия кнопки на экране дисплея (см. рис. 6) появляется результат моделирования числа p, который подтверждает правильность работы спроектированного генератора случайных чисел.

Заключение
Рассмотренный новый способ разработки программируемого генератора случайных чисел с использованием модельно-ориентированного проектирования, работающего по быстрому рекуррентному алгоритму, полностью себя оправдал. Перечислим ещё раз этапы модельно-ориентированного проектирования:
- создание нового алгоритма генерации случайных чисел с проверкой предложенного алгоритма в MATLAB;
- преобразование программы из MATLAB с помощью программы coder в формат С, также с проверкой этого преобразования;
- компиляция программы на С в объектный код, программирование сигнального микроконтроллера фирмы Microchip и верификация спроектированного устройства.
Предложенный генератор случайных чисел обладает высоким быстродействием, и его программа на С может быть легко перенесена на другую платформу с любым ЦПОС, отечественным или импортным микроконтроллером.
Литература
- Бартенев В.Г. Программируемая радиоэлектроника – важный фактор инновационного обновления России. Современная электроника. № 7. 2010.
- Bartenev V. Software Radar: New Reality. Report on the International conference RADAR 2006. China. 2006.
- Model-Based Design. www.mathworks.com.
- www.microchip.com.
© СТА-ПРЕСС
Если вам понравился материал, кликните значок — вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал —не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!

