TS3A227E: TS3A227E switch from 3-pole to Standard (CTIA) mode

Part Number: TS3A227E

Hi,

I have a headset which is not properly working with the TS3A227E. Tip-to-Sleeve resistance is 1.46 kOhm and Tip-to-Ring2 is 18 Ohm. According to this post it should be a standard (CTIA) headset:

However, its only detected as 3-pole. I also managed to setup some resistors on a 4-pole plug for simulating a headset and I have similar problems. Although this setup will be most of the times be recognized as a standard (CTIA) headset, sometimes the TS3A227E states it is only a 3-pole.

What could be the problem?

Best regards, Thorben

16 Replies

  • In reply to Thorben Vornholz:

    Thorben,

    What register settings are you changing that you are not able to manually control the switch? 

    Here are some sections of the datasheet that might help you with setting up manual mode

    These are the bits that need to be set for the different switch configurations to support 3-pole or 4-pole headsets.

    These are the different switch configurations that need to be set to support each type of headset.

    Thank you,

    Adam

  • In reply to Adam Torma:

    Hi Adam

    I tried the following:

    1. Reset the chip and set the the detection time to 2 seconds
    2. set Manual Switch Control = 1
    3. set switch control registers 0x7 to 0x28
    4. set switch control registers 0x8 to 0x06
      •    (this should be the right settings for OMTP mode)

    5. set Manual Switch Control = 0
    6. Plug in CTIA headset
    7. read headset status which is 0xC
    1. Reset the chip and set the the detection time to 2 seconds
    2. Plug in CTIA headset
    3. set Manual Switch Control = 1
    4. set switch control registers 0x7 to 0x28
    5. set switch control registers 0x8 to 0x06
      •    (this should be the right settings for OMTP mode)

    6. set Manual Switch Control = 0
    7. read headset status which is 0xC
    1. Reset the chip and set the the detection time to 2 seconds
    2. Plug in CTIA headset
    3. set Manual Switch Control = 1
    4. set switch control registers 0x7 to 0x28
    5. set switch control registers 0x8 to 0x06
      •    (this should be the right settings for OMTP mode)

    6. Call manual trigger
    7. set Manual Switch Control = 0
    8. read headset status which is 0xC


    I also tried following the steps on page 22 but with the 0x28 and 0x06 instead of 0xFF in step 5.
    Headphone status is again 0xC.

    Please tell me the correct order of sending I2C commands and when to plug or unplug my headphones.

    Regards, Thorben

  • In reply to Thorben Vornholz:

    Thorben,

    1. Reset the chip and set the the detection time to 2 seconds
    2. set Manual Switch Control = 1
    3. set switch control registers 0x7 to 0x28
    4. set switch control registers 0x8 to 0x06

    (this should be the right settings for OMTP mode)

    This is the correct setting for OMTP.  You can confirm this by checking the low impedance path from sleeve to GND and from RING2_SENSE to MICP.    

    1. set Manual Switch Control = 0
    2. Plug in CTIA headset
    3. read headset status which is 0xC

    This is correct and you can confirm by checking the low impedance path from SLEEVE_SENSE to MICP and from RING2 to GND.

      1. Reset the chip and set the the detection time to 2 seconds
      2. Plug in CTIA headset
      3. set Manual Switch Control = 1
      4. set switch control registers 0x7 to 0x28
      5. set switch control registers 0x8 to 0x06

    (this should be the right settings for OMTP mode)

    This is the correct setting for OMTP but you plugged in a CTIA headset

    1. set Manual Switch Control = 0
    2. read headset status which is 0xC

    0Cxh is correct reading for CTIA headset

      1. Reset the chip and set the the detection time to 2 seconds
      2. Plug in CTIA headset
      3. set Manual Switch Control = 1
      4. set switch control registers 0x7 to 0x28
      5. set switch control registers 0x8 to 0x06

    (this should be the right settings for OMTP mode)

    This is the correct setting for OMTP but you plugged in a CTIA headset

    1. Call manual trigger
    2. set Manual Switch Control = 0
    3. read headset status which is 0xC

    0Cxh is correct reading for CTIA headset

    1. Reset the chip and set the the detection time to 2 seconds
    2. set Manual Switch Control = 1
    3. set switch control registers 0x7 to 0x28
    4. set switch control registers 0x8 to 0x06
    5.    (this should be the right settings for OMTP mode)

    This is the correct setting for OMTP

    1. set Manual Switch Control = 0
    2. Plug in CTIA headset
    3. read headset status which is 0xC

    0Cxh is correct reading for CTIA headset

    1. Reset the chip and set the the detection time to 2 seconds
    2. Plug in CTIA headset
    3. set Manual Switch Control = 1
    4. set switch control registers 0x7 to 0x28
    5. set switch control registers 0x8 to 0x06
    6. (this should be the right settings for OMTP mode)
    7. This is the correct setting for OMTP

    8. set Manual Switch Control = 0
    9. read headset status which is 0xC
    10. Reset the chip and set the the detection time to 2 seconds
    11. Plug in CTIA headset
    12. set Manual Switch Control = 1
    13. set switch control registers 0x7 to 0x28
    14. set switch control registers 0x8 to 0x06
      •    (this should be the right settings for OMTP mode)

    15. Call manual trigger
    16. set Manual Switch Control = 0
    17. read headset status which is 0xC

    0Cxh is correct reading for CTIA headset

     

    What other issues are you having?

     

    Adam

  • In reply to Adam Torma:

    Hi Adam,

    Adam Torma

    This is the correct setting for OMTP but you plugged in a CTIA headset

    What other issues are you having?

    My issue is that I do plug in a CTIA headset but I want the TS3A227E to recognize it as OMTP and vice versa. Or, speaking more general, whatever I plug in, I want to be recognized as whatever I want it to be. Having speakers recognized as a headset or an OMTP headset as only speakers. How do I do that?

    Regards, Thorben

  • In reply to Thorben Vornholz:

    Thorben,

    To achieve the above function you will need to manually control the TS3A227E switch matrix and prevent the device from running the automatic detection.  

    Page 21 and 22 of the datasheet goes into detail on how to set up the registers for this operation.

    You will need to set the manual switch control (1), Auto DET EN (0), and DET_TRIGGER (SW) (0).  When you set these registers the switch matrix will configure itself to its last detection state.  Then you can set the switch matrix how you would like.

    Let me know if this information helps you.

    Thank you,

    Adam

  • In reply to Adam Torma:

    Hi Adam,

    thanks again for your answer. I tried the following:

    1. Disconnect the headset
    2. Reset TS3A227E
    3. Set detection time to 2 seconds (write 0x27 to 0x04)
    4. Disable Auto DET (write 0x07 to 0x04)
    5. Enable Manual Switch Control (write 0x47 to 0x04)
    6. Setup the control registers for OMTP
      1. write 0x28 to 0x7
      2. write 0x06 to 0x8
    7. Insert CTIA headset
    8. Read 0x08 from 0xB after 3 seconds

    I've also tried the same procedure with the headset already connected before calling the first step. Still reading 0x08 at the end.

    Am I missing something?

    Regards, Thorben