ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 06.12.2023
Просмотров: 449
Скачиваний: 5
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
287
для 5 МГц и 8 ... 9 мА для частоты 12 МГц. AVR также могут быть пе- реведены программным путем в один из двух режимов пониженного энергопотребления. Первый - режим холостого хода (IDLE), когда пре- кращает работу только процессор и фиксируется содержимое памяти данных, а внутренний генератор синхросигналов, таймеры, система прерываний и сторожевой таймер продолжают функционировать. Ток потребления здесь не превышает 2,5 мА на частоте 12 МГц. Второй - режим микропотребления (SLEEP), когда сохраняется содержимое ре- гистрового файла, но останавливается внутренний генератор синхро- сигналов. Выход из режима SLEEP возможен либо по сигналу сброса, либо от внешнего источника прерывания. При включенном сторожевом таймере ток потребления в этом режиме составляет около 80 мкА, а при выключенном - менее 1 мкА. (Все вышеприведенные значения спра- ведливы для напряжения питания 5 В).
Температурные диапазоны работы микроконтроллеров AVR - коммерческий (0 ... 70 С) и индустриальный (-40 ... +85 С).
С точки зрения программиста AVR представляет собой 8- разрядный RISC микроконтроллер, имеющий быстрый гарвардский процессор, память программ, память данных, порты ввода/вывода и ин- терфейсные схемы. Структурная схема микроконтроллера приведена на рисунке 8.3.
Гарвардская архитектура AVR реализует полное логическое и фи- зическое разделение не только адресных пространств, но и информаци- онных шин для обращения к памяти программ и к памяти данных. Спо- собы адресации и доступа к ним также различны. Такое построение уже ближе к структуре скоростных цифровых сигнальных процессоров и обеспечивает существенное повышение производительности за счет: одновременной работы центрального процессора, как с памятью программ, так и с памятью данных; расширения до 16 бит разрядной сетки шины данных памяти про- грамм.
Следующим шагом на пути увеличения быстродействия AVR яв- ляется использование технологии конвейеризации, вследствие чего цикл "выборка-исполнение" команды может быть заметно сокращен, повышая тем самым производительность процессора. Например, у мик- роконтроллеров семейства MCS51 короткая команда выполняется за 12 тактов генератора (1 машинный цикл), в течение которого процессор последовательно считывает код операции и исполняет ее.
288
Рисунок 8.3 - Структурная схема AVR
В PIC-контроллерах фирмы Microchip уже реализована конвейер- ная обработка. Короткая команда выполняется у них в течение 8 перио- дов тактовой частоты (2 машинных цикла). За это время последова- тельно дешифрируется и считывается код операции, исполняется ко- манда, фиксируется результат и одновременно считывается код сле- дующей операции (конвейер). Поэтому одна короткая команда в общем потоке реализуется за 4 периода тактовой частоты или за один машин- ный цикл. В микроконтроллерах AVR тоже используется одноуровне- вый конвейер при обращении к памяти программ и короткая команда в общем потоке выполняется, как и в PIC-контроллерах, за один машин- ный цикл. Главное же отличие состоит в том, что этот цикл у AVR
289
длится всего один период тактовой частоты по сравнению с четырьмя у
PIC платформ.
Следующая отличительная черта архитектуры микроконтроллеров
AVR - регистровый файл быстрого доступа (32 регистра общего назна- чения). Структурная схема регистрового файла показана на рисунке 8.4.
Рисунок 8.4 - Регистровый файл
Каждый из 32-х регистров общего назначения длиной 1 байт непо- средственно соединен с арифметико-логическим устройством (ALU) процессора. Это означает, что в AVR существует 32 регистра- аккумулятора. Это позволяет в сочетании с конвейерной обработкой выполнять одну операцию в ALU за один машинный цикл. Например, два операнда извлекаются из регистрового файла, выполняется команда и результат записывается обратно в регистровый файл в течение только одного машинного цикла.
Шесть из 32-х регистров файла могут использоваться как три 16- разрядных указателя адреса при косвенной адресации данных. Один из этих указателей применяется также для доступа к таблицам перекоди- ровок, записанных в памяти программ микроконтроллера. Использова- ние трех 16-битных указателей (X, Y и Z Pointers) существенно повы- шает скорость пересылки данных при работе прикладной программы.
Регистровый файл занимает младшие 32 байта в общем адресном пространстве SRAM AVR. Такое архитектурное решение позволяет по- лучать доступ к быстрой "регистровой" оперативной памяти микрокон- троллера двумя путями - непосредственной адресацией в коде команды
290
к любой ячейке и обычными (пятью) способами адресации ячеек
SRAM. В технической документации фирмы Atmel это свойство носит название "быстрое контекстное переключение" и является еще одной отличительной особенностью архитектуры AVR, повышающей эффек- тивность работы микроконтроллера.
Во время переходов к выполнению процедур обработки прерыва- ний или подпрограмм текущее состояние программного счетчика со- храняется в стеке. Обычно стек формируется программно и располага- ется в общем адресном пространстве оперативной памяти данных. Раз- мер стека лимитируется только общим объемом SRAM и степенью ее использования прикладной программой. 16-разрядный указатель стека находится в общем адресном пространстве оперативной памяти и дос- тупен для чтения и записи.
Система команд AVR весьма развита и насчитывает до 120 раз- личных инструкций. Почти все команды имеют фиксированную длину в одно слово (16 бит), что позволяет в большинстве случаев объединять в одной команде и код операции, и операнд(ы). Различают пять групп команд AVR: условного ветвления, безусловного ветвления, арифмети- ческие и логические операции, команды пересылки данных, команды работы с битами. По разнообразию и количеству реализованных инст- рукций AVR больше похожи на CISC (Complex Instruction Set Computer
– компьютер со сложной системой команд), чем на RISC процессоры.
Например, у PIC-контроллеров система команд насчитывает от 33 до 58 различных инструкций, а у MCS51 она составляет 111.
В целом архитектура AVR в сочетании с регистровым файлом и расширенной системой команд позволяет в короткие сроки создавать программы с очень эффективным кодом, как по скорости его выполне- ния, так и по компактности.
Еще одним достоинством семейства AVR является наличие средств поддержки разработок для AVR. Программные и аппаратные средства для новой платформы разрабатывались параллельно с самими микроконтроллерами и включают в себя компиляторы, внутрисхемные эмуляторы, отладчики, программаторы, простейшие отладочные платы- конструкторы практически на любой вкус. Более детальное знакомство с микроконтроллерами как отечественных, так и ведущих мировых производителей можно выполнить самостоятельно по имеющейся в большом количестве справочной литературе, например /13..15/.
291 8.3 Программируемые процессоры цифровой обработки сигналов
8.3.1 Основные операции обработки сигналов в цифровых систе- мах и их влияние на структуру сигнального процессора
Среди микропроцессорных интегральных схем, используемых для задач цифровой обработки, наибольшее распространение нашли циф- ровые сигнальные процессоры (Digital Signal Processor - DSP)
/13,15..18/.
Архитектура DSP определяется несколькими базовыми операция- ми, которые используются в алгоритмах ЦОС.
Для выделения таких операций проведем функциональный анализ основных направлений ЦОС, к которым относятся цифровая фильтра- ция и спектральный анализ.
Цифровая
фильтрация. В области цифровой фильтрации разра- ботчик систем ЦОС имеет дело с реализацией КИХ- и БИХ-фильтров (с конечной и бесконечной импульсными характеристиками соответст- венно). Оба класса фильтров относятся к классу линейных систем с по- стоянными параметрами, в которых входная и выходная последова- тельности связаны отношениями типа свертки.
В КИХ-фильтре отсчет выходного сигнала определяется только значениями входного сигнала, а в БИХ-фильтре - значениями входного и выходного сигналов. Это хорошо видно из линейных разностных уравнений с постоянными коэффициентами, которыми описывается данный класс дискретных систем.
Таким образом, для построения систем цифровой фильтрации тре- буется эффективная реализация соотношения типа дискретной свертки, которая раскладывается на операции умножения и накапливающего суммирования, а также операции задержки.
Спектральный
анализ. В области спектрального (или гармони- ческого анализа) используются прямое и обратное дискретное преобра- зование Фурье, а также рациональный способ реализации дискретного преобразования Фурье - быстрое преобразование Фурье.
Спектральный анализ основан на известных методах представле- ния данной функции при помощи других функций, которые называются базовыми и свойства которых считаются известными.
Для получения выходной последовательности в естественном по- рядке необходимо выполнить двоичную инверсию отчетов входной
292
последовательности. Перестановка входных элементов состоит в обра- зовании двоичных номеров выходной последовательности путем до- бавления единицы к старшему разряду с распространением переноса в сторону младших разрядов (вправо). Такая адресация получила назва- ние бит-реверсивной.
Вычисление коэффициента
2 2
cos sin
k
N
k
k
W
j
N
N
π
π
=
−
можно осуществлять следующим образом:
• используя подпрограммы или таблицы синуса и косинуса;
• прямым табличным способом (выборкой готовых значений из таблицы);
• используя рекуррентную формулу
( )
k
k l
l
N
N
N
W
W
W
−
=
при
0 1
N
W
=
;
• таблично-алгоритмическим способом, так как на последующих этапах коэффициенты повторяются.
При использовании алгоритма БПФ с прореживанием по частоте требуется перестановка элементов выходной последовательности, а ба- зовая операция «бабочка» сводится к вычислению выражений:
,
k
N
k
N
x
A
BW
y
A
BW
= +
= −
Для получения амплитуд и фаз составляющих спектра (гармоник) необходимо также вычислить следующие выражения:
2 2
Re
Im
Im
Re
;
,
X
X
X
arctg
N
X
+
где
Re
Im
,
X
X
- вещественная и мнимая части комплексных коэффици- ентов.
В гомоморфной обработке сигналов дополнительно требуется вы- числение функций log
2
х и 2
х
8.3.2 Обобщенная архитектура DSP
На рисунке 8.5 приведен операционный базис алгоритмов ЦОС.
Поставив в соответствие каждой операции блок, можно получить обобщенную архитектуру DSP (рисунок 8.6). Очевидно, что реализация выделенных операций может быть различной.
293
Предельное быстродействие достигается при максимальной аппа- ратной поддержке операций, что приводит к значительным аппаратным затратам.
Это обстоятельство, а также желание обеспечить преемственность в решениях и программную совместимость приводят, в конечном счете, к аппаратной реализации не в целом той или иной операции, а отдель- ных ее составляющих. Причем в разных семействах (16-, 24-, 32- разрядных) архитектура отражает специфику задач ЦОС, на которые она ориентирована
Основными операциями являются: задержка, АЦП и ЦАП (функ- ции кодека), умножение с накоплением - операция MAC (multiply and accumulate), умножение, сложение, вычисление значений функций sin, cos, arctg, log
2
x, 2
х
, табличное вычисление коэффициентов
k
N
W
. К осо- бенностям следует также отнести необходимость использования бит- реверсивной адресации.
Обобщенная архитектура процессора DSP образуется тремя со- ставляющими: процессорным ядром, подсистемами ввода/вывода и хранения. Структура процессорного ядра отражает выделенный опера- ционный базис и учитывает особенности алгоритмов ЦОС. Блок гене- рации адреса обеспечивает необходимые способы адресации, в том число бит-реверсивную. Синтезатор тактовой частоты (PLL) дает воз- можность регулировать производительность и потребляемую мощ- ность. Блок выполнения операций реализует операции с фиксированной точкой и операции с плавающей точкой для приложений, где требуются высокая точность и производительность. Очевидно, что поддержка операций с плавающей точкой может и отсутствовать (используется обычно в 32-разрядных DSP).
В процессорное ядро введен блок отладки и контроля, который содержит средства внутрисхемной эмуляции (ОnСЕ), средства тестиро- вания и отладки (JTAG), сторожевой таймер (WDT). Данный набор средств сегодня практически является стандартным.
Подсистема ввода/вывода включает кодек (АЦП и ЦАП), парал- лельные и последовательные порты ввода/вывода, host-интерфейс для связи с персональным компьютером или другой ЭВМ, аудио- интерфейс, широтно-импульсный модулятор, таймеры и другие устрой- ства.
294
Рисунок 8.5 - Операционный базис процессоров DSP
Организация подсистемы хранения также во многом отражает специфику алгоритмов ЦОС. Так, в частности, выделение двух блоков памяти X и Y позволяет одновременно считывать операнды для сверт- ки, а выделение памяти программ позволяет распараллелить выполне- ние этапов командного цикла (чтение команды и формирование адреса
- чтение операндов - выполнение - запись результата). Такая модель ис- пользуется в архитектурах гарвардского типа.
Необходимые сложные операции (sin, arctg, и др.) целесооб- разно выполнять табличным способом.
В случае использования А- и
µ
-нелинейных зависимостей, для представления отсчета требуется в данном случае 8 бит: 1 бит - знак, 3 бита - номер участка А- или
µ
-закона, 4 бита - номер шага на выбран- ном участке. Данные нелинейные характеристики позволяют устранить избыточность данных за счет компандирования (COMpressor/ ex-
PANDER), которое заключается в сужении динамического диапазона при аналого-цифровом преобразовании и расширение при цифроанало- говом преобразовании.
295
Рисунок 8.6 - Обобщенная архитектура DSP
Очевидно, что скорость выполнения алгоритма БПФ существенно возрастет, если хранить таблицы значений
k
N
W
. Наличие памяти загруз- ки позволяет упростить процесс занесения кода программы в процес- сор. Конкретную реализацию обобщенной архитектуры, рассмотрим на примере семейства DSP 56000, которое по организации процессорного ядра и составу периферии является базовым /12,13/.
8.4 Процессоры семейства DSP56000 8.4.1. Обзор архитектуры и шинной организации DSP56000
Высокая производительность процессоров DSP позволяет исполь- зовать их в области коммуникаций, высокоскоростного управления, об- работки данных, компьютерных и аудио приложениях. Цифровая об- работка сигналов эффективна в любой области электроники. А возмож- ности DSP обеспечивают реализацию цифровой обработки для любой аналоговой электронной схемы.
296
Типичными задачами цифровой обработки сигналов, для решения которых успешно используется DSP, являются обработка одномерных и двумерных сигналов большой размерности, например, речь и изобра- жение, в таких областях человеческой деятельности, как:
• теле- и радиокоммуникации (голосовая почта, телеконференции, за- крытая связь);
• компьютерное оборудование (матричные процессоры, рабочие стан- ции, графические ускорители);
• медицинская электроника;
• цифровое видео;
• радары и сонары (навигация, океанография, поиск);
• сейсмография.
Операция умножения с накоплением (МАС) является базовой опе- рацией алгоритмов типа свертки, широко используемых в задачах циф- ровой обработки. Структура DSP содержит необходимые блоки, обес- печивающие эффективную реализацию операции MAC. Два операнда непосредственно участвуют в операции умножения, и результат опера- ции затем суммируется с ранее полученными. Этот процесс происходит внутри DSP56000 с использованием двух отдельных модулей памяти за один цикл. Благодаря наличию двух модулей памяти и независимого суммирующего умножителя, можно объединить две пересылки, умно- жение и сложение в одну операцию.
Основу процессора составляют три параллельно работающих уст- ройства арифметико-логическое устройство (ALU), устройство генера- ции адреса (AGU) и программируемый контроллер (PC).
DSP имеет периферийные устройства на кристалле в стиле микро- контроллеров: программируемую память, память данных и порты рас- ширения памяти. Программная модель и система команд ориентирова- ны на разработку эффективных и компактных программ.
Основные качественные и количественные характеристики семей- ства DSP56000:
• скорость - до 30 и более миллионов операций в секунду;
• точность представления данных - 24-разрядные данные, обеспе- чивающие обработку в динамическом диапазоне 144 децибел, проме- жуточные результаты хранятся в 56-разрядном аккумуляторе, что обес- печивает диапазон в 336 децибел;
• параллелизм - каждое из операционных устройств на кристалле, память, периферийные операции независимы и работают параллельно благодаря развитой системе шин;