• 0
RisinT96

[Solved] FMC-HMI Touch display operating voltages

Question

Hello,

I'm planning on starting a project that involves working with the Zedboard and digitizer found on the FMC-HMI board, but I'm unable to find information on the operating voltages of the 4 wire protocol.

Any help would be really appreciated.

Thanks,

Tal.

Edited by RisinT96

Share this post


Link to post
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Hi @RisinT96,

I do not have experience with the operating voltages of the 4 wire protocol. I have added links to the resources we have available on the wiki.  Here is the resource page. Here is the reference manual. Here is the schematic. Also Aptina was purchased by On Semiconductor if you were wanting information about the part mt9d112d00stc on the FMC-HMI. I will reach out to our layout engineer and see if they might have some input for you as well.

cheers,

Jon

Share this post


Link to post
Share on other sites
  • 0
On 4/6/2017 at 11:50 PM, jpeyron said:

Hi @RisinT96,

I do not have experience with the operating voltages of the 4 wire protocol. I have added links to the resources we have available on the wiki.  Here is the resource page. Here is the reference manual. Here is the schematic. Also Aptina was purchased by On Semiconductor if you were wanting information about the part mt9d112d00stc on the FMC-HMI. I will reach out to our layout engineer and see if they might have some input for you as well.

cheers,

Jon

Hi Jon,

Thank you for your answer, but I am not interested in the mt9d112d00stc CMOS sensor driver.
My point of interest is the Touch screen digitizer, from studying the schematics I have found the following connections (in attached image).

Am I correct to assume that the 37,38,39,40 pins are connected to the touch screen digitizer?
Also, the YS-,YS+,XS-,XS+ wires are leading to the 
ADG709CRUZ chip, while the YPD-,YPD+,XPD-,XPD+ wires lead to the AD7873ARUZ chip (which is not loaded by default).

Furthermore the YD-,YD+,XD-,XD+ wires lead to the external 2x10 I/O which I plan to use to control/read from the touch screen.
Any input on the matter and purpose of the two aforementioned chips would be greatly appreciated.

Thanks a lot!

Tal.

Capture.PNG

Share this post


Link to post
Share on other sites
  • 0

Hi @RisinT96,

You are correct with your assumptions of how the schematic is wired. Also Here is the pdf for the TM050RBH01 which is the LED TFT.  Here and here are the pdf's for the ADG709CRUZ chip and AD7873ARUZ chip. I have reached out to the engineer that designed the FMC-HMI to see if they had any more input they could give you about the purpose and matter for the two chips DG709CRUZ and the AD7873ARUZ.

cheers,

Jon

Share this post


Link to post
Share on other sites
  • 0

Hi @RisinT96,

As you observed, the AD7873ARUZ is not loaded on the FMC-HMI.

Section 1.5 of the reference manual states:

"The AMS header is there to provide support for the XADC feature of seven-series system boards. Operators can use the AMS header signals to bias the touch panel by selecting the analog MUX inputs and carrying the differential analog signal to the FPGA pins for measurement."

You can learn about 4-wire resistive touch screens here:

https://www.sparkfun.com/datasheets/LCD/HOW DOES IT WORK.pdf

http://www.ti.com/lit/an/slaa384a/slaa384a.pdf

The idea is to use [X|Y]D[+|-] (drive) pins in the AMS header to bias two electrodes and use the ADG709CRUZ analog multiplexer to switch the [X|Y]S[+|-] (sense) lines to VP/VN pins of the AMS header.

The drive pins in the AMS header are digital and are expected to be controlled from a 3.3V FPGA bank. Just output '1' and '0' conform the biasing scheme. The sense lines that need to be measured can be selected with A0 and A1, which are also in the AMS header. Finally, VP/VN is the dedicated input to the XADC primitive that needs to be used to digitize the measurement. The coordinate can be calculated from there.

Share this post


Link to post
Share on other sites
  • 0

Hello,

Thanks a lot for your help on the matter, my project is now progressing along nicely.

Although I have one concern, with which I'd like your help again.

When powering up the FMC-HMI, and connecting it partially (Only the X/Y+/- and A0 A1 pins) to the zedboard, I apply 0 to both A1 and A0, in this case the analogue mux (ADG709CRUZ) should output YS+ and XS- to VP and VN respectively.

