К1921ВК01Т (арм Cortex-M4F)

32-разрядные микроконтроллеры разработки АО "НИИЭТ"

Модераторы: dav, bkolbov, Alis, pip, _sva_, dav, bkolbov, Alis, pip, _sva_, dav, bkolbov, Alis, pip, _sva_

serg_vega
Сообщения: 55
Зарегистрирован: 20 июл 2020, 15:50
Предприятие: АО "ВНИИ "Вега"

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение serg_vega » 21 апр 2021, 10:28

Да, я уже попробовал, спасибо.

serg_vega
Сообщения: 55
Зарегистрирован: 20 июл 2020, 15:50
Предприятие: АО "ВНИИ "Вега"

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение serg_vega » 21 апр 2021, 10:45

А теперь вопрос к "Вектору". Первые 4 АЦП, ну или первые 8 каналов, кому как удобнее, имеют ненулевые шумы при висящих в воздухе входах. А вторые 8 из выведенных на тестовой плате каналов прям 0х0000 при висящих в воздухе входах. И разница в преобразуемом напряжении - 20мВ. Это особенности платы или я что-то упустил в программе?

Аватара пользователя
Лашкевич
Сообщения: 268
Зарегистрирован: 13 май 2015, 13:10
Предприятие: ООО "НПФ Вектор"
Откуда: Москва
Contact:

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение Лашкевич » 21 апр 2021, 11:34

Для начала, нужно убедиться, что все АЦП работают и реагируют на подачу напряжения как таковые. Может быть, опять что-то не включено. Во-вторых, висящие в воздухе входы - это не консистентный опыт. Надо явно что-то подавать и смотреть. В-третьих, все АЦП имеют смещения, некоторые в плюс, некоторые в минус. Это значит, что при абсолютном нуле на входе некоторые будут показывать код чуть выше нуля, а некоторые хотели бы измерить ниже нуля, но не могут, и поэтому показывают абсолютный ноль. Мы на фирме для измерения однополярных сигналов делаем аппаратно смещение нуля порядка 0.03В на операционных усилителях на плате контроллера, чтобы корректно измерять околонулевые значения. Так, если у нас есть датчик тока, который измеряет от 0 до 1000А, то при нуле ампер на АЦП микроконтроллера придёт 0.03В, а не 0В, чтобы можно было программно сместить и чётко измерять ноль, независимо от экземпляра микроконтроллера. Так приходится делать не только для НИИЭТ, а для других производителей микроконтроллеров тоже (зависит от типа АЦП и применяемых методов калибровки). Для данного АЦП разброс смещений в 30мВ - известное дело. Нужно калибровать, если нужно точнее.
С уважением,
Лашкевич Максим.
Инженер-программист ООО "НПФ Вектор", Москва.
http://motorcontrol.ru/

редактор
Сообщения: 15
Зарегистрирован: 08 ноя 2016, 09:10

Re: К1921ВК01Т

Сообщение редактор » 21 апр 2021, 11:43

dav писал(а):
20 апр 2021, 11:15
Для того, чтобы данный пример выполнялся корректно, необходимо функции модуля niietcm4_bootflash перенести в область ОЗУ, для этого в настройках проекта, на вкладке "Linker" добавить Scatter File следующего содержания:
Можно сделать гораздо проще:
в списке файлов проекта выделить "niietcm4_bootflash.c" правой кнопкой мыши вызвать меню и выбрать "Options for File 'niietcm4_bootflash.c'..." и в настройках размещения кода "Code/Const" указать диапазон области ОЗУ (IRAM1 [0x20000000-0x20003FFF])

dav
Сообщения: 96
Зарегистрирован: 14 дек 2015, 09:21
Предприятие: АО НИИЭТ
Откуда: АО НИИЭТ, Воронеж

К1921ВК01Т (DMA ADC Timer)

Сообщение dav » 21 апр 2021, 12:25

Подготовил пример проекта программного запуска АЦП (только каналы А) из прерывания по таймеру и дальнейшей переcылкой результатов АЦП по DMA в массив.
k1921vk01t_DMA_ADC_Timer_210421.zip
Программный запуск АЦП (каналы А) из прерывания по таймеру и переcылка результатов АЦП по DMA
(182.46 КБ) 12 скачиваний

serg_vega
Сообщения: 55
Зарегистрирован: 20 июл 2020, 15:50
Предприятие: АО "ВНИИ "Вега"

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение serg_vega » 21 апр 2021, 16:10

Лашкевич писал(а):
21 апр 2021, 11:34
Для начала, нужно убедиться, что все АЦП работают и реагируют на подачу напряжения как таковые. Может быть, опять что-то не включено. Во-вторых, висящие в воздухе входы - это не консистентный опыт. Надо явно что-то подавать и смотреть. В-третьих, все АЦП имеют смещения, некоторые в плюс, некоторые в минус. Это значит, что при абсолютном нуле на входе некоторые будут показывать код чуть выше нуля, а некоторые хотели бы измерить ниже нуля, но не могут, и поэтому показывают абсолютный ноль. Мы на фирме для измерения однополярных сигналов делаем аппаратно смещение нуля порядка 0.03В на операционных усилителях на плате контроллера, чтобы корректно измерять околонулевые значения. Так, если у нас есть датчик тока, который измеряет от 0 до 1000А, то при нуле ампер на АЦП микроконтроллера придёт 0.03В, а не 0В, чтобы можно было программно сместить и чётко измерять ноль, независимо от экземпляра микроконтроллера. Так приходится делать не только для НИИЭТ, а для других производителей микроконтроллеров тоже (зависит от типа АЦП и применяемых методов калибровки). Для данного АЦП разброс смещений в 30мВ - известное дело. Нужно калибровать, если нужно точнее.
Нет, я проверил, по-крайней мере все четные каналы с 0 до 14 (по пинам платы ) работают. )) Можно насчет методов калибровки по подробнее, ну или ссылки.

Аватара пользователя
Лашкевич
Сообщения: 268
Зарегистрирован: 13 май 2015, 13:10
Предприятие: ООО "НПФ Вектор"
Откуда: Москва
Contact:

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение Лашкевич » 21 апр 2021, 16:16

Методы калибовки: в софте надо иметь два коэффициента, смещение нуля и коэффициент усиления (мультипликативный). Подаёте внешним прибором ноль входного сигнала, подстраиваете смещение, чтобы измерялся ноль. Подаёте некоторый опорный сигнал, примерно 70% диапазона, подстраиваете мультипликативный коэффициент, чтобы измерялось то, что ожидается. Повторяете это для всех каналов. При массовой продукции процесс автоматизируете на самодельном стенде проверки/калибровки готовой продукции.
С уважением,
Лашкевич Максим.
Инженер-программист ООО "НПФ Вектор", Москва.
http://motorcontrol.ru/

serg_vega
Сообщения: 55
Зарегистрирован: 20 июл 2020, 15:50
Предприятие: АО "ВНИИ "Вега"

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение serg_vega » 21 апр 2021, 16:37

Спасибо Я как-то так и думал. Только это трудоемко и муторно. Да и у ПЗ будут вопросы. Плюс нужно на платах типа контрольных точек предусматривать, чтоб подавать то "0", то "опору". А это место жрет... Но, нас наверное, точность +- 0.03 В устроит.

serg_vega
Сообщения: 55
Зарегистрирован: 20 июл 2020, 15:50
Предприятие: АО "ВНИИ "Вега"

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение serg_vega » 22 апр 2021, 10:25

А что мне нужно сделать, чтобы была возможность прошивать/отлаживать не только с помощью ST_Link, но и с J-Link сейчас у меня конкретно J_Link Ultra+, но можно поискать и более ранние модели.

dav
Сообщения: 96
Зарегистрирован: 14 дек 2015, 09:21
Предприятие: АО НИИЭТ
Откуда: АО НИИЭТ, Воронеж

Re: К1921ВК01Т (арм Cortex-M4F)

Сообщение dav » 22 апр 2021, 10:47

serg_vega писал(а):
22 апр 2021, 10:25
А что мне нужно сделать, чтобы была возможность прошивать/отлаживать не только с помощью ST_Link, но и с J-Link сейчас у меня конкретно J_Link Ultra+, но можно поискать и более ранние модели.
В IDE Keil в настройках проекта на вкладке "Debug" выбрать J-Link или вопрос про другое?
Keil_SelectDebug.PNG
Выбор отладчика в IDE Keil
Keil_SelectDebug.PNG (38.79 КБ) 1740 просмотров

Ответить

Вернуться в «32-разрядные микроконтроллеры»

Пользователи онлайн

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя