Презентация на тему: Модуль центрального процессора TMS320F28x

Модуль центрального процессора TMS320F28x
Модуль центрального процессора TMS320F28x
Модуль центрального процессора TMS320F28x
Модуль центрального процессора TMS320F28x
Модуль центрального процессора TMS320F28x
Модуль центрального процессора TMS320F28x
Модуль центрального процессора TMS320F28x
Модуль центрального процессора TMS320F28x
Модуль центрального процессора TMS320F28x
Модуль центрального процессора TMS320F28x
Модуль центрального процессора TMS320F28x
Модуль центрального процессора TMS320F28x
Модуль центрального процессора TMS320F28x
Модуль центрального процессора TMS320F28x
Модуль центрального процессора TMS320F28x
Модуль центрального процессора TMS320F28x
32-битные таймеры ядра ЦСП TMS320F28x
32-битные таймеры ядра ЦСП TMS320F28x
32-битные таймеры ядра ЦСП TMS320F28x
Система прерываний DSP TMS320F2812
Система прерываний DSP TMS320F2812
Система прерываний DSP TMS320F2812
Система прерываний DSP TMS320F2812
Система прерываний DSP TMS320F2812
32-битные таймеры ядра ЦСП TMS320F28x
1/25
Средняя оценка: 4.0/5 (всего оценок: 89)
Код скопирован в буфер обмена
Скачать (273 Кб)
1

Первый слайд презентации: Модуль центрального процессора TMS320F28x

PM (бит ST0 7-9 ) – биты режима сдвига, задают сдвиговый режим выходных операций в регистре произведения P. Результат сдвига попадает в АЛУ или в память. После начальной установки все биты PM сброшены в 0. V (бит ST0 6 ) – флаг переполнения. Если результат операции вызывает переполнение в регистре, хранящем результат, флаг V будет установлен и «защелкнут». Если переполнение не происходит, V не изменяется. Флаг V защелкнут, пока не будет очищен сбросом или командой условного перехода, которая проверяет V. Такой условный переход очищает V независимо от того, является ли проверенное условие (V = 0 или V = 1) истинным. Переполнение происходит в ACC (и V установлен) если результат сложения или вычитания не может быть размещен в пределах диапазона знаковых чисел – от 8000 0000 16 до 7FFF FFFF 16. Переполнение происходит в А H, AL, или другом 16-разрядном регистре или в ячейке памяти, если результат сложения или вычитания не может быть размещен в пределах от 8000 16 до 7FFF 16. Команды CMP, CMPB и CMPL не воздействуют состояние флага V.

Изображение слайда
2

Слайд 2: Модуль центрального процессора TMS320F28x

N (бит ST0 5 ) – флаг знака. N установлен, если результат операции – отрицательное число или сброшен, если результат – положительное число. После сброса N сброшен в 0. Если бит 31 ACC равен 0, ACC – положителен; если бит 31 равен 1, ACC отрицателен. Результат А H, AL, и других 16-разрядных регистров или данных в ячейках памяти также проверяются на отрицательное условие. Тогда значение бита 15 – знаковый разряд (1 указывает на отрицательное, 0 указывает на положительное число). Команда TEST ACC устанавливает флаг N, если значение в ACC отрицательно. Иначе команда сбрасывает флаг N. Z ( ST0 4 ) – флаг нуля. Z установлен, если результат некоторых операций – 0 или сброшен, если результат отличается от нуля. Это применяется к результатам, которые получены в ACC, А H, AL, другом регистре, или в ячейке памяти. После сброса, Z сброшен. Команда TEST ACC устанавливает Z, если значение в ACC – 0, иначе сбрасывает Z.

Изображение слайда
3

Слайд 3: Модуль центрального процессора TMS320F28x

