www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC18F4550 AudioDevice


Autor: Max Berg (maxberg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Ich hätte da eine Frage^^

Also ich versuche einen PIC18F4550 als Audiodevice zu erkennen...
Hab schon versucht im Interface Descriptor etc. 0x01 (für audio) 
einzutragen...

PIC wird als erkannt, ich kann audiotreiber installieren aber im 
Gerätemanager kommt ein gelbes Rufzeichen (Fehlercode 10 [Gerät kann 
nicht gestartet werden])

Kann mir wer helfen?

Einen schönen Nachmittag..

Max Berg

Ps: Danke!

Autor: Max Berg (maxberg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder kann ich vielleicht den Microchip custom Treiber so anpassen, dass 
mein Device als AudioDevice erkannt wird?

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast nur das eine Byte im Interface descriptor angepasst?
Reicht vermutlich nicht, erstmal müssen wohl die richtigen Endpoints 
vorhanden sein, und dann muss der PIC natürlich korrekt auf die Requests 
antworten.

Ich schau mal, ob ich ein USB-Audio Device hier finde, und dir den 
Descriptor dumpen kann, sollte schonmal ein Anfang sein.

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, gleich gefunden :)

Vorsicht, ist recht Lang.
Das Interface#2, HID, ist für die Lautstärke/Mute Tasten am Headset, 
brauchst du nur wenn du auch Tasten an deinen Pic bauen willst.

Einfaches nachbauen des Deskriptors ist natürlich suboptimal, die Spec 
für USB-Audio sollte man nebenbei schon offen haben, um zu verstehen, 
was da alles angegeben wird.
Bus 001 Device 013: ID 0d8c:000c C-Media Electronics, Inc. Audio Adapter
Device Descriptor:                                                      
  bLength                18                                             
  bDescriptorType         1                                             
  bcdUSB               1.10                                             
  bDeviceClass            0 (Defined at Interface level)                
  bDeviceSubClass         0                                             
  bDeviceProtocol         0                                             
  bMaxPacketSize0        64                                             
  idVendor           0x0d8c C-Media Electronics, Inc.                   
  idProduct          0x000c Audio Adapter                               
  bcdDevice            1.00                                             
  iManufacturer           0                                             
  iProduct                1 C-Media USB Headphone Set                   
  iSerial                 0                                             
  bNumConfigurations      1                                             
  Configuration Descriptor:                                             
    bLength                 9                                           
    bDescriptorType         2                                           
    wTotalLength          253                                           
    bNumInterfaces          4                                           
    bConfigurationValue     1                                           
    iConfiguration          0                                           
    bmAttributes         0xa0                                           
      (Bus Powered)                                                     
      Remote Wakeup                                                     
    MaxPower              100mA                                         
    Interface Descriptor:                                               
      bLength                 9                                         
      bDescriptorType         4                                         
      bInterfaceNumber        0                                         
      bAlternateSetting       0                                         
      bNumEndpoints           0                                         
      bInterfaceClass         1 Audio                                   
      bInterfaceSubClass      1 Control Device                          
      bInterfaceProtocol      0                                         
      iInterface              0                                         
      AudioControl Interface Descriptor:                                
        bLength                10                                       
        bDescriptorType        36                                       
        bDescriptorSubtype      1 (HEADER)                              
        bcdADC               1.00                                       
        wTotalLength          100                                       
        bInCollection           2                                       
        baInterfaceNr( 0)       1                                       
        baInterfaceNr( 1)       2                                       
      AudioControl Interface Descriptor:                                
        bLength                12                                       
        bDescriptorType        36                                       
        bDescriptorSubtype      2 (INPUT_TERMINAL)                      
        bTerminalID             1                                       
        wTerminalType      0x0101 USB Streaming                         
        bAssocTerminal          0                                       
        bNrChannels             2                                       
        wChannelConfig     0x0003                                       
          Left Front (L)                                                
          Right Front (R)                                               
        iChannelNames           0                                       
        iTerminal               0                                       
      AudioControl Interface Descriptor:                                
        bLength                12                                       
        bDescriptorType        36                                       
        bDescriptorSubtype      2 (INPUT_TERMINAL)                      
        bTerminalID             2                                       
        wTerminalType      0x0201 Microphone                            
        bAssocTerminal          0                                       
        bNrChannels             1                                       
        wChannelConfig     0x0001                                       
          Left Front (L)                                                
        iChannelNames           0                                       
        iTerminal               0                                       
      AudioControl Interface Descriptor:                                
        bLength                 9                                       
        bDescriptorType        36                                       
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)                     
        bTerminalID             6                                       
        wTerminalType      0x0301 Speaker                               
        bAssocTerminal          0                                       
        bSourceID               9                                       
        iTerminal               0                                       
      AudioControl Interface Descriptor:                                
        bLength                 9                                       
        bDescriptorType        36                                       
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)                     
        bTerminalID             7                                       
        wTerminalType      0x0101 USB Streaming                         
        bAssocTerminal          0                                       
        bSourceID               8                                       
        iTerminal               0                                       
      AudioControl Interface Descriptor:                                
        bLength                 7                                       
        bDescriptorType        36                                       
        bDescriptorSubtype      5 (SELECTOR_UNIT)                       
        bUnitID                 8                                       
        bNrInPins               1                                       
        baSource( 0)           10                                       
        iSelector               0                                       
      AudioControl Interface Descriptor:                                
        bLength                10                                       
        bDescriptorType        36                                       
        bDescriptorSubtype      6 (FEATURE_UNIT)                        
        bUnitID                 9                                       
        bSourceID              15                                       
        bControlSize            1                                       
        bmaControls( 0)      0x01                                       
          Mute                                                          
        bmaControls( 1)      0x02                                       
          Volume                                                        
        bmaControls( 2)      0x02                                       
          Volume                                                        
        iFeature                0                                       
      AudioControl Interface Descriptor:                                
        bLength                 9                                       
        bDescriptorType        36                                       
        bDescriptorSubtype      6 (FEATURE_UNIT)                        
        bUnitID                10                                       
        bSourceID               2                                       
        bControlSize            1                                       
        bmaControls( 0)      0x43                                       
          Mute                                                          
          Volume                                                        
          Automatic Gain                                                
        bmaControls( 1)      0x00                                       
        iFeature                0                                       
      AudioControl Interface Descriptor:                                
        bLength                 9                                       
        bDescriptorType        36                                       
        bDescriptorSubtype      6 (FEATURE_UNIT)                        
        bUnitID                13                                       
        bSourceID               2                                       
        bControlSize            1                                       
        bmaControls( 0)      0x03                                       
          Mute                                                          
          Volume                                                        
        bmaControls( 1)      0x00                                       
        iFeature                0                                       
      AudioControl Interface Descriptor:                                
        bLength                13                                       
        bDescriptorType        36                                       
        bDescriptorSubtype      4 (MIXER_UNIT)                          
        bUnitID                15                                       
        bNrInPins               2                                       
        baSourceID( 0)          1                                       
        baSourceID( 1)         13                                       
        bNrChannels             2                                       
        wChannelConfig     0x0003                                       
          Left Front (L)                                                
          Right Front (R)                                               
        iChannelNames           0                                       
        bmControls         0x00                                         
        iMixer                  0                                       
    Interface Descriptor:                                               
      bLength                 9                                         
      bDescriptorType         4                                         
      bInterfaceNumber        1                                         
      bAlternateSetting       0                                         
      bNumEndpoints           0                                         
      bInterfaceClass         1 Audio                                   
      bInterfaceSubClass      2 Streaming                               
      bInterfaceProtocol      0                                         
      iInterface              0                                         
    Interface Descriptor:                                               
      bLength                 9                                         
      bDescriptorType         4                                         
      bInterfaceNumber        1                                         
      bAlternateSetting       1                                         
      bNumEndpoints           1                                         
      bInterfaceClass         1 Audio                                   
      bInterfaceSubClass      2 Streaming                               
      bInterfaceProtocol      0                                         
      iInterface              0                                         
      AudioStreaming Interface Descriptor:                              
        bLength                 7                                       
        bDescriptorType        36                                       
        bDescriptorSubtype      1 (AS_GENERAL)                          
        bTerminalLink           1                                       
        bDelay                  1 frames                                
        wFormatTag              1 PCM                                   
      AudioStreaming Interface Descriptor:                              
        bLength                14                                       
        bDescriptorType        36                                       
        bDescriptorSubtype      2 (FORMAT_TYPE)                         
        bFormatType             1 (FORMAT_TYPE_I)                       
        bNrChannels             2                                       
        bSubframeSize           2                                       
        bBitResolution         16                                       
        bSamFreqType            2 Discrete                              
        tSamFreq[ 0]        48000                                       
        tSamFreq[ 1]        44100                                       
      Endpoint Descriptor:                                              
        bLength                 9                                       
        bDescriptorType         5                                       
        bEndpointAddress     0x01  EP 1 OUT                             
        bmAttributes            9                                       
          Transfer Type            Isochronous                          
          Synch Type               Adaptive                             
          Usage Type               Data                                 
        wMaxPacketSize     0x00c8  1x 200 bytes                         
        bInterval               1                                       
        bRefresh                0                                       
        bSynchAddress           0                                       
        AudioControl Endpoint Descriptor:                               
          bLength                 7                                     
          bDescriptorType        37                                     
          bDescriptorSubtype      1 (EP_GENERAL)                        
          bmAttributes         0x01                                     
            Sampling Frequency                                          
          bLockDelayUnits         1 Milliseconds                        
          wLockDelay              1 Milliseconds                        
    Interface Descriptor:                                               
      bLength                 9                                         
      bDescriptorType         4                                         
      bInterfaceNumber        2                                         
      bAlternateSetting       0                                         
      bNumEndpoints           0                                         
      bInterfaceClass         1 Audio                                   
      bInterfaceSubClass      2 Streaming                               
      bInterfaceProtocol      0                                         
      iInterface              0                                         
    Interface Descriptor:                                               
      bLength                 9                                         
      bDescriptorType         4                                         
      bInterfaceNumber        2                                         
      bAlternateSetting       1                                         
      bNumEndpoints           1                                         
      bInterfaceClass         1 Audio                                   
      bInterfaceSubClass      2 Streaming                               
      bInterfaceProtocol      0                                         
      iInterface              0                                         
      AudioStreaming Interface Descriptor:                              
        bLength                 7                                       
        bDescriptorType        36                                       
        bDescriptorSubtype      1 (AS_GENERAL)                          
        bTerminalLink           7                                       
        bDelay                  1 frames                                
        wFormatTag              1 PCM                                   
      AudioStreaming Interface Descriptor:                              
        bLength                14                                       
        bDescriptorType        36                                       
        bDescriptorSubtype      2 (FORMAT_TYPE)                         
        bFormatType             1 (FORMAT_TYPE_I)                       
        bNrChannels             1                                       
        bSubframeSize           2                                       
        bBitResolution         16                                       
        bSamFreqType            2 Discrete                              
        tSamFreq[ 0]        48000                                       
        tSamFreq[ 1]        44100                                       
      Endpoint Descriptor:                                              
        bLength                 9                                       
        bDescriptorType         5                                       
        bEndpointAddress     0x82  EP 2 IN                              
        bmAttributes            5                                       
          Transfer Type            Isochronous                          
          Synch Type               Asynchronous                         
          Usage Type               Data                                 
        wMaxPacketSize     0x0064  1x 100 bytes                         
        bInterval               1                                       
        bRefresh                0                                       
        bSynchAddress           0                                       
        AudioControl Endpoint Descriptor:                               
          bLength                 7                                     
          bDescriptorType        37                                     
          bDescriptorSubtype      1 (EP_GENERAL)                        
          bmAttributes         0x01                                     
            Sampling Frequency                                          
          bLockDelayUnits         0 Undefined                           
          wLockDelay              0 Undefined                           
    Interface Descriptor:                                               
      bLength                 9                                         
      bDescriptorType         4                                         
      bInterfaceNumber        3                                         
      bAlternateSetting       0                                         
      bNumEndpoints           1                                         
      bInterfaceClass         3 Human Interface Device                  
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.00
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      50
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval              32
Device Status:     0x0000
  (Bus Powered)


