Hi,
In my setup I have the UB960 EVM, with 2x OV2775 camera sensor modules connected to (via 953 serializers).
I can't make the FrameSync, generated on GPIO1, propagate from the serializer to the sensors.
I know that my GPIO is toggling, by looking in the GPIO tab:
But in the sensor side, the register 0x53 is always ZERO.
My FrameSync configurations are:
def INT_FRAME_SYNC(): board.WriteI2C(UB960, 0x4C, 0x01) # select port rx0 board.WriteI2C(UB960, 0x6E, 0xA8) # BC_GPIO_CTL0: FrameSync signal to GPIO1 (GPIO0 = LOW) board.WriteI2C(UB960, 0x4C, 0x12) # select port rx1 board.WriteI2C(UB960, 0x6E, 0xA8) # BC_GPIO_CTL0: FrameSync signal to GPIO1 (GPIO0 = LOW) board.WriteI2C(UB960, 0x11, 0x91) # GPIO1_PIN_CTL Register - FrameSync signal; Device Status; Enabled board.WriteI2C(UB960, 0x58, 0x5D) # BC FREQ SELECT board.WriteI2C(UB960, 0x19, 0x00) # FS_HIGH_TIME_1 board.WriteI2C(UB960, 0x1A, 0x8A) # FS_HIGH_TIME_0 board.WriteI2C(UB960, 0x1B, 0x04) # FS_LOW_TIME_1 board.WriteI2C(UB960, 0x1C, 0xE1) # FS_LOW_TIME_0 board.WriteI2C(UB960, 0x0F, 0x00) board.WriteI2C(UB960, 0x18, 0x03) # Enable FrameSync
And my serializers configurations is:
def SER_CFG(idx): board.WriteI2C(idx, 0x1, 0x2) # RESET_CTL - reset all including register time.sleep(1) board.WriteI2C(idx, 0x02, 0x52) # General_CFG - continous clock, 2-lanes, enable tx crc generator time.sleep(0.5) board.WriteI2C(idx, 0x06, 0x41) # CLKOUT_CTRL0 board.WriteI2C(idx, 0x07, 0x28) # CLKOUT_CTRL1 - default board.WriteI2C(idx, 0x0E, 0xD0) # GPIO_INPUT_CTRL - gpio[3:0] output enabled, input disabled board.WriteI2C(idx, 0x0D, 0x20) # LOCAL_GPIO_DATA - disable remote deserializer gpio data on local gpio time.sleep(1) board.WriteI2C(idx, 0x0D, 0x2C) # LOCAL_GPIO_DATA - disable remote deserializer gpio data on local gpio + enable remote GPIO1 time.sleep(1)
idx is the SLAVE_ALIAS for the serializer
Thanks for the support,
Matan