• Resolved

PCM2704C: ROM DESCRIPTOR DATA MODIFICATION

Prodigy 160 points

Replies: 10

Views: 81

Part Number: PCM2704C

HI,

I am trying to modify the ROM Descriptor data and I followed the instruction given in the datasheet. but when I plugged the device it won't show Vendor string as I programmed into the EEPROM.

I am using self power mode. Could you please help me to resolve the issue. I have also attached the Schematic of my design.

I stored the below value in the EEPROM as shown in the sample set in the datasheet.

0xBB, 0x08, 0x04, 0x27, 0x50, 0x72, 0x6F, 0x64, 0x75, 0x63, 0x74, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x73, 0x2E, 0x56, 0x65, 0x6E, 0x64, 0x6F, 0x72, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x70, 0x6C, 0x61, 0x63, 0x65, 0x64, 0x20, 0x68, 0x65, 0x72, 0x65, 0x2E, 0x20, 0x80, 0x7D, 0x0A, 0x93, 0x01

I also have a few questions.

1. What is the Product string for PCM2704C, is it 0x27C4 or 0x2704

2. is it necessary to use the pullup resistor on DT or CK pin of the IC?

3. What will be the Max power register value in the ROM descriptor for Self Power Mode?

4. What will be the Power Attribute register value in the ROM descriptor for Self Power Mode?

  • Hi Nikesh,

    1. What is the Product string for PCM2704C, is it 0x27C4 or 0x2704

    The default product string is 0x27C4

    2. is it necessary to use the pullup resistor on DT or CK pin of the IC?

    My understanding is that the pullup is only required on CK.  That being said, this is not very well defined in the datasheet.  Can you verify the voltage on your test points (JP9 and JP12)?  On my EVM both lines are 3.3V, so I believe the pull-ups are internal.

    3. What will be the Max power register value in the ROM descriptor for Self Power Mode?

    As you are self-powered, you would make the max power value as 0x0A (20mA).

    4. What will be the Power Attribute register value in the ROM descriptor for Self Power Mode?

    You are in the self-powered mode, so the value would be 0xC0

    THanks,

    Paul

  • In reply to Paul_Frost:

    Thanks, Paul for the information.

    I found in the datasheet that only PCM2705C requires Pullup on DT pin (Page no 6) .

    I tried everything by changing the Max power register as 0x0A and Power attribute register as 0xC0 in the External ROM sample set but still, I am not able to get the Vendor ID in my Device Manager.

    Does it require any external driver in Windows OS? 

    Thanks,

    Nikesh

  • In reply to Nikhil Kakade:

    The PCM270xC does not require a specific driver.  Please clarify: You are using the PCM2704C or the PCM2705C? Only the 2704C supports the external ROM.

    Can you verify the voltage on your test points (JP9 and JP12)?  On my EVM both lines are 3.3V, so I believe the pull-ups are internal.

  • In reply to Paul_Frost:

    Hi Paul,

    I am using the PCM2704C which supports the ROM.

    Please correct me if I am wrong. are you talking about the JP9 and JP12 jumper or Test Points?

    The Voltage on JP9 jumper on self side is 3.3V as it is directly connected to VDD and I didn't find the JP12 Jumper. I referred PCM270XC EVK schematic.

    I also tested the Voltage on CK(SCL) and DT(SDA) pin and its 3.3V (internally pullup).

    Could you please try to Burn the External ROM Sample data on your EVM.

    Thanks,

    Nikesh

  • In reply to Nikhil Kakade:

    Hi Nikesh,

    Paul will get back to you after verifying the Burn of External ROM Data.

    Regards,

    AK

  • In reply to Akhilesh K:

    Thanks Akhilesh,

    Please let me know the results of the ROM test on your EVK.

    I think this issue is somewhat like my problem,

    I also checked the Data lines on the protocol analyzer and found the results as the above case.

    The EEPROM is not sending the data as it needs 2x8 bit address to read/write.

    Regards,

    Nikesh

  • In reply to Nikhil Kakade:

    Hi Nikesh,

    I agree, I believe that is the problem.  The EEPROM you have selected only supports 16-bit addresses, and the PCM2704C only supports 8-bit.  Can you try to use the 24AA08?

    Thanks,

    Paul

  • In reply to Paul_Frost:

    Hi Paul,

    I tested the PCM2704C with the AT24C16 IC and I am able to change the VID and PID.

    As per my testing, PCM2704C does not support the EEPROM which is having a size more than 16KB like AT24C64 (Mentioned in the Schematic of PCM2704C EVK). we can use AT24C16 or AT24C08 EEPROM.

    Also All the EEPROM sample data should be in reversed order e.g. if the VID is 08 BB then it should be stored in the EEPROM as DD 10 (Reverse the bit in Binary and Convert into the Hex).

    As per my requirement, I want to Display my Customized String in the Sound Control Panel so I changed the Product String in the EEPROM as mentioned in the datasheet.

    But It only works in MacOS and not in Windows 10 OS when I keep the default PCM2704C VID and PID. but if I change the PID to any other Value then it also works in Windows.

    I think when it Finds the Default VID and PID windows load the Default Driver for the PCM2704C and used the Default Product String which is stored in the driver file.

    So I think, for Windows 10 OS we need to get Unique PID from TI. Can you please let me know the process for the same. We are using this IC in one of our Product and so we will be requiring it in bulk.

    Thanks,

    Nikesh

  • In reply to Nikhil Kakade:

    Hi Nikesh,

    To my knowledge, we do not issue custom or reserved PID values for the TI vendor ID.  That being said, I do not think there is a risk if you chose a custom/random PID for your application.  I am not sure if the Default Product String is really stored in the driver file, as the driver file is generic.  It might be worth checking if you can use a customer product string with the default PID/VID on a new Windows 10 machine (that would not have connected to the PCM before) and check if it loads the default.  I suspect the Windows 10 machine has just cached the value.

  • In reply to Paul_Frost:

    Hi Paul,

    You are correct about the windows machine cached the value.

    I Connected the device to the new Windows Machine and Its Working.

    I also used Driver Booster Software to Completely remove the Previous Driver of PCM2704C  and After Plugging the IC its also working on my current Machine with the Default VID and PID.

    Thank you Very much for your Support.