mikrocontroller.net

Forum: Projekte & Code WS2812B mit SAMD21 SPI/DMA


Autor: Thomas F. (thomas_fr)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

da ich mir vorgenommen habe mich in einen ARM basierenden MC 
einzuarbeiten
hab ich mir ein "Adafruit METRO M0 Express" mir SAMD21 besorgt.
Da das Umsetzen des WS2812B Protokolls einen tieferen Einblick in
die Hardware bedarf wurde das als erstes Projekt angegangen.

Das ganze wurde mit Atmel Studio 7 in C (bare metal) umgesetzt.

Das Konzept ist nicht neue konnte aber keine Umsetzung für den SAMD21 
finden.

Prinzip:
1 WS Bit entsprechen 4 SPI Bit.
Ein DMA Transfer sind 12 Bytes. (3*8*4 Bit)
Über eine circular arbeitenden double buffer werden die Daten
ausgegeben. Dadurch können Verzögerungen von bis zu 25µs kompensiert 
werden. Die CPU wird mit ca. 6% belastet. Dafür wird wenig RAM benötigt.

Da das mein erstes Programm auf ARM-Basis ist gehe ich davon aus das
es nicht perfekt ist. Für Verbesserungsvorschläge bin ich immer offen.

Gruß Thomas

Beitrag #5263523 wurde von einem Moderator gelöscht.
Beitrag #5263540 wurde von einem Moderator gelöscht.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.