Главная » Просмотр файлов » 1.Особенности архитектуры сигнальных процессоров

1.Особенности архитектуры сигнальных процессоров (1086957), страница 5

Файл №1086957 1.Особенности архитектуры сигнальных процессоров (Архив, содержащий лекции) 5 страница1.Особенности архитектуры сигнальных процессоров (1086957) страница 52018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 5)

Два регистра состояния ST0 и ST1 хранят состояния различных условий и режимов. Регистры состояния могут быть помещены в память данных и загружены из памяти данных. Это позволяет сохранять и восстанавливать состояние процессора при обработке прерываний и подпрограмм. Все биты состояния читаются и записываются с помощью команд SST/SST1 и LST/LST1 соответственно (за исключением бита INTM, который не может быть загружен командой LST).

На рис. 3-14 показана структура обоих регистров состояния. Заметим, что DP, ARB, ARP показаны на структурной схеме рис. 2 -1 как отдельные регистры. Однако, так как эти регистры не имеют отдельных команд для сохранения в памяти, они были включены в регистры состояния в качестве составных частей. Как видно на рис. 3-14 некоторые биты слова состояния зарезервированы. Они при чтении командами LST/LST1 воспринимаются как 1. Биты, отмеченные символом (#), присутствуют только у TMS320C25 и отсутствуют у TMS32020.

15 13

12

11

10

9

8 0

ST0

ARP

OV

OVM

1

INTM

DP

ST1

ARB

CNF

TC

SXM

# CY

1

1

#HM

#FSM

XF

FO

TXM

PM

8

7

6

5

4

3

2

1 0

Рис. 10.4. Структура регистров состояния.

Таблица 3-4. Назначение битов регистров состояния ST0 и ST1.

Поле

Назначение

ARP

Указатель вспомогательного регистра. Это трех битовое поле, которое указывает, какой из вспомогательных регистров (AR) используется для косвенной адресации. Если в ARP загружается новое значение, старое значение сохраняется в ARB. Содержимое ARP может быть заменено командами использующими косвенную адресацию при обращении к памяти, а также командами LARP, MAR и LST. Наконец, ARP может быть загружен тем же самым значением, что и ARB при выполнении команды LST1.

OV

Флаг переполнения. При возникновении сигнала переполнения OV устанавливается в "1". После этого содержимое OV не меняется, если не будет выполнен аппаратный сброс или команды BV, BNV или LST, которые чистят OV.

OVM

Режим насыщения. Если OVM="0", то при переполнении аккумулятора теряется старший бит(обычный результат). Если OVM="1", тол при переполнении в аккумулятор будет записано наибольшее положительное или отрицательное число, в зависимости от знака результата. Команды SOVM и ROVM устанавливают или сбрасывают этот бит. Команда LST также может изменять содержимое OVM.

INTM

Режим прерывания. "0" разрешает маскируемые прерывания, "1"-запрещает. INTM устанавливается и сбрасывается командами DINT и EINT соответственно. Активные сигналы *RS и *IACK также устанавливают INTM. INTM не влияет на немаскируемое прерывание по сигналу *RS. Содержимое INTM не изменяется командой LST.

DP

Указатель страницы памяти данных. Девятиразрядный регистр DP объединенный с 7 младшими битами команды образует адрес памяти данных при прямой адресации. Содержимое DP изменяется командами LST, LDP и LDPK.

ARB

Буфер указателя вспомогательного регистра. После того как в ARP загружается новое значение, старое значение ARP сохраняется в ARB. Исключение составляет команда LST. Когда ARB загружается с помощью команды LST1, то же самое значение загружается и в ARP.

CNF

Бит конфигурации памяти, расположенной на кристалле TMS320С2х. Если он сброшен в "0", блок В0 определен как память данных; если он установлен в "1", В0-память программ. Содержимое CNF изменяется командами CNFD, CNFP и LST1. При аппаратном сбросе (*RS-активный) CNF сбрасывается в "0".

TC

Тест/контроль флаг. На ТС бит воздействуют команды BIT, BITT, CMPR, LST1 и NORM. ТС бит устанавливается в "1", если (1) разряд ячейки памяти тестируемый командами BIT или BITT равен "1", (2) результат сравнения AR0 и AR(ARP) с помощью команды CMPR равен 1, (3) результат функции исключающее "или" двух младших битов аккумулятора с помощью команды NORM равен 1. Две команды ветвления BBZ и BBNZ предусмотрены для ветвления в зависимости от значения С.

SXM

Режим расширения знака. Если SXM=1, данные загружаемые в аккумулятор сдвигаются с расширением знака. Если SXM=0, расширение знака запрещено. Заметим, что SXM не влияет на выполнение некоторых команд. Например, в команде ADDS расширение знака запрещено, независимо от содержимого SXM. Этот бит устанавливается командой SSXM, сбрасывается-RSXM, и может измениться командой LST1. При аппаратном сбросе SXM не изменяется.

#CY

Бит переполнения. Этот бит устанавливается в 1, если в результате сложения генерируется перенос, или сбрасывается в 0, если в результате вычитания возникает заем. Иначе он сбрасывается после сложения или устанавливается после вычитания. Исключение - команды ADDH и SUBH. ADDH может только устанавливать, а SUBH только сбрасывать бит переноса. Его могут изменять также команды SC, RC, LST1, сдвиги и вращения. Две команды перехода BC и BNC выполняют ветвление в зависимости от состояния CY. При сбросе CY устанавливается в 1.

#HM

Бит режима ПДП. Если HM=1, процессор останавливается и не выбирает команды из внутренней памяти в течении активного *HOLD. Если HM=0, процессор может во время ПДП продолжать выполнять команды, расположенные во внутренней памяти. При этом внешние сигналы процессора будут удерживаться в третьем состоянии. HM=1 при сбросе.

#FSM

Бит режима кадровой синхронизации. Этот бит сообщает о том, выполняет последовательный порт свою работ с кадровой синхронизацией или без нее. Если FSX=1, работа последовательного порта начинается после получения кадрового импульса на FSX/FSR. Когда FSM=0, сигналы на FSX/FSM игнорируются, и последовательный порт работает баз кадровых импульсов. FSM=1 при сбросе.

XF

Состояние вывода XF. Бит состояния показывает состояние вывода XF. XF устанавливается и сбрасывается командами SXF и RXF и может быть загружено в LST1. XF загружается по *RS значением "1".

Бит формата. Если FO=0, последовательный порт передает и принимает информацию 16-разрядными словами. Если FO=1, информация передается и принимается побайтно (8бит). Содержимое FO изменяется командами FORT и LST1. При аппаратном сбросе (*RS-активный) FO сбрасывается в "0".

TXM

Бит режима передачи. Если TXM=1, то последовательный порт использует сигнал FSX для вывода информации. В этом режиме импульс появляется на выводе FSX, когда регистр DXR загружается передаваемыми данными. После этого переданные данные появляются на выводе DX. Если TXM=0, то контакт FSX используется для входного сигнала. TXM устанавливается и сбрасывается командами STXM и RTXM и может быть загружено в LST1. Когда *RS активный, происходит сброс TXM в 0.

PM

Режим сдвига произведения (2бита). Если PM=00, то 32-разрядное произведение загружается в ALU без сдвига. Если PM=01, содержимое PR перед загрузкой в ALU сдвигается на 1 разряд влево. Если PM=10, PR сдвигается на 4 разряда влево. Если PM=11, PR сдвигается на 6 разрядов вправо с расширением знака. При этом содержимое PR не изменяется. Сдвиг выполняется только при передаче содержимого из PR в ALU. Содержимое PM изменяется командами SPM и LST1. При аппаратном сбросе (*RS-активный) PM не изменяется.

Микропроцессор TMS320C2x содержит 16-разрядный регистр таймера, который адресуется как память данных и называется TIM -регистр, и 16-разрядный регистр периода PRD.

Регистр таймера представляет собой декрементный счетчик, непрерывно тактируемый внутренним синхросигналом, образованным делением частоты сигнала CLKOUT1 на четыре для TMS32020 или без деления частоты для TMS320C25. Сигнал сброса (см. Рис. 3-15) устанавливает таймер TIM в его максимальное значение (FFFF), а регистр периода PRD либо устанавливает в FFFF для TMS320C25, либо не инициализирует для TMS32020. После сигнала сброса, регистр таймера начинает уменьшать свое значение. В последствии регистры TIM и PRD могут быть загружены программно.

Регистр таймера TIM расположен в памяти данных по адресу 2 и хранит текущий счетчик таймера. Каждые NCLKOUT1 циклов, где N=4 для TMS32020 или N=1 для TMS320C25, содержимое TIM уменьшается на 1. Регистр PRD, расположенный в памяти данных по адресу 3, хранит начальное значение счетчика таймера.

Прерывание TINT по таймеру генерируется каждый раз, как содержимое TIM достигает нуля. Таймер в течении следующего цикла перегружается значением, хранящимся в PRD. Поэтому прерывания от таймера появляются с интервалом, равным PRD + 1 циклов CLKOUT1 для процессора TMS320C25, или 4 x PRD - для TMS32020.

П
рограммируя PRD значением от 1 до 65535 (FFFF), можно изменять период появления TINT от 2-х до 65536-ти циклов CLKOUT1 для TMS320C25 или от 4-х до 262140 - для TMS32020. Нулевое значение для PRD является недопустимым. Регистры TIM и PRD доступны для чтения и записи в любое время. Запись в регистр периода нового значения не изменяет текущее содержимое счетчика. Новое значение периода загрузится в TIM только по достижении им нулевого значения. Если оба регистра, TIM и PRD, загружены новым значением, то таймер начнет работу с новым значением периода без выдачи прерывания. Таким образом осуществляется управление периодом таймера.

# - коэффициент деления N=4 для TMS32020, N=1 для TMS320C25.

Рис.10.5 Блок-схема таймера.

Если таймер не используется, то прерывания по таймеру могут маскироваться или все маскированные прерывания блокируются командой DINT. В этом случае регистр PRD может использоваться для хранения данных. Однако, если TINT используется, то регистры PRD и TIM должны быть запрограммированы до снятия маски таймера.

В микропроцессоре TMS320C2х предусмотрена возможность повторения одной команды до 256 раз. 8–разрядный счетчик повторений RPTC может быть загружен как из памяти данных (командой RPT), так и непосредственно (командой RPTK). Величина, загружаемая в счетчик, должна быть на единицу меньше требуемого числа повторений данной команды.

Свойство повторений может использоваться с такими операциями, как умножение/сложение, перемещение блоков памяти, прием/ передача и чтение/запись данных. Многоцикловые команды BLKD/BLKP, MAC/MACD, TBLR/TBLW становятся конвейерными при использовании свойства повторений, а одноцикловые команды становятся более эффективными. Например, операция чтения таблицы данных выполняется за три цикла, но при использовании повторений ячейка памяти может считываться каждый цикл.

Сброс (*RS) - немаскируемое внешнее прерывание, которое в любой момент времени может вернуть процессор TMS320C2x в известное состояние. Обычно сброс применяется после подачи питания, так как в этом случае процессор находится в случайном состоянии.

Поступление сигнала *RS низкого уровня заставляет микропроцессор TMS320С2x закончить выполнение и устанавливает счетчик команд в нуль. Сигнал *RS воздействует на различные регистры и биты состояния. При включении питания состояние процессора не определено. Поэтому после включения питания, сигнал сброса (*RS ) должен быть выставлен в течении трех циклов для гарантированной установки процессора в исходное состояние. После этого работа процессора начинается с адреса 0, по которому обычно хранится команда безусловного перехода (B), передающая управление программе инициализации системы.

Сигнал *RS воздействует на процессор следующим образом:

  1. Логический 0 загружается в бит CNF слова состояния ST1 для конфигурации RAM как памяти данных.

  2. Счетчик команд устанавливается в 0, а сигналы адресной шины A0-A15 во время сброса обнуляются.

  3. Шина данных D0-D15 переводится в третье состояние.

  4. Все сигналы управления пространствами памяти и портов ввода/вывода (*PS, *DS, *IS, R/*W, *STRB, *BR) обновляются, путем перевода их в высокое состояние пока *RS активен (в низком состоянии).

  5. Все прерывания запрещаются путем установки бита INTM в 1 (заметим, что *RS не маскируется). Регистр флагов прерываний IFR при сбросе обнуляется.

  6. Биты состояния:

  7. Для всех TMS320C2x 0  OV, 1  XF, 0  FO, 0  TXM.

  8. Кроме TMS32020 1  SXM, 0  PM, 1  HM, 1  CY, 1  FSM.

  9. Остальные биты состояния не изменяются.

  10. Регистр распределения глобальной памяти очищается, т.е. вся память становится локальной.

  11. Счетчик повторений RPTC очищается.

  12. Контакт DX (передача данных) переводится в третье состояние. Любые операции по приему/передаче данных через последовательный порт прекращаются, а бит режима передачи TXM сбрасывается, поэтому кадровые импульсы на контакте FSX воспринимаются как входные. Операции приема/передачи могут быть начаты только после окончания *RS.

  13. В регистр TIM после сброса загружается максимальное значение (>FFFF). Регистр PRD на TMS320C25 также загружается значением >FFFF, а на TMS32020 требуется программная инициализация этого регистра. Содержимое TIM начинает уменьшаться только после окончания сброса.

  14. Сигнал *IACK (подтверждение прерывания) генерируется таким же образом, как и для маскируемых прерываний.

  15. Состояние ячеек RAM после сброса не определено.

  16. Биты ARB, ARP, DP, IMR, OVM, TC во время сброса не инициализируются. Поэтому они после сброса должны быть установлены программным способом.

После сброса выполнение программы начинается с адреса 0. TMS320C2x может находится в состоянии сброса сколь угодно долго.

1.5.1.Прерывания

Процессор TMS320C2х имеет 3 внешних маскируемых пользователем прерывания (INT2 - INT0), которые могут использоваться внешними устройствами. Внутренние прерывания генерируются последовательным портом (RINT и XINT), таймером (TINT) и командой программного прерывания (TRAP). Прерывания имеют приоритет, причем сброс имеет самый высокий приоритет, а прерывание от передатчика и последовательного порта имеет самый низкий приоритет.

Характеристики

Тип файла
Документ
Размер
505 Kb
Тип материала
Высшее учебное заведение

Список файлов лекций

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее