Skip to content

V3.1 Board Testing Notes

esar edited this page May 19, 2020 · 2 revisions
  1. Visual inspection & soldering defect repair (most of these were due to bad solder paste application. I don't currently have a good way to keep the stencil flat)

    • HDMI connector solder bridges
    • Level shifter dry joint
    • Resistor dry joint
    • Voltage regulator bridges
    • Voltage regulator 2nd bridge and dry joint
    • USB connector dry joint
    • MCU bridges 1
    • MCU bridges 2
    • MCU bridges 3
    • FPGA bridges
  2. Check no continuity between ground and each voltage test point (5V, 3V3, 1V8, 1V2): OK

  3. Check no continuity between ground and each voltage rail at tantalum caps: OK

  4. Install jumper J12 to bridge power from LED power connector to PSU supply

  5. Set power supply to 5V and 10mA current limit, connect power to LED power connector

  6. Both LEDs by standby button should light (5V / Power Good): OK

  7. Power supply should not trip 10mA limit: OK

  8. Check voltage at PSU test points:

    • 3V3: 3.42
    • 1V8: 1.80
    • 1V2: 1.21
  9. Check voltages on individul rails:

    • FPGA 1V2: 1.21
    • MCU 3V3: 3.42
    • FPGA 3V3: 3.42
    • DVDDIO 3V3: 3.42
    • TVDD 3V3: 3V3: 3.42
    • DVDD 1V8: 1.80
    • PVDD 1V8: 1.80
    • CVDD 1V8: 1.80
  10. Disconnect PSU, remove J12

  11. Connect USB to computer

  12. Both LEDs by standby connector should light: OK

  13. Computer should detect 2x FTDI interfaces: OK

  14. Flash firmware (make firmware_flash): FAILED

        Error: Check JTAG interface, timings, target power, etc.
        Error: Trying to use configured scan chain anyway...
        Error: stm32f3x.cpu: IR capture error; saw 0x0f not 0x01
        Warn : Bypassing JTAG setup events due to errors
        Error: Invalid ACK (7) in DAP response
        Error: JTAG-DP STICKY ERROR```
    
  • Check JTAG clock (FTDI chip, pin 24) while flashing: OK, have clock
  • Check JTAG data in (FTDI chip, pin 23): OK, have data
  • Check JTAG data out (FTDI chip, pin 22): FAIL, stays high
  • Check JTAG data into FPGA (FPGA pin 110): OK, have data
  • Check JTAG data out of FPGA (FPGA pin 106): FAIL, stays high
  • Check JTAG clock into FPGA (FPGA pin 109): FAIL, stays high
  • Check JTAG clock into R7: FAIL, dry solder joint
  • Fix joint, flash firmware: SUCCESS
  1. Connect serial terminal, enter command (followed by enter): ?
  2. Should get command help displayed: OK
  3. Check communication with ADV7611, on serial console issue commands:
  • GI 0x98 0xea
  • GI 0x98 0xeb
  1. Should get 0x20 and 0x51 (ADV7611 version number is 0x2051): OK
  2. Flash FPGA (make fpga_flash)
  3. DONE LED should light and stay lit: FAILED
  • Check voltage at LED: OK
  • Remove LED and put back the right way around: SUCCESS
  1. Confirm communication to FPGA, issue commands at serial console:
  • Enable first 10 LEDs: SO 0 0-9 0 0 0 1
  • Retrieve config just set: GO 0 0-9
  1. Expect:
     0: 1: 0 0 0 128
     0: 2: 0 0 0 128
     0: 3: 0 0 0 128
     0: 4: 0 0 0 128
     0: 5: 0 0 0 128
     0: 6: 0 0 0 128
     0: 7: 0 0 0 128
     0: 8: 0 0 0 128
     0: 9: 0 0 0 128
  • OK
  1. Apply 5V to LED power connector, confirm power at LED output connector when board has power and firmware is running: OK
  2. Connect LEDs to port 0
  3. Issue full reset command at serial console: R
  4. LEDs should light blue: OK
  5. Connect HDMI source
  6. LED by HDMI connector should light: OK
  7. LEDs should change colour following image: FAILED, LEDs go out
  • Capturing DDC traffic shows the bluray player reading the KSV from the ADV7611, reading device 0x3A (HDCP), register 0x00 (Bksv). The ADV7611 is returning 0xFF 0xFF 0xFF 0xFF 0xFF. This indicates that the ADV7611 is saying that it can't accept encrypted content. The KSV should have 20 bits set to 1 and 20 set to 0.
  • Disconnect HDMI source, power cycle the board, issue commands at serial console:
    • Reset all: R
    • Read HDCP_KEYS_READ: GI 0x68 0x04 5
    • Read HDCP_KEY_ERROR: GI 0x68 0x04 4
  • Expect HDCP_KEYS_READ = 1: OK
  • Expect HDCP_KEY_ERROR = 0: OK
  • Connect HDMI source, check register values again:
    • Read HDCP_KEYS_READ: GI 0x68 0x04 5
    • Read HDCP_KEY_ERROR: GI 0x68 0x04 4
  • Expect HDCP_KEYS_READ = 1: OK
  • Expect HDCP_KEY_ERROR = 0: FAIL

Looks like I have a bad ADV7611 chip, possibly its internal key ROM is corrupt. This board won't be able to decrypt HDCP content until I replace it, but otherwise it works ok. Maybe it's just bad luck, or maybe the seller I got it from was selling parts that failed testing. Another chip from the same batch worked fine on an earlier board.

Clone this wiki locally