Post Go back to editing

Just not working....

Category: Hardware
Product Number: ADV7282A

Hi,

I need to stream audio/video through Raspberry PI so I applied a/m chip. Initially it should work on my PCB made according to the datasheet. However at the very first start-up I have such observations :

1. current consumption from 1.8V is approx. 30mA

2. I2C port doesn't work at all (RPI commands say "no such device")

3. CSI lines (clock and data) stay at 0.2 - 0V level. No activity there.

4. Vrefp and Vrefn are 0V

5. Crystal works at expected frequency

So what to do next ? First samples were taken from Digi-Key.

Best regards

Jacek

  • Hi,

    If it is custom board, please refer application note for layout design Design Considerations for Connecting Analog Devices Video Decoders to MIPI CSI-2 Receivers

    Please make sure whether you are using the correct I2C address.   

    Have you verified with a scope the I2C timing and waveforms are correct?

    Check to see if you can access anything else tied to the I2C bus, like eeprom.  Tie something to the bus to make sure the bus is working as expected.

    Refer here EVAL-ADV7282A-M I2C detect not work - Q&A - Video - EngineerZone (analog.com)

    Note: 

    As per MIPI specification the MIPI receiver need to terminate the signals correctly. If the Microprocessor/ FPGA does not control the termination correctly then the MIPI signals from the ADV7282A cannot be decoded.

    How do you configure the board either through script or through software driver?

    Thanks,
    Dharani S

  • Hi Dharani,

    I have managed to configure RPi4 the way that I2C port 10 sends proper signals to camera connector. Checked with a scope. The thing is that the command

    sudo i2cdetect -y 10 produces this table with numbers but no slave address is detected. The whole table is filled with "- -". So there is no communication with a chip. On this first prototype board I power all voltages at same time, also PWRDWN and RESET pins are pulled-up. The crystal oscillator is active and works.

    I went through the link as above and I see that the guy had similar problem but there was no clue how to establish a communication with a chip.

    Is it possible that this start-up sequence with RESET pin pulled down and up after powering device is so important and can open I2C port ?

    Best regards

    Jacek

  • Hi,

    When powering up the ADV7282A,follow these steps. During power-up, all supplies must adhere to the specifications listed in the Absolute Maximum Ratings section.
        1.Assert the PWRDWN and RESET pins (pull the pins low).
        2.Power up the DVDDIO supply.
        3.After DVDDIO is fully asserted, power up the 1.8 V supplies.
        4.After the 1.8 V supplies are fully asserted, pull the PWRDWN pin high.
        5.Wait 5 ms and then pull the RESET pin high.
        6.After all power supplies and the PWRDWN and RESET pins are powered up and stable, wait an additional 5ms
    before initiating I2C communication with the ADV7282A.

    If you're using a 400kHz SCL rate, you might try 100kHz. 

    Thanks,

    Varshini K

  • Dear Varshini

    Yes, I am aware about this description from the datasheet. Unfortunately it requires additional microcontroller to arrange this timing sequence. OK, it isn't impossible but looking at evaluation board EVAL-ADV7282 (I compare some behaviours) I see that :

    1. On EVB all supllies (1.8V and 3.3V) are delivered in the same time from simple regulators, not as according to the above sequence and I2C works. The chip works. I can load script and there is an activity on CSI outputs.

    2. On my board I use SCL at 125kHz (default value from RPi4)

    3. When I power my board the oscillator runs immediately (I even can't load any script because of no I2C communication)

    4. On EVB the oscillator runs after loading script. OK, I understand that - this is logical.

    So why these two boards behave in a different way ? The current consumption on my board from 1.8V is 30mA total. Isn't it too low ?

    brgds

    Jacek

  • Hi,

    The higher bias current setting will make the AFE of the ADV728x better at locking to low voltage video sources at low temperatures.

    I advise that you continue the investigation of the crystal.

    An internal ring oscillator is used to clock the I2C block of the ADV728x. Therefore, it makes sense that you have I2C communication even if the crystal is not working.

    Thanks,

    Varshini K

  • Hi Varshini,

    my previous surprise was a difference between EVAL board and mine. On EVAL the crystal is stopped until a first script is loaded, on mine it starts immediately after power-up. The same chip, nearly the same connections (maybe the EVAL sends some commands to the chip just after power-up to stop it).

    Frankly speaking I was concentrating in checking the result of command sudo i2cdetect -y 10. I will try to send some other commands for I2C communication (a short script from python code) and we will see if the chip has started operation (I mean any action on CSI output ports).

    brgds

    Jacek

  • Hi,

    1)Check the Signal flow of I2C lines in both Eval board and custom board after power up.
    2)Run the script probe the behaviour of SCL and SDA lines in both the boards.
    3)How you confirm , the crystal is being stop condition, until a first script is loaded.
    Note : When initially powered up to the H/W there is a 200ms period before the I2C port is ready to be addressed.
    Thanks,
    Varshini K
  • Hi,

    I have connected RPi4 (camera connector) to SDA/SCL on evaluation board. After some investigations I have achieved I2C communication between both modules. UFFFF.... At least this part works. But observing on the scope what is going on I have such questions :

    1. SCL speed (EVAL) is 83kHz not 100. OK, this is not a big difference but why ?

    2. Between commands passed to ADV in EVAL board there are time breaks 30-16ms between each one. Is it necessary ?

    3. When I pass first 6 commands from the AD script (running my python program) to EVAL chip, then oscillator starts operation. As it should. It looks that my python I2C commands are OK.

    4. I2C on my custom board is completely dead, the commands as above do not work but oscillator starts working immediately after power-up. It cannot be a matter of supply voltages sequence as on EVAL board all of them are delivered at the same time (simultanously). I have checked POWERDOWN and RESET pins, they are held high. Is it possible that I have bad chip ? But oscillator works....

    Frankly speaking after checking all these connections I have no other idea what can be the reason that this communication is missing...

    Regards

    Jacek

  • Hi,

    If possible, could you please provide the custom board schematic. We will analyze and get back to you Once get the solution.

    Thanks,

    Varshini K

  • Hi Varshini,

    please find attached a schematic of my board. This board was made in a simplest way just for evaluation of software. Finally ADV will be part of bigger project but for now we just want to achieve signals on CSV outputs for further evaluation. So this board is just a first trial.

    The whole board consumes 30mA, oscillator works at expected frequency, SDA/SCL lines stay at 3.3V in idle state. As mentioned before the oscillator starts immediately after power-up.

    BUT.... I click "insert" button to upload a schematic in .pdf but I cannot upload anything. I could do it by wetransfer but your e-mail address is needed...

    brgds

    Jacek