- •Содержание
- •1.6 Регистровый файл……………………….………………………...……13
- •Введение
- •1 Микроконтроллеры msp430
- •1.1 Архитектура msp430
- •1.2 Семейство микроконтроллеров msp430f5хх
- •1.3 Адресное пространство
- •1.4 Системный сброс
- •1.5 Прерывания
- •1.6 Регистровый файл
- •1.7 Режимы работы
- •1.8 Цифровые входы/выходы
- •1.9 Функционирование цифровых портов входов/выходов
- •1.10 Сторожевой таймер
- •1.11 Регистры сторожевого таймера
- •1.12 Таймер а
- •1.13 Режим прямого счёта
- •1.14 Модуль вывода таймера в режиме прямого счёта
- •1.15 Режим непрерывного счёта
- •1.16 Режим реверсивного счёта
- •1.17 Модуль вывода таймера в режиме непрерывного счёта
- •1.18 Модуль вывода таймера в режиме реверсивного счёта
- •1.19 Прерывания Таймера а
- •1.20 Регистры Таймера а
- •1.21 Лабораторный практикум
- •1.21.1 Лабораторная работа 1
- •1.21.2 Лабораторная работа 2
- •1.21.3 Лабораторная работа 3
- •1.21.4 Лабораторная работа 4
- •1.21.5 Лабораторная работа 5
- •2 Сигнальные контроллеры
- •2.1 Типовые алгоритмы dsp
- •2.2 Цифровой сигнальный контроллер tms320f2833x
- •2.2.1 Центральный Процессор (цп)
- •2.2.2 Шинная система
- •2.2.3 Структура памяти контроллера
- •2.2.4 Конвейер команд
- •2.2.5 Прямой доступ в память
- •2.2.6 Сброс – загрузка
- •2.2.7 Режимы работы f2833x
- •2.2.8 Модуль защиты кода
- •2.2.9 Подсистема цифрового ввода – вывода
- •2.2.10 Входной фильтр
- •2.2.11 Модуль тактового генератора
- •2.2.12 Сторожевой таймер
- •2.2.13 Подсистема прерываний f2833x
- •Регистр флагов прерываний (ifr)
- •Регистр разрешения прерываний (ier)
- •2.2.14 Таймеры cpu f2833x
- •2.2.15 Модули ePwm (шим)
- •2.3 Лабораторный практикум
- •2.3.1 Лабораторная работа 2.1
- •2.3.2 Лабораторная работа 2.2
- •2.3.3 Лабораторная работа 2.3
- •2.3.4 Лабораторная работа 2.4
- •2.3.5 Лабораторная работа 2.5
- •2.3.6 Лабораторная работа 2.6
- •2.3.7 Лабораторная работа 2.7
- •2.3.8 Лабораторная работа 2.8
- •2.3.9 Лабораторная работа 2.9
- •2.3.10 Лабораторная работа 2.10
- •2.3.11 Лабораторная работа 2.11
- •2.3.12 Лабораторная работа 2.12
- •2.3.13 Лабораторная работа 2.13
- •10/2012. Формат 60 х 84/16. Ум. Друк. Арк. .
- •84313, М. Краматорськ, вул. Шкадінова, 72.
2.2 Цифровой сигнальный контроллер tms320f2833x
Процессоры семейства F28x (C2Sx) являются представителями платформы TMS320C2000. Данная платформа процессоров изначально создавалась для приложений управления электродвигателями и электроприводами. В процессе развития они приобрели более развитую периферию и мощное 32–разрядное ядро сигнального процессора, обладающее производительностью до 150 MIPS, за счет чего область их применения значительно расширилась. Используются они как в мощных устройствах управления промышленными автоматами, волоконно–оптическими сетями и т. д., так и„ учитывая цену от – $3, в приложениях, где традиционно применялись дешевые микроконтроллеры, что позволило значительно расширить возможности создаваемых приложений.
F28x совместимы по коду с предыдущим семейством F24/240x, что позволяет использовать предыдущие наработки в новых проектах. В то же время, F2Sx имеет ядро, эффективно работающее под управлением алгоритмов, написанных на языках высокого уровня C/C++, что делает их пригодными не только для написания управляющей части, но и математической, предъявляющей высокие требования к производительности процессора. Архитектура F28x позволяет его использовать как встраиваемый контроллер, так и за счет его высоких вычислительных мощностей (32x32 MAC, 64–разрядные операции) – как центральный вычислительный модуль.
Характеристики контроллера TMS320F2833x:
– высокопроизводительный 32 битный DSP;
– 32x32 бита или два 16x16 бита MAC;
– IEEE модуль с плавающей запятой;
– атомарные инструкции чтения–модификации–записи;
– 8–уровневый полностью защищенный конвейер;
– менеджер прерываний;
– 256K слов Flash памяти на кристалле;
– модуль защиты кода (CSM);
– два менеджера событий;
– 12–битный модуль АЦП;
– 88 общих GPIO выводов;
– прямой доступ в память;
– сторожевой таймер;
– коммуникационные устройства.
На рисунке 2.1 показана блок–схема контроллера TMS320F2833x.
Блок–схема TMS320F2833x делится на функциональные устройства:
– внутренняя и внешняя шинная система;
– центральный процессор (ЦП);
– секции оперативной памяти;
– периферийные устройства;
– коммуникационные каналы;
– контроллер ПДП (прямой доступ к памяти);
– менеджер прерываний и ядро модулей таймеров;
– отладочный интерфейс.
Рисунок 2.1 – Блок–схема контроллера TMS320F2833x
2.2.1 Центральный Процессор (цп)
F2833x – ЦП может выполнять большинство инструкций типа регистр – регистр и типовые инструкции контроллера, например, операции с байтами и битами в единственном машинном цикле. Архитектура также снабжена мощными способами адресации, которые позволяют компилятору и ассемблерному программатору производить компактный код, который почти переписывается один к одному с кодом C.
F2833x эффективен в типичных математических задачах для цифрового сигнального процессора, а также в системах управления, которыми обычно управляют микроконтроллерные устройства. Это позволяет исключить потребность во втором микропроцессоре во многих установках.
Функциональная схема ЦП приведена на рисунке 2.2.
ЦП включает в себя следующие основные блоки: – блок управления потоком команд (рганизует последовательность
выполнения команд программы);
– блок генерации адреса команд (формирует адрес на шине команд);
– арифметический модуль адресных регистров (АRAU);
– атомарное арифметико–логическое устройство (АLU);
– умножитель с фиксированной запятой;
– регистры центрального процессора.
Модуль АRAU генерирует значения адресов для обмена с памятью данных. Полученные значения помещаются на шины адреса чтения и записи данных. Модуль также отвечает за увеличение/уменьшение значения в регистре – указателе стека (SР), а также вспомогательных регистров (ХАR0…ХАR7). АLU выполняет 2–операндные арифметические и логические операции. Операнды в АЛУ поступают из регистров, памяти или из блока управления потоком ииструкций. Результат может быть сохранен в регистре или памяти данных. . Умножитель выполняет перемножение двух операндов вида 32х32 с 64–битным результатом. Помимо самого умножителя для выполнения операции умножения задействованы также регистр множимого (ХТ), регистр произведеиия (Р), аккумулятор (АСС). Результат может быть получен либо в регистре ХТ, либо в аккумуляторе. Умножитель взаимодействует непосредственно с АLU.
Регистры центрального процессора используются для промежуточного хранения данных при вычислениях.
Функциональная схема умножителя с фиксированной точкой и ALU показана на рисунке 2.3.
32– на 32–разрядный с фиксированной точкой “Multiply and Accumulate (MAC)” F2833x и его внутренний 64–битный процесс, дают возможность этому DSC эффективно манипулировать с большими числами. К тому же, если данные и коэффициенты запоминаются как двоичные числа длиною в 16 бит или меньше, этот контроллер может выполнять две 16–на 16–бит МАС инструкции одновременно. Терминология для таких инструкций «Двойной Многократный и Накапливающий (DMAC)».
Умножитель использует регистр XT ("eXtended Temp"), чтобы хранить первый операнд и умножает его на второй операнд, который загружается из запоминающего устройства. Если XT загружен из запоминающего устройства данных, а второй операнд извлекается из программного запоминающего устройства то умножение выполняется за один цикл. Результат умножения помещается в регистр P («Продукт») или непосредственно в Аккумулятор (ACC). Если умножить 32–бита на 32–бта то результат будет 64–бита. Система команд F2833x включает две группы операций умножения, чтобы запомнить две 32–разрядных части в P и ACC. Таким образом, мы можем сказать, что регистры ACC и P комбинируются и формируют единственный 64–разрядный регистр.
Три аппаратных сдвиговых регистра (Shift) могут использоваться в параллели с другими аппаратными устройствами ЦП. Сдвиговые регистры обычно используются как промежуточное звено при выполнении в реальном времени умножения/деления на число типа 2n.
Арифметическое Логическое Устройство (ALU) выполняет все другие математические операции кроме умножения. Первый операнд – всегда содержимое Аккумулятора (ACC) или его части. Второй операнд загружается из запоминающего устройства данных, из программного запоминающего устройства, из P регистра или непосредственно из умножителя .
Рисунок 2.2 – Функциональная схема ЦП
Чтобы добавить больше гибкости устройству, используя точность данных c плавающей точкой в C, инженеры Texas Instruments Incorporated добавили в семейство F2833x второй аппаратный умножитель показанный на рисунке 2.4.
Правая сторона рисунка 2.4 все (floating–point) регистры модуля арифметики с плавающей точкой. 8 регистров общего назначения (R0H – R7H), поддерживающий их регистр (STF) статуса и регистр повторений (RB). Последний используется, чтобы выполнять группу элементов машинного кода без потребности в программном обеспечении. Такая технология позволяет конвейеру команд CPU работать быстрее.
Рисунок 2.3 – Функциональная схема умножителя с фиксированной точкой и ALU
Рисунок 2.4 – Функциональная схема регистров арифметических модулей
Левая часть рисунка 2.4 показывает регистры модуля с фиксированной точкой. Он состоит из 3–х регистров ЦП: Аккумулятор (ACC), регистр результата (P) и регистр временного хранения (XT), 8 регистров общего назначения (XAR0.XAR7) и набор регистров управления и статуса, «Программный счетчик» (РС), «Указатель страницы данных» (DP), «Указатель вершины стека» (SP), «Разрешение Прерываний» (IER), «Флаги прерываний» (IFR) и «Разрешение отладочных прерываний" (DBGIER).
Доступны Два основных метода обращения к запоминающему устройству данных:
способ прямой адресации;
способ косвенной адресации.
Схема формирования адреса данных показана на рисунке 2.5.
Способ прямой адресации создает 22–разрядный адрес для выборки из запоминающего устройства данных от двух источников: 16–разрядного регистра указателя страницы (DP) –16 старших битов плюс 6 битов, взятых из инструкции.
Рисунок 2.5 – Схема формирования адреса
Преимущество. Как только DP установлен, мы можем обратиться к отобранной странице в любом порядке.
Недостаток. Если есть необходимость обратиться к другой странице, DP должен быть сначала изменен.
Способ косвенной адресации использует один из восьми, 32–разрядных XARn регистров, чтобы хранить 32–разрядный адрес операнда. С помощью ARAU, и арифметической операции над указателями доступно изменение адреса в том же цикле.
Но при случайном обращении к запоминающему устройству данных нужна загрузка регистра указателя новым значением.
Вспомогательное арифметическое устройство (ARAU) может выполнять манипулирование указателями в том же цикле, что и обращение к запоминающему устройству данных. Варианты операций ARAU: пост–инкремент, пре–декремент, индексное сложение и вычитание, операции со стеком, циклическая адресация и бит–реверсивная адресация с дополнительными вариантами.
Атомарные инструкции являются встроенными в контроллер системами. Примерами являются логические операции, такие как AND, OR и EXOR непосредственно осуществляющиеся с памятью данных.
Как правило, эти инструкции должны быть выполнены без перерыва между чтением и записью, они называются "бесперебойными" или "атомарными" инструкциями. В F2833x атомарное Арифметико–логическое устройство (АЛУ) поддерживает такие типы инструкций; как показано на правой части рисунка 2.6.
При традиционном кодировании (левая часть рис. 2.6) инструкция будет выполняться на несколько циклов медленнее, чем атомарные инструкции.
Рисунок 2.6 – Атомарные функции чтения/модификации/записи
