Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту


 
Опции темы

stm32f373 16 битный ацп не работает на 50 ksps

Непрочитано 27.04.2018, 16:21  
Alex_golubev
Прописка
 
Регистрация: 07.02.2016
Сообщений: 136
Сказал спасибо: 4
Сказали Спасибо 1 раз в 1 сообщении
Alex_golubev на пути к лучшему
По умолчанию stm32f373 16 битный ацп не работает на 50 ksps

Привет.
Столкнулся с особенностью АЦП которая загнала меня в тупик.
За 20 мкс АЦП не может сделать преобразование в регистре RDATAR находится малое число (около 100).
Проверил просто, подавал сигнал прямоугольник на ножку ацп, но не как попало а синхронизируя с ацп. В момент установки N1_SIGNAL_ON на ножки ацп 1 В, в момент N1_SIGNAL_OFF на входе ацп 0 В. Включен режим Fast.
Код:
    adcSD = SDADC1-›RDATAR;
    while( (SDADC1-›ISR&SDADC_ISR_REOCF) != SDADC_ISR_REOCF);
    N1_SIGNAL_ON; // падаю напряжение на ацп 1 Вольт
    adcSD = SDADC1-›RDATAR;
    while( (SDADC1-›ISR&SDADC_ISR_REOCF) != SDADC_ISR_REOCF);
    adcSD = SDADC1-›RDATAR;
    N1_SIGNAL_OFF; // выключаю напряжение ацп 0 вольт
    adcSD = SDADC1-›RDATAR;
Но если выключить режим Fast, то ацп начинает нормально работать, но тогда длительность преобразования увеличивается до 60 мкс. А мне нужно 20 мкс.

инициализация ацп
Код:
static void MX_SDADC1_Init(void)
{

  SDADC_ConfParamTypeDef ConfParamStruct;

    /**Configure the SDADC low power mode, fast conversion mode,
    slow clock mode and SDADC1 reference voltage 
    */
  hsdadc1.Instance = SDADC1;
  hsdadc1.Init.IdleLowPowerMode = SDADC_LOWPOWER_NONE;
  hsdadc1.Init.FastConversionMode = SDADC_FAST_CONV_ENABLE;
  hsdadc1.Init.SlowClockMode = SDADC_SLOW_CLOCK_DISABLE;
  hsdadc1.Init.ReferenceVoltage = SDADC_VREF_EXT;
  if (HAL_SDADC_Init(&hsdadc1) != HAL_OK)
  {
    _Error_Handler(__FILE__, __LINE__);
  }

    /**Set parameters for SDADC configuration 0 Register 
    */
  ConfParamStruct.InputMode = SDADC_INPUT_MODE_SE_OFFSET;
  ConfParamStruct.Gain = SDADC_GAIN_1_2;
  ConfParamStruct.CommonMode = SDADC_COMMON_MODE_VSSA;
  ConfParamStruct.Offset = 0;
  if (HAL_SDADC_PrepareChannelConfig(&hsdadc1, SDADC_CONF_INDEX_0, &ConfParamStruct) != HAL_OK)
  {
    _Error_Handler(__FILE__, __LINE__);
  }

}
Настройка ацп:
Код:
  HAL_SDADC_AssociateChannelConfig(&hsdadc1,  SDADC_CHANNEL_6, SDADC_CONF_INDEX_0); 
  HAL_SDADC_ConfigChannel(&hsdadc1, SDADC_CHANNEL_6 , SDADC_CONTINUOUS_CONV_ON ); 
  HAL_SDADC_SelectRegularTrigger(&hsdadc1, SDADC_SOFTWARE_TRIGGER);
Запуск ацп:
Код:
SDADC1-›CR2 |= SDADC_CR2_RSWSTART;
RCONT установлен в 1.
Реклама:
Alex_golubev вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Видео уроки dosikus Микроконтроллеры, АЦП, память и т.д 61 23.01.2012 21:06
Не работает АЦП mega8 putmannn Микроконтроллеры, АЦП, память и т.д 10 11.07.2011 12:40
Не работает PD4 в ATTINY 4313 HeatSink Микроконтроллеры, АЦП, память и т.д 37 14.06.2011 17:46
АЦП mega8 Proteus не работает AGAT0365 Proteus 16 27.04.2010 19:53
Не работает АЦП dm211 Микроконтроллеры, АЦП, память и т.д 9 01.11.2008 06:58


Часовой пояс GMT +4, время: 07:54.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.