Bei PSoC (Programmable System on Chip) handelt es sich um eine 8 Bit Mikrocontrollerfamilie, die von der Firma Cypress hergestellt wird. Seit 2001 sind die ersten Produkte auf dem Markt erhältlich. Inzwischen sind diese zu einer breiten Familie ausgebaut worden. Als Controllercore kommt ein, von Cypress selbst entwickelter, „M8C“-Prozessorkern zum Einsatz, dessen Vorgänger der „M8“ bereits in vielen OTP Varianten bei den USB-Controllern von Cypress zum Einsatz kam und immer noch geliefert wird.
Die Stärke der PSoC gegenüber anderen Mikrocontrollern liegt darin, dass die individuell benötigten Ressourcen in der Peripherie dynamisch angepasst werden können. So kann während der Laufzeit eines Programmes die Hardware des Controllers z. B. einfach von einer UART auf PWM, oder umgekehrt, umkonfiguriert werden. Dies gilt für digitale, wie analoge Funktionen.
Inhaltsverzeichnis |
Die zwei Hauptbestandteile eines PSoC bestehen zunächst aus einem Standard Mikrocontroller mit dem Rechenwerk, Flash, RAM, 32 kHz onChip-RC-Oszillator mit PLL, Watchdog, Spannungsreferenz, I/O-Ports und einiges mehr, sowie bei neueren Modellen auch mit integrierten Peripherien wie I²C oder USB. Des Weiteren befinden sich auf den PSoC sogenannte digitale und analoge ‚Blöcke‘, welche individuell vom Entwickler mit Peripheriefunktionen belegt werden können. Die PSoC werden mit Flash Speicher von 2 bis 32 KByte, RAM Speicher von 128 Byte bis 2 KByte, sowie in Gehäusen von 8 Pin bis 100 Pin angeboten. Die Bezeichnung für die PSoC von Cypress lauten CY8C2xxxx.
Die verschiedenen Familien sind dabei
Die Speicheraufteilung ist nach der Harvard-Architektur ausgeführt, d. h. Programm- und Datenspeicher werden über getrennte Busse angesprochen.
Der Zugriff auf den Datenspeicher, das RAM, ist bei den PSoC nur bis 256 Byte RAM direkt möglich, Zugriffe auf höhere Speicheradressen müssen über Banking erfolgen.
Die ‚Blöcke‘ in den PSoC sind kleine, in sich getrennte, Arrays. Diese Arrays werden bei der Programmentwicklung vorkonfiguriert, können aber auch zur Laufzeit dann ganz andere Funktionen bekommen, dies ist leicht durch ändern einiger Register vom Programm zu erledigen. Neben der Hauptunterscheidung Analog und Digital, gibt es weitere kleine Unterscheidungsmerkmale.
Dies ist eine spezielle, neue Funktion bei mehreren Familien der PSoC. Unterstützt wird CapSense bei den Standard Micros CY8C21x34, den speziell dafür ausgelegten CY8C20x34 und bei den Micros mit USB, den CY8C24x94. Mit CapSense kann man auf einfache Weise Tasten, eindimensionale Schieberegler (Slider) oder zweidimensionale Eingabefelder (Touchpad) realisieren, dabei bestehen die Eingabeelemente aus reinen Leiterbahnflächen auf einer Platine, wobei keine weiteren Hardwareelemente, wie Kondensatoren oder ähnliches, benötigt werden. Der Entwickler wird hierbei durch einen ‚Wizard‘ im PSoC-Designer unterstützt. Auf der Platine kann dann, je nach Ausführung, auch noch eine Folie oder Glas angebracht werden, um den Anwender der Schaltung bzw. des Gerätes nicht mit der Platine direkt in Berührung zu bringen.
Um den Mikrocontroller in einer Anwendung einsetzen zu können, muss zuerst vom Entwickler ein Programm entwickelt werden. Die Programmentwicklung kann mittels Assembler oder einer Hochsprache, z. B. C geschehen. Bei den PSoC kommt in der Industrie heute zumeist C zum Einsatz, da der Programmcode später damit besser zu pflegen ist. Cypress stellt für die Entwicklung die kostenlose Software ‚PSoC-Designer‘ auf ihrer Homepage zur Verfügung, der Designer beinhaltet eine grafische Oberfläche zum Einbinden und Konfigurieren von den gewünschten Peripherie Modulen, den Assembler und (nach Freischaltung) einen C-Compiler. Mit dem ebenfalls von Cypress kostenlos erhältlichen PSoC-Express ist die Programmentwicklung auch komplett auf grafischer Ebene möglich, dies eigenet sich besonders für die Abschätzung auf Machbarkeit, sogenannte Machbarkeitsstudien, oder auch für Neueinsteiger in der Elektronikentwicklung, die keine oder nur wenig Erfahrung mit Programmiersprachen haben.
Text und Bilder der Lexikonartikel stammen aus der freien Enzyklopädie Wikipedia und stehen unter der GNU Free Documentation License.