Слайд 1 - Цифровая обработка сигналов

advertisement
Программирование
цифровых сигнальных процессоров
TMS320C67x
TMS320C67x: выбор процессора?
TMS320C67x: выбор процессора?
ЦСП фирмы Texas Instruments
Платформа С2000 – цифровые сигнальные контроллеры, совмещающие
характеристики микроконтроллеров и ЦСП. Ориентированы на применение в
системах управления.
Платформа С5000 – процессоры для устройств широкого потребления, в том
числе мобильных средств связи. Отличаются малым энергопотреблением,
низкой ценой.
Платформа С6000 – наиболее высокопроизводительные процессоры
компании Texas Instruments. Архитектура ориентирована на использование
языков высокого уровня (Си). Используются в системах обработки видео,
аудиоданных и изображений, системах связи.
ЦСП TMS320C67x
Семейство ЦСП TMS320C67x – это семейство процессоров с плавающей
точкой платформы С6000.
Включает модели: С6701, С6713, С671х, С672х, С674х.
Данные процессоры используются в: аудиосистемах высокого качества,
различных
аудиопроцессорах,
системах
биометрии,
медицинском
диагностическом
оборудовании,
системах
обработки
изображений,
телекоммуникационном оборудовании, системах синтеза и обработки речи.
ЦСП TMS320C6713
Характеристики процессора TMS320C6713 (2Q 2008):
Тактовая частота: 300 МГц
Объем внутренней памяти: 4 Кбайт + 4 Кбайт + 256 Кбайт
Командный цикл: 3.3 нс
Производительность: 1800 MFLOPS
Цена: $36.60
Средства разработки программного обеспечения
ЦСП TMS320C67x
Системы моделирования
(Matlab, LabView), языки
высокого уровня (Cи)
Средства разработки программного обеспечения
ЦСП TMS320C67x
Системы моделирования
(Matlab, LabView), языки
высокого уровня (Cи)
Средства разработки программного обеспечения
ЦСП TMS320C67x
Системы моделирования
(Matlab, LabView), языки
высокого уровня (Cи)
Средства разработки программного обеспечения
ЦСП TMS320C67x
Системы моделирования
(Matlab, LabView), языки
высокого уровня (Cи)
Средства разработки программного обеспечения
ЦСП TMS320C67x
Системы моделирования
(Matlab, LabView), языки
высокого уровня (Cи)
Программа-симулятор
Средства разработки программного обеспечения
ЦСП TMS320C67x
Системы моделирования
(Matlab, LabView), языки
высокого уровня (Cи)
Программа-симулятор
Средства разработки программного обеспечения
ЦСП TMS320C67x
Системы моделирования
(Matlab, LabView), языки
высокого уровня (Cи)
Программа-симулятор
Стартовые наборы
разработчика и оценочные
платы
Средства разработки программного обеспечения
ЦСП TMS320C67x
Системы моделирования
(Matlab, LabView), языки
высокого уровня (Cи)
Программа-симулятор
Стартовые наборы
разработчика и оценочные
платы
Средства разработки программного обеспечения
ЦСП TMS320C67x
Системы моделирования
(Matlab, LabView), языки
высокого уровня (Cи)
Программа-симулятор
Стартовые наборы
разработчика и оценочные
платы
Эмуляторы
Средства разработки программного обеспечения
ЦСП TMS320C67x
Системы моделирования
(Matlab, LabView), языки
высокого уровня (Cи)
Программа-симулятор
Стартовые наборы
разработчика и оценочные
платы
Эмуляторы
Программирование ЦСП TMS320C67x
Типовой процесс разработки ПО для ЦСП:
1. Разрабатывается алгоритм обработки сигнала, проводится его
моделирование и исследование в системах MATLAB, LabView.
Возможно создание и отладка ПО на языках высокого уровня
(обычно
Си),
реализующее
требуемый
алгоритм.
2. В специальной среде программирования ЦСП формируется
проект, нацеленный на выполнение на конкретном сигнальном
процессоре. Проект может разрабатываться на основе языка Си или
в кодах ассемблера. Разработка проекта может производиться
«вручную» или выполняться автоматически средствами MATLAB
или LabView. Моделируется выполнение ПО на ЦСП. Моделировать
работу процессора программно, не имея самого процессора,
позволяют
программы-симуляторы.
Программа-симулятор
позволяет осуществить отладку, оптимизацию и тестирование
программного обеспечения, оценить параметры исполнения ПО на
данном ЦСП.
3. Разработанное и отлаженное в симуляторе программное
обеспечение тестируется на реальном, «живом» процессоре.
Для этого используют проверочные модули. Это платы,
включающие в свой состав сигнальный процессор и типовые
элементы систем ЦОС – дополнительную памяти, АЦП/ЦАП и
другие. На таких модулях можно полностью реализовать
простые цифровые системы обработки аналогового сигнала, а
порой и получить законченный продукт, не разрабатывая
собственного аппаратного обеспечения. Проверочные модули
можно разделить на стартовые наборы и отладочные модули.
Отладочные модули отличаются от стартовых наборов большим
числом специализированных аппаратных узлов, более высоким
их качеством, ценой.
4. Заключительным этапом разработки является отладка ПО на
сигнальном процессоре, встроенном в конечное оборудование.
При этом сохраняется возможность доступа к процессору с
персонального компьютера для анализа его работы и отладки в
реальном
времени.
Такую
возможность
обеспечивают
устройства
сопряжения
ПК
и
ЦСП
–
эмуляторы.
Среда Code Composer Studio
Среда Code Composer Studio
Позволяет:
Создавать программы
(средства редактирования, связь
с Матлаб)
Среда Code Composer Studio
Позволяет:
Создавать программы
(средства редактирования, связь
с Матлаб)
Строить проект (компилятор
С/С++, оптимизатор)
Среда Code Composer Studio
Позволяет:
Создавать программы
(средства редактирования, связь
с Матлаб)
Строить проект (компилятор
С/С++, оптимизатор)
Загружать код на целевое
оборудование (разные
платформы)
Среда Code Composer Studio
Позволяет:
Создавать программы
(средства редактирования, связь
с Матлаб)
Строить проект (компилятор
С/С++, оптимизатор)
Загружать код на целевое
оборудование (разные
платформы)
Анализировать и управлять
процессом выполнения
программы (средства
визуализации, в том числе
обмен данными в реальном
времени)
Среда Code Composer Studio
Вся работа с ЦСП TMS320C67х, включая этапы разработки и
отладки ПО, симуляции, отладки на «живом» процессоре и
работы с конечным оборудованием, ведется через персональный
компьютер с использованием программной среды разработки и
отладки программного обеспечения Code Composer Studio.
Code Composer Studio позволяет:
создавать программы – писать и редактировать тексты
программ на Си и ассемблере, импортировать проект для ЦСП
из систем MATLAB или LabView.
осуществлять построение проекта – генерировать на основе
написанных программ машинных кодов для заданного ЦСП. При
этом доступны компилятор языков Си/Си++ и средства
оптимизации Си и ассемблерных кодов.
Загружать код на целевое оборудование – инициировать
выполнение кодов программ в режиме симуляции или при их
наличии на различных аппаратных платформах (проверочных
модулях, платах собственного изготовления) .
Анализировать
и
управлять
процессом
выполнения
программы – наблюдать за состоянием внутренних ресурсов
процессора и изменять их состояние, что необходимо для
отладки ПО. Имеются удобные средства визуализации
состояния процессора (построение графиков, анализ спектра и
др.). Поддерживается полноценный анализ и управление
состоянием процессора при программировании аппаратного
обеспечения и в реальном времени.
Система команд ЦСП TMS320C67x
Цифровые сигнальные процессоры – разрабатываются специально для
быстрого выполнения алгоритмов цифровой обработки сигналов. Вся их
архитектура нацелена на решение задач ЦОС в реальном масштабе
времени.
Основной
принцип программирования ЦСП – использование
аппаратных узлов в полной мере.
всех
Каждая функция аппаратных модулей ЦСП превращается в команду.
Так появляется набор команд, полностью описывающий поведение всех
ресурсов ЦСП – система команд.
Система
команд
описывается
языком
АССЕМБЛЕРа
индивидуальна для каждого ЦСП.
и
строго
Система команд ЦСП TMS320C67x
Синтаксис команд:
Мнемоника
Исполняющий
вычислительный
блок
Операнды
источники
Регистр
назначения
Система команд ЦСП TMS320C67x
Синтаксис команды:
Мнемоника
Исполняющий
вычислительный
блок
Операнды
источники
Пример:
ADD
.L1
A1,A2,A3
Регистр
назначения
Система команд ЦСП TMS320C67x
Синтаксис команды:
Мнемоника
Исполняющий
вычислительный
блок
Операнды
источники
Пример:
ADD
.L1
A1,A2,A3
~
.L1:
A3 = A1 + A2
Регистр
назначения
Система команд ЦСП TMS320C67x
Пакет выполнения (параллельно выполняемые команды):
||
||
||
команда1
команда2
команда3
команда4
Система команд ЦСП TMS320C67x
Пакет выполнения (параллельно выполняемые команды):
||
||
||
команда1
команда2
команда3
команда4
Пример:
||
||
||
||
LDW
MPYSP
STW
SUB
B
.D1T1
.M2X
.D2T2
.S2
.S1
*A7++[1],A1
A1,B1,B2
B2,*B7++[1]
B0,1,B0
_LOOP_KERNEL
Система команд ЦСП TMS320C67x
Команды, выполняемые по условию:
[B0]команда
или
[!B0]команда
Система команд ЦСП TMS320C67x
Команды, выполняемые по условию:
[B0]команда
или
[!B0]команда
Пример:
||
||
||
||
LDW
MPYSP
STW
[B0]SUB
[B0]B
.D1T1
.M2X
.D2T2
.S2
.S1
*A7++[1],A1
A1,B1,B2
B2,*B7++[1]
B0,1,B0
_LOOP_KERNEL
Система команд ЦСП TMS320C67x
При объединении команд в пакеты выполнения
внимательным к совместному использованию ресурсов
следует
быть
Система команд ЦСП TMS320C67x
При объединении команд в пакеты выполнения следует
внимательным к совместному использованию ресурсов:
LDW
||MV
||MPYSP
||STW
.D2T2
.L2X
.M1
.D2T2
*B3++[1],B5
A2,B2
A1,A1,A2
B2,*B7++[1]
быть
Система команд ЦСП TMS320C67x
При объединении команд в пакеты выполнения следует
внимательным к совместному использованию ресурсов:
LDW
||MV
||MPYSP
||STW
.D2T2
.L2X
.M1
.D2T2
*B3++[1],B5
A2,B2
A1,A1,A2
B2,*B7++[1]
LDW
||MV
||ADD
||STW
.D2T2
.L2X
.S2
.D1T1
*B3++[1],B5
A2,B2
B2,1,B2
A2,*A7++[1]
быть
Неверно!
Система команд ЦСП TMS320C67x
При объединении команд в пакеты выполнения следует
внимательным к совместному использованию ресурсов:
LDW
||MV
||MPYSP
||STW
.D2T2
.L2X
.M1
.D2T2
*B3++[1],B5
A2,B2
A1,A1,A2
B2,*B7++[1]
LDW
||MV
||ADD
||STW
.D2T2
.L2X
.S2
.D1T1
*B3++[1],B5
A2,B2
B2,1,B2
A2,*A7++[1]
быть
Неверно!
Неверно!
Система команд ЦСП TMS320C67x
Обращение к памяти
Система команд ЦСП TMS320C67x
Обращение к памяти
Загрузка:
LDW
.D2T2
STW
.D1T1
*B3,B5
Запись:
A2,*A7
Система команд ЦСП TMS320C67x
Обращение к памяти
Загрузка:
LDW
.D2T2
*B3,B5
LDW
.D2T2
*+B3[1],B5
STW
.D1T1
A2,*A7
STW
.D1T1
A2,*-A7[2]
Запись:
Система команд ЦСП TMS320C67x
Обращение к памяти
Загрузка:
LDW
.D2T2
*B3,B5
LDW
.D2T2
*+B3[1],B5
LDW
.D2T2
*B3++[1],B5
STW
.D1T1
A2,*A7
STW
.D1T1
A2,*-A7[2]
STW
.D1T1
A2,*A7--[2]
Запись:
Система команд ЦСП TMS320C67x
Примеры !
Download