Главная  Журналы 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 [ 158 ] 159 160 161 162 163 164 165 166

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

Циклическая часть программы включает 5 команд, суммарная длительность которых составляет 20 мкс (40 тактов), т. е. выборки могут браться с частотой 50 кГц. Подготовка к циклу занимает всего 3 команды, суммарная длительность которых составляет 12,5 мкс (25 тактов). При количестве выборок в серии п = 256 частота выдачи усредненных результатов

, J 106

/рез - „( 2t„ - 256 . 20 +2 12,5 ~ " •

Применение микропроцессора с длиной слова 16 бит позволяет исключить суммирование с учетом переполнения и сократить время цикла вдвое. Частота взятия выборок возрастает до 100 кГц, а частота выдачи усредненных результатов до 400 Гц. В режиме off-line, т. е. с буферизацией данных (внесением данных в оперативную память) частота взятия выборок при использовании программного канала такая же, так как на организацию пересылки и цикла требуются 3 команды. При использовании прямого доступа в память период взятия выборок снижается до времени записи в память, т. е. до 0,5...! мкс. Таким образом, аппаратурные затраты (оперативная память - каиал прямого доступа), позволяют увеличить быстродействие усреднителя почти на порядок, т. е. до 1 млн. выборок в 1 с.

Рассмотрим для данного примера подпрограмму определения среднего зна-

чения N,- данной подпрограмме производится вычисление среднего-1=1

значения я результатов измерения по формуле

в микропроцессоре К580ИК80(рис. 12.20) предусмотрено сложение чисел двойной разрядности, поэтому с помощью данной подпрограммы можно вычислять среднее значение при я <: 256.

Код числа измерений я хранится в регистре С (рис. 12.21). В начале подпрограммы производится перепись этого кода в регистр В по команде MOV В, С. Далее выполняется команда LXIH обнуления пары регистров Я, L, в которых будет храниться накапливаемая сумма. Для сложения чисел двойной разрядности в данной подпрограмме будут испльзоваться пары регистров D, Е к Н, L. Код, поступающий из АЦП, будет записываться в регистр Е, при этом регистр D должен быть обнулен. Для этой цели выполняется команда обнуления регистра D MVI D, ОО. Далее производится первое обращение к АЦП {IN), после чего код из аккумулятора по команде MOV Е, А переписывается в регистр Е. Далее выполняется команда DAD D сложения пар чисел D, Е к Н, L с записью результата в регистры И, L. Затем выполняется команда DCR В уменьшения на единицу содержимого регистра В. Последний в данной подпрограмме используется как вычитающий счетчик числа измерений. Перед первым измерением в нем записан код числа измерений я. После последнего измерения регистр В обнуляется, что используется как фиксация окончания операций суммирования. После выполнения команды DCR В выполняется проверка состояния индексного триггера нуля Z. Этот триггер устанавливается в состояние «1», если регистр В после выполнения команды DCR В обнулится. Поэтому следующей командой являетси /Л2-переход, если Z О. Когда триггер находится в состоянии «О» (т. е. выполненное измерение не йвляется последним), то происходит переход на команду IN очередного обращения к АЦП, Если же триггер Z находится в состоянии «I»,




ТПересылка

- Посылка тистант Ш)иа)

константы 6(D)

