Информационные технологииStfw.Ru 🔍
🕛

Алгоритм конструкторского синтеза И оценки эффективности различных вариантов Реализации микропроцессорных устройств

Решение задачи конструкторского синтеза и оценки эффек¬тивности различных вариантов реализации МПУ включает сле¬дующие этапы: анализ требований реализации заданного алгоритма; построение раз
Решение задачи конструкторского синтеза и оценки эффективности различных вариантов реализации МПУ включает следующие этапы: анализ требований реализации заданного алгоритма; построение различных вариантов МПУ; оценка конкурирующих вариантов и выбор наиболее эффективного из них.
Рассмотрим алгоритм выполнения этих этапов на примере проектирования цифрового спектроанализатора, реализованной на основе алгоритма БПФ. Исходными данными являются: диапазон анализируемых частот 200 кГц; длительность сигнала 2,5 мс: динамический диапазон по входу 30 дБ; амплитуда входного сигнала 63 мВ; среднее квадратическое значение шума на входе 2 мВ; величина внеполосного затухания 40 дБ; несущая частота 20 МГц; полоса .пропускания эквивалентного фильтра не более 550 Гц; число подмассивов обработки 1. Микропроцессорное устройство реализуется на печатных платах с одно- или двухсторонней компоновкой; при этом удельная мощность рассеивания не более 0,08 Вт/см2, наработка на отказ не менее 20 000 ч.
Анализ требований реализации заданного алгоритма. Задачей этого этапа является определение параметров спектроанализатора, необходимых для построения различных вариантов МПУ. Как известно [2], применяются, в основном, два варианта построения спектроанализатора: с формирователем квадратур (ФК) (см. рис. 2.5) и без него. Использование ФК позволяет в 2 раза снизить .Рд при параллельной работе двух АЦП в каналах ФК. Недостатком такой структуры является ограниченный динамический диапазон входного сигнала. Из табл. 3.1 и 3.2 определяем, что для обеспечения уровня ложных сигналов не выше 40 дБ нелинейность амплитудных характеристик должна быть не более 1%, а отклонение разности фаз в квадратурных каналах от п/2 не более 1°. Для обеспечения такой точности необходимо в алгоритм спектрального анализа ввести коррекцию мнимой и действительной частей входных отсчетов. При дискретизации на несущей частоте вдвое увеличивается входной массив, что потребует введения дополнительного этапа вычисления! ДПФ. Поэтому, с точки зрения временных затрат, эти структурные варианты примерно равноценны.
Несущая частота равна 20 МГц. Из табл. 3.8 определяем, что для обеспечения снижения отношения сигнал-шум не более 2 - 3 дБ длительность выборки сигнала 9=0,36 Tп=9 нc. Разработка УВХ с такими параметрами представляет собой сложную задачу, поэтому выбираем структуру с ФК. Частота дискретизации входного сигнала Рд>ДF=200 кГц. Полоса пропускания эквивалентного фильтра Дf'=1/Tс=400 Гц. Число спектральных отсчетов Nc - =Тс/Тя = 500. Исходя из заданного динамического диапазона входного сигнала при условии Дацп/бш=1 определим разрядность АЦП: lАцп=] Iog2d [=5.
Для обеспечения внеполосного подавления от - 40 дБ используем весовую обработку входных отсчетов [30]. Известно, что весовая обработка приводит к расширению Дf'. Допустимое значение коэффициента расширения k2(lАЦП+L), где L - число тапов вычисления БПФ. В системе счисления с плавающей запятой разрядность кодов мантиссы и порядка выбирается согласно следующим неравенствам: lк.м>lАЦП, lп=log2L. Признак переполнения отсутствует при выполнении условия: (2lАЦП - 1)>3бс(j) + 2iUвх/ДАцп , где бс (j) - суммарное сред-нее квадратическое отклонение шума, полученное в результате выполнения j-го этапа БПФ. Если данное условие не выполняется, то результат БО должен масштабироваться.
Система счисления с поблочно-плавающей запятой представляет собой комбинацию представления чисел с фиксированной и плавающей запятой. Вместо нормирования каждого представляемого числа в отдельности в данной системе один и тот же порядок используется для представления целого массива (блока) чисел. Для этого из массива выбирается наибольшее число и представляется с плавающей запятой для определения общего порядка. Значения остальных (меньших) чисел содержат их мантиссы. С точки зрения используемой емкости памяти система счисления с поблочно-плавающей запятой более экономична. С учетом методики, изложенной в [2], найдем разрядность представления чисел в различных системах счисления: с фиксированной запятой lк.ч>30, с плавающей lк.ч>22, с поблочно-плавающей lк.ч>18. С точки зрения экономики памяти целесообразно выбрать систему счисления с поблочно-плавающей запятой. Однако поскольку массив обрабатываемых отсчетов невелик, оценим объем сэкономленной памяти:
ДEОЗУ = 2NХДl=1КХ14.
Достигнутый аппаратурный выигрыш составляет две микросхемы емкостью 2КХ8. Вместе с тем использование системы счисления с поблочно-плавающей запятой требует введения дополнительных операций масштабирования, что усложняет структуру МП БО. Поэтому в данном случае выбираем систему счисления с фиксированной запятой.
Алгоритм спектрального анализа приведен на рис. 3.12,а. На вход устройства поступают отсчеты с Гд=5 мкс. Блок коррекции выполняет умножение входных отсчетов на значения корректирующей функции, которые хранятся в ППЗУ, емкостью NX 16. В регистрах Pcl - Ргб записаны основные параметры обрабатываемого массива: начальный адрес массива входных отсчетов {Pel), начальный адрес массива поворачивающих коэффициентов (Рг2), число БО, выполняемых на каждом этапе вычислений (РгЗ), текущий номер выполняемого этапа БПФ или номер итерации (Рг4), число итераций, необходимых для выполнения БПФ (Рг5) и текущей номер выполняемой БО (Ргб).
Вычисление текущих значений адресов входных отсчетов осуществляется с учетом необходимости перестановки данных после выполнения каждого этапа БПФ [30]. После выполнения 256 БО изменяется текущее значение номера итерации, что учитывается при вычислении значений адресов. После вычисления L итераций в ОЗУ записаны 512 комплексных значений спектральных-отсчетов входного сигнала.
В качестве базиса описания алгоритма, изображенного на рис. 3.12,а, примем команды, приведенные в табл. 3.5 и дополненные подпрограммами коррекции входных отсчетов, выполнения БО и вычисления текущего значения адресов. На каждой итерации вычисления БПФ выполняется N/2 БО, в которык участвует N отсчетов, разбитых на N/2J групп, где J - номер выполняемом итерации. Считаем, что в данном случае применяется алгоритм БПФ с замещением, т. е. результаты выполнения БО записываются в те же ячейки ОЗУ, ив которых считывались исходные данные. В этом случае алгоритм формирования адресов считывания ОЗУ при коэффициенте распараллеливания Kр = 1 может быть представлен следующим выражением [2]: 1
(3.17)
где t=0, 1... (NL - 1) - номер формируемого адреса.
Реализация этого алгоритма может быть осуществлена двоичным счетчиком, первый разряд которого выполняет функцию i mod 2. Умножение этого разряда на 29-J увеличивает вес разряда в формируемом адресе. Как следует из алгоритма, на первой итерации этот вес равен 8, на второй 7 и т. д. Второе слагаемое алгоритма определяет вес разрядов счетчика, начиная со второго. На первой итерации разрядам 2 - 9 счетчика присваиваются веса с первого по восьмой, на второй итерации - с первого по седьмой и т. д. На девятой итерации значение (i-2)mod 1 равно 0. Третье слагаемое уравнения (3.17) реализуется использованием соответствующих разрядов счетчика. На первой итерации значение 210((4-210)mod 512 равно 0. На второй итерации девятый разряд счетчика является девятым разрядом адреса считывания. На третьей итерации девятый и восьмой разряды являются девятым и восьмым разрядом АСч. На девятой итерации разряды счетчика со второго по девятый соответствуют аналогичным разрядам АСч-
Адреса считывания поворачивающих коэффициентов W формируются следующим образом:
(3.18)
Алгоритмы (3.17) и (3.18) могут быть реализованы программно и аппа-ратно. Так как системы команд МП, приведенных в табл. 1.2, не ориентированы на выполнение операций с отдельными битами, то программная реализация алгоритма (3.17) потребует не менее 10 микрокоманд.
Один из вариантов аппаратной реализации алгоритма формирования адресов считывания приведен на рис. 3.13 [2]. Разряды 9-разрядного счетчика реализуют отдельные слагаемые алгоритма (3.17) в соответствии с приведенным выше описанием. Коммутация разрядов счетчика (изменение их веса) осуществляется мультиплексорами, управление которыми производится кодом номера итерации. При реализации устройства на микросхемах серии 133 необходимы 3 микросхемы 133ИЕ7, 17 микросхем 133КП5 и 2 микросхемы 133ИР13. Время формирования адреса одного отсчета около 300 не.
Небольшой объем обрабатываемого массива данных позволяет реализовать формирователь адресов считывания ОЗУ и ПЗУ на микросхемах памяти. Чио ло адресов ОЗУ JVL=4608, ПЗУ=256-8=2048. Разрядность адреса считывания ОЗУ A'CЧ = ]log2NL[=13; A'счпзу = 11. Устройство формирования адресов может быть реализовано на трех микросхемах РПЗУ с ультрафиолетовым стиранием информации К573РФ6 емкостью 8К.Х8 либо на других микросхемах (см. табл. 1.5).
Коррекция входных отсчетов заключается в умножении этих отсчетов, поступающих с АЦП, на значения корректирующей функции, хранимые в ППЗУ емкостью 512 слов. Особенностью данного алгоритма является ограниченный динамический диапазон входного сигнала, а следовательно, и небольшая разрядность входных отсчетов (6 бит). Это позволяет реализовать коррекцию входных отсчетов на ПЗУ, выполняющем роль умножителя. На адресные входы ПЗУ подаются два числа: множитель и множимое. В ячейке ПЗУ, адрес которой равен коду перемножаемых чисел, хранится их произведение. Поскольку разрядность входных отсчетов 6 бит, разрядность корректирующей функции тоже может быть принята 6 бит. Для реализации такого умножителя необходимо взять БИС ПЗУ, имеющую не менее 4К адресуемых ячеек.



3.12. Структурная схема алгоритма спектрального анализа (а) и его графовая модель (б)
3.13. Структурная схема формирователя адресов считывания ОЗУ и ПЗУ

Разрядность произведения выбирается с учетом требуемой точности реализации последующих вычислений. Так как в исходных данных эти требования не задавались, считаем достаточной разрядность произведения 8 бит. Итак, блок коррекции входных отсчетов может быть реализован на ПЗУ емкостью 4КХ8.
Таким образом, в результате анализа требований реализации исходного алгоритма установлено: для обеспечения заданного значения динамического диапазона выходного сигнала необходимо ввести этап коррекции действительной и мнимой частей входных отсчетов; внеполосное подавление до уровня - 43 дБ обеспечивается весовой обработкой входных отсчетов с помощью окна Хэмминга; система счисления с фиксированной запятой lк.ч=30; число отсчетов входного массива N=512; частота дискретизации fH>200 кГц; полоса пропускания эквивалентного фильтра Дf = 544 Гц.
Построение различных вариантов реализации алгоритма спектрального анализа. С целью ограничения количества вариантов реализации используем метод отсечений, позволяющий исключать варианты, которые не могут привести к оптимальному решению. Критериями оценки вариантов являются ограничения на реализацию алгоритма спектрального анализа: Tс>2,5 мс, q>40 дБ, T>20 000 ч и руд200 КГЦ И др. Возможность выполнения этих ограничений определяется характеристиками модулей МПУ: АЦП, МП, модулей ОЗУ, ПЗУ. Поэтому определим варианты реализации основных модулей МПУ.
Построение и выбор вариантов реализации АЦП. Для решения этой задачи иеобходимо определить допустимый для аналого-цифрового преобразования уровень потерь.
Известно [2], что динамический диапазон на выходе цифрового устройства обработки сигналов определяется следующим образом:

где d - динамический диапазон входного сигнала; Ку= 10 lg AfTc - коэффициент, характеризующий увеличение отношения сигнал-шум на выходе устройства; Пацп, ПБПФ потери за счет аналого-цифрового преобразования и вычисления БПФ соответственно:

Будем считать, что П3ад200 кГц, из табл. 3.8 определяем, что для обеспечения П8>2 дБ допустимая длительность выборки: фРдоп. Корректируем значения: S2=28,6/0,08 = 357,5 см2 и Bп=357,5/171,5 = = 208,5 мм.
Таблица 3.15
Параметры Вариант реализации
I II III IV
Число микросхем 23 18 20 29
Среднее число выводов
одной микросхемы 38 38 36 36
Шаг установки микросхем, ММ 50,0X38,5 50,0X38,5 47,5X38,5 47,5X38,5
Размеры краевых полей
X1, X2, y1, y2, ММ 5; 5; 5; 22,5 5; 5; 5; 22,5 5; 5; 5; 22,5 5; 5; 5; 22,5
Размеры печатной платы, мм односто-ронняя 200X248,5 200x210 190x210 237,5X248,5
двухсторонняя 208,5X171,5 150X187,5 159x161,5 190x204
Площадь печатной платы, см2 односто-ронняя 497 420 399 588,2
двухсторонняя 357,5 281 256,8 387,6
Ри, Вт 28,5 22,5 20,5 31
Руд, Вт/СМ2 односто-ронняя 0,057 0,053 0.051 0,053
двухсторонняя 0,08 0,08 0,08 0,08

6. Повторяем вычисления пп. 2 - 5 для следующего варианта МПУ. Так как на предыдущих этапах были отсечены все варианты, не удовлетворяющие ограничениям на реализацию алгоритма БПФ (Тпр<Т, б<бдоп, Л<Лдоп,. PудАнализ конструктивных параметров, представленных в табл. 3.15, вариантов реализации МПУ показывает, что предпочтительными являются II и III варианты МПУ, имеющие минимальные площади печатной платы.
Таким образом, рассмотренный алгоритм конструкторского синтеза и оценки эффективности различных вариантов реализации МПУ позволяет осуществлять построение различных вариантов реализации исходного алгоритма на заданном наборе микропроцессорных средств и выбор одного или нескольких наиболее эффективных вариантов. Кроме того, с помощью этого алгоритма может решаться и обратная задача; исходя из ограничений на реализацию исходного алгоритма можно определить требования к элементной базе, обеспечивающей достижение заданной эффективности реализации алгоритма.

Также по теме:
Новые программы для Windows, Linux и Android.