Ad7890 и ардуино

Тема в разделе "Arduino & Shields", создана пользователем varvik85, 23 ноя 2020.

  1. varvik85

    varvik85 Нерд

    Здравствуйте!
    Помогите, пожалуйста, понять как работать с старой АЦП AD7890. Она использует как то не понятный протокол связи не spi не i2c.
    Для ее работы используется внешнее тактирование.
    Подскажите, пожалуйста как организовать опрос этой АЦП.
    Большое спасибо!
     
  2. parovoZZ

    parovoZZ Гуру

    Если команды и данные не кратны байтам, то можно использовать примерно такую конструкцию:
    Код (C++):
    uint8_t temp = 0;
       
        for(uint8_t i=0; i<8; i++)
        {
            if(data & 0x80)
            {
                MOSI_bit_set();
            }
            else
                {
                    MOSI_bit_clr();
                }
               
            SCK_hi();
           
            temp <<= 1;
           
            if (MISO_bit())
            {
                temp |= 0x01;
            }
           
            SCK_lo();
           
            data <<= 1;
                             
        }
       
        return temp;    
    Переменной i в цикле присвоить количество бит в посылке.
     
  3. Daniil

    Daniil Гуру

    Вы переводили даташит? Там есть 2 режима работы, для одного из режимов и нужно тактирование, а для другого нет. Интерфейс похож на модернизированный SPI, по крайней мере доставать данные там по SPI, но найти правильный момент помогут другие выводы АЦП.
    Что Вам нужно? Какие инструменты у Вас есть? Как управлять хотите?
     
    Последнее редактирование: 23 ноя 2020