This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PCM1861EVM: Digital audio appears to be truncated to 16 bits

Part Number: PCM1861EVM
Other Parts Discussed in Thread: PCM1861, , PCM1860

The digital output noise at a shorted analog input randomly shows 2 values corresponding to a 16 bit representation. Accordingly, the PCM1861EVM noise floor is limited to -93 dB re full scale. However, the PCM1861 actually supports 24 bits and according to the spec's has a significantly lower noise floor. Is above observation correct? If so, is there a way to avoid the PCM1861EVM truncating the samples to 16 bits?

Thanks in advance

  • Hi,

    We ran some tests on the PCM1861-EVM here in our lab and we see 24-bit output as expected.

    As far as the results on your end is concerned, one plausible explanation is you may have wrong device on the EVM...for ex: PCM1860. Would you be able to confirm the marking on the device on the EVM that you are running the tests on? NOTE that the PCM186x family of devices share the same EVM and there is a very small change that the marking on the EVM is wrong and you may have PCM1860 instead of PCM1861.

    Please do let me know if that's the case...

    Best regards,

    Ravi

  • Hi Ravi,

    Thanks for your reply.

    I checked the marking and it is PCM1861 on the chip as well as on the board.

    Triggered by your answer, I rechecked the EVM using other software and recorded both channels 1L and 1R (nothing connected and recording at 32 bit float resolution setting). Both channels show the same quantized yet mutually uncorrelated noise of 2 distinct levels: 0 and -3.059E-5 re FS, and a noise floor of -93 dB re full scale sine. The I2S clock frequencies are 12.288 MHz, 48000 Hz and 3.072 MHz, as expected, and monitoring the DOUT line against the LRCK line, 24 bits are active indeed (the lowest of which are flipping).

    Kind regards,

    Jan

  • In addition to my previous information, I used a USB device viewer to produce the attached file showing how the EVM presents itself to the USB port.

    UVCView.txt
    [Port1]  :  USB Composite Device
    
              ---===>Device Information<===---
    English product name: "USB-AudioEVM"
    
    ConnectionStatus:                  
    Current Config Value:              0x01  -> Device Bus Speed: Full
    Device Address:                    0x0F
    Open Pipes:                           2
    
              ===>Endpoint Descriptor<===
    bLength:                           0x07
    bDescriptorType:                   0x05
    bEndpointAddress:                  0x83  -> Direction: IN - EndpointID: 3
    bmAttributes:                      0x03  -> Interrupt Transfer Type
    wMaxPacketSize:                  0x0040 = 0x40 bytes
    bInterval:                         0x0A
    
              ===>Endpoint Descriptor<===
    bLength:                           0x09
    bDescriptorType:                   0x05
    bEndpointAddress:                  0x82  -> Direction: IN - EndpointID: 2
    bmAttributes:                      0x0D  -> Isochronous Transfer Type
                       Synchronization Type = Synchronous
    Bulk Transfer Type
    wMaxPacketSize:                  0x00C0 = 0xC0 bytes
    wInterval:                       0x0001
    bSyncAddress:                      0x00
    
              ===>Device Descriptor<===
    bLength:                           0x12
    bDescriptorType:                   0x01
    bcdUSB:                          0x0110
    bDeviceClass:                      0x00  -> This is an Interface Class Defined Device
    bDeviceSubClass:                   0x00
    bDeviceProtocol:                   0x00
    bMaxPacketSize0:                   0x20 = (32) Bytes
    idVendor:                        0x0451 = Texas Instruments
    idProduct:                       0xBB02
    bcdDevice:                       0x0304
    iManufacturer:                     0x01
         English (United States)  "TI"
    iProduct:                          0x02
         English (United States)  "USB-AudioEVM"
    iSerialNumber:                     0x00
    bNumConfigurations:                0x01
    
              ===>Configuration Descriptor<===
    bLength:                           0x09
    bDescriptorType:                   0x02
    wTotalLength:                    0x00C7  -> Validated
    bNumInterfaces:                    0x04
    bConfigurationValue:               0x01
    iConfiguration:                    0x00
    bmAttributes:                      0x80  -> Bus Powered
    MaxPower:                          0x32 = 100 mA
    
              ===>Interface Descriptor<===
    bLength:                           0x09
    bDescriptorType:                   0x04
    bInterfaceNumber:                  0x00
    bAlternateSetting:                 0x00
    bNumEndpoints:                     0x00
    bInterfaceClass:                   0x01  -> Audio Interface Class
    bInterfaceSubClass:                0x01  -> Audio Control Interface SubClass
    bInterfaceProtocol:                0x00
    CAUTION:  This may be an invalid bInterfaceProtocol
    iInterface:                        0x00
    
              ===>Audio Control Interface Header Descriptor<===
    bLength:                           0x0A
    bDescriptorType:                   0x24
    bDescriptorSubtype:                0x01
    bcdADC:                          0x0100
    wTotalLength:                    0x0034
    bInCollection:                     0x02
    baInterfaceNr[1]:                  0x01
    baInterfaceNr[2]:                  0x02
    
              ===>Audio Control Input Terminal Descriptor<===
    bLength:                           0x0C
    bDescriptorType:                   0x24
    bDescriptorSubtype:                0x02
    bTerminalID:                       0x01
    wTerminalType:                   0x0101 (USB streaming)
    bAssocTerminal:                    0x02
    bNrChannels:                       0x02
    wChannelConfig:                  0x0003
    iChannelNames:                     0x00
    iTerminal:                         0x00
    
              ===>Audio Control Output Terminal Descriptor<===
    bLength:                           0x09
    bDescriptorType:                   0x24
    bDescriptorSubtype:                0x03
    bTerminalID:                       0x02
    wTerminalType:                   0x0603 (Line connector)
    bAssocTerminal:                    0x01
    bSourceID:                         0x01
    iTerminal:                         0x00
    
              ===>Audio Control Input Terminal Descriptor<===
    bLength:                           0x0C
    bDescriptorType:                   0x24
    bDescriptorSubtype:                0x02
    bTerminalID:                       0x03
    wTerminalType:                   0x0603 (Line connector)
    bAssocTerminal:                    0x04
    bNrChannels:                       0x02
    wChannelConfig:                  0x0003
    iChannelNames:                     0x00
    iTerminal:                         0x00
    
              ===>Audio Control Output Terminal Descriptor<===
    bLength:                           0x09
    bDescriptorType:                   0x24
    bDescriptorSubtype:                0x03
    bTerminalID:                       0x04
    wTerminalType:                   0x0101 (USB streaming)
    bAssocTerminal:                    0x03
    bSourceID:                         0x03
    iTerminal:                         0x00
    
              ===>Interface Descriptor<===
    bLength:                           0x09
    bDescriptorType:                   0x04
    bInterfaceNumber:                  0x01
    bAlternateSetting:                 0x00
    bNumEndpoints:                     0x00
    bInterfaceClass:                   0x01  -> Audio Interface Class
    bInterfaceSubClass:                0x02  -> Audio Streaming Interface SubClass
    bInterfaceProtocol:                0x00
    CAUTION:  This may be an invalid bInterfaceProtocol
    iInterface:                        0x00
    
              ===>Interface Descriptor<===
    bLength:                           0x09
    bDescriptorType:                   0x04
    bInterfaceNumber:                  0x01
    bAlternateSetting:                 0x01
    bNumEndpoints:                     0x01
    bInterfaceClass:                   0x01  -> Audio Interface Class
    bInterfaceSubClass:                0x02  -> Audio Streaming Interface SubClass
    bInterfaceProtocol:                0x00
    CAUTION:  This may be an invalid bInterfaceProtocol
    iInterface:                        0x00
    
              ===>Audio Streaming Class Specific Interface Descriptor<===
    bLength:                           0x07
    bDescriptorType:                   0x24
    bDescriptorSubtype:                0x01
    bTerminalLink:                     0x01
    bDelay:                            0x01
    wFormatTag:                      0x0001 (PCM)
    
              ===>Audio Streaming Format Type Descriptor<===
    bLength:                           0x0B
    bDescriptorType:                   0x24
    bDescriptorSubtype:                0x02
    bFormatType:                       0x01
    bNrChannels:                       0x02
    bSubframeSize:                     0x02
    bBitResolution:                    0x10
    bSamFreqType:                      0x01
    tSamFreq[1]:                   0x00BB80 (48000 Hz)
    
              ===>Endpoint Descriptor<===
    bLength:                           0x09
    bDescriptorType:                   0x05
    bEndpointAddress:                  0x01  -> Direction: OUT - EndpointID: 1
    bmAttributes:                      0x0D  -> Isochronous Transfer Type
                       Synchronization Type = Synchronous
    Bulk Transfer Type
    wMaxPacketSize:                  0x00C0 = 0xC0 bytes
    wInterval:                       0x0001
    bSyncAddress:                      0x00
    
              ===>Audio Streaming Class Specific Audio Data Endpoint Descriptor<===
    bLength:                           0x07
    bDescriptorType:                   0x25
    bDescriptorSubtype:                0x01
    bmAttributes:                      0x01
    bLockDelayUnits:                   0x00
    wLockDelay:                      0x0000
    
              ===>Interface Descriptor<===
    bLength:                           0x09
    bDescriptorType:                   0x04
    bInterfaceNumber:                  0x02
    bAlternateSetting:                 0x00
    bNumEndpoints:                     0x00
    bInterfaceClass:                   0x01  -> Audio Interface Class
    bInterfaceSubClass:                0x02  -> Audio Streaming Interface SubClass
    bInterfaceProtocol:                0x00
    CAUTION:  This may be an invalid bInterfaceProtocol
    iInterface:                        0x00
    
              ===>Interface Descriptor<===
    bLength:                           0x09
    bDescriptorType:                   0x04
    bInterfaceNumber:                  0x02
    bAlternateSetting:                 0x01
    bNumEndpoints:                     0x01
    bInterfaceClass:                   0x01  -> Audio Interface Class
    bInterfaceSubClass:                0x02  -> Audio Streaming Interface SubClass
    bInterfaceProtocol:                0x00
    CAUTION:  This may be an invalid bInterfaceProtocol
    iInterface:                        0x00
    
              ===>Audio Streaming Class Specific Interface Descriptor<===
    bLength:                           0x07
    bDescriptorType:                   0x24
    bDescriptorSubtype:                0x01
    bTerminalLink:                     0x04
    bDelay:                            0x01
    wFormatTag:                      0x0001 (PCM)
    
              ===>Audio Streaming Format Type Descriptor<===
    bLength:                           0x0B
    bDescriptorType:                   0x24
    bDescriptorSubtype:                0x02
    bFormatType:                       0x01
    bNrChannels:                       0x02
    bSubframeSize:                     0x02
    bBitResolution:                    0x10
    bSamFreqType:                      0x01
    tSamFreq[1]:                   0x00BB80 (48000 Hz)
    
              ===>Endpoint Descriptor<===
    bLength:                           0x09
    bDescriptorType:                   0x05
    bEndpointAddress:                  0x82  -> Direction: IN - EndpointID: 2
    bmAttributes:                      0x0D  -> Isochronous Transfer Type
                       Synchronization Type = Synchronous
    Bulk Transfer Type
    wMaxPacketSize:                  0x00C0 = 0xC0 bytes
    wInterval:                       0x0001
    bSyncAddress:                      0x00
    
              ===>Audio Streaming Class Specific Audio Data Endpoint Descriptor<===
    bLength:                           0x07
    bDescriptorType:                   0x25
    bDescriptorSubtype:                0x01
    bmAttributes:                      0x01
    bLockDelayUnits:                   0x00
    wLockDelay:                      0x0000
    
              ===>Interface Descriptor<===
    bLength:                           0x09
    bDescriptorType:                   0x04
    bInterfaceNumber:                  0x03
    bAlternateSetting:                 0x00
    bNumEndpoints:                     0x01
    bInterfaceClass:                   0x03  -> HID Interface Class
    bInterfaceSubClass:                0x00
    bInterfaceProtocol:                0x00
    CAUTION:  This may be an invalid bInterfaceProtocol
    iInterface:                        0x00
    
              ===>HID Descriptor<===
    bLength:                           0x09
    bDescriptorType:                   0x21
    bcdHID:                          0x0100
    bCountryCode:                      0x00
    bNumDescriptors:                   0x01
    bDescriptorType:                   0x22
    wDescriptorLength:               0x0022
    
              ===>Endpoint Descriptor<===
    bLength:                           0x07
    bDescriptorType:                   0x05
    bEndpointAddress:                  0x83  -> Direction: IN - EndpointID: 3
    bmAttributes:                      0x03  -> Interrupt Transfer Type
    wMaxPacketSize:                  0x0040 = 0x40 bytes
    bInterval:                         0x0A