C (бит ST0 3 ) – флаг переноса. Этот флаг показывает, когда сложение, инкремент генерируют перенос, или когда вычитание, сравнение, декремент генерируют заем. Этот флаг также устанавливают операции программного сдвига ACC (команды ROR, ROL ) и аппаратные сдвиги ( barrel shift ) в ACC, А H, и AL. В результате сложения/инкремента, C будет установлен, если генерируется перенос; иначе C будет сброшен. Имеется одно исключение: если используется команда ADD со сдвигом 16 ( ADD ACC,loc16<<shift ), C может устанавливаться, но не может сбрасываться. В результате вычитания/декремента/сравнения, C будет сброшен, если вычитание генерирует перенос; иначе C будет установлен. Имеется одно исключение: если используется команда SUB со сдвигом 16 ( SUB ACC,loc16<<shift ), C может сбрасываться, но не может устанавливаться. Этот бит может быть индивидуально установлен и очищен командами SETC C и CLRC C соответственно. После начального сброса, C сброшен в 0.

Изображение слайда
4

Слайд 4: Модуль центрального процессора TMS320F28x

TC (бит ST0 2 ) – флаг тест/управление. Этот бит показывает результат тестирования, выполненного любой TBIT - командой (тест- бит) или командой NORM (нормализация). Команда TBIT проверяет выбранный бит. Когда команда TBIT выполнена, флаг TC установлен, если проверяемый бит – 1 или сброшен, если проверяемый бит – 0. Когда команда NORM выполнена, TC изменяется следующим образом: Если ACC содержит 0, TC установлен. Если содержимое ACC отличается от 0, CPU вычисляет исключающее ИЛИ битов 31 и 30 ACC, и затем загружает TC результатом. Этот бит может быть индивидуально установлен или сброшен командой SETC TC или CLRC TC соответственно. После сброса, TC сброшен в 0.

Изображение слайда
5

Слайд 5: Модуль центрального процессора TMS320F28x

OVM (бит ST0 1 ) – флаг режима переполнения. Когда ACC принимает результат сложения или вычитания, и результат вызывает переполнение, OVM определяет, как CPU обрабатывает переполнение: 0 – нормальное переполнение результата в ACC. Состояние флагов OVC отражает переполнение. 1 – состояние флагов OVC не изменяется, а ACC заполняется максимально возможным положительным или отрицательным значением следующим образом: - если ACC переполняется в положительном направлении (от 7FFF FFFF 16 до 8000 0000 16 ), ACC заполняется значением 7FFF FFFF 16. - если ACC переполняется в отрицательном направлении (от 8000 0000 16 до 7FFF FFFF 16 ), ACC заполняется значением 8000 0000 16. Этот бит может быть индивидуально установлен и сброшен соответственно командами SETC OVM и CLRC OVM. После начального сброса OVM сброшен.

Изображение слайда
6

Слайд 6: Модуль центрального процессора TMS320F28x

SXM (бит ST0 0 ) – флаг режима расширения знака. На флаг SXM воздействуют команды MOV, ADD и SUB, которые используют 16-битные операции в 32-разрядном аккумуляторе. Когда 16-разрядное значение загружено ( MOV ), добавлено ( ADD ) или вычтено ( SUB ) из ACC, SXM определяет режим обработки значения со знаком, расширенным в течение операции следующим образом: 0 – расширение знака подавлено (значение будет обрабатываться как беззнаковое). 1 – расширение знака допускается (значение будет обрабатываться как знаковое). Этот флаг может быть индивидуально установлен и очищен командой SETC SXM и командой CLRC SXM, соответственно. После начального сброса DSP флаг SXM сброшен.

Изображение слайда
7

Слайд 7: Модуль центрального процессора TMS320F28x

Поразрядные поля регистра состояния ST 1 :

Изображение слайда
8

Слайд 8: Модуль центрального процессора TMS320F28x

ARP (биты ST1 1 5- 1 3 ) – 3- битный указатель текущего вспомогательного регистра XAR0..XAR7. После сброса DSP указатель ARP установлен в 000. Значение ARP Выбранный дополнительный регистр 000 XAR0 ( выбран после начальной установки ЦСП ) 001 XAR1 010 XAR2 011 XAR3 100 XAR4 101 XAR5 110 XAR6 111 XAR7

Изображение слайда
9

Слайд 9: Модуль центрального процессора TMS320F28x

