Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прикладное программирование 2014 / Прикладное программирование -Конспект лекций - заготовка для издания.doc
Скачиваний:
160
Добавлен:
21.03.2016
Размер:
3.24 Mб
Скачать

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 Down­load 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-модуля - это наличие лицевой панели прибора, которая является интерактивным интерфейсом пользователя при обмене данны­ми с устройством. В процессе создания ВП пользователь легко может добавлять элементы управления и контроля для удобства отладки и проверки правильности работы кода.