Что такое Real Time, FPGA, Embedded modules?

Ответить
Аватара пользователя
Pavel Krivozubov

Activity Bronze
professor
professor
Сообщения: 4421
Зарегистрирован: 07 фев 2008, 16:39
Награды: 3
Версия LabVIEW: 7.0 - 2013
Откуда: г. Электросталь
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Что такое Real Time, FPGA, Embedded modules?

Сообщение Pavel Krivozubov »

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
CrazyFizik
beginner
beginner
Сообщения: 22
Зарегистрирован: 22 май 2012, 19:06
Версия LabVIEW: 2010
Откуда: Саратов
Контактная информация:

Re: Что такое Real Time, FPGA, Embedded modules?

Сообщение CrazyFizik »

Вот меня интересует два вопроса:

Первый
Для ПЛИС есть цела куча сред с визуальным программированием (банально составляем схему), как тот же MAX, Altium, Cadance. В чем преимуществу приблуды для :labview: перед этими САПР, учитывая что продукты от NI как всегда стоят некисло?

Второй
Гибкость инструмента. Если из под :labview: я знаю, что могу создать программу так же как и на С для абсолютно любого продукта, причем за сжатые сроки (хотя требование по необходимому наличию массивного райн-тайма напрягает), то что мне дадут эти модули?
Могу ли я без танцев с бубном запрограммировать любую ПЛИС и МК, а не пользоваться, скажем только, услужливо предоставленными платами от NI.
Ну есть, конечно, вариант, когда я хочу построить свою систему PXI, покупаю крейг, компутер (скажем с RTOS) и беру для этого шасси платы с ПЛИС и контроллерами - да туту приимущество неоспоримо, занятный такой конструктор - пишем прогу из под :labview: , прошиваем встраиваемые платы (купленные у NI) из под :labview: и вроде NI даже поддерживает такое направление как самостоятельную разработку плат расширения для PXI (правда тонкостей не знаю).
Ну а если, все что есть я делаю сам, а :labview: использую как среду разработки? Насколько это реально? Т.е., связываться с фирменным оборудованием от NI никак не хочется, слишком толсто и не очень вкусно (даже в рамках PXI, ибо стандарт и архитектура не нова и открыта, имея свое производство - дешевле сделать самому будет)
Аватара пользователя
Sergey Ivanov

Activity Professionalism Gold Автор
expert
expert
Сообщения: 1217
Зарегистрирован: 01 мар 2009, 20:54
Награды: 5
Версия LabVIEW: 2018
Откуда: Санкт-Петербург, Кронштадт
Благодарил (а): 11 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Что такое Real Time, FPGA, Embedded modules?

Сообщение Sergey Ivanov »

CrazyFizik писал(а):Вот меня интересует два вопроса:



Второй
Гибкость инструмента. Если из под :labview: я знаю, что могу создать программу так же как и на С для абсолютно любого продукта, причем за сжатые сроки (хотя требование по необходимому наличию массивного райн-тайма напрягает), то что мне дадут эти модули?
Могу ли я без танцев с бубном запрограммировать любую ПЛИС и МК, а не пользоваться, скажем только, услужливо предоставленными платами от NI.
Любую МК не сможете. Их пока только 3 поддерживает :labview: (lm3s8962, lpc2378, lpc2468, вроде)
можно и без оборудования NI
я так програмировал: http://labviewportal.org/ru/programmiro ... 0--lpc2368
потом купил вот такую платку : http://www.compel.ru/2010/02/09/eki-lm3 ... -lm3s8962/ (купил с рук за 3500, новая около 5 стоит). теперь удобно смотреть как выполняется код (как в обычной программе). танцы с бубнами неизбежны :wink: , если что-то "необычное" надо сделать
Добро пожаловать на http://rk-stud.ru/
Аватара пользователя
Konstantin Sumenko

