A common misconception on the USB 2.0 specification is that all implementations are standardized, but in actuality each implementation of the USB IP can be different therefore creating a broad range in performance and ease of use. The NXP USB is the only fully-compliant USB available for ARM7 MCUs. These devices support 16 bi-directional endpoints, with all transfer modes and maximum buffers having full frame bandwidth per transfer on USB blocks.