• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Решено ESP8266+ADS1256

nikolz

Well-known member
добрый день,всем!
Подключил ADS1256 к eSP по HSPI.
Проблема в том что реально работает лишь чтение данных.
ADS работает на настройках по умолчанию с частотой 30 кгц и по 1-му каналу.
Данные читаю в колбеке по отрицательному фронту DRDY командами:
spi_tx8(HSPI,RDATA); //команда "чтение"
*dummy=spi_rx24(HSPI); //читать 24 бита
----------------------------
CS ADS Всегда активен.
---------------------------------------------
Все остальные команды практически не дают результата,
а чтение внутренних регистров дает 255.
------------------------------------
Изменение частоты SLK HSPI от 2 до 1 мгц ничего не дает
Установка задержки после команды в 5-10 мкс ничего не дает.
------------------------------------
Буду признателен за подсказки по решению данной проблемы.
 
Последнее редактирование:

pvvx

Активный участник сообщества
Правильно установите SPI MODE (0,1,2,3):

У ADS1256 защелкивание данных производится по спаду сигнала CLK:
ADS1256-SPI.gif
Пример управления установками HSPI -> esp8266web/hspi_master.c at master · pvvx/esp8266web · GitHub
В вашей библиотеке, если это GitHub - MetalPhreak/ESP8266_SPI_Driver: Driver code to interface with ESP8266 built-in hardware SPI functions., нет установок режимов работы SPI.
 
Последнее редактирование:

nikolz

Well-known member
Правильно установите SPI MODE (0,1,2,3):

У ADS1256 защелкивание данных производится по спаду сигнала CLK:
Посмотреть вложение 5091
Пример управления установками HSPI -> esp8266web/hspi_master.c at master · pvvx/esp8266web · GitHub
В вашей библиотеке, если это GitHub - MetalPhreak/ESP8266_SPI_Driver: Driver code to interface with ESP8266 built-in hardware SPI functions., нет установок режимов работы SPI.
Спаси,за инфу, но в используемой библиотеке есть установка режима HSPI
вот функции инициализации и установки режима я их не написал так как они в user_init а не в колбеке:
spi_init(HSPI);
spi_clock(HSPI,8,5);
spi_mode(HSPI,1,0); //установка режима
-----------------------------------------
Этого не достаточно?
-----------------------------------------------------
Предположительно у меня не работает обращение к регистрам, т е чтение либо запись в них данных.
Команды RDATA WAKEUP,STANDBY работают.
согласно документации я использую ADS с постоянной выборкой CS==1.
Возможно есть какие-то особенности при работе с регистрами.
 

pvvx

Активный участник сообщества
Этого не достаточно?
Осциллограф или лог.анализатор есть? Им проще посмотреть и найти несовпадения с желаемым.
Я уже не помню точно как там ведет себя SPI ESP...(нужна ли инверсия CPHA при смене CPOL у него)... Но согласно стандартным CPOL и CPHA выходят такие картинки:
ESP8266_SPI_Driver/spi.c at master · MetalPhreak/ESP8266_SPI_Driver · GitHub

Так-же у данного ADC надо учитывать t6 Delay from last SCLK edge for DIN to first SCLK rising edge for DOUT: RDATA, RDATAC, RREG Commands в 50 клоков тактовой...
Вы же своего примера кода не даете и понять ничего невозможно - будут одни гадания...
 

nikolz

Well-known member
Написал библиотеку ADS1256 под ESP на C.
Тема закрыта.
 
Последнее редактирование:
Сверху Снизу