Plain 168 1 октября, 2020 Опубликовано 1 октября, 2020 · Жалоба 8 минут назад, Garik сказал: Не помню А зря. Вам дали дельный совет искать методом исключения — если перед буфером видите нули, логично после него выставить единицы, и тогда будет видно, передаёт ли АЦП. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Garik 0 2 октября, 2020 Опубликовано 2 октября, 2020 · Жалоба On 10/1/2020 at 12:33 PM, des00 said: а единицу? Да без проблем. Как видно на осциллограмме AD9680 SDIO - не передает данные данные. Это 4 регистр (Chip ID) всех 0 или 1 быть не должно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 2 октября, 2020 Опубликовано 2 октября, 2020 · Жалоба 1 hour ago, Garik said: Как видно на осциллограмме AD9680 SDIO - не передает данные данные. Это 4 регистр (Chip ID) всех 0 или 1 быть не должно. Выложите полную осциллограмму с портов плис (это 4 сигнала) и с портов АЦП (3 сигнала). Мне на вашей картинке ничего не понятно) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 2 октября, 2020 Опубликовано 2 октября, 2020 · Жалоба вы смотрели https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/an/an755.pdf#unique_5 и https://www.altera.com/en_US/others/literature/an/an755_jesd204b_arm_avsoc_ref_design.zip не помогло? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Garik 0 5 октября, 2020 Опубликовано 5 октября, 2020 · Жалоба On 10/2/2020 at 8:38 PM, des00 said: Выложите полную осциллограмму с портов плис (это 4 сигнала) и с портов АЦП (3 сигнала). Мне на вашей картинке ничего не понятно) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 5 октября, 2020 Опубликовано 5 октября, 2020 · Жалоба отлично, а вторая где ? с портов АЦП (3 сигнала) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Garik 0 5 октября, 2020 Опубликовано 5 октября, 2020 · Жалоба 5 minutes ago, des00 said: отлично, а вторая где ? с портов АЦП (3 сигнала) Выше! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 5 октября, 2020 Опубликовано 5 октября, 2020 · Жалоба 29 minutes ago, Garik said: Выше! эммм, это где тактовой нет? там два сигнала? тактовую покажите. Это я к чему, если вы выполняете все требования TIMING SPECIFICATIONS из даташита и график на пинах АЦП SDIO, SCLK, CSB верный и SPIVDD в норме, то проблема не в конвертере, а в АЦП. Нет переключения направления SDIO, т.к. там только трехпроводка, то я бы предположил обрыв пайки. PWDR/STBY на работу SPI не влияют. ЗЫ. Если плата самодельная, то пузо же припаяли? это не термопад, это большая земля. Quote Exposed Pad. The exposed thermal pad on the bottom of the package provides the ground reference for AVDDx. This exposed pad must be connected to ground for proper operation он конечно якобы аналоговый, но мало ли что там внутри) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Garik 0 5 октября, 2020 Опубликовано 5 октября, 2020 · Жалоба 42 minutes ago, des00 said: эммм, это где тактовой нет? там два сигнала? тактовую покажите. Это я к чему, если вы выполняете все требования TIMING SPECIFICATIONS из даташита и график на пинах АЦП SDIO, SCLK, CSB верный и SPIVDD в норме, то проблема не в конвертере, а в АЦП. Нет переключения направления SDIO, т.к. там только трехпроводка, то я бы предположил обрыв пайки. PWDR/STBY на работу SPI не влияют. ЗЫ. Если плата самодельная, то пузо же припаяли? это не термопад, это большая земля. Это отладочная плата от AD. Мы ее сами не собирали. Тайминги все выдержаны! Осциллограмма непосредственно на пинах чипа АД. 37 CSB - синий 36 SCLK - желтый 35 SDIO - зеленый Ниже с логического анализатора Vivado. Передача от АЦП в последних 8 бит отсутствует. Скорость 1.6 Мб/с. чтение 4 регистра (Chip id) Все 0 или 1 быть не могут. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 5 октября, 2020 Опубликовано 5 октября, 2020 · Жалоба 1 hour ago, Garik said: Это отладочная плата от AD. Мы ее сами не собирали. Тайминги все выдержаны! Осциллограмма непосредственно на пинах чипа АД. 37 CSB - синий 36 SCLK - желтый 35 SDIO - зеленый Ниже с логического анализатора Vivado. Передача от АЦП в последних 8 бит отсутствует. Скорость 1.6 Мб/с. чтение 4 регистра (Chip id) Все 0 или 1 быть не могут. вот, теперь видно. Проверить питание SPI на ацп и писать производителю. Брак платы, команды SPI не доходят, скорее всего пайка АЦП, но может кто разрядился в плату. еще можно под микроскопом чип посмотреть. PS. Ну еще, как один из возможных вариантов, найти софт от АД под эту плату и посмотреть какую последовательность конфигурации он генерирует. Может там что-то хитрое надо прогрузить до первого чтения. Хотя, по карте адресов, этого не видно. Но, я бы первой командой записал нулевой регистр с софт сбросом и MSB/LSB. Может дефолт там не такой уж и дефолт и у вас LSB формат стоит Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
likeasm 0 5 октября, 2020 Опубликовано 5 октября, 2020 · Жалоба 6 hours ago, des00 said: Но, я бы первой командой записал нулевой регистр с софт сбросом и MSB/LSB. Может дефолт там не такой уж и дефолт и у вас LSB формат стоит ad9680_spi_write(spi, 0x000, 0x81); // RESET mdelay(5); ad9680_spi_write(spi, 0x001, 0x01); // RESET mdelay(1); это от сюда https://github.com/analogdevicesinc/linux/blob/5aa17b17e38993387ccc343daaf11388a12d7cdc/drivers/iio/adc/ad9680.c Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
warrior-2001 0 7 октября, 2020 Опубликовано 7 октября, 2020 · Жалоба 05.10.2020 в 18:40, des00 сказал: PS. Ну еще, как один из возможных вариантов, найти софт от АД под эту плату и посмотреть какую последовательность конфигурации он генерирует. С готовыми платами всегда с этого начинаем! Много времени экономит сей подход к делу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 7 октября, 2020 Опубликовано 7 октября, 2020 · Жалоба 2 hours ago, warrior-2001 said: С готовыми платами всегда с этого начинаем! Много времени экономит сей подход к делу. да я думал ТС это сделал априори и вот мучается) если же нет, то, имеем то что имеем) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexadmin 0 7 октября, 2020 Опубликовано 7 октября, 2020 · Жалоба Я не помню точно что за микросхема у аналога была, какая-то хитрая с цельным компьютером внутри. И вот ей пока не подашь целую инициализационную последовательность (записей разных регистров) она банально не отвечает по SPI на чтение. То есть просто сброса не хватает. Лучше всего брать даташит и следовать разделу startup sequence. Хотя здесь вроде не тот случай. PS Нашел, AD9172 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Garik 0 7 октября, 2020 Опубликовано 7 октября, 2020 · Жалоба On 10/6/2020 at 1:21 AM, likeasm said: ad9680_spi_write(spi, 0x000, 0x81); // RESET mdelay(5); ad9680_spi_write(spi, 0x001, 0x01); // RESET mdelay(1); это от сюда https://github.com/analogdevicesinc/linux/blob/5aa17b17e38993387ccc343daaf11388a12d7cdc/drivers/iio/adc/ad9680.c Как сделано в проекте от АД. Первое что это читается Chip_id. Остальная инициализация после этого. dev = (struct ad9680_dev *)malloc(sizeof(*dev)); if (!dev) return -1; /* SPI */ ret = spi_init(&dev->spi_desc, &init_param->spi_init); ad9680_spi_read(dev, AD9680_REG_CHIP_ID_LOW, &chip_id); if(chip_id != AD9680_CHIP_ID) { printf("AD9680: Invalid CHIP ID (0x%x).\n", chip_id); return -1; } К сожалению ответа от АЦП нет. Сейчас я склоняюсь, что это неисправность чипа. Сегодня еще раз посмотрели микроскопом на пайку чипа, проверили питание, слок - все в норме, и ни каких зацепок. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться