Разработка виртуального стенда на sbRIO-9636

Простейшие вопросы в области инженерной разработки
Ответить
antok
interested
interested
Сообщения: 2
Зарегистрирован: 18 окт 2017, 16:58
Версия LabVIEW: 14
Контактная информация:

Разработка виртуального стенда на sbRIO-9636

Сообщение antok »

Приветствую всех и прошу подсказать о возможности и методах реализации следующего проекта.

Задача:
разработать виртуальный стенд на основе NI LabVIEW RIO Evaluation Kit (плата sbRIO-9636)
для практикумов по схемотехнике/микропроцессорам. Для разработки используется поставляемая в комплекте LabVIEW 2014.

1. Студенты будут писать код на VHDL (либо в схемном редакторе, конвертируя после этого в VHDL/bit файл), плата должна использоваться для отладки и тестирования.
В идеале необходимо реализовать загрузку кода без использования LabVIEW, а созданный в LabVIEW виртуальный
стенд использовать в виде готового приложения для отладки, который параметрически будет настраиваться на просмотр и подачу необходимых сигналов.


Как работать с VHDL средствами LabVIEW в общем то разобрался, но есть ли возможность программировать ПЛИС без участия LabVIEW? Либо какими-то утилитами, либо напрямую из Xilinx? А LabVIEW использовать только для создания готового приложения для виртуального стенда и не использовать его в работе студентов (т.е. воспользоваться им для создания RT и Win приложений, а на FPGA грузить скомпилированные системы отдельно)?
По тому, что сам нагуглил и перечитал складывается впечатление, что с данной платой можно работать исключительно из самой LabVIEW, так ли это?

2. Возможно ли реализовать стенд таким образом, чтобы студент загружал VHDL или подготовленный bit файл, а дальше настраивал стенд на просмотр и подачу выбранных сигналов уже после его запуска средствами созданного заранее универсального приложения (собственно, виртуальный стенд)?

Т.е., приложение показывает список доступных входов/выходов, получая эти данные с ПЛИС самостоятельно. Студент отбирает какие ему нужны для просмотра, на какие и что он собирается подавать для тестов, группирует отобранные элементы управления в Win приложении.
Можно ли в принципе организовать такое динамичное формирование отладочной среды программно?
Какие средства LabVIEW можно для этого использовать?
Или же готовое приложение с таким функционалом создать невозможно, и все равно придется вручную в LabVIEW частично адаптировать заготовку стенда под загруженный на ПЛИС код? В таком случае, какими средствами можно минимизировать работу студента по настройке стенда в LabVIEW?

3. Ну и совсем дурацкий вопрос. Не могу разобраться как подать синхронисигнал... Нужно и непрерывно и потактово.
Нашел, что можно в FPGA Target добавить Onboard Clock, но не понял как им дальше воспользоваться - ни на блок диаграмму, ни на лицевую панель не вытаскивается и никуда не хочет подключаться. Также нашел Waveform Generator, но там уже не понял можно ли им для этих целей пользоваться и как преобразовать сигнал от них для подачи на CLK вход схемы на FPGA.

Заранее всем спасибо за любые подсказки!

Возможно, для реализации этого мне вообще нужен не LabVIEW (или не только он), а каким то образом надо получить доступ к API платы из Visual Studio?
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Разработка виртуального стенда на sbRIO-9636

Сообщение Kosist »

Проблема в том, что на ПЛИСине будет исполняться лишь один бит файл. Т.е. либо будет бежать Ваше приложение для стенда, либо кастомный код студентов.
Также, здается мне, что без :labview: оное чудо запрограммировать не удастся. Хотя, может более опытные коллеги в этих вопросах Вам расскажут способ...
Вопрос - а чем не годится для изучения ПЛИС какая-нибудь доска от Altera, и ей подобных? Если не использовать :labview: для программирования ПЛИС, а писать через VHDL, то :labview: вообще не нужно; а значит можно обойтись и без NI-вских железок.
Более целесообразно, как по мне, сделать тогда стенд с sbRIO, сделать приложение для него, и показывать что и как можно получить с ПЛИС. А для написания своего кода студенты будут использовать вначале "обычную" доску и будут писать все "ручками" (если стоит задача именно научить VHDL), а затем и через :labview:.
Но это уже решать Вам, но возможность реализации Вашей задачи, как по мне, довольно таки под сомнением...
Мы делили апельсин - много наших полегло...
Artem.spb

Activity Автор
professor
professor
Сообщения: 3387
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Разработка виртуального стенда на sbRIO-9636

Сообщение Artem.spb »

antok писал(а):Приветствую всех и прошу подсказать о возможности и методах реализации следующего проекта.

Как работать с VHDL средствами LabVIEW в общем то разобрался, но есть ли возможность программировать ПЛИС без участия LabVIEW? Либо какими-то утилитами, либо напрямую из Xilinx? А LabVIEW использовать только для создания готового приложения для виртуального стенда и не использовать его в работе студентов (т.е. воспользоваться им для создания RT и Win приложений, а на FPGA грузить скомпилированные системы отдельно)?
По тому, что сам нагуглил и перечитал складывается впечатление, что с данной платой можно работать исключительно из самой LabVIEW, так ли это?
:labview: создаёт не только начинку кода, но и его оболочку, то, как верхний уровень будет общаться с нижним. Вряд ли сторонние компиляторы могут создать такой код
2. Возможно ли реализовать стенд таким образом, чтобы студент загружал VHDL или подготовленный bit файл, а дальше настраивал стенд на просмотр и подачу выбранных сигналов уже после его запуска средствами созданного заранее универсального приложения (собственно, виртуальный стенд)?

