XEM 6001 Read from pipe out function with labview

I’m trying to make a module to read out the calculated value from XEM 6001 board interfacing with LabView. However, no matter how fast I increase the sampling rate, the pipe out waveform is just not right. I put the “read from pipe out” VI inside a while loop. Does the refreshing rate of while loop affect the data readout? I also tried to modify pipetest.v but it’s still not giving me the right output. I’m 90% sure it’s the LabView/ USB clock synchronizing problem because I also wired the output out directly to one of the JP2 pins and it was the correct waveform.

And also, USB 2.0 can take 16 bits one pipe out but my upper 8 bits are always 0, no matter what data I assigned it. Does anyone have the same issue?

Please help. Thank you!

Please post snippets of your code and we can try to help you locate the problem.

thank you for the reply. this is the simplified version of my code:

// tt is the counter i created. i sent it there and assigned it to be the output data from pipe_out_check
pipe_out_check poc0 (.clk (ti_clk),
.reset (reset),
.pipe_out_read (pipe_out_read),
.test (tt),
.pipe_out_data (pipe_out_data),
.pipe_out_ready (pipe_out_ready),
.throttle_set (ep00wire[5]),
.throttle_val ({throttle_out, throttle_out}),
.mode (1’b0)

// then, pipe out function is called
okBTPipeOut epA0 (.ok1(ok1), .ok2(ok2x[ 2*17 +: 17 ]), .ep_addr(8’ha0), .ep_read(pipe_out_read), .ep_blockstrobe(), .ep_datain(pipe_out_data), .ep_ready(1’b1));

that’s basically what i modified the code from pipetest.v

and for labview, i have captured a graph for my for loop:


thank you.