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.

TUSB3210 port function

Hi,

 

Our customer is using TUSB3210 for PS2 to USB converter,

initially the PS2 lines (data and clock) were connected to the GPIO ports

Port 0(0.0 & 0.1), but there were issues like few keys on the PS2 keyboard doesn't work

properly or few keys echoed multiple times on the PC.

Meanwhile, these kind of issues were solved when the PS2 lines (data and clock) were connected to

Port 3(3.5 & 3.3).

 

This has solved the issue but I wonder what chould be the difference between these two ports

Port 0 & Port 3.

Looking into the datasheet, I can understand that Port 3(3.3) has  "Input Port Interrupt"

function, but in our customer's application they are not using the Interrupt function and so 

it won't make any difference between these two ports.

We have seen this behaviour with the TUSB3210 Generic EVM.

 

Please let me know if there are any comments on this issue.

 

Regards.

Paddu.

  • Hello Paddu,

    Please check that the PUR_n register is set correct for the Port 0.

    Regards.

  • Hello ELIAS,

    Thank you for the reply.

     

    I have checked the register settings and 

    the PUR_n for all ports have been set to the same value ( =0) both 

    for Port 0(0.0 & 0.1) and Port 3(3.5 & 3.3).

     

    Actually our customer have designed their custom circuit with Port 0(0.0 & 0.1) for PS/2

    connection, but because of this reason they may have to change it Port 3(3.5 & 3.3).

     

    The problem is, we are not able to find out the exact difference between Port 0 and Port 3

    which could cause these kind of issues.

     

    Regards.

    Paddu

  • Hello Paddu,

    There are no differences between P0 and P3 regarding GPIOs. Both should have the same functionality.

    At this point I would look for  a damaged pin, does the problem occur with several TUSB3210 ?

    Have you tried with more GPIOs? with Port#1 and Port#2 ?

    Regards.

  •  

    Hello ELIAS,

     

    Thank you!

     

    According to your suggestion, in addition to Port 3(P3.5 & P3.3), 

    I tried with other ports like Port 1(1.0 & 1.1), Port 2 (P2.0 & P2.1)

    and found that other ports are working normal.

     

    And regarding Port 0(0.0 & 0.1), I believe they are not damaged,

    I tried to measure the voltage across these ports and they were similar to other ports(around 3.2V)

    and also tried to monitor Dataline/Clockline on a CRO,

    as you can see below there is no difference between the amplitudes of both ports P0.0/P0.1 and P1.0/P1.1 signals.

     

     

     CH1:Data Line, CH2: Clock Line

     

    Regards.

    Paddu.

     

  • Hello Elias,

     

    Some additional informartion.

     

    As you know TUSB3210 has an integrated 8052 Microcontroller.

    I have heard that the 8052 MCU's Port 0 is different from other ports 1,2 & 3.

     

    Below document mentions more about Port 0's functionality.

     

    http://syjx.whpu.edu.cn/data/uploadfile/20090602093017538.pdf

     

    "Port 0 differs in not having internal pullups. The pullup FET in the P0 output driver (see Figure 4) is used only

    when the Port is emitting 1s during external memory accesses. Otherwise the pullup FET is off. Consequent-

    ly P0 lines that are being used as output port lines are open drain. Writing a 1 to the bit latch leaves both

    output FETs off, so the pin floats. In that condition it can be used a high-impedance input"

     

    To confirm if this is the same for TUSB3210, I couldn't fine more authentic documentation in TI's webpage.

     

    Could you please let me know if you have any information about this.

     

    Best Regards.

    Paddu

  • Hello Paddu,

    Although the TUSB3210 has a 805x core, the I/O cells are TI design.

    All the GPIO ports of the TUSB3210 have the same functionality.

    Have you tried to remove the keyboard and perform a simple operation with Port0 ? Maybe a heart-bit with P0.0? (Heart-bit: toggle the pin's output and maybe drive a LED)

    Regards.