XF (бит ST1 12 ) – флаг, отражающий текущее состояние вывода /XF_XPLLDIS. Программная установка флага – SETC XF ; сброс – CLRC XF. При использовании этих команд конвейер выполнения команд не может быть прерван. Бит XF ( в составе регистра ST1) сохраняется и восстанавливается при обработке прерываний. M0M1MAP (бит ST1 1 1 ) – флаг режима карты памяти. Он всегда равен 1 в объектном режиме C28x ( это значение флаг имеет после начальной установки DSP). Когда необходимо использовать С27 x -совместимый режим, этот флаг может быть установлен в 0. При этом адреса областей памяти M0 и M1 меняются местами (только в памяти программ, но не в памяти данных) и указатель стека по умолчанию имеет значение 0 x 000. Бит ST1 1 0 – резервный бит. OBJMODE (бит ST1 9 ) – флаг режима объектной совместимости (0 для C27x -режима и 1 для C2 8 x -режима). Программная установка флага – команды SETC OBJMODE ; C28OBJ ; сброс – CLRC OBJMODE ; C27OBJ. Бит OBJMODE ( в составе регистра ST1) сохраняется и восстанавливается при обработке прерываний. После начальной установки ЦСП флаг имеет нулевое значение.

Изображение слайда
10

Слайд 10: Модуль центрального процессора TMS320F28x

AMODE (бит ST1 8 ) – флаг режима адресации. Этот бит, в сочетании с битом PAGE0 используется для выбора соответствующего режима адресации: AMODE =0 – в режиме прямой адресации DP дополняется 6-битным смещением, и некоторые режимы косвенной адресации не поддерживаются ( C28x- режим); AMODE =1 – в режиме прямой адресации DP дополняется 7-битным смещением, и поддерживаются все режимы косвенной адресации. Программная установка флага – команды SETC AMODE ; LPADDR ; сброс – CLRC AMODE ; C28ADDR. При использовании этих команд конвейер выполнения команд не может быть прерван. Бит AMODE ( в составе регистра ST1) сохраняется и восстанавливается при обработке прерываний. После начальной установки DSP флаг имеет нулевое значение. IDLESTAT (бит ST1 7 ) – флаг-индикатор выполненной инструкции IDLE. Доступен только по чтению. Флаг может быть сброшен по факту обслуживания прерывания и после начального сброса ЦСП. После обслуживания прерывания значение бита IDLESTAT из стека не восстанавливается.

Изображение слайда
11

Слайд 11: Модуль центрального процессора TMS320F28x

EALLOW (бит ST1 6 ) – этот флаг после установки разрешает доступ к эмуляционным и другим защищенным регистрам. Программная установка флага – EALLOW ; сброс – EDIS. Когда ЦСП обслуживает прерывание, текущее значение флага EALLOW сохраняется в стеке и затем обнуляется. Поэтому после начала подпрограммы обслуживания прерывания доступ к эмуляционным и другим защищенным регистрам запрещен. Если в подпрограмме требуется доступ к таким регистрам, необходимо внутри использовать команду EALLOW. По окончании подпрограммы обслуживания прерывания, флаг EALLOW может быть восстановлен при помощи команды IRET. LOOP (бит ST1 5 ) – бит инструкции « LOOP ». Этот флаг устанавливается, когда инструкция LOOPNZ или LOOPZ достигает фазы D2 конвейера. Эти инструкции продолжают выполняться, пока не встретится указанное в команде условие. После выполнения условия флаг LOOP сбрасывается. Этот бит не может быть программно установлен, может быть только считан.

Изображение слайда
12

Слайд 12: Модуль центрального процессора TMS320F28x

SPA (бит ST1 4 ) – бит выравнивания указателя стека. Этот флаг показывает, выполнял ли процессор выравнивание указателя стека на четный адрес инструкцией ASP : SPA= 1 – выравнивание выполнялось; SPA= 0 – выравнивание не выполнялось. После выполнения инструкции ASP, если SP указывал на нечетный адрес, он инкрементируется, а флаг SPA устанавливается в 1. Если SP уже был установлен на четный адрес, флаг SPA сбрасывается в 0. После выполнения инструкции NASP, если флаг SPA был установлен в 1, SP декрементируется и флаг SPA сбрасывается в 0. Если SPA был сброшен в 0, SP не изменяется.

Изображение слайда
13

Слайд 13: Модуль центрального процессора TMS320F28x

