Forum: Mikrocontroller und Digitale Elektronik FT5306 I2C-Adress?


von Denis (Gast)


Lesenswert?

Hallo,

ich habe mir ein Display mit dem FT5306 Capacitive touch panel 
Controller zugelegt und will diesen nun mit einem AT32UC3A3256 auslesen.

Leider scheitere ich bereits bei der Adressierung des Chips da im 
Datenblatt kein Wort über dessen I2C Adresse steht.

Es handelt sich um das 5" TFT Display von Newhaven Display:
http://www.newhavendisplay.com/redirect.html?goto=www.newhavendisplay.com%2Fspecs%2FNHD-5.0-800480TF-ATXI-CTP.pdf&action=url

Das Datenblatt vom FT5306:
http://www.newhavendisplay.com/app_notes/FT5x06.pdf


Bei einer Recherche bin ich auf ein weiteres Datenblatt gestoßen:
http://www.displayfuture.com/Display/datasheet/controller/FT5x06.pdf

In diesem werden die 6 Adress-Bits wie folgt beschrieben:
Slave address
A[6:4]: 3’b011
A[3:0]: data bits are identical to those of I2CCON[7:4] register

Ironischerweise besitzt der Chip leider kein I2CCON Register.


Hat hier vielleicht schon mal mit diesem Chip gearbeitet oder sieht was 
ich übersehe?

Gruß Denis

von Sven B. (scummos)


Lesenswert?

Hallo!

Die Adresse findet man leicht raus, wenn man einfach alle durchprobiert 
(Schleife). Sind ja nur 127 Möglichkeiten und es kommt sofort ein Fehler 
wenn auf der Adresse kein Client ist. Es gibt auch Tools die das tun, 
zum Beispiel listet i2cdetect -y 0 alle am i2c-Bus #0 angeschlossenen 
Clients auf.

Grüße,
Sven

von Denis (Gast)


Lesenswert?

Hallo

durch genanntes "Durchprobieren" bin ich nun auf die Adresse gekommen.

Sollte hier noch jemand in den Genuss des FT5306 kommen, die Adresse war 
bei mir: 56 = 0x38 = 0b111000 und hat somit nichts mit der Beschreibung 
im Datenblatt gemeinsam...

Gruß Denis

von Simon B. (nomis)


Lesenswert?

Denis schrieb:
> Sollte hier noch jemand in den Genuss des FT5306 kommen, die Adresse war
> bei mir: 56 = 0x38 = 0b111000 und hat somit nichts mit der Beschreibung
> im Datenblatt gemeinsam...

Achtung, die ft5x06-Familie hat einen generischen CPU-Core für den 
Focaltech jeweils Kundenspezifisch Firmware entwickelt (je nach 
angehängtem Glas). Ich habe mit denen für die "Polytouch"-Familie von 
EDT gearbeitet und kann nur sagen, dass die Touches von 
unterschiedlichen Herstellern sich sehr unterschiedlich verhalten, auch 
wenn sie alle auf FT5x06 basieren.

Ich denke es gibt irgendeine Möglichkeit, in einen "Focaltech"-Modus zu 
kommen, eventuell wenn der WAKE-Pin beim Power on nicht auf High steht. 
Ich habe dann bei mir beobachtet, dass der unter einer anderen 
I2C-Adresse auftaucht.

Allerdings habe ich keine sinnvolle Dokumentation zu diesem Modus. Ich 
vermute, dass sich da die Kundenspezifische Firmware aktualisieren 
lässt, aber wie weiß ich nicht. Ich habe immer nur mit den Datenblättern 
von EDT gearbeitet - und da steht das nicht drin.

Auch die EDT touchscreens erscheinen im Normalbetrieb auf 0x38. Ich 
tippe, dass I2CCONN sich auf ein Register im "Focaltech"-Betrieb bezieht 
und durch die kundenspezifische Firmware gesetzt wird, dann aber durch 
die kundenspezifische Firmware nicht nach außen exportiert wird.

Viele Grüße,
        Simon

von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Lesenswert?

Hallo

Ich arbeite auch gerade mit einem 4.3" Touch Display von EDT und hab 
momentan so meine Probleme mit dem Touchcontroller FT5306. Im Datenblatt 
des Displays steht leider nicht wirklich was wie man an die Werte des 
Touchcontrollers kommt. Und das allgemeine Datenblatt zum FT5x06 
Controller von Focaltech ist da auch nicht weiter hilfreich, da es sich 
ja anscheinend um einen generischen Controller handelt, der die Touch 
Auswertung in Software macht.

Deshalb hier mal die Frage... hat jemand ein Datenblatt zum I2C 
Protokoll das da verwendet wird?? Was muss ich an den Touchcontroller 
schicken damit er die Daten zu dem Touch Event ausspuckt?

Danke schonmal,
Andreas

von Simon B. (nomis)


Lesenswert?

Andreas Auer schrieb:
> Deshalb hier mal die Frage... hat jemand ein Datenblatt zum I2C
> Protokoll das da verwendet wird?? Was muss ich an den Touchcontroller
> schicken damit er die Daten zu dem Touch Event ausspuckt?

Ich verweise hier mal auf meinen Treiber im Mainline-Kernel: 
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/input/touchscreen/edt-ft5x06.c

Ich habe ggf. auch ein Patchset was ich mal für Glyn (als Distributor 
von den Polytouch'es) entwickelt habe, das kann ich gerne auf Anfrage 
zur Verfügung stellen, da sind dann auch Anpassungen für ältere Kernel 
drin.

Von Glyn gibt es auch eine "Polytouch"-Application-Note, die geben die 
meines Wissens auf Anfrage auch raus.

Viele Grüße,
        Simon

von nec4b (Gast)


Lesenswert?

The address is 0x70 but because it needs to be shifted (Address + R/W 
bit = 8 bits) before it is sent over I2C it becomes 0x38 (0x70 >> 1).

von Simon B. (nomis)


Lesenswert?

nec4b schrieb:
> The address is 0x70 but because it needs to be shifted (Address + R/W
> bit = 8 bits) before it is sent over I2C it becomes 0x38 (0x70 >> 1).

Within the Linux Kernel the i2c address always is specified as a 7 bit 
address, the value to use within e.g. the board file is 0x38.

Bye,
        Simon

von Dambe D. (dambe3612)


Lesenswert?

Hi,

im Moment arbeite ich mit dem NHD-4.3-480272EF-ATXL#-CTP von New Haven, 
welches einen FT5x06 Touchcontroller hat.

http://www.newhavendisplay.com/specs/NHD-4.3-480272EF-ATXL-CTP.pdf

Auf Seite 14 des Datenblatts (siehe Link) ist ein I2C-Code Sample 
angegeben. Hier ist die Slave-Adresse schon geshiftet als 0x70 
angegeben, so wie es auch nec4b geschrieben hat.

Hat mich aber auch Zeit gekostet bis ich das bemerkt habe ...
Aber da zeigt sich wieder, gründliches Lesen hilft :)

LG Dambe

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.