Activity Bronze
expert
expert
Сообщения: 1439
Зарегистрирован: 17 июл 2008, 12:20
Награды: 2
Версия LabVIEW: 2010
Откуда: Moscow
Поблагодарили: 1 раз
Контактная информация:

Re: Что такое Real Time, FPGA, Embedded modules?

Сообщение Konstantin Sumenko »

Советую не тратить свое время на LabVIEW Embedded, если затеваете более-менее серьезный проект. LabVIEW FPGA предназначен для работы с продукцией ni (RIO, PXI), соответственно в этом основное преимущество: сквозная среда разработки и с общей концепцией.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Что такое Real Time, FPGA, Embedded modules?

Сообщение Borjomy_1 »

NfO, RealTime - это класс операционных систем, которые гарантируют временные циклы. Т.е поставил loop-цикл с временем 100мкс - с заданной точностью он будет выполняться, независимо от того, захотел пользователь подключиться в веб-серверу или никаких задач нет.

Кстати, USB устройства не являются пригодными для штатной работы в RT-системах, поскольку у них недетерминированные интервалы обмена. USB-камера в том числе.
Аватара пользователя
Andrew Lunev

Activity Professionalism
VIP
VIP
Сообщения: 957
Зарегистрирован: 11 дек 2010, 12:31
Награды: 2
Версия LabVIEW: 2014-2021
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 10 раз

Re: Что такое Real Time, FPGA, Embedded modules?

Сообщение Andrew Lunev »

NfO писал(а):Т.е. гарантия временных циклов не должна быть каким-то отдельным модулем, а должна быть просто встроена в те модули, где она необходима. Я неправ?
У вас все в кучу свалилось. LabView очень дорогая система, если покупать ее целиком, поэтому NI разделили всю среду разработки на десятки модулей (тулкитов). Можно купить только те, которые необходимы и не тратить деньги на ненужные. Если разработчику надо измерять раз в секунду с точностью +/- 100 мс, то зачем ему платить за возможность синхронизации с точностью до 10 нс?
Понятие реального времени довольно сложное и очень многое зависит от нюансов. Обычно разделяют на системы "жесткого" реального времени и "мягкого" (не жесткого). Windows и подобные системы обеспечивают мягкое реальное время. В подобных системах ваша программа будет работать, как одна из десятков параллельно запущенных программ и каждой ОС будет выделять ресурсы. Может оказаться, что когда вашей программе срочно понадобились ресурсы, то в этот момент ОС будет занята антивирусом, обновлением ОС, каким-то другим процессом. Поэтому такие системы не могут гарантировать реакцию системы на событие за определенный промежуток. Однако в 90-99% случаев эта реакция обеспечивается.
В системах жесткого реального времени ваша программа работает практически с наивысшем приоритетом и может приостанавливать фоновые процессы для обеспечения обработки события в заданное время. Вы сами определяете приоритеты процессов при программировании. Однако для таких систем требуется и специализированная ОС.
FPGA вообще обеспечивает аппаратное и параллельное выполнение кода, в таком варианте реакция системы практически 100% гарантирована.
Однако, плохой код может даже FPGA сделать не детерминированным не говоря уже про RT. Но тут уж программисту некого винить кроме самого себя.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Что такое Real Time, FPGA, Embedded modules?

Сообщение Borjomy_1 »

Кстати, если разработчику надо измерять раз в секунду, с точностью до 0,1 сек, то где гарантия, что тот же антивирус не тормознёт эти измерения на пару секунд? В таком случае может произойти критический сбой и потеряется весь смысл разработки.
В таком случае люди, вообще-то пишут под DOS-ом, по старинке. Медленно, но надежно. Но если серьезно, то вы должны понимать, что при такой задаче, как критические измерения, вы не имеете права использовать офисную рабочую станцию с офисными приложениями, антивирусами и прочими делами. Это должен быть отдельный компьютер, на котором установлена Windows Embedded, без доступа в сеть. Обойдется винда вам дешевле ( если это будет только один комп ). Но повторяю: если вы собираетесь выполнять критические вычисления, то это должен быть ОТДЕЛЬНЫЙ компьютер.
Аватара пользователя
Viktor

