I have connected two DE2 boards via an IDE-cable over the GPIO_0 ports.I want to use the analog video in from one board to transmit the data (TD_HS, TD_VS, TD_DATA) to the other board. I tried by just assigning the in-/output ports to the GPIO-ports On the "slave side":
assign TD_RESET = GPIO_0;//reset to AD-converter assign I2C_SCLK = GPIO_0;//to AD-converter assign I2C_SDAT = GPIO_0;//to AD-converter assign GPIO_0 = TD_HS;//to master board assign GPIO_0 = TD_VS;//to master board assign GPIO_0= TD_DATA;//to master boardOn the "master side"
assign GPIO_0 = TD_RESET; assign GPIO_0 = I2C_SCLK; assign GPIO_0 = I2C_SDAT; assign TD_HS_slave = GPIO_0; assign TD_VS_slave = GPIO_0; assign TD_DATA_slave = GPIO_0;Does the "assign" work for I2C_SDAT, since it is an inout port? I think that the I2C-Bus of the master-board should be able to drive the AD-converter on the slave-board. Or might the fact that the AD-converter uses the clock of the slave-board cause problems? The master board should use the video data and display it to VGA-out. I use the DE2_TV demonstration source, which works fine if I use the analog video-in on the same board. The reset of the slave-board by resetting the master-board works properly. Since I only map pins I think it should not be an big issue. But till now I don't get an output on my RGB-out of the master-board. Anyone here tried something similar before and can give me some hints?
As far as I understand, you try to route bidirectional I2C signals through the FPGA. This doesn't work. Available I2C buffer IC are using special hardware features to detect the data direction of the signals. To "repeat" I2C by standard bidirectional I/O, you have to decode the protocol at the slave port and regenerate it at the master port.