Т.е., приложение показывает список доступных входов/выходов, получая эти данные с ПЛИС самостоятельно. Студент отбирает какие ему нужны для просмотра, на какие и что он собирается подавать для тестов, группирует отобранные элементы управления в Win приложении.
Можно ли в принципе организовать такое динамичное формирование отладочной среды программно?
С ходу и без проверки (просто не на чем): да, можно
Создаёте шаблон плис-кода (стандартизуете FP), студент может менять BD, но не FP.
Тогда ваша стендовая оболочка гарантированно (без ошибок) сможет читать/писать данные в ПЛИС. а уж будут ли они там использоваться - дело ПЛИСа.
А в оболочке стенда при запуске плиса выбирается, какой bit-файл грузить в ПЛИС.
Возможно, вашем шаблоне кода будут куски, работающие с железом. Их студентам менять нельзя (или менять на свой страх и риск)
3. Ну и совсем дурацкий вопрос. Не могу разобраться как подать синхронисигнал... Нужно и непрерывно и потактово.
что это и для чего это?
плисина шпарит себе на максимально возможной скорости.
Если нужно выдавать некий сигнал, то создайте обычный цикл с заданным периодом. В цикле на нужный выход выдавайте нужный сигнал (по одной точке за итерацию).
antok
interested
interested
Сообщения: 2
Зарегистрирован: 18 окт 2017, 16:58
Версия LabVIEW: 14
Контактная информация:

Re: Разработка виртуального стенда на sbRIO-9636

Сообщение antok »

Проблема в том, что на ПЛИСине будет исполняться лишь один бит файл. Т.е. либо будет бежать Ваше приложение для стенда, либо кастомный код студентов.
Так о том и речь, что на ПЛИС грузится только студенческий файл, а моя оплетка RT+Win должна оттуда подтягивать доступные порты. А то, над чем я экспериментировал в LabVIEW - там через референс в явном виде указываешь какие порты тебе нужны и для каждого из них отдельно пишешь обработку. Причем, одинаковую обработку. Отсюда и одна из проблем - как это вытащить оттуда, унифицировано обработать на RT, а дальше уже сделать конструктор в WIN приложении, где студент сам будет отображать на форме то, что ему нужно посмотреть и задать. Есть ли соответствующие функции в LabVIEW?
Вопрос - а чем не годится для изучения ПЛИС какая-нибудь доска от Altera, и ей подобных? Если не использовать :labview: для программирования ПЛИС, а писать через VHDL, то :labview: вообще не нужно; а значит можно обойтись и без NI-вских железок.
Более целесообразно, как по мне, сделать тогда стенд с sbRIO, сделать приложение для него, и показывать что и как можно получить с ПЛИС. А для написания своего кода студенты будут использовать вначале "обычную" доску и будут писать все "ручками" (если стоит задача именно научить VHDL), а затем и через :labview:.
Но это уже решать Вам, но возможность реализации Вашей задачи, как по мне, довольно таки под сомнением...
Одна из основных причин - потому что эта железка уже есть. Когда то была куплена с целью потестить, подумать что сделать... и благополучно положена на полку. Теперь настало время достать. У нас сейчас используется платы на Spartan XL в связке с Xilinx 4.1 на "хардварном" стенде. И на этом всем студенты выполняют лабораторные начиная с проектирования триггеров и счетчиков и заканчивая микропроцессорными ядрами. Сейчас вот появилось предложение перевести все это на NI. И, соответственно, на каких-то этапах погружать студента в LabVIEW нет смысла, курс не по нему. В дальнейшем можно и с ним поработать и отдельные лабораторные организовать. В перспективе планируется удаленная работа с данным стендом, что в LabVIEW вполне себе неплохо получается.
Создаёте шаблон плис-кода (стандартизуете FP), студент может менять BD, но не FP.
Тогда ваша стендовая оболочка гарантированно (без ошибок) сможет читать/писать данные в ПЛИС. а уж будут ли они там использоваться - дело ПЛИСа.
В таком ключе даже не думал. Возможно не самый плохой вариант, хоть и сильно костыльный. Спасибо за подсказку.
что это и для чего это?
плисина шпарит себе на максимально возможной скорости.
Если нужно выдавать некий сигнал, то создайте обычный цикл с заданным периодом. В цикле на нужный выход выдавайте нужный сигнал (по одной точке за итерацию).
Я имел в виду тактовый CLK сигнал.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3387
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Разработка виртуального стенда на sbRIO-9636

Сообщение Artem.spb »

antok писал(а):
что это и для чего это?
плисина шпарит себе на максимально возможной скорости.
Если нужно выдавать некий сигнал, то создайте обычный цикл с заданным периодом. В цикле на нужный выход выдавайте нужный сигнал (по одной точке за итерацию).
Я имел в виду тактовый CLK сигнал.
и зачем его задавать? он уже задан
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»