Правильная ссылка на эту страницу
http://az-design.ru/Support/HardWare/Intel/2920/D19790301Elc029.shtml

Однокристальный микрокомпьютер для обработки сигналов в реальном времени

УДК 681.3.014

Хофф, Таунсенд,
Фирма Intel Corp. (Санта-Клара, шт.Калифорния)

М.Е.Hoff, M.Townsend. Single-chip n-MOS microcomputer processes signals in real time, pp.105—110.

Микрокомпьютер представляет собой сочетание расположенных на одном кристалле микропроцессора, перепрограммируемого ПЗУ, аналого-цифрового и цифроаналогового преобразователей. Объем ПЗУ и ресурсы микропроцессора позволяют реализовать аналоговые схемы, эквивалентные фильтрам с количеством полюсов до 40. Быстродействие обеспечивает частоту отсчетов аналогового сигнала не ниже 13 кГц.

Цифровая обработка аналоговых сигналов в реальном масштабе времени очень привлекательна, поскольку дает возможность иметь дело не с сигналами, а с числами и программами, но ее применение сдерживалось отсутствием быстродействующих процессоров специальной структуры, которые были бы в состоянии выполнять необходимые вычисления. Разработчики логических устройств уже имеют такое дешевое и мощное вычислительное средство, как микропроцессор, а теперь фирма Intel Corp. предлагает разработчикам аналоговых систем воспользоваться для обработки сигналов в реальном времени новым программируемым микрокомпьютером 2920.

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

Аналоговый микрокомпьютер. Этот процессор фирмы Intel может быть запрограммирован на цифровую обработку аналоговых сигналов в реальном времени в соотв
Рис.1. Аналоговый микрокомпьютер. Этот процессор фирмы Intel может быть запрограммирован на цифровую обработку аналоговых сигналов в реальном времени в соответствии с алгоритмом любой аналоговой подсистемы. На кристалле расположены центральный процессор и аналого-цифровой и цифроаналоговый преобразователи. Вся работа кристалла проводится под управлением перепрограммируемого ПЗУ.

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

Важные отличия

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

Более того, поскольку процессор — дискретная система для работы в реальном времени, он должен исполнять всю программу от начала до конца каждый раз по получении отсчета данных от входного АЦП. Время исполнения программы определяет частоту отсчетов, а эта частота в свою очередь определенным образом ограничивает возможности микропроцессора. Необходимо постоянство частоты отсчетов, так как от нее сильно зависят характеристики любой аппроксимируемой аналоговой схемы. На практике даже малые возмущения частоты отсчетов могут вызвать недопустимый уровень шума. Поэтому в процессоре 2920 по необходимости фиксировано время исполнения программ.

Ограничения

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

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

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

Поскольку все вычисления, связанные с получением выходного отсчета, нужно выполнять при поступлении каждого входного отсчетаг микропроцессор должен обладать исключительной производительностью обработки чисел. Даже полоса 10 кГц, например, требует брать отсчеты с частотой 20 кГц, т.е. каждые 50 мкс. Программа, состоящая, скажем, из 100 команд и исполняемая раз в 50 мкс, потребовала бы среднего времени цикла команды 500 нс, т.е. быстродействия, которым может обладать не каждый мини-компьютер.

Как раз все это под силу процессору 2920, который размещен на кристалле площадью 30,1 мм2 (рис.1) и изготовлен к тому же по стандартной n-канальной МОП-технологии.

Три части процессора

Согласно структурной схеме микрокомпьютера 2920, приведенной на рис.2, он состоит из трех основных частей: памяти команд, арифметического устройства (или устройства цифровой обработки) и аналоговой части. Под управлением программы, хранящейся в перепрограммируемом ПЗУ, происходят аналоговое преобразование и работа цифровой части кристалла.

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

Архитектура микрокомпьютера. Перепрограммируемое ПЗУ содержит 192 команды по 24 разряда. Цифровая часть организует исполнение команд поточным ме тодом
Рис.2. Архитектура микрокомпьютера. Перепрограммируемое ПЗУ содержит 192 команды по 24 разряда. Цифровая часть организует исполнение команд поточным ме тодом, повышающим быстродействие. Аналоговая часть сопрягается с цифровой через регистр данных, который воспринимается процессором, как ячейка памяти.

Необычная арифметика

Микропроцессор в 2920 содержит двухпортовое сверхоперативное ЗУ, двоичное масштабирующее устройство и арифметико-логическое устройство. (Регистр данных аналоговой части кристалла фактически относится к ОЗУ, так что процессор «рассматривает» входы и выходы как ячейку памяти.)

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

Так как сверхоперативное ЗУ работает совместно с арифметическим устройством, то каждая из его 40 ячеек является 25-разрядной. Адресация производится 6-разрядными словами. Остающиеся неиспользуемыми в ОЗУ 24 адреса служат для выборки заданных заранее констант и регистра аналоговой части. Для повышения пропускной способности в ОЗУ предусмотрены два порта, и обращение может осуществляться через любой из них.

Перепрограммируемое ПЗУ рассчитано на хранение до 192 команд по 24 разряда в каждой. Формат команд предусматривает пять смежных полей: код цифровой операции, адрес источника данных, адрес приемника данных, код сдвига и код аналоговой операции. Такое длинное слово может быть уподоблено слову микропрограммы компьютера с управляющей памятью, поскольку оно исполняет одновременно несколько операций. В таком случае они являются в чистом виде операциями типа «память — память».

Нижний предел

Наивысшее быстродействие процессора 2920 соответствует времени исполнения любой команды (400 нс). Самая длинная программа, которая может содержать 192 команды, исполняется за 76,8 мкс, т.е. минимальная частота отсчетов составит примерно 13 кГц. Полоса пропускания кристалла будет равна тогда, по Найквисту, 6,5 кГц.

Подключение входного сигнала. Конденсатор отсчета (слева) подключается к компаратору с помощью триггерного ключа таким образом, чтобы напряжение на ко
Рис.3. Подключение входного сигнала. Конденсатор отсчета (слева) подключается к компаратору с помощью триггерного ключа таким образом, чтобы напряжение на компараторе всегда было положительным. Преобразователь 8-разрядный, девятый знаковый разряд определяется отдельно.

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

Для ускорения вычислений процессор работает по принципу конвейерной обработки. Из перепрограммируемого ПЗУ производится выборка сразу четырех команд, а выборка следующих четырех перекрывается с исполнением предыдущих. К тому же арифметические операции выполняются с упреждением переноса по всей длине накопителя.

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

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

Результат преобразования данных при масштабировании сводится к умножению на степень 2, или на 2k, причем k может лежать в пределах от 2 до —13. Если получающееся произведение не помещается в 25 разрядах и, следовательно, слишком велико для ОЗУ, АЛУ насыщается и выдает на соответствующий вывод сигнал переполнения. Выход переполнения удобен при отладке системы, так как позволяет определить момент превышения переменной некоторого предела.

Условные операции

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

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

Цифроаналоговый преобразователь построен на основе складчатого резистивного делителя и матрицы ключей, показанных на рис.4. Резистивный делитель такой конфигурации уменьшает чувствительность преобразователя к изменениям температуры и неоднородностям поверхности, возникающим в процессе изготовления кристалла. Это обстоятельство наряду с тем, что синхронизация процессора производится от кварцевого генератора, точность преобразования определяется внешним источником опорного напряжения, а вся обработка данных ведется на цифровом уровне, улучшает стабильность аналоговой подсистемы, которая намного выше, чем у ее чисто аналоговых эквивалентов.

Ресурсы процессора 2920 позволяют создать модель 40-полюсного фильтра или фильтра с 20 парами комплексно-сопряженных полюсов. Этого достаточно для реализации с помощью одного лишь кристалла многих сложных аналоговых систем, в том числе двухтонального многочастотного приемника системы «Тачтон».

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

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

Алгоритм анализа

Анализируемый входной сигнал фильтруется сначала простой внешней схемой для удаления высокочастотных составляющих, которые могли бы вызвать «подстановку», или генерацию паразитных сигналов. Попав в процессор, сигнал проходит для дальнейшего ограничения полосы через эквивалент двухполюсного фильтра нижних частот. Затем перед смешением он модулируется — проходит автоматическую регулировку усиления, представляющую собой просто алгоритм деления, в котором делителем является результат обработки абсолютной величины на выходе ФНЧ (взвешенное среднее значение).

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

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

Паразитные сигналы

Оба генератора формируют линейно изменяющиеся пилообразные сигналы, но из-за того, что программа моделирования этих генераторов вычисляет дискретные сигналы, возможно возникновение эффекта «подстановки» (aliasing), если гармоники пилы будут взаимодействовать с частотой отсчетов и вызовут появление паразитных частотных составляющих.

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

Смеситель

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

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

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

Диапазон частот анализатора от 300 Гц до 3 кГц развертывается 10 раз в секунду, разрешающая способность — около 100 Гц. Частота настройки узкополосного фильтра — 4,5 кГц. Частота отсчетов — примерно 13 кГц.

Резерв

В таблице 1 показано количество слов программы и сверхоперативного ОЗУ, относящихся к каждому блоку при данных параметрах. (Естественно, что другие параметры функциональных блоков анализатора могут потребовать другого объема памяти.)

Объем памяти, необходимый для анализатора спектра

Блок

Количество слов

ПЗУ

ОЗУ

Входной фильтр

20

5

Автоматическая регулировка усиления

18

1

Генератор пилообразного сигнала

5

1

Управляемый генератор

7

1

Преобразователь формы сигнала

10

1

Смеситель

12

0

Узкополосный фильтр

30

6

Выпрямитель

1

0

Фильтр нижних частот

10

2

Всего

113

17

Два полюса. Частотная характеристика простого фильтра второго порядка с центральной частотой 400 Гц говорит о хорошей избирательности. Фильтр реализов
Рис.6. Два полюса. Частотная характеристика простого фильтра второго порядка с центральной частотой 400 Гц говорит о хорошей избирательности. Фильтр реализован с участием всего 10 команд микрокомпьютера 2920 из числа расположенных в СППЗУ. Остальные 182 команды предназначены для других функций.

Так как программа занимает не весь имеющийся объем ОЗУ и перепрограммируемого ПЗУ, могут быть добавлены еще какие-то функции или вместо этого можно повысить частоту отсчетов вплоть до 20 кГц. Другая возможность заключается в многократном повторении алгоритмов взятия отсчета входного сигнала и фильтрации, что повысит эффективную частоту отсчетов и позволит поэтому использовать для предотвращения подстановки более простой внешний входной фильтр.

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

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

Дочерние статьи:

Цифровое моделирование аналоговых систем

Выходные данные:

Журнал "Электроника" том 52, No.05 (557), 1979г - пер. с англ. М.: Мир, 1979, стр.23

Electronics Vol.52 No.5 March 1, 1979 A. McGraw-Hill Publication

Раздел: МЕТОДЫ, СХЕМЫ, АППАРАТУРА

Тема:     Интегральные схемы





Дата последнего изменения:
Thursday, 21-Aug-2014 09:10:55 MSK


Постоянный адрес статьи:
http://az-design.ru/Support/HardWare/Intel/2920/D19790301Elc029.shtml