
- •Прикладное программирование в информационно-навигационных системах
- •1.2 Направления повышения производительности (vliw, simd)
- •2.1 Цсп фирмы Texas Instruments. Семейства, области применения, особенности архитектуры.
- •2.2 Цифровой сигнальный контроллер tms320f28335
- •2.2.1 Основные параметры и характеристики
- •2.2.2 Краткое описание основных узлов и блоков
- •3.1 Вход/выходы общего назначения
- •3.2 Таймеры cpu
- •3.3 Внешний интерфейс
- •3.4 Прямой доступ к памяти
- •4.1 Модуль eQep квадратурного датчика (Encoder)
- •4.2 Модуль eCap захвата внешних событий (Capture)
- •4.3 Модуль ePwm широтно-импульсной модуляции
- •4.4 Модуль hrpwm широтно-импульсной модуляции с повышенным разрешением
- •4.5 Аналого-цифровой преобразователь adc
- •5.1 Модуль spi последовательного периферийного интерфейса
- •5.2 Модуль i2c межмикросхемного последовательного интерфейса
- •5.3 Модуль sci последовательного коммуникационного интерфейса
- •5.4 Модуль McBsp многоканального буферированного последовательного порта
- •5.5 Модуль can интерфейса
- •6.1.Интегрированная среда разработки и отладки программного обеспечения – общие понятия
- •6.2.Code Composer Studio ide (ccs): состав, общая характеристика
- •6.3 Настройка (Target and Host Setup), интерфейс пользователя
- •7.1 Конфигурация проекта
- •7.2 Текстовый редактор
- •7.3 Инструменты для создания программы
- •7.4 Построение проекта в ccs
- •7.5 Базовое программное обеспечение
- •8.1 Конфигурирование среды для отладки
- •8.2 Основные инструменты отладки
- •8.3 Отладка в реальном времени
- •8.4 Опции Reset
- •9.1 Анализ и оптимизация программы
- •9.2 Оптимизация прикладной программы
- •10.2 Примеры программ
- •10.3 Порядок внедрения заголовочных файлов и примеров программ
- •10.4 Использование matlab и LabView для подготовки и тестирования программ.
- •10.5 Аппаратная платформа для выполнения лабораторных работ tms320c2000 dsc Experimenter Kit. Назначение, устройство, особенности работы»
10.4 Использование matlab и LabView для подготовки и тестирования программ.
10.4.1 Использование пакета MATLAB для разработки и тестирования программ
В состав пакета MATLAB входит модуль Embedded Coder™, который генерирует компактные и быстрые программы на языке C и C++ для использования во встраиваемых процессорах и платах для быстрого прототипирования на основе таких процессоров.
Embedded Coder™ включает MATLAB Coder™ и Simulink Coder™, обеспечивающие конфигурацию и оптимизацию генерируемого кода с учетом специфики конкретного процессора. Пакет Embedded Coder™ стыкуется с системами программирования основных производителей, втом числе с Code Composer Studio фирмы Texas Instruments и VisualDSP++ фирмы Analog Devices.
Конфигурирование и работа с конкретным программируемым устройством (процессором, платой прототипа) производится с использованием интерфейса проекта в MATLAB Coder или Simulink Model Explorer. Первый позволяет конфигурировать и создавать проекты, а последний генерировать коды для моделей и подсистем, выбрать из списка программируемое устройство и сконфигурировать его для генерации кода.
Рис.10.1 Связь функционального и программного описаний объекта
Для трансляции кодов MATLAB и моделей Simulink в исходные тексты и исполняемые модули программируемых устройств используются конфигурационные файлы этих устройств.
Для кодов MATLABопределяют вид выходной информации:MEX-file,C/C++staticlibraryилиC/C++executable. При конфигурированииSimulinkопределяется среда, в которой будет исполняться программа. Среди другихEmbeddedCoderсодержит конфигурационный файлIDELinkTarget, который генерирует коды для компиляции и загрузки, в частности, дляCodeComposerStudioIDEфирмыTexasInstruments.
Конкретное программируемое устройство выбирается из имеющегося в пакете списка, который может быть расширен.
Используя Embedded Coder можно оптимизировать программу поблочно для дальнейшего уменьшения размера кода. Данные по блокам обмениваются с генерируемым кодом через глобальные переменные и аргументы функций. Генерируемый код отслеживается на модели системы на уровне блоков и сигналов. Двусторонние связи существуют между строками кода и моделью, облегчая навигацию между строками кода и элементами Simulink-модели.
Embedded Coder позволяет перенести генерируемый код в среду реального исполнения. При использовании Simulink Embedded Coderвозможности приближения к реальным условиям системы существенно улучшены.
Программа может исполняться с или без использования операционной системы реального времени, в однозадачном, многозадачном режимах или асинхронном режимах.
Embedded Coder генерирует .main программу базируясь на заданной информации о реальной среде применения.
Рис.10.2 Кастомизация проекта
10.4.2 Использование пакета LabVIEW для разработки и тестирования программ
В пакете LabVIEW реализована концепция графического программирования алгоритмов преобразования и обработки цифровых сигналов. Программа алгоритма при этом выглядит как функциональная схема устройства обработки данных, а запрограммированная задача (приложение) предстает в виде виртуального прибора (ВП) или виртуального инструмента (Virtual Instrument). В LabVIEW уже заложен обширный набор способов обработки данных в виде готовых узлов (устройств), которые можно включить в виртуальный прибор, что существенно упрощает и ускоряет разработку приложений анализа данных.
LabVIEW DSP-модуль предназначен для проектирования систем на базе сигнальных процессоров. Его использование позволяет применить такие методы цифровой обработки сигналов (ЦОС), как спектральный анализ и фильтрация для программирования сигнальных процессоров в LabVIEW. При использовании графического программирования время разработки приложений для поддерживаемых аппаратных средств значительно снижается, так как нет необходимости в знании текстовых языков программирования.Кроме того, модуль оснащен удобной справкой, что позволяет создавать более производительный код.
LabVIEW DSP-модуль поддерживает ряд устройств, включая N1SPEEDY-33, TMS320C6713 DSK и TMS320C6711 DSK. Он адресует аналого-цифровое преобразование, цифроаналоговое преобразование или цифровой ввод/вывод в целевые устройства для выполнения единичных или многоточечных операций. При создании приложений инженеры могут конфигурировать порт, тактирование, размер буфера и некоторые другие опции. В том случае, когда необходимо переключиться на другое аппаратное средство, узлы ввода/вывода автоматически изменяются для работы с новым устройством.
Функции пакета LabVIEW DSP Test Toolkit позволяют работать с проектами CCS. Это означает, что можно открыть файл проекта (.pjt-файл) скомпоновать его, а затем загрузить результат в плату DSK. Для открытия проекта необходимо указать расположение .pjt-файла на соответствующем входе ВП «Открыть проект CCS>> (CCS Open Project VI). Для компоновки проекта используется ВП CCS Build VI, который создает код DSP. ВП CCS Download Code VI загружает код в плату DSK. Далее для запуска загруженного кода применяется ВП CCS Run VI. Виртуальные приборы CCS Halt VI и CCS Close Project VI останавливают выполнение кода и закрывают проект CCS.
После создания кода DSP и загрузки на плату DSK, можно разработать в LabVIEW тестирующую систему, для проверки корректности его работы. Использование системы тестирования позволяет передать результаты симуляции в процессор и проанализировать выходные данные. Для этого в LabVIEW предустановленна палитра функций, использующих технологию RTDX. Входными и выходными данными могут быть любые тестовые величины, которые необходимо передать в код DSP и считать для анализа.
На рис. 10.3 показана блок-схема, поясняющая процесс передачи и приема данных с кода DSP, запущенного на плате DSK. Функциональный генератор (Basic Function Generator VI) генерирует синусоиду, далее этот сигнал подается на вход ВП CCS RTDX Write Array 116, записывающий массив данных в процессор, затем без прерывания выполнения кода, результат считывается с выходного канала ВП CCS RTDX Read Array 116 VI.
Рис. 10.3. Обмен данными с сигнальным процессором |
Виртуальный прибор углубленного тестирования выделены синим цветом и используют функции низкого уровня CCS и RTDX, такие как запуск CCS, включение или отключение коммуникации по технологии RTDX.
На рис. 10.4 показана блок-схема ВП «Загрузка кода CCS» (CCS Download Code VI), построенная с использованием функций углубленного тестирования. ВП CCS Get Build Path VI возвращает полный путь к скомпилированному файлу с расширением .out. Узел вызова (Invoke node) вызывает метод, по которому загружается указанный файл в плату DSK. Функция информации о файле/ директории (File/Directory Info function) возвращает размер .out-файла, используя данные о котором, ВП вычисляет необходимое время загрузки. Во время выполнения программы ВП CCS Status VI отображает пользовательские данные о текущем состоянии операции.
Рис. 10.4. Использование функций углубленного тестирования |
LabVIEW DSP-модуль предназначен для использования в любых инженерных задачах, в решении которых, как правило, применяют сигнальные процессоры. Его можно применять для изучения фундаментальных основ ЦОС с применением аппаратных средств, проектирования систем связи, звуковой обработки и управления двигателями.
Процесс проектирования приложения с использованием DSP-модуля включает рядэтапов. После создания виртуального прибора необходимо его скомпилировать и загрузить полученный код в выбранное устройство. Данный программный код очень компактен и эффективен для большинства приложений с доступной памятью на 32 кб слов. При работе с устройствами N1SPEEDY-33, TI С6711 DSK и С6713 DSK можно загрузить виртуальный прибор во флэш-память для испытания реальных систем. Одно из преимуществ графического программирования процессоров с использованием DSP-модуля - это наличие лицевой панели прибора, которая является интерактивным интерфейсом пользователя при обмене данными с устройством. В процессе создания ВП пользователь легко может добавлять элементы управления и контроля для удобства отладки и проверки правильности работы кода.