Gast
#3459330
Hallo Gemeinde, wie im Betreff schon betrieben, habe ich ein Problem, welches mich fast in den Wahnsinn treibt und mich mittlerweile einen ganzen Tag gekostet hat. Ich betreibe den oben genannten QTOUCH controller im COMMS Mode, also I2C. Alle Signale sind korrekt verbunden und die beiden Signale SDA,SCL mit je 2.7K gegen VDD (3.3V in meiner Applikation) terminiert. Das Reset Signal liegt ebenfalls mit einem PullUp von 10K gegen VDD. Nach dem Reset meiner MCU wird der Reset des AT42 für ca. 200ms auf 0 gezogen und dann wieder freigegeben. Das I2C interface wird hier wie im Datenblatt beschrieben mit 400KHz betrieben (bei mir 350KHz). Meine Softwareroutine (Software I2C) hat seither bei allen anderen IC Komponenten wie IO Expander, EEPROM, etc. einwandfrei und ohne Fehler funktioniert. Bei Atmels AT42QT1070 funktionierte es nur sporatisch. Dabei lese ich aus dem Controller die ersten 32 Bytes des internen Daten RAM aus und das in einem Intervall von 1 Sekunde. Nach dem Reset funktionierte das die ersten beiden mal, danach kam bei der Bestätigung über ACK vom AT42 bei der Slave Adresse ein NACK und darauf hin permanent, dass der BUS SDA,SCL vom AT42 nicht freigeben wurde. Nun habe ich die Taktfrequenz auf ca. 100KHz verringert und siehe da, kein Fehler mehr. Kann es sein, dass der Atmel QTouch Controller nicht mit den 400KHz zurecht kommt. Hat hier schon jemand ähnliche Erfahrungen gemacht ?