Перейти к содержанию
    

nx6310

Участник
  • Постов

    72
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о nx6310

  • Звание
    Участник
    Участник
  1. По моему stm может из stop mode выйти только по прерываниям от ног и будильника. По обычному таймеру он не сможет выйти из этого режима. Что написано в даташите на данный кристал?
  2. На сколько я понимаю у вас выход работает в режиме тригера(TIM_OCConfig.TIM_OCMode = TIM_OCMode_Toggle;). То-есть За один период вашего сигнала таймер будет дважды переполняться. Попробуй так TIM_InitStructure.TIM_Prescaler = 1000-2; TIM_InitStructure.TIM_Period = 1;
  3. забей в бесконечный цикл совю функцию передачи и посмотри будет передача или нет while(1)Machines_SendData(0x00);
  4. STM32L151 I2C

    Вот рабочий пример связи с АЦП /* Initialize the I2C */ I2C_Init(150000, 0xA0, I2C_DUTYCYCLE_16_9, I2C_ACK_CURR, I2C_ADDMODE_7BIT, 3); I2C->CR2 |= I2C_CR2_START;// Generate start & wait event detection while (!I2C_CheckEvent(I2C_EVENT_MASTER_START_SENT)); I2C->DR =0x90 |I2C_DIRECTION_TX;//Send slave Address in write direction & wait detection event while (!I2C_CheckEvent(I2C_EVENT_MASTER_ADDRESS_ACKED)); I2C_ClearFlag(I2C_FLAG_ADDRESSSENTMATCHED); I2C->DR =0x00; // Send Address of first byte to be read & wait event detection while (!I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_TRANSMITTED)); I2C->CR2 |= I2C_CR2_STOP;//Send STOP Condition to end transmition I2C->CR2 |= I2C_CR2_START;// Generate start & wait event detection while (!I2C_CheckEvent(I2C_EVENT_MASTER_START_SENT)); /* Send slave Address in read direction & wait event */ I2C->DR =0x90 |I2C_DIRECTION_RX; while (!I2C_CheckEvent(I2C_EVENT_MASTER_ADDRESS_ACKED)); I2C_ClearFlag(I2C_FLAG_ADDRESSSENTMATCHED); /* waiting for byte from slave */ while (!I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_RECEIVED)); conf = I2C->DR; /* waiting for byte from slave */ while (!I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_RECEIVED)); conf_2 =I2C->DR; I2C->CR2 |= I2C_CR2_STOP;//Send STOP Condition to end
  5. Заменил АЦП на AD7687, начал показывать какие то данные. показания прыгали на сотню единиц. Подал на VREF 2,5 вольта от опорника, сигнал прыгает на 10 единиц. Жду AD7980 из другой партии.
  6. Питание АЦП 2,5В, опора 5В, питание VIO 3.3В. Вот картинка из даташита Вот еще в начале даташита написано
  7. Вот схема и разводка АЦП SDO подтягивал и к питанию и к земле одновременно 10 кОмами. Его поведение не изменилось. Вешал электролитический конденсатор на VREF 220 мкФ, tdis уменьшилось с 230 нс до 180 нс. Но поведение SDO не изменилось
  8. У меня на пине SDO не зависимо от наличия подтяжки к +3,3В висит еденица. Где то касяк, пока не нашел. будем дальше экспериментировать
  9. Если после окончания преобразования данные вообще не считывать, то в каком состоянии будет SDO, в Z или Low impedance? Если есть подтяжка к питанию этого пина, то в Z состоянии на нем будет уровень питания, а в Low impedance будет земля или небольшое напряжение, я правильно понимаю?
  10. Вы про сигналы SCK? Они у меня аппаратно генерируются микроконтроллером. Програмно не пробовал. С другими типами ацп вроде работало. Конденсаторы к ногам АЦП припаивал, тот же результат. Подтяжку ставил только на питание. на землю пока не ставил подтяжку. Пока другую работу дали, как освобожусь попробую вашь совет. SDI пробовал на землю сажать, пробовал соединить с CNV, не помогло. Сейчас он подключен к 3,3В, звонил мультиметром, смотрел осцилографом. Судя по этому предложению даташита, после окончания преобразования сопротивление на этой ноге уменьшается, и если есть подтяжка к питанию, то на этом пине должна наблюдаться хоть какая-нибудь просадка напряжения. Я правильно понимаю? На рисунке 34.3 в даташите нарисовано так.У меня никакой просадки не происходит. Состояние этого пина у меня меняется только при чтении даных. Может у меня подтяжка низкоомная всего 4кОм, попробую 47кОм как в даташите запаять. Ножку проца при экспериментах я отключал от пина SDO, так что проц не должен влиять. Я пытался загрузить схему развязки АЦП и кусок разводки платы, но у меня не получается пишет " Неудачная загрузка. Вам запрещено загружать такой тип файлов" Как првильго грузить рисунки в форум?
  11. Да это для экономии энергии. Буду плату высматривать. Может чего нарою
  12. Spi я настроил. у меня на пине SDO от АЦП код 0х8000 постоянно выдает. скорость spi менял не помогло. настройка spi SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; SPI_InitStructure.SPI_Mode = SPI_Mode_Master; SPI_InitStructure.SPI_DataSize = SPI_DataSize_16b; SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low; SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge; SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_8; SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; SPI_InitStructure.SPI_CRCPolynomial = 7; SPI_Init(SPI2, &SPI_InitStructure);// ADC AD7980 чтение данных RCC->APB1ENR|=RCC_APB1Periph_SPI2; SPI2->CR1|=0x0040; CNV1 Delay(1); CNV0 SPI2->DR=0x00; while (!(SPI2->SR&SPI_I2S_FLAG_RXNE)); adc[channel-1]=SPI2->DR; SPI2->CR1&=~0x0040; RCC->APB1ENR&=~RCC_APB1ENR_SPI2EN;
  13. Конденсаторы стоят. На VIO-SDI кондёр 0,1 мкФ на VDD 0,1 мкФ. На REF 22 mkF. На входе кондёр фильтра 2,2 нФ. Судя по даташиту если SDO подтянуть резистором к питанию, то после окончания преобразования SDO должен устанавливаться в ноль. У меня же он висит в единице, сбрасывается только после начала чтения данных. такое чувство что АЦП зависает во время преобразования
  14. Здравствуйте!!! Проблема с АЦП AD7980. Не могу считать с него данные. постоянно выдает значение 32768. Напряжения на ножках: -SDI соединен с VIO, напряжение 3,3 В; - REF напряжение 5 В; - VDD напряжение 2,5 В; - IN+ постоянный сигнал около 0,5 В; - IN- соединен с землей GND. На CNV Подаю импульс длительностью около 800 нс. После этого считываю данные с АЦП. При этом на SDO, примерно через 230 нс после переднего фронта импульса CNV, устанавливается единица. При начале чтения после первого импульса SCK на выводе SDO устанавливается ноль. если установить задержку между импульсом CNV и началом чтения единица на SDO сохраняется до начала чтения данных с АЦП. Опрашиваю микроконтроллером stm32f103, пробовал менять настройки spi в контроллере не помогло. Кто использовал эту АЦП, как у вас она работает?
  15. Может камень не тот выбран в настройках проекта
×
×
  • Создать...