VMAP (бит ST1 3 ) – бит карты векторов прерываний. VMAP определяет, где в программной памяти располагаются вектора прерываний: VMAP= 0 – вектора прерываний располагаются в нижней части программной памяти, по адресам 00 0000 16 − 00 003F 16 ; VMAP= 1 – вектора прерываний располагаются в верхней части программной памяти, по адресам 3F FFC0 16 − 3F FF FF 16. В C28x – устройствах бит VMAP имеет аппаратное «подтягивание» к уровню лог. 1, что обеспечивает установку этого бита в «1» после начальной установки. Программная установка флага – команда SETC VMAP ; сброс – CLRC VMAP.

Изображение слайда
14

Слайд 14: Модуль центрального процессора TMS320F28x

PAGE0 (бит ST1 2 ) – бит конфигурации режима адресации PAGE0. Этот бит определяет два взаимоисключающих режима адресации: режим прямой адресации PAGE0 (1) и режим стековой адресации PAGE0 (0). Одновременная установка битов PAGE0 и AMODE в 1 недопустима. Установка PAGE0 в 1 включает совместимость с C27x- устройствами. Для C28x -устройств рекомендуется сбросить PAGE0 в 0. Программная установка флага – команда SETC PAGE0 ; сброс – CLRC PAGE0. После начальной установки ЦСП бит PAGE0 сброшен в 0.

Изображение слайда
15

Слайд 15: Модуль центрального процессора TMS320F28x

DBGM (бит ST1 1 ) – бит маскирования разрешения отладки. Если флаг DBGM установлен, эмулятор не имеет доступа к регистрам и памяти в реальном масштабе времени. CPU не воспринимает запросы останова, пока DBGM не будет сброшен. Перед началом выполнения подпрограммы DBGM всегда устанавливается в 1, и для возможности реализации пошагового режима и реализации точек останова, необходимо добавить команду CLRC DBGM в начале текста подпрограммы. Программная установка флага – команда SETC DBGM ; сброс – CLRC DBGM. После начальной установки DSP бит DBGM установлен в 1.

Изображение слайда
16

Слайд 16: Модуль центрального процессора TMS320F28x

INTM (бит ST1 0 ) – бит общего маскирования прерываний. Этот бит глобально разрешает или запрещает все маскируемые прерывания: INTM = 0 – общее разрешение прерываний (индивидуально – в регистре IER ); INTM = 1 – общий запрет прерываний. Флаг INTM не оказывает влияния на обработку немаскируемых прерываний. Программная установка флага – команда SETC INTM ; сброс – CLRC INTM. После начальной установки ЦСП бит INTM установлен в 1.

Изображение слайда
17

Слайд 17: 32-битные таймеры ядра ЦСП TMS320F28x

ЦСП TMS320F2812 содержит три 32-битных таймера ядра ( CPU-timers 0,1,2). Таймеры 1 и 2 зарезервированы для использования в операционной системе реального времени DSP/BIOS. Таймер 0 используется в приложениях пользователя. Каждый из таймеров имеет следующую блок-схему (все 32-разрядные регистры доступны в виде 16-битных частей, старшая из которых имеет в конце индекс « H »): 32-битный регистр периода PRDH:PRD 16-битный регистр делитель TDDRH:TDDR 16-битный счетчик-предделитель PSCH:PSC заём 32-битный счетчик TIMH:TIM Перезагрузка таймера RESET заём SYSCLKOUT TCR.4 (Timer stop status) TINT t зд. min = 1,33E-8 c (при f такт = 150 МГц); t зд. max = 2,185 E -3 c (при f такт = 30 МГц) t зд. min = 2, 67 E-8 c (при f такт = 150 МГц); t зд. max = 108, 594 сут. (при f такт = 30 МГц)

Изображение слайда
18

Слайд 18: 32-битные таймеры ядра ЦСП TMS320F28x