Und, der Vollständigkeit halber, nochmal den gesammten Deskriptor-Block 
als Hexdump:
00000000  12 01 10 01 00 00 00 40  8c 0d 0c 00 00 01 00 01  |.......@........|
00000010  00 01 09 02 fd 00 04 01  00 a0 32 09 04 00 00 00  |..........2.....|
00000020  01 01 00 00 0a 24 01 00  01 64 00 02 01 02 0c 24  |.....$...d.....$|
00000030  02 01 01 01 00 02 03 00  00 00 0c 24 02 02 01 02  |...........$....|
00000040  00 01 01 00 00 00 09 24  03 06 01 03 00 09 00 09  |.......$........|
00000050  24 03 07 01 01 00 08 00  07 24 05 08 01 0a 00 0a  |$........$......|
00000060  24 06 09 0f 01 01 02 02  00 09 24 06 0a 02 01 43  |$.........$....C|
00000070  00 00 09 24 06 0d 02 01  03 00 00 0d 24 04 0f 02  |...$........$...|
00000080  01 0d 02 03 00 00 00 00  09 04 01 00 00 01 02 00  |................|
00000090  00 09 04 01 01 01 01 02  00 00 07 24 01 01 01 01  |...........$....|
000000a0  00 0e 24 02 01 02 02 10  02 80 bb 00 44 ac 00 09  |..$.........D...|
000000b0  05 01 09 c8 00 01 00 00  07 25 01 01 01 01 00 09  |.........%......|
000000c0  04 02 00 00 01 02 00 00  09 04 02 01 01 01 02 00  |................|
000000d0  00 07 24 01 07 01 01 00  0e 24 02 01 01 02 10 02  |..$......$......|
000000e0  80 bb 00 44 ac 00 09 05  82 05 64 00 01 00 00 07  |...D......d.....|
000000f0  25 01 01 00 00 00 09 04  03 00 01 03 00 00 00 09  |%...............|
00000100  21 00 01 00 01 22 32 00  07 05 83 03 04 00 20     |!...."2....... |


Hoffe das hilft dir irgendwie weiter.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.