Furthermore, on EP0 the device must implement the class-specific requests defined by the CDC specification. Linux has a generic CDC ACM host-side implementation in the kernel module _cdc_acm.ko.This protocol requires two USB interfaces: a data interface which consists of two endpoints (bulk in + bulk out) and a control interface which consists of one interrupt in endpoint.
This allows the device to be registered on a host computer as a serial port (e.g. USB CDC ACM is a vendor-independent publicly documented protocol that can be used for emulating serial ports over USB. and, also gives step by step procedure to test the Zynq-7000 AP SoC USB 2.0 communication device class functionality on windows and Linux host machines.
This section explains the CDC Abstract Control Model (ACM) Linux gadget driver details, how to configure the Linux source to support serial gadget driver for Zynq-7000 AP SoC USB 2.0. Linux: Step by Step procedure for creating Zynq-7000 AP SoC USB 2.0 controller’s communication device class functionality Demonstrating the CDC functionality with Windows as well as Linux host machineįigure 1: Zynq-7000 AP SoC USB CDC reference design block diagram.Bare metal CDC solution on Zynq-7000 AP SoC.How to get and configure all the Zynq-7000 AP SoC Linux kernel and dependent files for the CDC class reference.
The serial communication device commands are explained in the USB Communication Device Class (CDC) reference.įor complete specifications of USB protocol, class specific specifications refer: For application specific commands there are specific commands defined in the form of USB classes. This techtip explains how to enable all the configuration options, step by step procedure to use the Zynq-7000 AP SoC OTG controller in device mode and make use of bulk transfer type for a serial communication device abstraction using the USB. The OTG controllers in Zynq-7000 AP SoC supports all the four types of transfers. These transfers types are the key abstractions for different applications development on USB with same hardware. These transfers types are Control Transfer, Bulk Transfer, Isochronous transfer and Interrupt transfer. There are four primary types of communication defined by the USB protocol, based on which any required application can be built without changing the firmware or underlying hardware for different applications.
The OTG controllers can act as USB host or USB Device or dynamically changing roles between host and device. The Zynq-7000 AP SoC has two USB2.0 On-The-Go (OTG) controllers in the Processing System.