Каждый таймер тактируется системной частотой SYSCLKOUT после того, как в соответствующем регистре TIMERxTCR сброшен 4-й бит ( TSS ). При установленном 3- м бите ( TRB ) в регистре TIMERxTCR в 32-битый счетный регистр TIMERxTIMH : TIMERxTIM загружается значение из регистра периода TIMERxTPRDH:TIMERxTPRD, а в регистр-предделитель TIMERxPSCH : TIMERxPSC – значение из регистра-делителя TIMERxTDDRH : TIMERxTDDR. Значение счетного регистра TIMERxTIMH : TIMERxTIM декрементируется в соответствии с частотой переопустошений регистра TIMERxPSCH : TIMERxPSC, тактируемого системной частотой SYSCLKOUT. При достижении регистром TIMERxTIMH : TIMERxTIM нулевого значения, соответствующим таймером генерируется сигнал прерывания. При каждом переопустошении счетчика-предделителя TIMERxPSCH : TIMERxPSC в него переписывается значение из регистра-делителя TIMERxTDDRH : TIMERxTDDR. При каждом переопустошении счетного регистра TIMERxTIMH : TIMERxTIM в него переписывается значение из регистра периода TIMERxTPRDH:TIMERxTPRD.

Изображение слайда
19

Слайд 19: 32-битные таймеры ядра ЦСП TMS320F28x

Счетчик-предделитель TIMERxPSC и регистр-делитель TIMERxTDDR программно доступны как один 16-разрядный регистр TIMERxTPR. Аналогично – TIMERxPSCH и TIMERxTDDRH ( это единый 16 -битный регистр TIMERxTPRH).

Изображение слайда
20

Слайд 20: Система прерываний DSP TMS320F2812

Прерывания – это программно- или аппаратно-управляемые сигналы, которые заставляют CPU приостанавливать текущее выполнение программы и переходить к выполнению подпрограммы. Прерывания вырабатываются периферией или внешними устройствами (например, АЦП, ЦАП, или внешними процессорами), а также внутренними устройствами (например, таймерами после завершения счета). Для процессоров C28x прерывания могут быть инициированы программно ( инструкции INTR, OR IFR, TRAP ) или аппаратно (внешние выводы, внешняя периферия). Если несколько аппаратных прерываний были инициированы одновременно, обслуживание производится в соответствии с установленным приоритетом. DSP TMS320F2812 содержит аппаратный контроллер расширения прерываний (PIE), который мультиплексирует многочисленные прерывания от периферии в одно CPU -прерывание. С точки зрения CPU, все прерывания подразделяются на 2 категории: - маскируемые прерывания (могут быть программно разрешены либо запрещены); - немаскируемые прерывания (не могут быть программно запрещены) – C 28 x будет немедленно реагировать на данный тип прерываний и переходить к подпрограмме обработки прерывания; к этой категории относятся прерывание NMI, сигнал сброса RS и программно инициируемые прерывания INTR и TRAP - ??.

Изображение слайда
21

Слайд 21: Система прерываний DSP TMS320F2812

Прерывания выполняются в 4-х основных фазах: Прием запроса прерывания. Принятие прерывания к исполнению. Если прерывание – маскируемое, то условия, которые вызывают прерывания, дополнительно перепроверяются и подтверждаются процессором. Для немаскируемых и программных прерываний принятие к выполнению происходит сразу. Подготовка к подпрограмме обслуживания прерывания и сохранение значений регистров: - оканчивается выполнение текущей инструкции и снимаются с конвейера все инструкции, которые не достигли фазы D2 ; - автоматически сохраняется большая часть текущего состояния программы путем сохранения в стеке содержимого регистров ST0, T, AL, AH, PL, PH, AR0, AR1, DP, ST1, DBGSTAT, PC, IER; - извлекается вектор прерывания и загружается в программный счетчик (PC). 4. Выполнение подпрограммы обслуживания прерывания ( ОП ). DSP семейства C28x обрабатывает прерывания путем выполнения соответствующих подпрограмм обработки. Вектора прерываний (начальные адреса подпрограмм обработки) находятся в предопределенной области памяти программ BootROM – BROM vectors.

Изображение слайда
22

Слайд 22: Система прерываний DSP TMS320F2812

Изображение слайда
23

Слайд 23: Система прерываний DSP TMS320F2812

Процессорное ядро DSP F2812 принимает сигналы по 16 линиям прерываний :

Изображение слайда
24

Слайд 24: Система прерываний DSP TMS320F2812

Источники прерываний в DSP F2812:

Изображение слайда
25

Последний слайд презентации: Модуль центрального процессора TMS320F28x: 32-битные таймеры ядра ЦСП TMS320F28x

Сигналы прерываний, формируемые CPU- таймерами, связаны с прерываниями ядра следующим образом:

Изображение слайда