USB IO Implementation

This implementation is to convert the current PCI FPGA based peripherals to USB interface, the peripherals consist of:

  • QUART
  • Mass Storage
  • Inputs/Outputs

Different from most out of shelf USB UART adaptors, the USB QUART design here is subject to two special requirements:

  • Synchronous status reporting
  • Strict latency

As a result, we have adopted Wide Mode (Data byte + Status Byte) and vendor specific interface for the design.

For mass storage, USB mass storage interface is adopted so that it can be treated as a hard drive from operating system perspective, for the rest of Inputs/Output, the HID interface is used and we define its its payload for different IO functionalities.

We are fully and solely responsible for its full stack software development, including the design, firmware development for NXP 54L018J4M, Windows/Linux drivers, and end applications etc.