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.

OPT8241-CDK-EVM: USB driver of OPT8241-CDK-EVM

Part Number: OPT8241-CDK-EVM

Hello.

I have a question for FX2 chip Driver(CY7C68053).

This chip is Cypress' product. but it is mounted on OPT8241-CDK-EVM so I hope someone can give an advice.

I made OPT8241 Board according to TI's OPT8241-CDK-EVM. I followd most of TI's data.

(I've just changed laser diode, removed a circut of LED driver on Illumination board. For Sensor board, I used schematic of TI board.)

So. new board is on my hand. I checked main 5V DC is supplied to a board & right voltage. But I cannot see driver on device manager on computer.

(I already installed VOXEL viewer & used TI's OPT8241-CDK-EVM board.)

I thought FX2 chip driver installed automatically when I install VOXEL viewer. Am I right?

I am trying to check if I made PCB wrong or if I am missing something related with driver.

If someone made OPT8241 board using cypress usb chip before, please help me konw what I am missing.

  • Hi sslee,

    You have to install the FX2 firmware onto the FX2 EEPROM. Directly using the firmware provided by the CDK (www.ti.com/.../sboc456), you'll get a device with VID:PID of 0x0451:0x9105.

    Since you've already built the board, I think that the FX2 EEPROM would be empty. Here's a post addressing the programming of the FX2 firmware:
    e2e.ti.com/.../2346153

    Suramya
  • Dear Suramya
    Thank you for your checking.

    To be frank, there is not clear thing to me because of my poor english & experience.
    Please let me check one by one. It needs your help.


    1.
    I understand two steps you told me as below.
    - FX2 firmware should be install on th EEPROM. (SBOC456. I downloaded & have in my pc.)
    - I saw how to install(program) on PDF file you let me know.

    I have a questions as below.
    1) On PDF file(Programming3DToFCameraEEPROMforthefirsttime.pdf)
    it shows how to install FW on EEPROM(2AA128) using cyress's development kit.

    Question : Is this the only way to program EEPROM? I had EEPROM on PCB already without this process.
    Shoud I buy Cypress development kit & prepare bulk EEPROM?
    Actually we thought we can install FW using VOXEL program.

    2) When TI prepares OPT8241-CDK-EVM, does TI does same process that single EEPROM is programed first and then mounted on OPT8241-CDK-EVM PCB?

    2.
    If FX2 firmware is not installed on EEPROM, how does PC recognize it?
    I mean PC recognizes TOF board as "unknown device" or cannot recognize it?

    Current status is as below.
    I mounted all componests on PCB already. Of course EEPROM is empty.
    and I've checked rigth voltage & right clock from oscillator are supplied to FX2 chip(CY7C68053).
    But PC doesn't regognize it. think PC should recognize it as 'unknown device" at least even though EEPROM is empty.
    (I guess this occured according to any HW problem I still doesnot find.)


    Thank you for reading my long questions.
  • Hi Sslee,

    1) The given method in the document is the recommended way to program the EEPROM. You can try connecting the lines of the programmed CDK to the EEPROM in your board, and then use Cypress Control Center to program your EEPROM. This, in theory, should work, but you have to ensure that this does not kill your board, or the CDK.

    2) For programming many EEPROMs, it is recommended to ask the EEPROM manufacturer to pre-program the EEPROMs. Since this is not done in your current board, you have to use the method that is described in the PDF. This is how TI does it for the CDK.

    Voxel Programmer programs the EEPROM of OPT9221, and not the FX2 EEPROM.

    3) The PC will not recognize the board if the EEPROM is not programmed. FX2 cannot read anything from the memory and the PC will not recognize it.

    Suramya
  • Dear Suramya

    I uploaded FX FW onto Serial EEPROM(24AA512) and then PC recognizes OPT8241-CDK-EVM driver. Thanks.
    and I uploaded OPT9221 FW using Voxel programmer. (.tie file)

    But when I run Voxel Viewer, it doesnot work well.

    When I open File Programmer, I can see as below with TI board I bought
    Devices : TI - CDK-OP8241 (0::0451:9105:: 10979061099734) <- I think fist is VID and last is PID as you told.

    BUT I can see VID & PID as below with my new made board.
    Devices : TI - CDK-OP8241 (0::0451:9105:: Serial_No._Placeholder)

    I am not sure this send PID is right or wrong. if it is wrong, did I programmed wrong?

    Thank you always.
  • Hi Sslee, 

    You see the "Serial_No._Placeholder" text because the device does not have a serial number programmed. The VID:PID setting of 0x0451:0x9105 is correct, and it seems that the CDK is correctly programmed. 

    Can you share the log file from VoxelViewer? It will be stored in the ~/.Voxel/logs directory. 

    Thanks

    Suramya 

  • Hi.

    Thank you for your kind help.

    I mounted EEPROM with FX2 FW and I uploaded OPT9221.tie fiel using VOXEL viewer.

    attached log file is witten when I ran I run voxel viewer.

     

    log(new board after fx2 & opt9221 fw upload).txt
    INFO: ParameterDMLParser: Found register map with name 'OPT9221' (vPG1P0)
    ERROR: HardwareSerializer: Invalid config data in hardware.
    WARNING: MainConfigurationFile: Failed to read configuration from hardware.
    WARNING: MainConfigurationFile: Could not open file 'Serial_No._Placeholder.bin'
    ERROR: DepthCamera: Failed to update value for parameter 'main_current'
    ERROR: DepthCamera: Failed to update value for parameter 'main_current'
    ERROR: DepthCamera: Failed to update value for parameter 'main_current'
    ERROR: CameraSystem: Could not refresh parameters for TintinCDKCamera(0::0451:9105::Serial_No._Placeholder).
    INFO: ToFCameraBase: Starting with 320x240@30fps
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535432532111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535433136111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535433741111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535434345111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535434949111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535435553111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535436157111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535436761111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535437365111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535437970111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535438574111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535439179111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535439783111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535440388111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535440992111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535441596111
    ERRORERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535442200111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535442804111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535443409111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535444014111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535444618111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535445222111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535445826111
    ERROR: USBIO: Could not transfer '0' bytes
    INFO: DepthCamera: Streaming stopped.Deleting logger...
    

  • log(reference board when volex runs).txt
    INFO: ParameterDMLParser: Found register map with name 'OPT9221' (vPG1P0)
    INFO: HardwareSerializer: Received 45190 bytes from hardware in 2.034 s
    INFO: Data2DCodec: Original number of 8-bit offsets = 2534
    INFO: Data2DCodec: Number of invalid pixels in original data = 0
    INFO: Data2DCodec: Current number of 8-bit offsets = 2534
    INFO: DepthCamera: Setting parameter 'op_clk_freq'
    INFO: DepthCamera: Setting parameter 'unambiguous_range'
    INFO: DepthCamera: Setting parameter 'sub_frame_cnt_max'
    INFO: DepthCamera: Setting parameter 'quad_cnt_max'
    INFO: DepthCamera: Setting parameter 'intg_duty_cycle'
    INFO: DepthCamera: Setting parameter 'illum_power_percentage'
    INFO: DepthCamera: Setting parameter 'delay_fb_corr_mode'
    INFO: DepthCamera: Setting parameter 'delay_fb_dc_corr_mode'
    INFO: DepthCamera: Setting parameter 'sscg_en'
    INFO: DepthCamera: Setting parameter 'sscg_period'
    INFO: DepthCamera: Setting parameter 'sscg_modulation'
    INFO: DepthCamera: Setting parameter 'init_2'
    INFO: DepthCamera: Setting parameter 'init_3'
    INFO: DepthCamera: Setting parameter 'init_4'
    INFO: DepthCamera: Setting parameter 'init_5'
    ERROR: DepthCamera: Failed to update value for parameter 'mix_volt'
    ERROR: DepthCamera: Failed to update value for parameter 'pvdd'
    ERROR: CameraSystem: Could not refresh parameters for TintinCDKCamera(0::0451:9105::10979061099734).
    INFO: ToFCameraBase: Starting with 320x240@30.0001fps
    WARNING: USBBulkStreamer: Dropping a frame because of slow forward pipeline.
    WARNING: USBBulkStreamer: Dropping a frame because of slow forward pipeline.
    WARNING: USBBulkStreamer: Dropping a frame because of slow forward pipeline.Using rate factor = 0.1
    
    WARNING: USBBulkStreamer: Dropping a frame because of slow forward pipeline.Using rate factor = 0.367879317995
    Using rate factor = 0.147632532249
    Using rate factor = 0.118288346978
    C:\PROGRA~1\TEXASI~1\VOXELV~1.10\VOXELV~1\pyqtgraph\graphicsItems\ImageItem.py:354: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
    
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535798530111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535799134111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535799738111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535800343111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535800947111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535801551111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535802156111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535802761111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535803365111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535803969111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535804573111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535805178111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535805782111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535806387111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535806991111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535807596111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535808200111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535808805111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535809410111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535810014111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535810618111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535811222111
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    ERROR: USBIO: Could not transfer '0' bytes
    WARNING: USBBulkStreamer: Resetting bulk endpoint at 1533535811827111
    ERROR: USBIO: Could not transfer '0' bytes
    INFO: DepthCamera: Streaming stopped.Deleting logger...
    
    Dear Suramya

    Plesase see one more log file.

    I have two reference boards. (reference board means the OPT8241-CDK-EVM that I bought from TI.)

    one of the reference board is not statble.

    sometimes works well and sometimes it doesn't work when I ran VOXEL viewer.

    a few min ago, first it works well & suddenly it stopped.

    I attached log file too. I think log file is similar with that I attached before.

    Pleasee this log file too.

    Thank you very much.

  • Dear Suramya

    Attached file is OPT9221 FW that I used. Is this file ok?

    OPT9221_0v30.zip

  • SSLee,

    I hope the firmware you're using is from www.ti.com/.../sbac142.
    Version 30 is okay, this should not cause a problem.

    From the log file, it seems that the camera is trying to read calibration parameters from the hardware, but is unable to do so.
    Could you try running it in the "No Calibration" profile?

    If it runs with the "No Calibration" profile, you need to set the serial number of the camera, so that the calibration parameters are read correctly. You can set the serial number using VoxelSDK, which can be installed from here:
    github.com/.../releases

    The instructions are here:
    github.com/.../Installation-on-Windows

    Run the SerialNumber.exe utility and give a suitable serial number (presently, the serial number string is empty).

    Suramya
  • Dear Suramya

    1. I used firmware version 30. this time I downloaded version 31.

    2. I ran Voxel viewer and choosed 'No calibration' profile.
    Also I got a notice [Could not select camera profile "No Calibration"]

    3. I am sure HW connection of new board is right.
    Last time I detach eeprom(24AA512) from ref bord & mounted on new board.
    and then I've checked new board works well with voxel viewer.

    4. Currently even though I choosed 'no calibrtion profile', board is not running well.
    Could I try to set serial number of camera according to your advice?
  • Sslee,

    Please try programming the serial number. Between the ref board EEPROM and the new board EEPROM, the only thing that seems to be different is the serial number.

    Also, set the default profile of the board using Camera Profiles-> Manage Profiles to No Calibration.

    Suramya
  • Hi,

    I am closing this thread as the original question seems to be answered and the conversation is no longer about the USB driver.
    Can you please start a new thread which talks about the serial number programming?

    Regards,
    Subhash