- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Description: When the FPGA sends data to the PC through the USB chip, after running for a period of time, the PC will no longer receive data, and the FPGA will not send data anymore. At this point, the USB chip FLAGA signal does not go low, so the FPGA cannot send data all the time.
Question: Why is the usb chip FLAGA signal always high? What caused the usb chip to no longer receive data?
FPGA FLAGA signal
Pc log error:
transfer status: LIBUSB_TRANSFER_ERROR
UHD Error:
The receive packet handler caught a value exception.
ValueError: bad vrt header or packet fragment
terminate called after throwing an instance of 'uhd::usb_error'
what(): RuntimeError: USBError -4: usb rx6 submit failed: LIBUSB_ERROR_NO_DEVICE
transfer status: LIBUSB_TRANSFER_NO_DEVICE
--------------------------------------------------------------------------------------------------------
template <typename buffer_type>
UHD_INLINE typename buffer_type::sptr get_new(const double timeout)
{
if (wait_for_completion(timeout))
{
///*qiaoping
if (result.status != LIBUSB_TRANSFER_COMPLETED)
throw uhd::io_error(str(boost::format("usb %s transfer status: %d")
% _name % libusb_error_name(result.status)));
//*/
if (result.status != LIBUSB_TRANSFER_COMPLETED)
std::cout << boost::format("transfer status: %d") % libusb_error_name(result.status) << std::endl;
result.completed = 0;
return make(reinterpret_cast<buffer_type *>(this), _lut->buffer, (_is_recv)? size_t(result.actual_length) : _frame_size);
}
return typename buffer_type::sptr();
}
- Tags:
- solved
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Do you have feasible to check the Debug Prints?
If yes, please collect the logs and post here.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
thank you for your replay
Pc log error:
transfer status: LIBUSB_TRANSFER_ERROR
UHD Error:
The receive packet handler caught a value exception.
ValueError: bad vrt header or packet fragment
terminate called after throwing an instance of 'uhd::usb_error'
what(): RuntimeError: USBError -4: usb rx6 submit failed: LIBUSB_ERROR_NO_DEVICE
transfer status: LIBUSB_TRANSFER_NO_DEVICE
--------------------------------------------------------------------------------------------------------
template <typename buffer_type>
UHD_INLINE typename buffer_type::sptr get_new(const double timeout)
{
if (wait_for_completion(timeout))
{
///*qiaoping
if (result.status != LIBUSB_TRANSFER_COMPLETED)
throw uhd::io_error(str(boost::format("usb %s transfer status: %d")
% _name % libusb_error_name(result.status)));
//*/
if (result.status != LIBUSB_TRANSFER_COMPLETED)
std::cout << boost::format("transfer status: %d") % libusb_error_name(result.status) << std::endl;
result.completed = 0;
return make(reinterpret_cast<buffer_type *>(this), _lut->buffer, (_is_recv)? size_t(result.actual_length) : _frame_size);
}
return typename buffer_type::sptr();
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Shi Shu,
- Please let know if you have the UART functionality in the firmware to implement the UART debug printing. If yes, kindly, share the UART logs.
- Also, please let know if you are referring to the AN65974 app note for your implementation.
Best regards,
Srinath S