Что такое Real Time, FPGA, Embedded modules?
-
Pavel Krivozubov
- professor
- Сообщения: 4422
- Зарегистрирован: 07 фев 2008, 16:39
- Награды: 3
- Версия LabVIEW: 7.0 - 2013
- Откуда: г. Электросталь
- Благодарил (а): 24 раза
- Поблагодарили: 9 раз
- Контактная информация:
Что такое Real Time, FPGA, Embedded modules?
LabVIEW Real-Time Module (модуль реального времени) это модуль для графической разработки приложений сбора данных и управления, работающих в режиме жесткого реального времени.
Основные преимущества:
- Автоматическая генерация кода
- Выделенные целевые платформы для повышения надежности
- Встроенные средства ПИД-управления и нечеткой логики
- Операционная система реального времени
- Работа с распределенными, автономными и встроенными системами управления
LabVIEW FPGA Module - модуль для программирования ПЛИС.
Основные преимущества:
- Создание LabVIEW приложений для ПЛИС, запускаемых на реконфигурируемых системах ввода/вывода сигналов компании NI
- Высокоскоростное, детерминированное аппаратное исполнение блок-диаграмм с периодом исполнения циклов до 25 нс
- Параллельное исполнение нескольких задач
LabVIEW Embedded Development Module - модуль для программирования встраиваемых микропроцессоров.
Основные преимущества:
- Свыше 400 встроенных функций численного анализа и обработки сигналов
- Интерактивные средства отладки приложений
- Поддержка OCDI (on-chip debug interface)
- Генерация C кодов для интеграции со средствами разработки приложений производителей микропроцессров
Описания пакетов на сайте National Instruments:
http://digital.ni.com/worldwide/russia. ... EFD84#fpga
Основные преимущества:
- Автоматическая генерация кода
- Выделенные целевые платформы для повышения надежности
- Встроенные средства ПИД-управления и нечеткой логики
- Операционная система реального времени
- Работа с распределенными, автономными и встроенными системами управления
LabVIEW FPGA Module - модуль для программирования ПЛИС.
Основные преимущества:
- Создание LabVIEW приложений для ПЛИС, запускаемых на реконфигурируемых системах ввода/вывода сигналов компании NI
- Высокоскоростное, детерминированное аппаратное исполнение блок-диаграмм с периодом исполнения циклов до 25 нс
- Параллельное исполнение нескольких задач
LabVIEW Embedded Development Module - модуль для программирования встраиваемых микропроцессоров.
Основные преимущества:
- Свыше 400 встроенных функций численного анализа и обработки сигналов
- Интерактивные средства отладки приложений
- Поддержка OCDI (on-chip debug interface)
- Генерация C кодов для интеграции со средствами разработки приложений производителей микропроцессров
Описания пакетов на сайте National Instruments:
http://digital.ni.com/worldwide/russia. ... EFD84#fpga
Правила форума
Developlabs - IT услуги - ждём Ваших заказов на написание программ
Новостной канал о LabVIEW и технологиях NI на Facebook
Developlabs - IT услуги - ждём Ваших заказов на написание программ
Новостной канал о LabVIEW и технологиях NI на Facebook
-
- beginner
- Сообщения: 22
- Зарегистрирован: 22 май 2012, 19:06
- Версия LabVIEW: 2010
- Откуда: Саратов
- Контактная информация:
Re: Что такое Real Time, FPGA, Embedded modules?
Вот меня интересует два вопроса:
Первый
Для ПЛИС есть цела куча сред с визуальным программированием (банально составляем схему), как тот же MAX, Altium, Cadance. В чем преимуществу приблуды для перед этими САПР, учитывая что продукты от NI как всегда стоят некисло?
Второй
Гибкость инструмента. Если из под я знаю, что могу создать программу так же как и на С для абсолютно любого продукта, причем за сжатые сроки (хотя требование по необходимому наличию массивного райн-тайма напрягает), то что мне дадут эти модули?
Могу ли я без танцев с бубном запрограммировать любую ПЛИС и МК, а не пользоваться, скажем только, услужливо предоставленными платами от NI.
Ну есть, конечно, вариант, когда я хочу построить свою систему PXI, покупаю крейг, компутер (скажем с RTOS) и беру для этого шасси платы с ПЛИС и контроллерами - да туту приимущество неоспоримо, занятный такой конструктор - пишем прогу из под , прошиваем встраиваемые платы (купленные у NI) из под и вроде NI даже поддерживает такое направление как самостоятельную разработку плат расширения для PXI (правда тонкостей не знаю).
Ну а если, все что есть я делаю сам, а использую как среду разработки? Насколько это реально? Т.е., связываться с фирменным оборудованием от NI никак не хочется, слишком толсто и не очень вкусно (даже в рамках PXI, ибо стандарт и архитектура не нова и открыта, имея свое производство - дешевле сделать самому будет)
Первый
Для ПЛИС есть цела куча сред с визуальным программированием (банально составляем схему), как тот же MAX, Altium, Cadance. В чем преимуществу приблуды для перед этими САПР, учитывая что продукты от NI как всегда стоят некисло?
Второй
Гибкость инструмента. Если из под я знаю, что могу создать программу так же как и на С для абсолютно любого продукта, причем за сжатые сроки (хотя требование по необходимому наличию массивного райн-тайма напрягает), то что мне дадут эти модули?
Могу ли я без танцев с бубном запрограммировать любую ПЛИС и МК, а не пользоваться, скажем только, услужливо предоставленными платами от NI.
Ну есть, конечно, вариант, когда я хочу построить свою систему PXI, покупаю крейг, компутер (скажем с RTOS) и беру для этого шасси платы с ПЛИС и контроллерами - да туту приимущество неоспоримо, занятный такой конструктор - пишем прогу из под , прошиваем встраиваемые платы (купленные у NI) из под и вроде NI даже поддерживает такое направление как самостоятельную разработку плат расширения для PXI (правда тонкостей не знаю).
Ну а если, все что есть я делаю сам, а использую как среду разработки? Насколько это реально? Т.е., связываться с фирменным оборудованием от NI никак не хочется, слишком толсто и не очень вкусно (даже в рамках PXI, ибо стандарт и архитектура не нова и открыта, имея свое производство - дешевле сделать самому будет)
-
Sergey Ivanov
- expert
- Сообщения: 1217
- Зарегистрирован: 01 мар 2009, 20:54
- Награды: 5
- Версия LabVIEW: 2018
- Откуда: Санкт-Петербург, Кронштадт
- Благодарил (а): 11 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: Что такое Real Time, FPGA, Embedded modules?
Любую МК не сможете. Их пока только 3 поддерживает (lm3s8962, lpc2378, lpc2468, вроде)CrazyFizik писал(а):Вот меня интересует два вопроса:
Второй
Гибкость инструмента. Если из под я знаю, что могу создать программу так же как и на С для абсолютно любого продукта, причем за сжатые сроки (хотя требование по необходимому наличию массивного райн-тайма напрягает), то что мне дадут эти модули?
Могу ли я без танцев с бубном запрограммировать любую ПЛИС и МК, а не пользоваться, скажем только, услужливо предоставленными платами от NI.
можно и без оборудования NI
я так програмировал: http://labviewportal.org/ru/programmiro ... 0--lpc2368
потом купил вот такую платку : http://www.compel.ru/2010/02/09/eki-lm3 ... -lm3s8962/ (купил с рук за 3500, новая около 5 стоит). теперь удобно смотреть как выполняется код (как в обычной программе). танцы с бубнами неизбежны , если что-то "необычное" надо сделать
Добро пожаловать на http://rk-stud.ru/
-
Konstantin Sumenko
- expert
- Сообщения: 1439
- Зарегистрирован: 17 июл 2008, 12:20
- Награды: 2
- Версия LabVIEW: 2010
- Откуда: Moscow
- Поблагодарили: 1 раз
- Контактная информация:
Re: Что такое Real Time, FPGA, Embedded modules?
Советую не тратить свое время на LabVIEW Embedded, если затеваете более-менее серьезный проект. LabVIEW FPGA предназначен для работы с продукцией ni (RIO, PXI), соответственно в этом основное преимущество: сквозная среда разработки и с общей концепцией.
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Что такое Real Time, FPGA, Embedded modules?
NfO, RealTime - это класс операционных систем, которые гарантируют временные циклы. Т.е поставил loop-цикл с временем 100мкс - с заданной точностью он будет выполняться, независимо от того, захотел пользователь подключиться в веб-серверу или никаких задач нет.
Кстати, USB устройства не являются пригодными для штатной работы в RT-системах, поскольку у них недетерминированные интервалы обмена. USB-камера в том числе.
Кстати, USB устройства не являются пригодными для штатной работы в RT-системах, поскольку у них недетерминированные интервалы обмена. USB-камера в том числе.
-
Andrew Lunev
- VIP
- Сообщения: 957
- Зарегистрирован: 11 дек 2010, 12:31
- Награды: 2
- Версия LabVIEW: 2014-2021
- Откуда: Москва
- Благодарил (а): 4 раза
- Поблагодарили: 10 раз
Re: Что такое Real Time, FPGA, Embedded modules?
У вас все в кучу свалилось. LabView очень дорогая система, если покупать ее целиком, поэтому NI разделили всю среду разработки на десятки модулей (тулкитов). Можно купить только те, которые необходимы и не тратить деньги на ненужные. Если разработчику надо измерять раз в секунду с точностью +/- 100 мс, то зачем ему платить за возможность синхронизации с точностью до 10 нс?NfO писал(а):Т.е. гарантия временных циклов не должна быть каким-то отдельным модулем, а должна быть просто встроена в те модули, где она необходима. Я неправ?
Понятие реального времени довольно сложное и очень многое зависит от нюансов. Обычно разделяют на системы "жесткого" реального времени и "мягкого" (не жесткого). Windows и подобные системы обеспечивают мягкое реальное время. В подобных системах ваша программа будет работать, как одна из десятков параллельно запущенных программ и каждой ОС будет выделять ресурсы. Может оказаться, что когда вашей программе срочно понадобились ресурсы, то в этот момент ОС будет занята антивирусом, обновлением ОС, каким-то другим процессом. Поэтому такие системы не могут гарантировать реакцию системы на событие за определенный промежуток. Однако в 90-99% случаев эта реакция обеспечивается.
В системах жесткого реального времени ваша программа работает практически с наивысшем приоритетом и может приостанавливать фоновые процессы для обеспечения обработки события в заданное время. Вы сами определяете приоритеты процессов при программировании. Однако для таких систем требуется и специализированная ОС.
FPGA вообще обеспечивает аппаратное и параллельное выполнение кода, в таком варианте реакция системы практически 100% гарантирована.
Однако, плохой код может даже FPGA сделать не детерминированным не говоря уже про RT. Но тут уж программисту некого винить кроме самого себя.
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Что такое Real Time, FPGA, Embedded modules?
В таком случае люди, вообще-то пишут под DOS-ом, по старинке. Медленно, но надежно. Но если серьезно, то вы должны понимать, что при такой задаче, как критические измерения, вы не имеете права использовать офисную рабочую станцию с офисными приложениями, антивирусами и прочими делами. Это должен быть отдельный компьютер, на котором установлена Windows Embedded, без доступа в сеть. Обойдется винда вам дешевле ( если это будет только один комп ). Но повторяю: если вы собираетесь выполнять критические вычисления, то это должен быть ОТДЕЛЬНЫЙ компьютер.Кстати, если разработчику надо измерять раз в секунду, с точностью до 0,1 сек, то где гарантия, что тот же антивирус не тормознёт эти измерения на пару секунд? В таком случае может произойти критический сбой и потеряется весь смысл разработки.
-
Viktor
- expert
- Сообщения: 1408
- Зарегистрирован: 23 мар 2008, 10:56
- Награды: 4
- Версия LabVIEW: 2020
- Откуда: Санкт-Петербург
- Благодарил (а): 17 раз
- Поблагодарили: 3 раза
- Контактная информация:
Re: Что такое Real Time, FPGA, Embedded modules?
Похоже, NfO, не понимаете главного - Realtime модуль может быть установлен на любом подходящем компьютере с Windows, но нужен он для разработки программ под другие железки (или компьютеры), работающие в Realtime.
Телевизор покупают, чтобы просто смотреть, что покажут
Компьютер - чтобы что-то делать самому, но для этого туда нужно установить (приобрести за отдельную плату) какую то среду разработки.
Телевизор покупают, чтобы просто смотреть, что покажут
Компьютер - чтобы что-то делать самому, но для этого туда нужно установить (приобрести за отдельную плату) какую то среду разработки.
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Что такое Real Time, FPGA, Embedded modules?
NfO, Вопрос в том, что считать критическими измерениями. Когда система измерений находится в контуре управления технологическим процессом, с тактом 10-20мс - это будет скорее подходить под критические измерения, чем система регистрации событий с тактом 1с.
-
Andrew Lunev
- VIP
- Сообщения: 957
- Зарегистрирован: 11 дек 2010, 12:31
- Награды: 2
- Версия LabVIEW: 2014-2021
- Откуда: Москва
- Благодарил (а): 4 раза
- Поблагодарили: 10 раз
Re: Что такое Real Time, FPGA, Embedded modules?
Конкретных требований вы нигде не найдете, слишком много нюансов. Чтобы грамотно спроектировать архитектуру системы по ТЗ требуется намного больше знаний и опыта, чем требуется для реализации системы. Это как в области программирования есть специальность программист, а есть специальность системный архитектор, которая требует намного большей глубины знаний в различных областях. Вы пытаетесь выполнить работу системного архитектора, даже не поработав программистом на RT и FPGA и удивляетесь, что ничего не понятно, но почему-то считаете, что обладаете всеми необходимыми знаниями, чтобы выполнить задачу и проектирования и реализации. Ответов на форуме так же будет недостаточно для изучения всех нюансов, здесь нужны более фундаментальные знания, которые накапливаются годами.NfO писал(а): А где-нибудь есть перечень конкретных требований по "критичности"? Чтобы однозначно было понятно в каких случаях что покупать.
Мне кажется для вас лучший вариант - написать ТЗ на систему и отдать его в офис NI, там по нему подберут оборудование, которое будет удовлетворять требованиям ТЗ. Притом эта услуга у NI совершенно бесплатна.
Например реализовать систему, которая оцифровывает сигналы на частоте до 2 МГц с одновременной выдачей ваших импульсов синхронизации с периодом 64 мкс и еще хоть десятком разных частот можно совершенно реально и под Windows. Потому что задача настраивается программно, а выполняется аппаратно с точностью до 10 нс. А вот, если вам захочется во время выполнения программы изменять частоту этих импульсов или ширину их с той же точностью, то уже только на FPGA реализация. Всего лишь одно изменение в ТЗ (возможность в реальном времени менять настройки генерации) и уже архитектура меняется кардинально. Однако, если при изменении настроек допустимо прерывание генерации на 0,1-1 секунды, то уже снова система вполне реализуема под Windows. И таких нюансов тысячи...
-
Andrew Lunev
- VIP
- Сообщения: 957
- Зарегистрирован: 11 дек 2010, 12:31
- Награды: 2
- Версия LabVIEW: 2014-2021
- Откуда: Москва
- Благодарил (а): 4 раза
- Поблагодарили: 10 раз
Re: Что такое Real Time, FPGA, Embedded modules?
Кажется я начал понимать ваш вопрос. Дело в том, что NI позиционирует LabView, как язык программирования не для программистов. И они попытались сделать все, чтобы инженер без особых знаний в программировании смог самостоятельно реализовать задачу в единой среде разработки. Ведь, если в системе есть компьютеры под Windows, контроллеры под RT и контроллеры с FPGA, то для реализации системы необходимы знания в каком-то языке программирования для реализации алгоритмов под Windows, какого-то еще языка для реализации алгоритмов под RT и еще какой-то язык нужно для кода FPGA. Если один инженер владеет прекрасно всеми тремя языками, да еще и знает все нюансы реализации кода под RT и FPGA, то он скорее профессиональный программист. По концепции NI достаточно изучить один простой язык LabView и инженер сможет программировать все уровни сразу на одном языке и в единой концепции. Если говорить совсем просто, то можно написать один код и запустить его и на Windows и на RT и на FPGA вообще без изменений. Все преобразования сделает LabView в момент компиляции и все сложности низкого уровня скрыты от разработчика. Именно для этого и нужны модули LabView RT и FPGA, а продаются они отдельно потому что далеко не всем нужны эти модули, многим достаточно базового варианта LabView и зачем тогда переплачивать?
Проблема в том, что эти модули работают только с оборудованием NI. То есть вы не сможете написать ваше приложение под любую операционную систему RT или прошить любую ПЛИС, но для оборудования NI процесс максимально упрощен.
А что дешевле, каждая фирма решает для себя сама. Кому-то проще купить раз модули разработки и один инженер и спроектирует систему и реализует ее на оборудовании NI, а кому то проще нанять 3-х профессиональных программистов в дополнение к инженеру и платить им за разработку. То есть платить 4 зарплаты вместо одной.
Проблема в том, что эти модули работают только с оборудованием NI. То есть вы не сможете написать ваше приложение под любую операционную систему RT или прошить любую ПЛИС, но для оборудования NI процесс максимально упрощен.
А что дешевле, каждая фирма решает для себя сама. Кому-то проще купить раз модули разработки и один инженер и спроектирует систему и реализует ее на оборудовании NI, а кому то проще нанять 3-х профессиональных программистов в дополнение к инженеру и платить им за разработку. То есть платить 4 зарплаты вместо одной.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение