This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DS90UB921-Q1: DS90UB921,DS90UB940, Display video image , there are streaks in the shape of water ripples

Part Number: DS90UB921-Q1

Hi

  Data circulation mode is  ,SOC(IMX6)-921-940-Display SOC,

  Detailed description of the problem: 

1. Water ripple evenly covers the whole display area of AVM; We have ruled out the problem of the data sent by the camera;

2. The duration of water ripple is more than 2 hours without any treatment;

3. The probability of recurrence is very high; The method of reappearance is frequent ignition and power on -- > cut into the AVM interface screen;

    There are several phenomena in the field operation when the problem occurs again

     1).  The whole vehicle is not powered off, and the vehicle engine and AVM controller are not powered off, 

             Just do one action:  Disconnect 921 and 940, and then connect 921 and 940,  The image is normal,  the water ripple fringe disappears,

    2).The whole vehicle does not power off, and the vehicle controller does not power off, 

           Just do one action:  AVM (921) controller power off, and then power on, the problem disappeared, the image is normal,

     3). The whole vehicle does not power off, and the AVM (921) controller does not power off, 

        Just do one action:Vehicle engine (941) is powered off and on again, the problem disappeared, the image is normal,

  921 and 941 are connected by copper axis,  Please help to analyze the reasons,Five cars are being tested, and only one has this phenomenon

Thanks!


  • Hi,

    Can you please provide the following:

    • Top markings for the 940 device
    • Pixel clock being used
    • Does SOC have any DPHY errors?
    • Reg dump when the distortion occurs and when the distortion does not occur
      • Attached is a script for reg dump

    Reg_Dumps.py
    print 'start Reg dump'
    
    devAddr = 0x58
    
    
    
    
    def padhexa(s):
        return '0x' + s[2:].zfill(2)
    
    def read_main_page():
        for n in range(256):
            register_values[n]=(padhexa(hex(board.ReadI2C(devAddr,n))))
            #print "reg= ", register_values[n]
            
        print "main page"
        print "Regs   : 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F"
        
        for n in range(16):
            print " ", padhexa(hex(n*16)), ":", register_values[16*n], register_values[16*n+1], register_values[16*n+2], register_values[16*n+3], register_values[16*n+4], register_values[16*n+5], register_values[16*n+6], register_values[16*n+7], register_values[16*n+8],register_values[16*n+9], register_values[16*n+10], register_values[16*n+11],register_values[16*n+12], register_values[16*n+13], register_values[16*n+14], register_values[16*n+15]
            
    def read_CSI_Page():
        for n in range(256):
    		board.WriteI2C(devAddr,0x6C, n)
            register_values[n]=(padhexa(hex(board.ReadI2C(devAddr,0x6D))))
    
        print "CSI regs"
        print "Regs   : 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F"
        
        for n in range(16):
            print " ", padhexa(hex(n*16)), ":", register_values[16*n], register_values[16*n+1], register_values[16*n+2], register_values[16*n+3], register_values[16*n+4], register_values[16*n+5], register_values[16*n+6], register_values[16*n+7], register_values[16*n+8],register_values[16*n+9], register_values[16*n+10], register_values[16*n+11],register_values[16*n+12], register_values[16*n+13], register_values[16*n+14], register_values[16*n+15]
            
    
    
    register_values = []
    for n in range(256):
        register_values.append(padhexa(hex(0)))
    
    
    read_main_page()
    read_CSI_Page()
    
    

    Regards,

    Ben