Keil Logo

Technical Support

On-Line Manuals

RL-ARM User's Guide (MDK v4)

RL-RTX RL-FlashFS RL-TCPnet RL-CAN RL-USB RL-USB for USB Device Applications RL-USB Device Library RL-USB Device Features RL-USB Device Software Stack RL-USB Device Functions RL-USB Device Source Files RL-USB Device Configuration Audio Device (ADC) Options Communication Device (CDC) - ACM Options Human Interface Device (HID) Options Mass Storage Device (MSC) Options Create USB Device Applications Create ADC Applications Create CDC ACM Applications Create HID Applications Create MSC Applications Create Composite Applications Test USB Device Applications Compliance Tests Test HID Client Application RL-USB for USB Host Applications RL-USB Host Library RL-USB Host Features RL-USB Host Software Stack RL-USB Host Functions RL-USB Host Source Files RL-USB Host Configuration Host Controller Driver Selection Host Controller Driver Configuration Host Class Driver Selection Create USB Host Applications Create USB Host HID Applications HID_Kbd Example Create USB Host MSC Applications Create USB Host Class Driver RL-USB Host Constants and Structures Error constants Speed constants Transaction Packet Type constants Transaction Error Type constants USB Request Block structure (USBH_URB) Endpoint structure (USBH_EP) Driver Capabilites structure (USBH_HCI_CAP) Device Class Instance structure (USBH_DCI) Host Controller Instance structure (USBH_HCI) Host Controller Driver structure (USBH_HCD) USB Concepts USB Transfer Rates USB Network Basic Communication Model USB Protocol Control Transfer Interrupt Transfer Isochronous Transfer Bulk Transfer Descriptors Device Configuration Device Descriptor Configuration Descriptor Interface Descriptor Endpoint Descriptor Device Qualifier Descriptor Example Programs Library Reference Appendix

Audio Device (ADC) Options

Audio Device (ADC) Options explains the configuration options for an audio device. The options can be edited in the file usb_config.c directly or using the µVision Configuration Wizard.

RL-USB ADC Configuration

Where
  • Audio Device (ADC) - enables the USB audio functionality of the device. This option corresponds to #define USBD_ADC_ENABLE.
    #define USBD_ADC_ENABLE                1                    // 1=enabled; 0=disabled
    
Isochronous Endpoint Settings
configure the endpoint characteristics and affect Endpoint Descriptor.
  • Isochronous Out Endpoint Number sets the endpoint number. Values between 1..15 are allowed. This option corresponds to #define USBD_ADC_EP_ISOOUT.
    #define USBD_ADC_EP_ISOOUT           0                    // value range 1..15
    
  • Maximum Endpoint Packet Size (in bytes) sets the maximal packet size. Values between 0..1024 are allowed. This option corresponds to #define USBD_ADC_WMAXPACKETSIZE.
    #define USBD_ADC_WMAXPACKETSIZE      64                   // value range 0..1024
    
  • Endpoint polling Interval (in ms) sets the data transfer polling interval. Discrete values can be selected. This option corresponds to #define USBD_ADC_BINTERVAL.
    #define USBD_ADC_BINTERVAL           1                    // value range 0..1024
    
  • High-speed enables the characteristics when using high speed transfer rates. Enable the High Speed option under USB Device. This option corresponds to #define USBD_ADC_HS_ENABLE.
    #define USBD_ADC_HS_ENABLE           1                    // 1=enabled; 0=disabled
    
  • Maximum Endpoint Packet Size (in bytes) sets the maximal packet size for high speed transfers. Values between 0..1024 are allowed. This option corresponds to #define USBD_ADC_HS_WMAXPACKETSIZE.
    #define USBD_ADC_HS_WMAXPACKETSIZE   64                   // next option also configures this macro
    
  • Additional transactions per microframe sets the additional transaction packets for high speed transfers. Discrete settings can be selected. This option also corresponds to #define USBD_ADC_HS_WMAXPACKETSIZE.
    #define USBD_ADC_HS_WMAXPACKETSIZE   64                    // prev. option also configures this macro
    
Audio Device Settings
configure device specific options.
  • Audio Control Interface String sets the audio control string identifier. 126 characters are allowed. This option corresponds to #define USBD_ADC_CIF_STRDESC.
    #define USBD_ADC_CIF_STRDESC         L"USB_ADC"           // up to 126 characters
    
  • Audio Streaming (Zero Bandwidth) Interface String sets the zero bandwidth streaming control string identifier. 126 characters are allowed. This option corresponds to #define USBD_ADC_SIF1_STRDESC.
    #define USBD_ADC_SIF1_STRDESC        L"USB_ADC1"          // up to 126 characters
    
  • Audio Streaming (Operational) Interface String sets the operational streaming control string identifier. 126 characters are allowed. This option corresponds to #define USBD_ADC_SIF2_STRDESC.
    #define USBD_ADC_SIF2_STRDESC        L"USB_ADC2"          // up to 126 characters
    
  • Audio Subframe Size (in bytes) sets the audio subframe size. Values between 0..255 are allowed. This option corresponds to #define USBD_ADC_BSUBFRAMESIZE.
    #define USBD_ADC_BSUBFRAMESIZE       2                    // value range 0..255
    
  • Sample Resolution (in bits) sets the bit resolution size. Values between 0..255 are allowed. This option corresponds to #define USBD_ADC_BBITRESOLUTION.
    #define USBD_ADC_BBITRESOLUTION      16                   // value range 0..255
    
  • Sample Frequency (in Hz) sets the sample frequency. Values between 0..16777215 are allowed. This option corresponds to #define USBD_ADC_TSAMFREQ.
    #define USBD_ADC_TSAMFREQ            32000                // value range 0..16777215
    
  • Packet Size (in bytes) sets the size of data packets. Values between 1..256 are allowed. This option corresponds to #define USBD_ADC_CFG_P_S.
    #define USBD_ADC_CFG_P_S             32                   // value range 1..256
    
  • Packet Count sets the number of data packets. Values between 1..16 are allowed. This option corresponds to #define USBD_ADC_CFG_P_C.
    #define USBD_ADC_CFG_P_C             1                    // value range 1..16
    

Note

  • The USB Device Controller hardware might impose restrictions on the use of endpoints.
  • Refer to Create ADC Applications for a quick-start on programming an audio device.
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.