Touch-Auswertung mit ATtiny1634?

LotadaC

Sehr aktives Mitglied
22. Jan. 2009
3.547
70
48
Marwitz
Sprachen
  1. BascomAVR
  2. Assembler
Hallo,

es gibt ja die Möglichkeit, Kapazitätsveränderungen einer Sensorfläche durch Annäherung (eines geerdeten Körpers) zu detektieren. Wie das in etwa programmiert werden kann, ist mir im Ansatz klar. Meine eigentliche Frage zielt aber diesbezüglich auf den ATtiny1634 ab. Dort habe ich nämlich gefunden:
  • ACSRB - Analog Comparator Control and Status Register B
    • ACLP
    • ACCE
    • ACIRS1
    • ACIRS0
  • ADCSRB - ADC Control and Status Register B
    • VDEN
    • VDPD
  • ADMUX - ADC Multiplexer Selection Register
    • REFEN
    • ADC0EN
  • QTCSR - QTouch Control and Status Register
  • SNS - (alternative Funktion von Bein A3, dort soll dann ein CS angeschlossen werden)
  • Flash-Adresse 0x0036 - ist der Interrupt-Einsprungpunkt "QTRIP"
Die Bits und das QTCSR sind im Datenblatt nicht näher erläutert ("This Bit is reserved for QTouch"), auf die alternative Port-Funktion und die IVT-Adresse wird nicht näher eingegangen. Bei einigen kann man vielleicht vermuten was sie bedeuten, aber was die konkret bewirken...

So wie das für mich aussieht, unterstützt der Tiny in Hardware die Auswertung entsprechender Sensorflächen, die Frage ist nur, wie man das unter Assembler nutzen kann.

Es scheint ja diese QTouch-Bibliothek zu geben, hat sich damit schon mal jemand auseinandergesetzt?
(Ich will nicht irgend'ne Bibliothek einbinden (falls die überhaupt in ASM verfügbar ist) - ich will ja jede Codezeile verstehen)
 
SNS (A3) ist der ADC0-Pin, paßt also irgendwie zu ADC0EN.
REFEN im ADMUX kling auch danach, als wenn die Voltage Referenz (?) irgendwie für irgendwas aufgeschaltet wird.
Ich vermute weiter, daß der Interrupt irgendwie mit den ACIRS-Bits eingestellt wird.

Die Bits sind wie gesagt laut Datenblatt für (das nicht näher erläuterte) QTouch reserviert, beim Zugriff auf andere Bits dieser Register sollen die QTouch-Bits mit 0 beschrieben werden. Wenn also eine eingebundene QTouch-Lib da irgendwelche Einstellungen vornimmt, würde eine spätere Zuweisung auf diese Register das ganze überschreiben - folglich muß der Schreibzugriff auf diese Bits zusätzlich geschützt sein. Entweder über das CPU Change Protection Register (CCP) oder über eine irgendwie geartete Konstellation und/oder Schreibreihenfolge der betroffenen Bits selbst.

Bis auf die fehlende explizite Erwähnung einer alternativen Funktion als SNS-Pin findet sich dasselbe im Tiny20 und im Tiny40.

Es wurmt mich, wenn da ein Hardware-Modul integriert (und irgendwie mit AC und/oder ADC verbunden) ist, dessen Funktion/Bedienung nicht verständlich wird.
 
Sooo...

hab mich mal tapfer durch diesen komischen "technical support" bei ATMEL gekämpft (keine Ahnung, was die gegen konventionelle eMails haben):
Created By: Vinod PV (4/20/2015 1:03 AM) [Recipients: xxxxxxx]

Hi xxxxxxx,

QTouch hardware acquisition module was planned to add during the development of these devices. But it is not part of the current ATtiny20 or ATtiny40 or ATtiny1634 device. So it is a documentation bug that talks about QTouch hardware module in the datasheet.

SAMDXX is the device which comes with PTC (Peripheral Touch Controller) module. This PTC hardware module does touch measurements without CPU intervention. Please refer PTC User Guide for more details about SAMD touch solution. PTC User Guide available in the link: http://www.atmel.com/Images/Atmel-4...ry-Peripheral-Touch-Controller_User-Guide.pdf

Best regards Vinod PV
Warum sich dieser "Dokumentationsfehler" bis in die aktuelle E-Version des Datenblattes halten konnte, obwohl bereits bei der Planung des Controllers gegen die integration des Modules entschieden wurde, ist mir ... ähm ... schleierhaft.

Aus meiner Sicht hat der Tiny20 damit für uns Hobbyisten keine Besonderheiten zu bieten - der Tiny441/841 bleibt in allen Disziplinen unangefochtener Nonplusultra-14-Bein-Tiny ;)
(bis auf die Strombelastbarkeit eventuell)
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)