-ереиша из(А)В(В) -мжениеф)(£)и(нЩ -Декремент (В)

XCHG

-\ostieH (отита)

CAU JDIV

г Вызов подпрограмы \ деления

MDVA.B

- Пересылка ш(В) 6(A)

-[Выбод .

Рис. 12.21. Подпрограмма определения

среднего значения i/я •

Т. е, выполнено последнее из п измерений, то далее выполняется команда обмена содержимого пар регистров D, Е к Н, L, в результате чего накопленная сумма переписывается в пару регистров D, Е. Далее производится вызов подпрограммы деления накопленной суммы на код числа измерений «, который хранится в регистре С. Результат деления по команде MOV А, В из регистра В переписывается в аккумулятор А, откуда далее поступает в устройство вывода.

Аналого-цвфро-аналоговые микропроцессоры

Часто при сложной обработке входных аналоговых сигналов выходные сигналы необходимо представить ь виде одного или нескольких аналоговых сигналов. Эта задача может быть выполнена сопряжением АЦП, МП и ЦАП, однако при зтом сложно обеспечить синхронную работу в реальном времени всех трех звеньев. Для решения этой задачи разработаны яналого-цифро-аналоговые микропроцессоры АЦА МП в гибридном и интегральном исполнении, которые отличаются малой и постоянной длительностью выполнения любой команды МП Т. Для этого, в частности, в таких МП применяют ускоренные алгоритмы выполнения умножения. АЦА МП состоит обычно из следующих звеньев (рис. 12.22): входного устройства выборки и запоминания аналоговых сигналов УВЗ, мультиплексора MUX, АЦП, цифрового процессора, постоянного запоминающего перепрограммируемого устройства ППЗУ для программ обработки, устройства управления УУ и ЦАП.

В АЦА МП по данной программе должно обрабатываться каждое мгновенное значение входного сигнала X {t), поэтому отличительной особенностью АЦА МП является то, что длительность выполнения всей программы обработки Тп каждой выборки равна длительности цикла АЦП.

Значение Тп зависит от числа команд в программе обработки сигнала:

Следовательно, частота дискретизации входного и выходного сигналов

1 1 Т„ п„Т„

/л = 7- =

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

Современным АЦА МП является, например, интегральная микросхема KM1813BEI со следующими характеристиками: число выводов 28; число команд 192; размер команды 24 бита; Тк= 0,4 мкс; число разрядов АЦП - 8, Мощность



Г" Г

Рис. 12.22. Структура аналого-цифро-аналогового микропроцессора АЦАМП.

0,8 Вт. Для уменьшения погрешностей от округления разрядность процессора повышена до 25 двоичных разрядов. Для сравнения отметим, что длительность выполнения команды в универсальном микропроцессоре Тк = 2 мкс.

Если в данном АЦА МП программа обработки сигнала содержит наибольшее число команд - 192, то частота дискретизации входного сигнала

«7Г=0ДЛ923«Г«-

При числе команд 19 fq = 130 кГц. Следовательно, при ступенчатой аппроксимации, которая реализуется на выходе АЦА МП, и при максимальной допускаемой погрешности от аппроксимации у (%) максимальная частота входного сигнала

200

при f = 13000 Гц и Vgjj = 1 % /д = 20 Гц, а при числе команд в программе 19 /с = 200 Гц.

Процессор АЦА МП км 181 работает по конвейерному циклу, при этом из ПЗУ одновременно выдается четыре команды, возможна одновременная обработка четырех входных сигналов. Для повышения быстродействия в некоторых АЦА МП ряд операций реализуется аппаратно, при этом достигается вычисление синуса и косинуса угла за 5,7 мкс, быстрое преобразование Фурье на 32 точки - за 1,5 мкс, анализ спектразвуковых частот прн Гд= 22 мкс.

АЦА МП используются для функциональных преобразований сигнала: синусных, косинусных, гиперболических, экспоненциальных, извлечения корня, для косвенных функциональных преобразований с выходом у = f (х, х, Xg, Xi), для цифровой фильтрации сигнала. АЦА МП могут быть применены для цифровой коррекции предвключенных масштабных преобразователей сигналов по методу замещения X образцовыми сигналами Xq.

При коррекции аддитивной погрешности или погрешности нуля корректированный результат

гце.Мх - коц значения сигнала X; N-kor образцового сигнала, равного в данном случае нулю.

Цифровая коррекция мультипликативной погрешности, т. е. погрешности чувствительности, выполняется по следующему уравнению:

Nkx = Nx

KNx,

где ANq - N - Nd, N„ и /VJ- соответственно идеальные и реальные значения

образцового сигнала Хд.

При заданной погрешности 0,1 %

Nkx = Nx

. AN, (AlY

При цифровой коррекции нелинейности обычно применяют кусочно-линейную аппроксимацию. В этом случае

Nx-Nct

% = Ло( + (Nou+iy - Not) ЛГ , -Л





0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 [ 158 ] 159 160 161 162 163 164 165 166