mutagen 0 18 июня Опубликовано 18 июня · Жалоба Здравствуйте! Zynq mpsoc, baremetal. Пытаюсь общаться через 3-wire SPI с внешним чипом. В топ-модуле воткнул 3-state IObuf. Из Zynq через EMIO пробросил сигналы : emio_spi0_m_o -> MOSI, emio_spi0_m_i -> MISO, emio_spi0_sclk_o -> CLK, emio_spi0_ss_o_n -> SS, emio_spi0_mo_t -> управление 3-state буфером. В Vitis использую функцию XSpiPs_PolledTransfer драйвера xspips. Проблема с сигналом emio_spi0_mo_t. Когда идёт транзакция он становится 0 (буфер работает на выход из плис). Не могу заставить его стать 1 во время транзакции для чтения. Правильно я понял, что в PL части надо делать управление буфером? SPI от Zynq напрямую не умеет режим 3-wire ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gutzan 0 11 июля Опубликовано 11 июля · Жалоба Здравствуйте. Да, Вы все правильно поняли. В PL части нужно делать управление буфером. У Analog Devices на гитхабе есть пример для их микросхем АЦП. А вот мой пример для микросхемы HMC7044. pll_hmc7044_spi_phy.v Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться