К1921ВК01Т (арм Cortex-M4F)
Модераторы: ea, dav, bkolbov, Alis, pip, _sva_
Re: К1921ВК01Т (арм Cortex-M4F)
Да, я уже попробовал, спасибо.
Re: К1921ВК01Т (арм Cortex-M4F)
А теперь вопрос к "Вектору". Первые 4 АЦП, ну или первые 8 каналов, кому как удобнее, имеют ненулевые шумы при висящих в воздухе входах. А вторые 8 из выведенных на тестовой плате каналов прям 0х0000 при висящих в воздухе входах. И разница в преобразуемом напряжении - 20мВ. Это особенности платы или я что-то упустил в программе?
- Лашкевич
- Сообщения: 373
- Зарегистрирован: 13 май 2015, 13:10
- Предприятие: ООО "НПФ Вектор"
- Откуда: Москва
- Контактная информация:
Re: К1921ВК01Т (арм Cortex-M4F)
Для начала, нужно убедиться, что все АЦП работают и реагируют на подачу напряжения как таковые. Может быть, опять что-то не включено. Во-вторых, висящие в воздухе входы - это не консистентный опыт. Надо явно что-то подавать и смотреть. В-третьих, все АЦП имеют смещения, некоторые в плюс, некоторые в минус. Это значит, что при абсолютном нуле на входе некоторые будут показывать код чуть выше нуля, а некоторые хотели бы измерить ниже нуля, но не могут, и поэтому показывают абсолютный ноль. Мы на фирме для измерения однополярных сигналов делаем аппаратно смещение нуля порядка 0.03В на операционных усилителях на плате контроллера, чтобы корректно измерять околонулевые значения. Так, если у нас есть датчик тока, который измеряет от 0 до 1000А, то при нуле ампер на АЦП микроконтроллера придёт 0.03В, а не 0В, чтобы можно было программно сместить и чётко измерять ноль, независимо от экземпляра микроконтроллера. Так приходится делать не только для НИИЭТ, а для других производителей микроконтроллеров тоже (зависит от типа АЦП и применяемых методов калибровки). Для данного АЦП разброс смещений в 30мВ - известное дело. Нужно калибровать, если нужно точнее.
Re: К1921ВК01Т
Можно сделать гораздо проще:
в списке файлов проекта выделить "niietcm4_bootflash.c" правой кнопкой мыши вызвать меню и выбрать "Options for File 'niietcm4_bootflash.c'..." и в настройках размещения кода "Code/Const" указать диапазон области ОЗУ (IRAM1 [0x20000000-0x20003FFF])
-
- Сообщения: 209
- Зарегистрирован: 14 дек 2015, 09:21
- Предприятие: АО НИИЭТ
- Откуда: АО НИИЭТ, Воронеж
К1921ВК01Т (DMA ADC Timer)
Подготовил пример проекта программного запуска АЦП (только каналы А) из прерывания по таймеру и дальнейшей переcылкой результатов АЦП по DMA в массив.
Re: К1921ВК01Т (арм Cortex-M4F)
Нет, я проверил, по-крайней мере все четные каналы с 0 до 14 (по пинам платы ) работают. )) Можно насчет методов калибровки по подробнее, ну или ссылки.Лашкевич писал(а): ↑21 апр 2021, 11:34 Для начала, нужно убедиться, что все АЦП работают и реагируют на подачу напряжения как таковые. Может быть, опять что-то не включено. Во-вторых, висящие в воздухе входы - это не консистентный опыт. Надо явно что-то подавать и смотреть. В-третьих, все АЦП имеют смещения, некоторые в плюс, некоторые в минус. Это значит, что при абсолютном нуле на входе некоторые будут показывать код чуть выше нуля, а некоторые хотели бы измерить ниже нуля, но не могут, и поэтому показывают абсолютный ноль. Мы на фирме для измерения однополярных сигналов делаем аппаратно смещение нуля порядка 0.03В на операционных усилителях на плате контроллера, чтобы корректно измерять околонулевые значения. Так, если у нас есть датчик тока, который измеряет от 0 до 1000А, то при нуле ампер на АЦП микроконтроллера придёт 0.03В, а не 0В, чтобы можно было программно сместить и чётко измерять ноль, независимо от экземпляра микроконтроллера. Так приходится делать не только для НИИЭТ, а для других производителей микроконтроллеров тоже (зависит от типа АЦП и применяемых методов калибровки). Для данного АЦП разброс смещений в 30мВ - известное дело. Нужно калибровать, если нужно точнее.
- Лашкевич
- Сообщения: 373
- Зарегистрирован: 13 май 2015, 13:10
- Предприятие: ООО "НПФ Вектор"
- Откуда: Москва
- Контактная информация:
Re: К1921ВК01Т (арм Cortex-M4F)
Методы калибовки: в софте надо иметь два коэффициента, смещение нуля и коэффициент усиления (мультипликативный). Подаёте внешним прибором ноль входного сигнала, подстраиваете смещение, чтобы измерялся ноль. Подаёте некоторый опорный сигнал, примерно 70% диапазона, подстраиваете мультипликативный коэффициент, чтобы измерялось то, что ожидается. Повторяете это для всех каналов. При массовой продукции процесс автоматизируете на самодельном стенде проверки/калибровки готовой продукции.
Re: К1921ВК01Т (арм Cortex-M4F)
Спасибо Я как-то так и думал. Только это трудоемко и муторно. Да и у ПЗ будут вопросы. Плюс нужно на платах типа контрольных точек предусматривать, чтоб подавать то "0", то "опору". А это место жрет... Но, нас наверное, точность +- 0.03 В устроит.
Re: К1921ВК01Т (арм Cortex-M4F)
А что мне нужно сделать, чтобы была возможность прошивать/отлаживать не только с помощью ST_Link, но и с J-Link сейчас у меня конкретно J_Link Ultra+, но можно поискать и более ранние модели.
-
- Сообщения: 209
- Зарегистрирован: 14 дек 2015, 09:21
- Предприятие: АО НИИЭТ
- Откуда: АО НИИЭТ, Воронеж
Re: К1921ВК01Т (арм Cortex-M4F)
В IDE Keil в настройках проекта на вкладке "Debug" выбрать J-Link или вопрос про другое?