Parallax Propeller Mikrocontroller-basierter Mini-Computer

    Der Parallax-Mikrocontroller namens Propeller nimmt im Vergleich zu den "Klassikern" des Genres wie PIC oder AVR eine merkwürdige Nische ein. Über die ersten beiden können wir sagen, dass dies Allzweckarchitekturen sind. Die Macher des Propellers näherten sich dem Thema „von der Flanke“.

    Die Hauptmerkmale des Propellers:
    • 8 unabhängige Kerne arbeiten parallel. Eine Zeittrennung, die für gemeinsam genutzte Ressourcen wie Speicher oder E / A-Ports erforderlich ist, wird vom Programmierer nicht gesteuert und ist mit dem Quarz „verdrahtet“. Dies gibt Vorhersagbarkeit in der Code-Ausführungszeit. Jeder Core (Cog) hat 4 KB eigenen isolierten RAM. Jeder Kern hat auch ein eingebautes Hardwaremodul zum Erzeugen (Achtung!) Eines TV- oder VGA-Videosignals.
    • Es gibt kein Konzept für Unterbrechungen. Stattdessen wird vorgeschlagen, konkurrierende Tasks in verschiedenen Kerneln (Cogs) auszuführen.
    • Sie können entweder in Assembler oder in der speziellen Hochsprache Spin programmieren, was die Mehrkern- und Parallelprogrammierung erheblich vereinfacht. Der Spin-Interpreter ist mit einem Kristall verbunden.
    • Es gibt fast kein Konzept, einen Chip zu programmieren oder zu flashen. Die obere Hälfte des 32-KB-Adressraums (ROM) wird vom Spin-Interpreter und verschiedenen Systemtabellen geflasht. In diesem Fall muss das Programm bei jedem Einschalten von außen (z. B. von der Entwicklungsumgebung) in den unteren 32-KB-Bereich (RAM) heruntergeladen werden. In der Regel wird jedoch ein externer I2C-EEPROM-Speicherchip angeschlossen, dessen Inhalt beim Einschalten des Chips automatisch in den Arbeitsspeicher kopiert wird.
    • Der Prozessor wird als 32-Bit deklariert, da er mit Daten dieser Größe arbeitet, der Adressraum ist jedoch 16-Bit (64 KB).

    Die Spin-Sprache wurde für die komfortable Multiprozessor-Programmierung entwickelt und sieht aus wie eine Kreuzung zwischen einer prozeduralen und einer objektorientierten Sprache.

    Hier ist ein Beispiel für Spin-Code, mit dem eine Funktion zum Drehen mehrerer Kerne gestartet wird. Der Code ist sehr einfach und unkompliziert.

        CON
          _clkmode = xtal1 + pll16x         'Establish speed
          _xinfreq = 5_000_000              '80Mhz
        OBJ
          led: "E555_LEDEngine.spin"        'Include LED methods object
        VAR
          byte Counter                      'Establish Counter Variable
          long stack[90]                    'Establish working space
        PUB Main
          cognew(Twinkle(16,clkfreq/50), @stack[0])    'start Twinkle cog 1
          cognew(Twinkle(19,clkfreq/150), @stack[30])  'start Twinkle cog 2
          cognew(Twinkle(22,clkfreq/100), @stack[60])  'start Twinkle cog 3
        PUB Twinkle(PIN,RATE)                  'Method declaration 
          repeat                               'Initiate a master loop
            repeat Counter from 0 to 100       'Repeat loop Counter
              led.LEDBrightness(Counter, PIN)  'Adjust LED brightness 
              waitcnt(RATE + cnt)              'Wait a moment
            repeat Counter from 100 to 0       'Repeat loop Counter
              led.LEDBrightness(Counter,PIN)   'Adjust LED brightness 
              waitcnt(RATE + cnt)              'Wait a moment
    

    Die Funktion cognewstartet die Task auf drei Kernen, wobei jeder mit seiner eigenen Frequenz und seinem eigenen Stack parametriert wird.

    Vereinfacht Der Propeller ist wie folgt aufgebaut: Der Name „Propeller“ leitet sich aus dem Modell der Prioritätsübertragung für den Zugriff auf gemeinsam genutzte Ressourcen ab. Das Hub-Modul, das die Zeittrennung steuert, erledigt dies in einem Kreis, z. B. einem sich drehenden Propeller. In diesem Artikel möchte ich nicht auf den Propeller selbst eingehen, da dies ein großes Thema ist. Für Interessenten gibt es Links zu Büchern, in denen Sie sich umfassend über diesen Mikrocontroller informieren können. Aber ich möchte über ein interessantes Projekt sprechen, das " Pocket Mini Computer " heißt. Dies ist ein Propeller-basierter Mini-Computer (P8X32A), der auf der Evaluierungskarte „P8X32A QuickStart“ basiert.











    Das Zeug sieht so aus (Foto von der offiziellen Seite):



    Der Autor verkauft eine Evaluierungsplatine und eine Erweiterungsplatine mit VGA, microSD, PS / 2, Sound und Wii Gameport. Optional können Sie einen 32-KB-SRAM-RAM-Chip einsetzen.

    Das Merkmal des Projekts ist, dass der Autor den BASIC-Interpreter entwickelt hat, der all dies in einen Mikrocomputer der 80er Jahre verwandelt. BASIC geschrieben in Spin'e ( Open Source) Der Dialekt ist sehr begrenzt, zum Beispiel gibt es keine Arrays, Zeichenketten und reelle Variablen, Variablennamen bestehen nur aus einem Buchstaben usw. Trotzdem haben Sie Zugriff auf alle Peripheriegeräte, einschließlich der SD-Karte, und können auch in C (Parallax hat eine GCC-Version für Propeller) reine Binärdateien ausführen, die zumindest auf demselben Spin'e geschrieben werden können Assembler.

    Als nächstes ein paar Fotos des Designers, damit klar ist, was im Set steht. Wie ich bereits sagte, ist die Basis von PMC eine fertige P8X32A QuickStart-Karte, sodass Sie nur die Erweiterungskarte anlöten müssen.







    Fast alles ist versiegelt.



    Sandwich-Montage.









    Hier ist eine kleine Demo, um die Grafikfähigkeiten zu bewerten.



    Allgemeine Eindrücke


    Propeller


    Ich kann es nicht als Allzweckprozessor bezeichnen. Meiner subjektiven Meinung nach muss man für den effektiven Einsatz des Propellers die angewandte Aufgabe sehr gut verstehen. Zum Beispiel verfügt der Propeller nicht über PWM, DAC / AAC, eingebauten Flash-Speicher, Trigger, das Konzept von Interrupts, und die Entwickler bieten an, entweder das Notwendige programmgesteuert mit der Leistung mehrerer Kerne zu implementieren oder spezielle externe Mikroschaltungen zu verwenden. Die Bücher am Ende beschreiben viele Beispiele für die Arbeit mit zusätzlichen Chips.

    Eine andere Sache ist interessant. Die Macher des Propellers hatten keine Angst, sich vom traditionellen Ansatz zu lösen und versuchten, in konkrete Anwendungen zu investieren, fast fertige Aufgaben. Vielleicht ist dies für einige Projekte hilfreich. So wie ich es verstehe, ist der Propeller zum Erstellen von Spielautomaten und Konsolen aller Art sehr praktisch, zum Beispiel aufgrund der eingebauten Fähigkeit, qualitativ hochwertige Fernseh- und VGA-Signale zu erzeugen.

    Fazit : Eine interessante Architektur, die definitiv Beachtung verdient.

    Designer PMC


    Wieder eine doppelte Sensation. Es scheint zu funktionieren, aber BASIC fehlen offensichtlich Ressourcen, insbesondere Speicher. Zum Beispiel übertrifft derselbe Maximite, der auf PIC32 basiert, ihn um einen Kopf. Darauf kannst du mindestens RetroBSD , mindestens Radio 86RK ausführen . Und das eingebaute MMBasic ist unvergleichlich leistungsfähiger.

    Für 39 US-Dollar ist dies ein großartiges Spielzeug für alle, die den Propeller spüren möchten, wenn das Gerät bereits zusammengebaut ist.

    Für einen Snack


    Bücher über den Propeller, die ich gelesen habe, die in Bezug auf Architektur und übersehen (in Bezug auf Projekte). Ich kann es allen empfehlen.



    Ein kleines und sehr verständliches Buch für Anfänger. Beschreibt (mit Bildern) interessante Projekte. Einer der Mitautoren ist der Designer von PMC.

    Erste Schritte mit dem Propeller





    Extrem kompetentes Buch in Sachen Architektur und Verständnis für das Wesen des Propellers. Es wird nur die Spin-Programmierung behandelt, jedoch mit einer vollständigen Erläuterung der Ansätze und Funktionen des Mikrocontrollers. Nach dem Lesen des ersten Kapitels erhalten Sie ein fast vollständiges Verständnis der Architektur. Im Folgenden werden einige Projekte beschrieben (dies kann übersprungen werden).

    Programmieren des Propellers mit Spin: Eine Einführung in die Parallelverarbeitung (Registerkarte Elektronik)





    Eine Sammlung realer Projekte, bei denen der Propeller von seinen Machern verwendet wird.

    Programmieren und Anpassen des Multicore-Propeller-Mikrocontrollers: Der offizielle Leitfaden Zum Zeitpunkt des Schreibens dieses Artikels ist das erste Buch nur auf Kindle bei Amazon zu einem Preis von zwei US-Dollar erhältlich, das zweite und dritte Buch können Sie jedoch bei der Suche finden.




    Jetzt auch beliebt: