IN/OUT streaming interfaces.

Could you help teach me, how to add a microphone input to this usb audio code.

MCB1700 Sample Code Bundle for LPC17xx Peripherals using Keil's MDK-ARM V2.00 (Jan 10, 2011)
ics.nxp.com/.../mcb1700.code.bundle.lpc17xx.keil.zip

Could we start with the usbuser.c file and the changes that must be made,

thankyou.

Parents
  • The USB Audio spec shows a descriptor example for Microphone.
    www.usb.org/.../audio10.pdf
    Appendix B. Example 1: USB Microphone (Informative)

    Modify the descriptors (usbdesc.c) of the example, first.

    For Audio Control Interface,
    - Append "B.3.3.3 Input Terminal Descriptor" and "B.3.3.4 Output Terminal Descriptor" from the microphone example after the original Audio Output Terminal.
    - Tune the bTerminalID and bSourceID values of these descriptors, so that they don't conflict with the original speaker's. (bTerminalID = 4, 5 bSourceID = 4)
    - Increase wTotalLength of Class-specific AC Interface Descriptor by these terminal descriptors.

    For the extra Audio Streaming Interface of microphone,
    - Append the descriptors from "B.3.4.1.1.1 Standard AS Interface Descriptor" to "B.3.4.2.1.5 Class-specific Isochronous Audio Data Endpoint Descriptor" on the spec, after the last descriptor of the original.
    - Change bInterfaceNumber of two Interface descriptors into 2
    - Match bTerminalLink of "Class-specific AS General Interface Descriptor" with the bTerminalID (5) of above Output Terminal Descriptor

    Lastly, tune the Config descriptor
    - wTotalLength: Add the size of extra descriptors
    - bNumInterfaces: from 2 to 3

    At this stage of modification, the microphone interface should be recognized by your PC.
    When you finish this modification successfully, we move to the next step ;-)

    Tsuneo

Reply
  • The USB Audio spec shows a descriptor example for Microphone.
    www.usb.org/.../audio10.pdf
    Appendix B. Example 1: USB Microphone (Informative)

    Modify the descriptors (usbdesc.c) of the example, first.

    For Audio Control Interface,
    - Append "B.3.3.3 Input Terminal Descriptor" and "B.3.3.4 Output Terminal Descriptor" from the microphone example after the original Audio Output Terminal.
    - Tune the bTerminalID and bSourceID values of these descriptors, so that they don't conflict with the original speaker's. (bTerminalID = 4, 5 bSourceID = 4)
    - Increase wTotalLength of Class-specific AC Interface Descriptor by these terminal descriptors.

    For the extra Audio Streaming Interface of microphone,
    - Append the descriptors from "B.3.4.1.1.1 Standard AS Interface Descriptor" to "B.3.4.2.1.5 Class-specific Isochronous Audio Data Endpoint Descriptor" on the spec, after the last descriptor of the original.
    - Change bInterfaceNumber of two Interface descriptors into 2
    - Match bTerminalLink of "Class-specific AS General Interface Descriptor" with the bTerminalID (5) of above Output Terminal Descriptor

    Lastly, tune the Config descriptor
    - wTotalLength: Add the size of extra descriptors
    - bNumInterfaces: from 2 to 3

    At this stage of modification, the microphone interface should be recognized by your PC.
    When you finish this modification successfully, we move to the next step ;-)

    Tsuneo

Children
More questions in this forum