Skip to content

USB3 glitching issues #12

Description

@allenyin

(Originally comments on OpenEphys wiki)
I've gotten the Rhythm Interface largely working on XEM6310-LX150, while referencing the OpenEphys USB3 Rhythm verilog design.

One thing I'm noticing, and also pointed out by Intan Evaluation Software v1.5, is bytes-dropping in USB2 (and in my case, USB3) transfers. Intan's solution, in the updated rhd2000evalboard.cpp::readAdditionDataWords(), is to simply ignore the sample frame in which the byte drop happens, and then reads additional bytes (number of bytes per sample frame - the number of dropped bytes) to complete the frame.

This is hard to achieve with USB3 block-throttled transfer (since USB3 regular pipeouts are unreliable), since bytes transfered as to be multiples of at least 16 bytes. I can think of a few rather hacky ways, where I would stitch together data read out later with the previous ones, but I'm curious about whether you have encountered similar bytes-dropping in your USB3 development..judging from the plugin-GUI repo, I don't see any glitch-handling...

My Verilog code is here, the modified Intan Eval software is here .

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions