Как поменять коэффициент усиления АЦП sb9637?
- nae
- user
- Сообщения: 79
- Зарегистрирован: 20 мар 2014, 14:21
- Версия LabVIEW: 15
- Откуда: Новосибирск
- Благодарил (а): 5 раз
- Контактная информация:
Как поменять коэффициент усиления АЦП sb9637?
Добрый день.
Возник вопрос - как поменять коэффициент усиления АЦП sb9637 (в даташите это обзывается input range)? Опыта в этой области не много, в интернете как-то быстро не нашел...
Возник вопрос - как поменять коэффициент усиления АЦП sb9637 (в даташите это обзывается input range)? Опыта в этой области не много, в интернете как-то быстро не нашел...
-
ladik
- developer
- Сообщения: 275
- Зарегистрирован: 18 ноя 2014, 11:45
- Награды: 1
- Версия LabVIEW: 2015, 2019
- Откуда: Екатеринбург
- Благодарил (а): 4 раза
- Поблагодарили: 3 раза
- Контактная информация:
Re: Как поменять коэффициент усиления АЦП sb9637?
1. С помощью меню Properties необходимого AI
2. С помощью FPGA I/O Propery Node
Дорогу осилит идущий.
- nae
- user
- Сообщения: 79
- Зарегистрирован: 20 мар 2014, 14:21
- Версия LabVIEW: 15
- Откуда: Новосибирск
- Благодарил (а): 5 раз
- Контактная информация:
Re: Как поменять коэффициент усиления АЦП sb9637?
А если я попрошу данные сразу с двух каналов AI, то макисмальная частота опроса поделится пополам?
Можно ли как-то поменять формат данных для Analog output чтобы готовить для него не FXP +- 20.5 а например i16?
Можно ли как-то поменять формат данных для Analog output чтобы готовить для него не FXP +- 20.5 а например i16?
-
ladik
- developer
- Сообщения: 275
- Зарегистрирован: 18 ноя 2014, 11:45
- Награды: 1
- Версия LabVIEW: 2015, 2019
- Откуда: Екатеринбург
- Благодарил (а): 4 раза
- Поблагодарили: 3 раза
- Контактная информация:
Re: Как поменять коэффициент усиления АЦП sb9637?
По первому вопросу гляньте USER MANUAL NI sbRIO-9637 Single-Board RIO OEM Devices, пункт "Best Practices for Scanning Multiple Channels", стр.31. До конца не понятно, но вероятно Вы правы.
По второму вопросу посмотрите IP Corner: The LabVIEW Fixed-Point Data Type Part 1 – Fixed-Point 101 1ю и 2ю части. В простейшем случае можно как на рисунке
По второму вопросу посмотрите IP Corner: The LabVIEW Fixed-Point Data Type Part 1 – Fixed-Point 101 1ю и 2ю части. В простейшем случае можно как на рисунке
Дорогу осилит идущий.
- nae
- user
- Сообщения: 79
- Зарегистрирован: 20 мар 2014, 14:21
- Версия LabVIEW: 15
- Откуда: Новосибирск
- Благодарил (а): 5 раз
- Контактная информация:
Re: Как поменять коэффициент усиления АЦП sb9637?
Цап, включенный на ацп имеет достаточно малый импеданс и время установления мало. Но если смотреть на эту точку осциллографом, то при переключении каналов видны 300нс "зубы", видимо цапу переключение не очень нравится и надо использовать буферы.
- zxc_pavel
- adviser
- Сообщения: 242
- Зарегистрирован: 02 июн 2016, 12:07
- Версия LabVIEW: 15
- Благодарил (а): 9 раз
- Поблагодарили: 23 раза
- Контактная информация:
Re: Как поменять коэффициент усиления АЦП sb9637?
У меня так было.А если я попрошу данные сразу с двух каналов AI, то макисмальная частота опроса поделится пополам?
1 аналоговый вход - ticks = 200 (частота = 40МГц/200 = 200Кгц - как в мануале)
2 аналоговых входа - ticks = 668
4 аналоговых входа - ticks = 1336 (в 2 раза больше) Пересылаю очереди, тики и булевые индикаторы в host программу, с реальным осциллографом совпадает
Вот только по фазе не совсем точно, может кто посоветует, кстати, как фазу сбить? (case на входе тут - условие, если все очереди полные, то читаем и чистим)
- nae
- user
- Сообщения: 79
- Зарегистрирован: 20 мар 2014, 14:21
- Версия LabVIEW: 15
- Откуда: Новосибирск
- Благодарил (а): 5 раз
- Контактная информация:
Re: Как поменять коэффициент усиления АЦП sb9637?
Как я понял АЦП все время работает с максимальной скоростью и при многоканальном обращении сам делает все микрооперации по переключениям.
Просто растянул AI на 4ре строчки и судя по осциллу он сам все делает, если задать в этом цикле длительность 200kHz/4.
Вот с фазой у меня тоже вопросы - пишу в одном месте плис в два разных буфера, а фаза не совпадает между ними при чтении. Этож я только через пару дней понял что не в коде ошибка, а фаза разная ). В итоге чтобы побороть фазу пакую були (и все остальные интересующие величины) в такую же переменную как и АЦП и пишу все в один буфер.
Просто растянул AI на 4ре строчки и судя по осциллу он сам все делает, если задать в этом цикле длительность 200kHz/4.
Вот с фазой у меня тоже вопросы - пишу в одном месте плис в два разных буфера, а фаза не совпадает между ними при чтении. Этож я только через пару дней понял что не в коде ошибка, а фаза разная ). В итоге чтобы побороть фазу пакую були (и все остальные интересующие величины) в такую же переменную как и АЦП и пишу все в один буфер.
- zxc_pavel
- adviser
- Сообщения: 242
- Зарегистрирован: 02 июн 2016, 12:07
- Версия LabVIEW: 15
- Благодарил (а): 9 раз
- Поблагодарили: 23 раза
- Контактная информация:
Re: Как поменять коэффициент усиления АЦП sb9637?
Как я понял АЦП все время работает с максимальной скоростью...при многоканальном обращении сам делает все микрооперации по переключениям
да, сделает, но скорость понизить же должен.
можно скрин?пишу все в один буфер
я примерно понял, но буффер ограничен размером, не хочется захламлять все в один. Тем более низкие частоты могут начать не влезать
- nae
- user
- Сообщения: 79
- Зарегистрирован: 20 мар 2014, 14:21
- Версия LabVIEW: 15
- Откуда: Новосибирск
- Благодарил (а): 5 раз
- Контактная информация:
Re: Как поменять коэффициент усиления АЦП sb9637?
Как-то так
Насколько я понял длина FIFO типа FPGA->HOST накладывает требования на хост а не на FPGA - плис не хранит у себя этот объём. А т.к. на хосте памяти вагон, то и проблемы особо нет. Но это не точно, вдруг я просто не натолкнулся на какой-то подводный камень.
Вместо булевых констант заведите свои переменные.Насколько я понял длина FIFO типа FPGA->HOST накладывает требования на хост а не на FPGA - плис не хранит у себя этот объём. А т.к. на хосте памяти вагон, то и проблемы особо нет. Но это не точно, вдруг я просто не натолкнулся на какой-то подводный камень.
- zxc_pavel
- adviser
- Сообщения: 242
- Зарегистрирован: 02 июн 2016, 12:07
- Версия LabVIEW: 15
- Благодарил (а): 9 раз
- Поблагодарили: 23 раза
- Контактная информация:
Re: Как поменять коэффициент усиления АЦП sb9637?
это не так. Вот как раз и ограничение 2^15 элементов. Кстати, создавать 4 очереди по 2^15 не получается, не хватает памяти(2^14 максимум).Насколько я понял длина FIFO типа FPGA->HOST накладывает требования на хост а не на FPGA - плис не хранит у себя этот объём.
Хочется также как и Вам, понять оптимальное решение ) и не терять данные, а записывать по максимуму, для последующих анализов. Поэтому не хочу грузить все вместе
- nae
- user
- Сообщения: 79
- Зарегистрирован: 20 мар 2014, 14:21
- Версия LabVIEW: 15
- Откуда: Новосибирск
- Благодарил (а): 5 раз
- Контактная информация:
Re: Как поменять коэффициент усиления АЦП sb9637?
Да... на sb9637 дают сделать fifo на 131000 32битных слов.
Может сейчас какой-нибудь гуру придет и скажет как бы синхронно обнулить фазу. Возможно их нужно очистить в один момент.
Может сейчас какой-нибудь гуру придет и скажет как бы синхронно обнулить фазу. Возможно их нужно очистить в один момент.
- nae
- user
- Сообщения: 79
- Зарегистрирован: 20 мар 2014, 14:21
- Версия LabVIEW: 15
- Откуда: Новосибирск
- Благодарил (а): 5 раз
- Контактная информация:
Re: Как поменять коэффициент усиления АЦП sb9637?
Для синхронизации можно дописывать в быстрый и медленный FIFO значения одного и того же счетчика и потом сводить их по этим значениям.
- nae
- user
- Сообщения: 79
- Зарегистрирован: 20 мар 2014, 14:21
- Версия LabVIEW: 15
- Откуда: Новосибирск
- Благодарил (а): 5 раз
- Контактная информация:
Re: Как поменять коэффициент усиления АЦП sb9637?
Также отвечу на свой вопрос "как записать INT16 данные в цап sbRIO sb 9637":
Формат цапа FXP +- 20.5 полностью накрывет его диапазон и минимальный шаг цапа в этом формате равен 10 дискретам. В итоге для задания значения переменной типа INT16 надо воспользоваться функцией сдвига регистра с палитры numeric->fxp. (а ларчик просто открывался).
Для перевода значения АЦП в INT надо использовать обратную функцию и помнить что в диапазоне +-10В шаг АЦП равен 160 дискретам FXP +- 24.5, а при меньшем входном диапазоне он меньше, например при +-1В он равен 16 дискретам. Т.е. если Вы решили подкопить отсчеты АЦП в переменной этого типа, то на это следует обратить внимание.
Также эта функция полезна если Вам надо упаковать INT в FIFO типа FXP в котором целых битов не хватает для представления INT.
Формат цапа FXP +- 20.5 полностью накрывет его диапазон и минимальный шаг цапа в этом формате равен 10 дискретам. В итоге для задания значения переменной типа INT16 надо воспользоваться функцией сдвига регистра с палитры numeric->fxp. (а ларчик просто открывался).
Для перевода значения АЦП в INT надо использовать обратную функцию и помнить что в диапазоне +-10В шаг АЦП равен 160 дискретам FXP +- 24.5, а при меньшем входном диапазоне он меньше, например при +-1В он равен 16 дискретам. Т.е. если Вы решили подкопить отсчеты АЦП в переменной этого типа, то на это следует обратить внимание.
Также эта функция полезна если Вам надо упаковать INT в FIFO типа FXP в котором целых битов не хватает для представления INT.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 3 Ответы
- 253 Просмотры
-
Последнее сообщение dadreamer
-
- 4 Ответы
- 224 Просмотры
-
Последнее сообщение Andrew Lunev