Activity Professionalism Tutorials Black
expert
expert
Сообщения: 1408
Зарегистрирован: 23 мар 2008, 10:56
Награды: 4
Версия LabVIEW: 2020
Откуда: Санкт-Петербург
Благодарил (а): 17 раз
Поблагодарили: 3 раза
Контактная информация:

Re: Что такое Real Time, FPGA, Embedded modules?

Сообщение Viktor »

Похоже, NfO, не понимаете главного - Realtime модуль может быть установлен на любом подходящем компьютере с Windows, но нужен он для разработки программ под другие железки (или компьютеры), работающие в Realtime.
Телевизор покупают, чтобы просто смотреть, что покажут :haha:
Компьютер - чтобы что-то делать самому, но для этого туда нужно установить (приобрести за отдельную плату) какую то среду разработки.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Что такое Real Time, FPGA, Embedded modules?

Сообщение Borjomy_1 »

NfO, Вопрос в том, что считать критическими измерениями. Когда система измерений находится в контуре управления технологическим процессом, с тактом 10-20мс - это будет скорее подходить под критические измерения, чем система регистрации событий с тактом 1с.
Аватара пользователя
Andrew Lunev

Activity Professionalism
VIP
VIP
Сообщения: 957
Зарегистрирован: 11 дек 2010, 12:31
Награды: 2
Версия LabVIEW: 2014-2021
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 10 раз

Re: Что такое Real Time, FPGA, Embedded modules?

Сообщение Andrew Lunev »

NfO писал(а): А где-нибудь есть перечень конкретных требований по "критичности"? Чтобы однозначно было понятно в каких случаях что покупать.
Конкретных требований вы нигде не найдете, слишком много нюансов. Чтобы грамотно спроектировать архитектуру системы по ТЗ требуется намного больше знаний и опыта, чем требуется для реализации системы. Это как в области программирования есть специальность программист, а есть специальность системный архитектор, которая требует намного большей глубины знаний в различных областях. Вы пытаетесь выполнить работу системного архитектора, даже не поработав программистом на RT и FPGA и удивляетесь, что ничего не понятно, но почему-то считаете, что обладаете всеми необходимыми знаниями, чтобы выполнить задачу и проектирования и реализации. Ответов на форуме так же будет недостаточно для изучения всех нюансов, здесь нужны более фундаментальные знания, которые накапливаются годами.
Мне кажется для вас лучший вариант - написать ТЗ на систему и отдать его в офис NI, там по нему подберут оборудование, которое будет удовлетворять требованиям ТЗ. Притом эта услуга у NI совершенно бесплатна.

Например реализовать систему, которая оцифровывает сигналы на частоте до 2 МГц с одновременной выдачей ваших импульсов синхронизации с периодом 64 мкс и еще хоть десятком разных частот можно совершенно реально и под Windows. Потому что задача настраивается программно, а выполняется аппаратно с точностью до 10 нс. А вот, если вам захочется во время выполнения программы изменять частоту этих импульсов или ширину их с той же точностью, то уже только на FPGA реализация. Всего лишь одно изменение в ТЗ (возможность в реальном времени менять настройки генерации) и уже архитектура меняется кардинально. Однако, если при изменении настроек допустимо прерывание генерации на 0,1-1 секунды, то уже снова система вполне реализуема под Windows. И таких нюансов тысячи...
Аватара пользователя
Andrew Lunev

Activity Professionalism
VIP
VIP
Сообщения: 957
Зарегистрирован: 11 дек 2010, 12:31
Награды: 2
Версия LabVIEW: 2014-2021
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 10 раз

Re: Что такое Real Time, FPGA, Embedded modules?

Сообщение Andrew Lunev »

Кажется я начал понимать ваш вопрос. Дело в том, что 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 зарплаты вместо одной.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Real Time / FPGA / Embedded»