Zx80 0 26 января, 2022 Опубликовано 26 января, 2022 (изменено) · Жалоба на исчезновение импульсов на DRDY влияют последние две строки инициализации. void initAD7714() { spiWrite( 0x24 ); /* set the channel AIN1-AIN2 and set the next operation as write to the filter high */ spiWrite( 0x6F ); /* set Bipolar mode, 24 bits, boost off, all 4 MSBs of filterword to 1 */ spiWrite( 0x34 ); /* set the channel AIN1-AIN2 the next operation as a write to the filter low register channel AIN1/AIN2 */ spiWrite( 0xA0 ); /* max filter word allowed for low part of the filterword */ spiWrite( 0x14 ); /* set the channel AIN1-AIN2 the operation as a write to the mode register.*/ spiWrite( 0x20 ); /* set gain to 1, burnout current off, no filter sync, and do a self calibration */ } Изменено 26 января, 2022 пользователем Zx80 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zx80 0 28 января, 2022 Опубликовано 28 января, 2022 · Жалоба Кто знает об особенностях записи в эти регистры? Начал проверять записываю - читаю. Если записываю один регистр, то читаю только что записанное значение, и так каждый из регистров. Если пытаюсь записать два регистра последовательно, значение во втором регистре оказывается не то. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zx80 0 2 февраля, 2022 Опубликовано 2 февраля, 2022 · Жалоба Привет, объясните несведущему. Я выбрасываю один байт, и вывидете SPI SCK, далее осцилограф на SPI SS и вижу экспоненту. Но это не экспонента, а жуть длинный импульс на SS -> предствляю его осцилограмму также. Программа void main(void) { spiInit(); spiWrite( 0x24 ); //делаю сброс и жду на SPI SCK и SPI SS при помощи тригера на осцилографе while (1) { } } Вот и скажите, плиз, откуда такая длительность на SPI SS ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 2 февраля, 2022 Опубликовано 2 февраля, 2022 · Жалоба 54 minutes ago, Zx80 said: откуда такая длительность на SPI SS ? Например, нижний транзистор отгорел у выхода. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zx80 0 2 февраля, 2022 Опубликовано 2 февраля, 2022 · Жалоба Quote Например, нижний транзистор отгорел у выхода. у второго и третьего чипа тоже ? :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 2 февраля, 2022 Опубликовано 2 февраля, 2022 · Жалоба 8 minutes ago, Zx80 said: у второго и третьего чипа тоже ? :) А почему бы и нет? Можно и десять спалить при должном упорстве. Или неправильно управляется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Herz 6 2 февраля, 2022 Опубликовано 2 февраля, 2022 · Жалоба 4 часа назад, Zx80 сказал: далее осцилограф на SPI SS Я, например, ничего не понял. Это что за сигнал SPI SS? Где он у AD7714? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zx80 0 2 февраля, 2022 Опубликовано 2 февраля, 2022 (изменено) · Жалоба Quote Я, например, ничего не понял. Это что за сигнал SPI SS? Где он у AD7714? SPI SS формирует Атмега. Дело было в инициализировал // /* Set MOSI, SCK, SS as output */ DDRB = (1<<SPI_DDR_MOSI) | (1<<DDB4) | (1<<SPI_DDR_SCK); PORTB = (1<<SPI_PORT_MOSI) | (1<<PORTB4) | (1<<SPI_PORT_SCK); а надо было // /* Set MOSI, SCK, SS as output */ DDRB = (1<<SPI_DDR_MOSI) | (1<<DDB4) | (1<<SPI_DDR_SCK); PORTB = (0<<SPI_PORT_MOSI) | (0<<PORTB4) | (0<<SPI_PORT_SCK); в первом варианте формируется длинный импульс на SPI SS 100мс, за ним ничего не видно, ошибочно принимал этот импульс за разрешение чипа. сейчас все видно, все 6 обращений к AD7714. тестовый вариант для записи чтения трех регистров. void main(void) { // Declare your local variables here unsigned char regValues[]={0, 0, 0}; initAD7714_DRDY(); initAD7714_Reset(); spiInit(); cs_Hight(); delay_ms(2); spiWrite( 0x24 ); regValues[0] = spiWrite( 0xFF ); spiWrite( 0x34 ); regValues[1] = spiWrite( 0xFF ); spiWrite( 0x14 ); regValues[2] = spiWrite( 0xFF ); while (1) { // Place your code here } } Изменено 3 февраля, 2022 пользователем Zx80 spiWrite(0xC0) на spiWrite(0xFF) была неточность Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zx80 0 3 февраля, 2022 Опубликовано 3 февраля, 2022 · Жалоба Записываю в регистр значение. Иногда читаю правильное иногда нет. Решил снять осцилограмму. Пишу в регистр фильтра число 0xBD. Читаю на единицу меньше, т.е. 0xBС. Осцилограммы MOSI , MISO, SCK этой операции. Видно что читаю я то что на выходе. Почему AD7714 могла не принять байт правильно ? Может у них разные режимы SPI ? Я не настолько курю SPI чтобы разобраться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zx80 0 3 февраля, 2022 Опубликовано 3 февраля, 2022 · Жалоба Привожу осцилограммы для записи значения 0x04, читаю 0x10 Опять же видно что на МОSI правильное значение, а возвращается мне другое Что это может быть за проблема ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 3 февраля, 2022 Опубликовано 3 февраля, 2022 · Жалоба Купите 8-канальный логический анализатор у китайцев или в ближайшем ларьке. Искать на али по ключевым словам "logic analyzer", "saleale". Стоит копейки, может писать сигнал часами, умеет расшифровывать протоколы и отмечает ошибки на диаграммах. Ошибку в своей посылке нашли бы за полчаса с перекуром. При его цене - это вещь, которая должна быть у каждого. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zx80 0 3 февраля, 2022 Опубликовано 3 февраля, 2022 · Жалоба Это сигнал от AD7714 на MISO контроллера при попытке считать значение которое было записано как 0x0A. Кто может прокоментировать ? Это сигнал от AD7714 на MISO контроллера при попытке считать значение которое было записано как 0xF2. Кто может прокоментировать ? Явно просматривается что то общее. и что это за беда ума не приложу. Помогайте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zx80 0 7 февраля, 2022 Опубликовано 7 февраля, 2022 (изменено) · Жалоба Запустил работает, проблема была что чип хотел режим spi 3. Изменено 8 февраля, 2022 пользователем Zx80 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться