banner left Boxtec Banner
Platzhalter BoxtecProdukteForumShopKontaktPlaygroundn/aJobs
 

This is an old revision of the document!


Teensy 3.1

Einführung

Teensy 3.1 ist ein Arduino IDE kompatibles Entwicklungsboard von PJRC. Das Teensy 3.1 Board ist eine Weiterentwicklung des Teensy 3.0, die grössten Unterschiede sind mehr Speicher, ein CAN Bus Interface, alle digitalen Pins sind 5V tolerant und ein DAC Ausgang.

Bildquelle: Teensy 3.1 by SparkFun Electronics is licensed under CC BY 2.0

Ein Kopf hinter PJRC ist Paul Stoffregen, er ist massgeblich für die Hardware und Software Entwicklung des Teensy 3.1 verantwortlich. Paul ist nicht Teil des Arduino Teams, besitzt aber dennoch einen Entwickler Zugang zur Arduino Repository und hat schon verschiedene Verbesserungen beigetragen. Entsprechend gut kennt er sich mit den Internas der Arduino Software aus.

Hardware

Das Teensy 3.1 Board basiert auf dem Cortex M4 Prozessor MK20DX256VLH7 von Freescale (Datenblatt). Folgende Funktionen bietet der Mikroprozessor auf dem Teensy 3.1 Board:

  • Core: ARM Cortex-M4
  • Frequenz: max. 72 MHz (direkt in der Arduino IDE auf 96 MHz übertaktbar, mit zusätzlichen Änderungen auf bis zu 168 MHz)
  • RAM: 64 KB
  • Interner Flash: 256 KB
  • EEPROM: 2KB
  • PWM Kanäle: 12
  • 34 (digitale) Pins mit verschiedenen Funktionen und zusätzlich 4 analoge Eingänge
  • Serielle Schnittstellen: 3 + USB
  • SPI und I2C Schnittstelle
  • I2S Schnittstelle
  • Touch Sensing Interface
  • integrierter Spannungsregler (3.3V / 120mA)
  • integrierte Echtzeituhr (RTC)
  • einen DAC Ausgang mit einer Auflösung von 12 Bit
  • integrierte PGA: 2
  • eine CAN Bus Schnittstelle

Zusätzlich ist noch ein MINI54 von NuMicro verbaut, das ist ein Mi­k­ro­con­t­rol­ler mit einem ARM Cortex M0 Kern. (Datenblatt) In diesem ist der Bootloader gespeichert. Der MINI54 kann nicht über die Arduino IDE gesteuert oder programmiert werden.

Schema

Pinbelegung

5V tolerante Eingänge

Alle digitale Pins des Teensy 3.1 Boards sind 5V tolerant. Das heisst, auch wenn die Speisung nur 3.3V beträgt, dürfen Signale mit bis zu 5V an den entsprechenden Pins angeschlossen werden. Als nicht digitale Pin gelten die folgenden Pins und dürfen daher mit maximal 3.3V verbunden werden: Program, Reset, VBat, A10, A11, A12, A13, A14 und AREF. (An 3.3V, GND und AGND dürfen auch keine 5V Signale angeschlossen werden). Alle anderen Pins sind 5V tolerant.

Farbe des Lötstopplacks

Die ersten Chargen des Teensy 3.1 wurden mit schwarzem Lötstopplack ausgeliefert. Aus Qualitätsgründen wird seit einiger Zeit nur noch grüner Lötstopplack verwendet. Zusätzlich ist von einem anderen Anbieter das Board mit violettem Lötstopplack erhältlich.

Unterschied Reset und Program

Das Teensy 3.1 Board besitzt einen Reset und einen Program Eingang. Durch das Verbinden des Reset Eingangs mit 0V, wird ein Reset durchgeführt. Wird an den Program Eingang 0V angelegt, wird das Teensy 3.1 Board in den Programmier-Modus versetzt. Der kleine Taster auf dem Board ist mit dem Program Eingang verbunden. Der Reset Eingang ist nicht mehr wie beim Teensy 3.0 direkt an einen Pin der Pinleiste geführt, sondern ist nun auf der Unterseite als Testpunkt platziert.

Der digitale Pin 33

Der digitale Pin 33 darf während dem Aufstarten nicht mit 0V/GND verbunden sein. Als einfache Regel gilt, den Pin 33 nicht zu verwenden. Wenn der Pin 33 während dem Aufstarten mit GND verbunden ist, wird eine interne Debug Funktion des Mi­k­ro­con­t­rol­lers aktiviert, die das Ausführen des normalen Programmablaufs verhindert.

Echtzeituhr (RTC) aktivieren

Um die integrierte RTC verwenden zu können, muss ein zusätzlicher Quartz eingelötet werden.

Die Spezifikation:

  • Frequenz: 32.768 kHz
  • Kapazität: 12.5 pF
  • radiale Bauform mit einer Länge von max 6 mm

Passend ist zum Beispiel der CFS206-32.768KDZF-UB von Citizen. Bezugsquelle: Mouser Digikey

Auf der unteren Seite des Teensy 3.1 Boards kann der Quarz eingelötet werden. Die Position ist markiert.

Eine Beispielanwendung ist unter Beispiele/Time/TimeTeensy3 in der Arduino IDE abrufbar. Zusätzlich existiert noch der Befehl

Teensy3Clock.compensate(num);

Mit der Funktion compensate(num) kann die RTC kalibriert werden, falls sie zu schnell oder langsam läuft. Mit einer positiven Zahl wird die Uhr beschleunigt, mit einer negativen Zahl verlangsamt. Der Wert ist in ppm / 8 (parts per million). Mit compensate(-40) wird die Geschwindigkeit der Uhr um 5ppm verlangsamt.

Damit die RTC bei einem Speisungsunterbruch die aktuelle Zeit nicht vergisst, kann eine zusätzliche Backup Batterie angeschlossen werden. Dazu kann eine 3V Knopfzelle verwendet werden, angeschlossen an den VBat Eingang, verhindert sie das stehen bleiben der internen Uhr.

Eagle PCB Library

Eine Eagle Library mit verschiedenen Teensy 3.1 Footprints kann hier (bitbucket.org) heruntergeladen werden.

Software

Das Teensy 3.1 Board kann mit Hilfe der Teensyduino Erweiterung in der normalen Arduino IDE programmiert werden. Dazu muss zuerst die Arduino IDE von Arduino.cc heruntergeladen und installiert werden. Danach wird die Teensyduino Erweiterung heruntergeladen und installiert. In der Arduino IDE kann unter Tools/Board Teensy 3.1 ausgewählt werden. Wird nun Programmcode auf das Teensy 3.1 Board übertragen, öffnet sich automatisch der Teensyduino Loader und erklärt den nächsten Schritt.

Bibliotheken

Die Teensyduino Erweiterung bringt viele zusätzliche Bibliotheken mit, die während der Installation mitinstalliert werden könne. Ob eine Bibliothek mit dem Teensy 3.1 Board kompatibel ist, kann auf dieser Seite nachgeschaut werden.

Ressourcen

 
arm/teensy_3.1.1486675054.txt.gz · Last modified: 2017/02/09 22:17 by thewknd
 
 

zum Seitenanfang

Letzte Aktualisierung: © boxtec internet appliances · the better security products