Upload
doananh
View
239
Download
2
Embed Size (px)
Citation preview
1
Simulink Real-TimeПостроение, запуск и тестирование приложений реального времени
Основные возможности
• АвтоматическаягенерацияприложенийреальноговремениизмоделейSimulinkдлязапусканавыделенныхпроцессорах,споддержкойпротоколовиплатввода/вывода,атакжеПЛИС(с HDL Coder™)
• Многозадачноеимногоядерноеядрореальноговременисмикросекунднымразрешениеми поддержкойпараллельноговыполнения
• ИнтеграциясцелевымимашинамиSpeedgoat,готовымидляиспользованиявофисе,лабора-торииивполевыхусловиях
• Блокидрайверовдляввода/вывода,включаяаналоговые,цифровые,ШИМ,энкодеры,трансформаторы,пассивныекомпоненты,последовательные,аудио,разделяемуюпамятьи настраиваемуюПЛИС
• Блокидрайверовдляпротоколовишинданных,включаяRawEthernet,real-timeUDP,CAN,EtherCAT®,EtherNet/IP™,Lin,SAEJ1939,FlexRay™,CameraLink®,USBvideo,ARINC429иMIL-STD-1553
• SimulinkReal-TimeExplorerсгигабитнымподключениемпоEthernetдляуправленияне-сколькимицелевымимашинами,выполненияиинструментацииприложенийреальноговремени
• Независимоевыполнениеприложенийреальноговременисотображениемсигналов ввысокомразрешении
• MATLAB-функциидляавтоматизациитестированияиAPIдляразработкинезависимыхклиентскихприложенийипользовательскихинтерфейсов(VisualBasic,C/C++,Java™и.NET)
Создание окружения для симуляции и тестирования в реальном времени
Создание приложений реального времени с использованием окружения для симуляции и тестиро-вания в реальном времени: хост-компьютер, целевой компьютер и тестируемое оборудование
Типичноеокружениедляприложенийреальноговремени,созданныхприпомощиSimulinkReal-Time,состоитизкомпьютераразработчика,целевогокомпьютераSpeedgoatифизическойсистемы(тестируемогооборудования).
НакомпьютереразработчикаработаетSimulinkReal-Time,атакжеС-компиляторитребуемыепродукты:MATLAB, MATLAB Coder™, Simulink и Simulink Coder™.
ПроцессорцелевогокомпьютераработаетподуправлениемядраSimulinkReal-Timeсмикросе-кунднымразрешением,поддерживающимпараллельноевыполнение.Подключениекомпьюте-раразработчикакцелевомукомпьютеруосуществляетсячерезсетьEthernetнапрямую(ло-кальнаясетьточка-точка)иличерезмаршрутизатор(сетьLANилиWAN)сиспользованиемпротоколаTCP/IP.Целевойкомпьютерподключаетсяприпомощисвоихаппаратныхинтер-фейсовкфизическойсистеме(тестируемомуоборудованию).
2
Посленастройкиэтогоокруженияможносоздаватьприложенияреальноговремениизмоде-лейSimulinkнакомпьютереразработчикаизагружатьприложениенацелевойкомпьютерчерезподключениеEthernet.Послезагрузкиприложенияможно:
• взаимодействоватьсприложениемреальноговременинацелевомкомпьютере;
• осуществлятьинтерактивныеилиавтоматическиезапускиитесты;
• настраиватьпараметрывовремя,доипослезапуска;
• снимать,просматриватьизаписыватьсигналынакомпьютереразработчикаилицелевомкомпьютере;
• создаватьизапускатьинструментальныепанелисграфическимиэлементамиуправленияи отображениядлянастройкипараметровипросмотрасигналов.
Типичное окружение для симуляции и тестирования в реальном времени с использованием Simulink Real-Time.
Выбор оборудования для целевого компьютера
Использование целевого компьютера в офисе, лаборатории или в полевых условиях
ДлясимуляцииитестированиявреальномвременииспользуетсяSimulinkReal-Timeивыде-ленныйцелевойкомпьютерсЦПУ,модулямиввода-выводаиподдержкойразличныхпрото-колов.
Speedgoatпредлагаетготовыекиспользованиюконфигурации,изкоторыхможновыбратьмашинуреальноговремениимодуливвода-вывода,удовлетворяющиетребованиямпопроиз-водительности,интерфейсамипротоколам.
Speedgoatпредлагаетразнообразныеформ-факторыиинтерфейсы,протоколыимодулиПЛИС,подходящиедляиспользованиявофисе,лабораториииливполевыхусловиях.ЦелевойкомпьютерSpeedgoatявляетсязавершеннымиготовымдляподключенияккомпьютеруразработчика.Целевойкомпьютерпоставляетсяполностьюсобранным:
• ЦПУ,память,жесткийдискивводы-выводы,протоколыиПЛИСустановленыиготовыкработе;
• полныйнаборкабелейввода-вывода,терминальныеплаты,документация,блокидрайверовв Simulinkиобвязкадлятестированиякаждогоотдельногомодуляввода-вывода;
• ядроSimulinkReal-Timeпредварительноустановленоицелевойкомпьютерготовквклю-чению;
3
• документациядлявсегоцелевогокомпьютера,включаясервиснуюмноголетнююгарантию,службуподдержкиивозможностиобновлениямодулейввода-вывода,протоколовиобору-дованияПЛИС,включаянастраиваемыепрошивкиПЛИС;
• SimulinkReal-TimeицелевыекомпьютерыSpeedgoatподдерживаютразнообразныеинтер-фейсыввода-выводаипротоколы.
SimulinkReal-Timeпредлагаетдрайвера ввода-вывода и функции для целевого компьютера, приобретаемыенапрямуюусоответствующегоаппаратногопроизводителя,чтообеспечиваетобратнуюсовместимостьсцелевымиприложениями,созданнымиприпомощиxPCTarget™.
Выбор целевых компьютеров Speedgoat и оборудования для поддержки интерфейсов ввода-вывода и протоколов.
4
Таблица поддерживаемых интерфейсов ввода-вывода и протоколов модулями Speedgoat.
Создание и управление приложением реального времени
Расширение моделей Simulink блоками драйверов для интерфейсов ввода-вывода и протоколов
МодельSimulinkсоставляетосновуприложенияреальноговремени,создаваемогоприпомощиSimulinkReal-Time.МодельможетсодержатьлюбойблокизбиблиотекиSimulink,длякоторогоSimulink CoderможетгенерироватьС-код,блокиизтакихпродуктов,какStateflow®,Simscape™исвязанныхсистемныхтулбоксов,атакжепользовательскийкодилистороннийкодввидеблоковS-functionнаС.
ПередпостроениемприложенияреальноговременивмоделиSimulinkследуетвыбратьреша-тельсфиксированнымшагомивыбратьSimulinkReal-Timeвкачествецелевогоокружения.ЗатемвмодельSimulinkдобавляютсяблокидрайверовлибоизбиблиотекиблоковSimulinkReal-Time,либоизбиблиотекиблоковSpeedgoat,поставляемойскаждымцелевымкомпьюте-ромSpeedgoat.Затемподключаютсясигналымеждуэтимиблокамидрайверовидругимиблокамивмодели.Затеминициируетсяпроцесспостроенияприложенияреальноговремени.В процессепостроенияосуществляетсяавтоматическаязагрузкасгенерированногоприложе-нияреальноговременичерезподключениеEthernetнацелевойкомпьютер.
SimulinkReal-Timeотображаетсостояниезагруженногоприложенияреальноговременинадисплеевысокогоразрешения.Возможноосуществлятьмониторингработающегоприложенияреальноговремениипросматриватьзначениясигналовипараметров.
5
SimulinkReal-Timeпредлагаетдваспособауправленияприложениемреальноговременинацелевомкомпьютере.SimulinkReal-TimeExplorerпозволяетнастраиватьиуправлятьоборудо-ваниемцелевогокомпьютера,загружатьприложенияреальноговременииуправлятьприложе-ниямиреальноговремени–включаязапуск,остановкуилиизменениечастотыдискретизации,атакжеотображениеиполучениеданныхостатусеэтихзапусков.
ТакжеможноиспользоватьфункцииMATLABиобъектыизSimulinkReal-Timeдляуправле-нияинастройкойприложенийреальноговременичерезкоманднуюстрокуMATLABиличерезскриптыифайлыMATLAB.ДляполучениядоступакцелевомукомпьютеруиуправленияприложениямиреальноговременивнеMATLABможноиспользоватьCAPIили.NETAPI.
Библиотека блоков Simulink Real-Time и Speedgoat.
6
Широкий набор настроек приложения Simulink Real-Time и настроек ядра.
Лог построения приложения реального времени, включающий генерацию С-кода, компиляцию, компоновку и загрузку.
7
Инструментация приложения реального времени
Настройка параметров и отображение сигналов с использованием Simulink Real-Time Explorer и осциллографов Simulink Real-Time
МожноиспользоватьSimulinkReal-TimeExplorerдлянастройкипараметровиотображенияилизаписиинтересующихсигналов.ОсуществлениеэтойинструментациивовремяработыприложениянетребуетповторногопостроенияприложенияреальноговремениизмоделиSimulink.
Имеетсявозможностьнастраиватьскалярные,векторныеилиматричныепараметрыипро-сматриватьзначениясигналоввчисленномилиграфическомвиде,используяосциллографыSimulinkReal-Time.Можноидентифицироватьпараметрыдлянастройкиилисигналыдлянаблюденияпутемнавигациивмодельнойиерархиииличерезпреднастроенныегруппы.
SimulinkReal-TimeExplorerпозволяетразрабатыватьизапускатьграфическиеинструменталь-ныепанели.Можновыбратьграфическиеэлементы–такие,какручки,ползунки,шкалыииндикаторыизпанелиинструментовиперетащитьихвразрабатываемыепанели.Соединениямеждукаждыминструментомиприложениемреальноговремениосуществляетсяпутемперетаскиванияпараметровисигналовизокнаиерархиимоделинасоответствующиеграфиче-скиеэлементыуправленияиотображения.Призапускеинструментальнойпанелионавзаимо-действуетнепрерывносприложениемреальноговременииобновляетсвязанныепараметрыисигналы.
Такжеможноосуществитьинструментациюприложенияреальноговремени,используякоманднуюстрокуMATLABлибоинтерактивно,либопрограммноизскриптовифункцийMATLAB.МожноиспользоватьMATLAB-функциииобъектыSimulinkReal-Time(дляприло-женийMATLAB)илиCи.NETAPI(длявнешнихисполняемыхпрограмм).
SimulinkReal-TimeподдерживаетSimulinkExternalMode,позволяяинструментироватьприложенияреальноговременинепосредственноизмоделиSimulink,используемойдляпостроенияприложения.
8
Сессия Simulink Real-Time Explorer с интегрированной инструментальной панелью, служащей пользова-тельским интерфейсом для работающего приложения реального времени.
Дисплей целевого компьютера, графически отображающий сигналы и работу приложения реального времени.
9
Настройка параллельного выполнения для приложения реального времени
Использование возможностей параллельного выполнения в Simulink и кода, сгенерированного Simulink Coder, а также ядра Simulink Real-Time и многоядерного целевого компьютера
Можносоздаватьвысокопроизводительныеприложенияреальноговременисиспользованиемпараллельноговыполнения.Параллельноевыполнениепозволяетвыполнитьбольшекодазаотведенныйшаграсчета.ИспользуютсявозможностипараллельноговыполнениявSimulink и кода,сгенерированногоSimulink Coder,атакжеядраSimulinkReal-Timeимногоядерногоцелевогокомпьютера.Припараллельномвыполнениинетникакогоизмененияобщейдинами-кимоделиSimulinkирезультирующегоприложенияреальноговременипосравнениюсихнепараллельнымисполнением.
Параллельное выполнение в моделях Simulink
SimulinkReal-TimeподдерживаетвозможностиSimulinkпопараллельномувыполнению, такие,какмногозадачноевыполнениемногоскоростныхсистемимоделированиепараллель-ныхзадач.
Параллельное выполнение в сгенерированном коде
Приложенияреальноговремени,созданныеизмногоскоростныхмоделейSimulink,включаютпараллельно-безопасныйкодимогутисполнятьсянамногоядерныхсистемахдляулучшенияпроизводительности.Дляболеетщательногоуправленияможноразбитьмодельнаподмоделиипривязатьэтиподмоделикзадачамвсгенерированномкоде.Такаяпривязкаирезультирую-щийкодпозволяютразделитьподсистемысоднойчастотоймеждуразнымизадачами.
СиспользованиемSimulinkReal-TimeсгенерированныйискомпилированныйкодприложенияреальноговремениавтоматическираспределяетсямеждудоступнымиядрамиЦПУцелевогокомпьютера.
Параллельное выполнение ядра Simulink Real-Time
ЯдроSimulinkReal-Timeможетзапускатьмодели,настроенныеврежимах,описанныхвыше,какнаодноядерных,такинамногоядерныхцелевыхкомпьютерах.Нетребуетсядополнитель-наянастройкаядраSimulinkReal-Timeдлязапускамногозадачноймоделиилимодели,настро-еннойнапараллельноевыполнение.Этиприложениямогутисполнятьсятакимжеобразом,каклюбоедругоеприложениереальноговремени.
Параллельное выполнение на многоядерном целевом компьютере
ЯдроSimulinkReal-Time,исполняющееприложениереальноговремени,используетаппарат-ныересурсы,предлагаемыецелевымкомпьютером,включаямногоядерныйЦПУ,продвинутыйконтроллерпрерыванийичипсет,атакжеуправлениемногоуровневымразделяемымкэшем.
МожнооборудоватьцелевойкомпьютерSpeedgoatмодулямиПЛИСчерездоступныеслотырасширенияPCI.ИспользуяSimulinkReal-Time,можновоспользоватьсявозможностьюПЛИСзапускатьHDL-кодвжелезеивозможностьюHDL CoderгенерироватьHDL-кодизмоделейSimulink.ТакаякомбинацияпозволяетиспользоватьмодулиПЛИСвцелевомкомпьютеревкачестведополнительногоресурсадляпараллельноговыполнения.
10
SimulinkReal-Timeподдерживаетиспользованиенесколькихцелевыхкомпьютеров,подклю-ченныхккомпьютеруразработчикапосредствомEthernet.Каждыйцелевойкомпьютерможетисполнятьотдельноеприложениереальноговремени,сгенерированноеизотдельноймоделиSimulink.ВзаимодействиеисинхронизациязадаетсявмоделяхSimulinkсиспользованиемблоковдрайверовдляинтерфейсовввода-выводаипротоколов,описывающихцелевыекомпьютеры,такие,какразделяемаяпамять,real-timeUDP,CAN,EtherCATиFlexRay.
Модель Simulink, в которой цветами отмечено разделение на задачи, готовая для параллельного выполне-ния.
11
Профилировщик Simulink Real-Time, показывающий приоритет задач, выполнение и прерывания приложения реального времени, работающего в режиме параллельного выполнения на целевом компьютере с четырьмя ядрами ЦПУ.
Speedgoat Xilinx Spartan-6 (с логическим интерфейсом Virtex-5) для ускорения алгоритма в качестве ресурса для параллельного выполнения.
12
Создание независимого приложения реального времени
Автоматический запуск приложения реального времени на целевом компьютере
SimulinkReal-Timeпозволяетсоздаватьнезависимыеприложенияреальноговременидляпостояннойустановкинацелевомкомпьютере.Какрезультат,можноиспользоватьSimulinkReal-Timeкаквовремяфазыразработки,такивовремяфазыраспространенияпроекта.
НараннейстадииразработкикомпьютерразработчикаобычнопостоянноподключенкцелевомукомпьютерупосредствомEthernetдлянепрерывногосоздания,загрузкииинстру-ментацииприложенийреальноговремени.Втовремякактакаяконфигурацияпредлагаетгибкостьипозволяетосуществлятьбыстрыеитерации,онатребуетналичиякомпьютераразработчика,накоторомработаетMATLAB.
ПозжеможносоздатьнезависимоеприложениереальноговременисинтегрированнымядромSimulinkReal-Time.Привключениицелевогокомпьютераприложениереальноговременизапускаетсяавтоматически,позволяяосуществлятьпостоянноефункционированиесимуля-тораHILираспространениеприложенийреальноговремени.
Внезависимомрежимеработыдисплейцелевогокомпьютераотображаетвизуальнуюинфор-мациюосостоянииработающегоприложенияреальноговремени,включаяграфическоеотображениесигналов,которыебылипредварительнонастроены.
Можноподключитькомпьютерразработчикакцелевомукомпьютерувлюбоевремя,чтобыуправлятьиинструментироватьработающееприложениереальноговремени.
ИмеетсявозможностьиспользоватьCи.NETAPIдляSimulinkReal-Time,чтобысоздаватьсобственныеприложенияWindowsдлядоступа,управленияиинструментацииприложенийреальноговремени,работающихнаодномилинесколькихцелевыхкомпьютерах,подключен-ныхчерезEthernet.
Можнораспространятьнезависимыеприложенияреальноговременибездополнительныхплат,атакжесвязанныеприложенияWindows,использующиеSimulinkReal-TimeAPI.
13
Дисплей целевого компьютера с работающим независимым приложением реального времени.
Созданный интерфейс пользователя Windows, взаимодействующий с независимым приложением реального времени с использованием Microsoft Visual .Net и .NET API в Simulink Real-Time.
14
Использование конфигурируемых модулей ввода-вывода на базе ПЛИС
Ускорение частей приложения реального времени
SimulinkReal-TimeпозволяетвоспользоватьсямощнымоборудованиемПЛИСвцелевомкомпьютередляспециализированныхконфигурируемыхинтерфейсовввода-выводаилиускорениячастейприложенияреальноговремени.
Конфигурируемыемодуливвода-выводанабазеПЛИСотSpeedgoatдоступнысразличнымиуровнямипроизводительности,например,Virtex-II,Spartan-6,Virtex-6иKintex-7отXilinx.
ДляобходаограничениянапропускнуюспособностьшиныPCIприбольшихчастотахработы,типичныхдляПЛИС,доступныемодуливвода-выводаПЛИСимеютсобственныелокальныевводы-выводы,включаяцифровыеианалоговыеканалы.Этилокальныевводы-выводыявляютсялибовстроеннымивмодуль,либомогутбытьдобавленывкачестведополнитель-ного модуля(плагина).
Конфигурируемые вводы-выводы
НетребуетсяспецифическихзнанийПЛИС,HDLилиинструментовсинтезадляиспользова-ниямодуляПЛИСвкачествеконфигурируемоговвода-вывода.Speedgoatпредлагаетпредопре-деленныекодовыемодулиПЛИСдляспециализированныхвводов-выводов,таких,какцифро-выеэнкодеры,трехфазныйШИМ,I2CиSPI,которыемогутсовмещатьсявразныхкомбинаци-яхвпрошивкенаПЛИС.Библиотекаблоков,связанныхсэтойпрошивкой,позволяетбыстродобавлятьтребуемыйфункционалвмодельSimulinkтакимжеобразом,какэтоделаетсядлястатическихвводов-выводов.
БиблиотекаблоковSimulinkReal-TimeотSpeedgoatподдерживаетширотно-импульснуюмодуляцию,измерениеисимуляциюэнкодеров,последовательныепротоколы,синхронизациюицифровыевводы-выводыобщегоназначения.
Algorithm Acceleration
Simulink Real-Time вместе с HDL Coderпозволяетиспользоватьмодуливвода-выводанабазеПЛИСдляускоренияотдельныхчастейприложенияреальноговремени.Возможностьпарал-лельноговыполнениявSimulinkпозволяетвыбратьодинилинесколькомодулейПЛИСвHDLWorkflowAdvisor.Дляпостроенияприложенияреальноговремениосуществляетсяидентифи-кацияподсистемвмоделиSimulink,изкоторыхбудетгенерироватьсяHDL-кодвместоC-кода.Такаявозможностьпозволяетпроектироватьисоздаватьприложенияреальноговремени,которыемогутработатькакнаЦПУцелевогокомпьютера,такинаиспользуемыхмодуляхввода-выводанабазеПЛИС.
15
Кодовые модули ПЛИС для специализированных интерфейсов ввода-вывода и протоколов с использованием модулей ввода-вывода Speedgoat на базе ПЛИС.
Модули Speedgoat на базе ПЛИС для ввода-вывода и ускорения, позволяющие расширить целевой компью-тер мощностью ПЛИС, с возможностью выбора от Xilinx Virtex-II до Spartan-6 и Virtex-6.
Функциональность SPIMaster в виде блока Simulink.
16
Дополнительная информация и контакты
Информацияопродуктах matlab.ru/products
Пробнаяверсия matlab.ru/trial
Запросцены matlab.ru/price
Техническаяподдержка matlab.ru/support
Тренинги matlab.ru/training
Контакты matlab.ruE-mail:[email protected] Тел.:+7(495)232-00-23,доб.0609Адрес:115114Москва,Дербеневскаянаб.,д.7,стр.8
Блок драйвера и диалоговое окно в модели Simulink для модуля на базе ПЛИС для использования в приложе-нии реального времени, построенного при помощи Simulink Real-Time.
Окно HDL Coder Workflow Advisor, показывающее выбор модулей Speedgoat на базе ПЛИС для настраивае-мого ввода-вывода и ускорения алгоритма.