BRT Community

Please login or register.

Login with username, password and session length
Advanced search  

News:

Welcome to the Bridgetek Community!

Please read our Welcome Note

Technical Support enquires
please contact the team
@ Bridgetek Support

Please refer to our website for detailed information on all our products - Bridgetek - Bridging Technology

Pages: [1] 2

Author Topic: PowerTip PH800480T013-IHC12 with HY4635: touch problem  (Read 7427 times)

exatech

  • Newbie
  • *
  • Posts: 8
    • View Profile
PowerTip PH800480T013-IHC12 with HY4635: touch problem
« on: August 23, 2019, 04:06:35 PM »

Hi,
my board with BT815 is controlling a 7" PowerTip display that has a HY4635 capacitive touch controller. The display is OK, but the touch info is not.
I checked the I2C lines with an oscilloscope. The CTC issues an interrupt when touched, and the I2C lines show 1 byte with the address (0x38) and then halve a byte: after 4 clock pulses the clock remains low. Only when a new touch is made, the clock goes high again for the address byte.

Does anyone have experience with this CTC? Is it compatible with BT815?
thanks,
Henk
Logged

BRT Community

  • Administrator
  • Sr. Member
  • *****
  • Posts: 390
    • View Profile
Re: PowerTip PH800480T013-IHC12 with HY4635: touch problem
« Reply #1 on: August 26, 2019, 10:59:24 AM »

Hello,

The HY4635 is not listed as compatible with EVE, you will need to use Touch Host mode as describe in section 6.7 of the following:
https://brtchip.com/wp-content/uploads/Support/Documentation/Application_Notes/ICs/EVE/AN_336_FT8xx-Selecting-an-LCD-Display.pdf

I believe enabling touch host mode for the BT81x aligns with the procedure for the FT81x series of ICs, but I will double check with the development team.

Best Regards,
BRT Community
Logged

aryelevin

  • Newbie
  • *
  • Posts: 7
    • View Profile
Re: PowerTip PH800480T013-IHC12 with HY4635: touch problem
« Reply #2 on: December 18, 2019, 05:40:34 PM »

Hi,

I'm also trying to use this CTP IC (HY4635) and no luck.
The reason why I'm not using host mode is that HY461x series have the same API so it should work without any issue.

Please froward me to the right direction on how to solve it.

My EVE chip is FT813Q

Thanks a lot
Logged

BRT Community

  • Administrator
  • Sr. Member
  • *****
  • Posts: 390
    • View Profile
Re: PowerTip PH800480T013-IHC12 with HY4635: touch problem
« Reply #3 on: December 23, 2019, 03:34:33 PM »

Hello,

One possibility is that the HY4635 may require clock stretching on the I2C interface, if this is the case it may be possible to support this with the FT813. You would be able to determine if clock stretching is required via a logical analyser capture of the I2C data.

Best Regards,
BRT Community
Logged

aryelevin

  • Newbie
  • *
  • Posts: 7
    • View Profile
Re: PowerTip PH800480T013-IHC12 with HY4635: touch problem
« Reply #4 on: January 04, 2020, 09:59:03 PM »

Hi,

After obtaining a logic analyser, I got the lines data, attached on the image here.

Can you please inspect them to see what's going on? (I'm not completely understands this, shame on me haha).

Thanks a lot
Logged

aryelevin

  • Newbie
  • *
  • Posts: 7
    • View Profile
Re: PowerTip PH800480T013-IHC12 with HY4635: touch problem
« Reply #5 on: January 05, 2020, 07:31:56 PM »

Hi,

After testing it connected directly to the MCU I2C lines it seems on the signals that it needs clock stretching.
It works perfect with a much slower clock (about 4 times slower - probably 100KHz vs 400KHz which the FT813 probably uses).
See the attached image with a slower clock when connected to the MCU.

Please follow me to the right solution on how to slow down the clock for the CTP I2C.

Thanks a lot
Logged