After that I put XD+,XD-,YD+,YD- into a High-Z state, then I measure the voltage between VP/VN using a multimeter, I get a negative voltage of -1.16V

When applying 2.5V (increasing it to 3.3V will also force other outputs on the same FPGA bank to be 3.3v, which could damage some other components they're connected to) between XD+/- and High-Z to YD+/-, I get a negative voltage of -532mV until the display is pressed (which is when the voltage jumps to the expected positive 0 to 0.85V).

A similar phenomena occurs when I apply (2.5,Z,1,0) to (YD+/-,XD+/-,A1,A0) respectively. (getting +83mV until the display is pressed, but this isn't as critical).

 

The phenomena of getting negative voltages from the MUX while it should be 0 is very worrying me, I'm reluctant to connect the VP/VN pins on the FMC-HMI to the pins on the Zedboard in fear of damaging the ADC due to the relatively high negative voltage (since the ADC is rated for 0V to +1V or -0.5V to 0.5V).

I tried simulating the pre-ADC filter on the Zedboard using two resistors and a capacitor, but it netted no results.

 

Am I doing something wrong or is the mux perhaps damaged?

Also do you know if the negative voltage can damage the Zedboard?


Thank you very much,

Tal Risin

Share this post


Link to post
Share on other sites
  • 0

Just to be clear, you are digitally driving '1' to XD+ and '0' to XD-, resulting in a drive of 2.5V. The rest should be HiZ. Just for the kick of it, using a voltmeter measure between XS+ and XS-. This is the voltage across the X panel put in series between the 1K and 150ohm resistors on-board forming a resistive divider. This is independent of touch and is caused by the characteristic resistance of the panel. To measure actual touch coordinate, you need to measure between YS+ and XS-. XS- is a point in the resistive divider, close to 0V and YS+ is floating, if there is no touch. If there is touch, YS+ is too inserted in this resistive divider and you should measure a voltage that is between 0V and 1V.

Measuring floating inputs should not result in stable negative measurements. Read http://www.ti.com/lit/an/slaa384a/slaa384a.pdf again and draw a schematic for better understanding.

Share this post


Link to post
Share on other sites
  • 0

Hi,

 

That is exactly what I did:

Apply 2.5V to XD+ and 0 to XD-.

YD+ and YD- are HiZ

When measuring the voltage between XPD+ and XPD- with a multimeter I'm getting roughly 0.85V (as expected: 2.5*850/(1000+850(display)+500+buffers_R))

Apply 0 to both A0 and A1.

Now VP/VN should be the voltage between YS+ and XS-, right? right.

Remove J1 jumper to measure at the source, measure YPD+ to XPD-, got 0, connect back the jumper.

Now (YPD+) = (YS+)~VP and (XPD-)=(XS-)~VN.

Measure VP/VN with a voltmeter, should be getting 0, actually getting roughly -0.5V.

 

Then touch display, VP/VN measurement jumps to positive 0 up to 0.85 depending on the X coordinate of where I touch, as expected.

 

Why am I getting negative voltages from the mux, when the output should be 0?

Why am I getting -1.2V from the mux when I also set XD-,XD+,YD-,YD+ to 0? 

 

Thank you,

Tal Risin

 

Edit: when applying (0,1) to (A1,A0) (XS+ goes to VP and XS- goes to VN) I'm getting a stable readout of ~0.8V on VP/VN, again as expected.

 

The negative voltage appears only when the mux inputs are floating.

Edited by RisinT96

Share this post


Link to post
Share on other sites
  • 0

Update:

I've managed to get it working properly, measured the VP/VN output voltages using a proper oscilloscope and just got some noise, it may have thrown off the multimeter causing it to display a negative voltage.

Then I connected the FMC-HMI board to the zedbaord using the original ribbon cable and everything seems to work OK, the ADC even gives linear proper readouts for the voltage/touch point.

 

Thanks your your help, and sorry if I may have come off somewhat rude in my previous reply.

 

Tal Risin

Share this post


Link to post
Share on other sites
  • 0

Jumpers J1 should be left on all the time. If the DA/DB pins of the mux show a different voltage than the A-dependent SxA/SxB pins, the mux is broken and you can try claiming warranty. If the mux works fine and the XADC measures a negative differential voltage with floating inputs, but none of the pins is negative w.r.t. GND, it is working as expected. You can avoid floating inputs by doing a touch presence measurement first.

Glad you got it working.

Edited by elodg

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now