Jump to content

    

инициализация и работа asd1248

Тема 2014 года уже закрыта так что начну новую.

Имеется ads1248 подключенный к stm32f030 на аппаратный интерфейс spi2, cs программный. Вход reset ацп не задействован и подтянут на "1", на "1" также подтянут вход start.

При тестировании обнаружено что регистры прекрасно читаются в них правильные дефолтные значения после сброса но запись значения в регистрах не меняет. На форуме ti по данной аномалии есть только одна тема и там ответили что нужно отключить continuous mode командой SDATAC. Я это попробовал но получилось нестабильно: иногда после инициализации регистры пишутся, иногда нет.

Посему вопрос: как правильно инициализировать ads1248 ? Нужно при инициализации ли синхронизироваться с drdy ?

Share this post


Link to post
Share on other sites
  TPIN_ADC_CS   ::off();
  TPIN_ADC_START::off();
  TPIN_ADC_POWER::on ();
  
  // на основании DS АЦП нужно 16 ms на запуск после подачи питания
  msDelay(16);
  
  TPIN_ADC_CS::on();

  TPIN_ADC_START::on();
  {
    CMD(ADS1248_CMD_RESET);
    CMD(ADS1248_CMD_SDATAC);
    CMD_RegRead(); // читаем все регистры
  }
  TPIN_ADC_START::off();
  
  ...........
  
  TPIN_ADC_START::on();
  {
    CMD_RegWrite(); // пишем измененные регистры
  }
  TPIN_ADC_START::off();

  
  

  из рабочего проекта
  правда у меня есть управление пином START
  CMD( x ) - посылает по SPI команду АЦП

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now