Rudolph

  • Full Member
  • ***
  • Posts: 211
    • View Profile
Re: PowerTip PH800480T013-IHC12 with HY4635: touch problem
« Reply #6 on: January 06, 2020, 05:13:19 PM »

I2C clock stretching is something else, a way to pause the bus essentially, not reducing the base clock.
There does not seem to be a way to change the I2C clock speed directly.

But even then the HY4635 is a bit odd.
The registers are more or less compatible with the FT5x06 series and not at all with the HY461x.

Even with reduced clock the EVE still might not be able to use the HY4635.
There has to be a mechanism in place to identify the different supported chips and while the
touch registers for the HY4635 seem to be compatible with the FT5x06 at least, the chip-ID registers are not.

So unless Bridgetek supplies a patch like the one for FT6xx6 and Goodix for FT811/FT813, I am afraid that touch with the HY4635 will only work in touch host mode.
Logged

BRT Community

  • Administrator
  • Sr. Member
  • *****
  • Posts: 390
    • View Profile
Re: PowerTip PH800480T013-IHC12 with HY4635: touch problem
« Reply #7 on: January 07, 2020, 01:34:03 PM »

Hello,

Rudolph is correct in all of his assertions, the recommendation Is still to implement Touch Host mode for any touch controllers that are not listed as compatible.

We have previously provided the following work around for the HY4614 touch controller, but this is not guaranteed to work with the HY4635.

Code: [Select]
The following will change the FT81x I2C clock frequency:
 
-          Boot-up till read back REG_CHIPID=0x7c and REG_CPURESET=0
-          Write REG_CPURESET=2
-          Write RAM_JTBOOT + 0x1ac  (or 0x30b1ac)= 40  //change I2C freq to 57KHz
-          Write REG_CPURESET=0
 
The following edits were made within the “Gpu_Hal.c” file of 3 sample apps (APP_Graph, App_Gradient, App_Sketch) to implement and test these changes (see attached image)
 
Note: We found it necessary to add a 50ms delay before performing the register write to allow this to complete correctly.
 
You may notice that lines 1825-1829 have been commented out, this is to ensure that the application does not load any new touch configuration code (see AN_336 section 6.6.3).
Loading of new configuration code is only required for Goodix or Focaltech FT6xxx components, it is not required for Hycon or Focaltech FT5xxx parts.


Best Regards,
BRT Community
Logged

aryelevin

  • Newbie
  • *
  • Posts: 7
    • View Profile
Re: PowerTip PH800480T013-IHC12 with HY4635: touch problem
« Reply #8 on: January 07, 2020, 02:11:13 PM »

First of all, Thanks for everyone who's trying to help here, THANKS!  :-*

Now, to explain our situation:
We've already manufactured 100 PCBs (They're quite expensive duo to some components we use there) with the direct connection of CTP to EVE, and it was working great with our LCD module which used Goodix IC, but after increasing the outer glass thickness of our LCD Module for withstanding a vandalism of our product, we have to replace the IC to the HYCON one which supports this, so we now stuck.
In addition, a development round of handling the touch events on the MCU is quite a task for us now, and might delay our product launch, which we want to avoid of course.
So we need a solution to work around this issue.

Now to the point about the replies here:
1. It is definitely true that chip ID registers of the HY vs FT is not the same, BUT, It doesn't seems that EVE checks any registers about the chip ID, so this should be fine.
2. Thanks for the clarification about the clock stretching, but it seems that it don't needs clock stretching when running at about 100KHz (you can see the logics in my posts above), so this should be even better at 57KHz (fast enough for Touch input).
3. From my understanding the all HY families is compatible since their demo code links is directing to the same files, so I assume it should just the same, isn't?

Later today I will be on the office and will try the patch BRT supplied here, and will report back.

Again, I want to thank you all about your assistance.
Logged

Rudolph

  • Full Member
  • ***
  • Posts: 211
    • View Profile
Re: PowerTip PH800480T013-IHC12 with HY4635: touch problem
« Reply #9 on: January 07, 2020, 04:46:35 PM »

We have previously provided the following work around for the HY4614 touch controller, but this is not guaranteed to work with the HY4635.

Very interesting. :-)

As this directly patches the touch controllers memory like the Goodix patch does, this will only work with FT811/FT813?
So it will not work with a patched FT813 or a BT815/BT817?

Not to ask what offset to use in these case, but to prevent someone else from trying. :-)
« Last Edit: January 09, 2020, 11:38:39 AM by Rudolph »
Logged

aryelevin

  • Newbie
  • *
  • Posts: 7
    • View Profile
Re: PowerTip PH800480T013-IHC12 with HY4635: touch problem
« Reply #10 on: January 07, 2020, 07:09:42 PM »

OK, so after applying this Hot-fix it just works.
I have to check it further about the responsiveness and few more characteristics to mark this as completely solved, but for now it seems just fine.

Tomorrow I will take care for the further testing.

Will report to you here.

Anyway, a great advance, so thanks for everyone.

BTW, there is a way to configure it to be around 100KHz instead 57KHz?

Warm regards
Logged

BRT Community

  • Administrator
  • Sr. Member
  • *****
  • Posts: 390
    • View Profile
Re: PowerTip PH800480T013-IHC12 with HY4635: touch problem
« Reply #11 on: January 08, 2020, 01:52:18 PM »

Hello,

When testing this we tried several different values for the clock speed and found that "Gpu_Hal_Wr8(phost, 0x30b1ac, 40);" to be the most suitable. Writing this to 20 would result in a I2C clock of 98Khz.

Best Regards,
BRT Community
« Last Edit: January 08, 2020, 02:03:16 PM by BRT Community »
Logged

BRT Community

  • Administrator
  • Sr. Member
  • *****
  • Posts: 390
    • View Profile
Re: PowerTip PH800480T013-IHC12 with HY4635: touch problem
« Reply #12 on: January 08, 2020, 02:02:51 PM »

We have previously provided the following work around for the HY4614 touch controller, but this is not guaranteed to work with the HY4635.

Very interesting. :-)

As this directly patches the touch controllers memory like the Goodix patch does, this will only work with FT811/FT813?
So it will no work with a patched FT813 or a BT815/BT817?

Not to ask what offset to use in these case, but to prevent someone else from trying. :-)

This write changes EVEs I2C clock, the reconfiguration does not have impact to other parts of FT81x. It only affects the I2C clock frequency for CTP communication.

If the AN_336 configuration code is downloaded to the FT811/FT813, then the following code shall be used to change the I2C clock:
Code: [Select]
Gpu_Hal_Wr8(host, REG_CPURESET, 2);
Gpu_Hal_Wr8(host, 0x30b17c, 40);
Gpu_Hal_Wr8(host, REG_CPURESET, 0);

I would need to clarify regarding the BT815/6.

Best Regards,
BRT Community
Logged

Rudolph

  • Full Member
  • ***
  • Posts: 211
    • View Profile
Re: PowerTip PH800480T013-IHC12 with HY4635: touch problem
« Reply #13 on: January 08, 2020, 03:31:47 PM »

This is not what I asked, but thanks. :)
So if the offset for the AN_336 version is 0x17c then the default value would be 0xb8 for 400kHz?

Do not mind me, I just like the "puzzle". :-)

Logged

aryelevin

  • Newbie
  • *
  • Posts: 7
    • View Profile
Re: PowerTip PH800480T013-IHC12 with HY4635: touch problem
« Reply #14 on: January 08, 2020, 05:47:44 PM »

OK, Thank you all for this.
If I load the AN_336 configuration code, then it doesn't works at all even after changing the 0x30b17c register to 40, probably because it tries to identify the IC ID/Vendor, and it fails duo to that its HYCON and not FocalTech, so its not working.

If there is any way to avoid the ID checking stuff (or other solution), I will be very happy to try it.

Thanks a lot again
Logged
Pages: [1] 2