XMEGA A4U Breakout-Board mit OLED

Xmega A4U Breakout-BoardZwischenzeitlich habe ich mal wieder eine kleine Platine entwickelt um kleinere Basteleien mit dem XMEGA A4U und einem OLED-Display zu machen.

Der XMEGA32A4U besitzt ein USB-Interface wodurch sich ohne zusätzliche Komponenten eine USB-Anbindung an den PC realisieren lässt. Hierzu gehören z.B. HID-Devices (Mouse, Joystick, Tastatur) oder Virtueller COM-Port über CDC.

Da die Platine bei IteadStudio max. 5x5cm groß sein darf, habe ich den restlichen Platz dafür genutzt ein OLED mit ein paar Tastern unterzubringen. Die Platine kann an der aufgedrucktem Linie in zwei einzelne Platinen zertrennt werden, wodurch man ein XMEGA und ein OLED Breakout-Board erhält. Der Schaltplan und weitere Infos gibts nach dem Jump…

Das XMEGA Breakout-Board lässt sich über USB oder über eine externe Spannungsquelle versorgen. Dies kann über den Jumper JP3 ausgewählt werden. Alle Pins des XMEGAs (bis auf PB0 und PB1) sind auf die Stiftleisten JP1 und JP2 geführt, an PB0 und PB1 ist jeweils eine LED angeschlossen um optische Rückmeldungen zu realisieren.

Als USB-Connector habe ich mich für USB Micro-B entschieden, da dies inzwischen der gängigste Steckverbinder ist. Hierdurch können auch die kleinen Handy-Ladegeräte zur Spannungsversorgung verwendet werden.

Wie bereits zu Beginn erwähnt, habe ich den OLED-Teil der Platine eigentlich nur auf die die Platine gemacht um die 5x5cm, die ich ohne extra Kosten bekomme, auszunutzen. Das OLED besitzt einen SSD1306 Controller, welcher einen integrierten DC-Step Up Regler besitzt. Es gibt diese Displays auch mit SSD1305 Controller, jedoch muss hier eine höhere Spannung für das OLED bereitgestellt werden. Bei diesem Display wird nur eine 3.3V Spannung benötigt.

Aufgrund der kompakten Bauweise blieb es natürlich nicht aus einige Bauteile auf der Unterseite zu positionieren. Dort befindet sich der Spannungsregler, der optionale Quarz sowie ein paar Lötbrücken um den OLED-Interface-Modus einzustellen.
Das Display kann im SPI mit wahlweise 3 oder 4 Pins oder im I²C-Mode betrieben werden. Die parallelen Modi wie 8080 und 6800 habe ich nicht vorgesehen, da dies heutzutage eher unüblich ist “unnütz” Pins zu verschwenden, zumal der SPI-Takt bis zu 10 MHz betragen kann.

Als Hilfestellung für das Zertrennen befindet sich auf der Oberseite der Platine eine Hilfslinie. Durch das relativ dünne Platinenmaterial von 1.0mm, reicht ein Anritzen der Platine mit einem Cutter-Messer, anschließend lässt sich die Platine einfach an der Linie zerbrechen.

Bis auf den Xmega, welcher im VQFN44-Gehäuse vorliegt, kann der Rest der Bauteile (R und C in 0603) mit einem einfachen Lötkolben bestückt werden. Den Xmega selbst löte ich mit einer Heißluft-Lötstation. Da ich die Pads jedoch recht lang gemacht habe könnte man ihn auch mit einem Lötkolben und etwas Geschick “normal” löten.

 

Das Display ist im Verbundenen Zustand an PortD (PD1, PD3) sowie PortC PC5…PC7 (Steuerleitungen) angeschlossen. Der PortD hat dort ein USART Interface, welches sich ebenfalls im SPI-Mode betreiben lässt. Dadurch hat man den geringsten Software-Aufwand und maximale Geschwindigkeit für das SPI-Interface.

Der Schaltplan gestaltet sich recht einfach, da prinzipiell nur die Pins auf die Stiftleisten geführt sind.

Dieser Beitrag wurde unter Projekte veröffentlicht. Setze ein Lesezeichen auf den Permalink.

2 Antworten auf XMEGA A4U Breakout-Board mit OLED

  1. Manfred Helzle sagt:

    Hallo FX
    Kannst Du mir den Code für die USB Schnittstelle zur Verfügung stellen
    Arbeite mit ATxmega256A3BU
    Vielen Dank im Voraus
    Manfred

    • MasterFX sagt:

      Hallo Manfred,

      für die Kommunikation über USB ist es am einfachsten das CDC-Beispiel aus der ASF zu verwenden. ASF=> ASF-Wizard => USB Device => USB Device CDC (alles direkt über Atmel Studio)

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>