Код
inout I2C_1_SDA,
inout I2C_1_SCL,
assign {loan_out[52], loan_out[51]} = {2'b00};
i2c i2c_inst
(
...
.scl_pad_i (loan_in[52]),
.scl_padoen_o (~loan_oe[52]),
.sda_pad_i (loan_in[51]),
.sda_padoen_o (~loan_oe[51]),
)
hps hps_inst
(
...
.hps_0_h2f_loan_io_in (loan_in),
.hps_0_h2f_loan_io_out (loan_out),
.hps_0_h2f_loan_io_oe (loan_oe),
.hps_io_hps_io_gpio_inst_LOANIO51 (I2C_1_SDA),
.hps_io_hps_io_gpio_inst_LOANIO52 (I2C_1_SCL),
)
inout I2C_1_SCL,
assign {loan_out[52], loan_out[51]} = {2'b00};
i2c i2c_inst
(
...
.scl_pad_i (loan_in[52]),
.scl_padoen_o (~loan_oe[52]),
.sda_pad_i (loan_in[51]),
.sda_padoen_o (~loan_oe[51]),
)
hps hps_inst
(
...
.hps_0_h2f_loan_io_in (loan_in),
.hps_0_h2f_loan_io_out (loan_out),
.hps_0_h2f_loan_io_oe (loan_oe),
.hps_io_hps_io_gpio_inst_LOANIO51 (I2C_1_SDA),
.hps_io_hps_io_gpio_inst_LOANIO52 (I2C_1_SCL),
)
Завел контроллер (который от opencores), но столкнулся со следующей проблемой: при попытке отправить по i2c байт - на выходе плиски ничего нет. Причем, сигналтап показывает что сигналы sda_padoen и scl_padoen формируются нормально, но осциллографом на ногах ничего не вижу. Прелоадер пересобирать обновлять не забывал.
Нажмите для просмотра прикрепленного файла
Кусок схемы (DD17, DD18 что стоят, что нет - SCL и SDA всегда висят в единице):
Нажмите для просмотра прикрепленного файла
Самое обидное что если использовать HPS-ный I2C, то всё работает - можно из-под Линукса читать-управлять слейвами.
Куда копать? Почему ноги плис могут молчать?