Deutsch Ziel des Projekts ist es, Schülerinnen und Schülern die Möglichkeit zu geben, Schaltungen aus dem Bereich der Hardwareentwicklung einfach und unkompliziert auf ein PSoC-Board zu übertragen, um dort Messungen und ähnliche Untersuchungen durchführen zu können. Durch die Messungen, die die Schülerinnen und Schüler anschließend auf dem System-on-Chip durchführen, kann ein besseres Verständnis für die Hardwareentwicklung gewonnen werden. Mithilfe einer .net Maui Anwendung werden Schaltungen, die aus Simulationsübungen exportiert wurden, auf einem System-on-Chip integriert. In der App kann man außerdem Berichte von Laboreinheiten abgeben, die von Lehrpersonen eingesehen und benotet werden können. So kann der Laborunterricht innovativer und effizienter durchgeführt werden.
English The goal of this project is to provide students the opportunity to easily and seamlessly transfer circuits from simulation exercises in hardware development onto a PSoC-board, allowing them to perform measurements and investigations. Through the measurements that students then carry out on the System-on-Chip board, a better understanding of hardware development can be gained. Using an application, circuits from simulation environments are exported and integrated onto a System-on-Chip board. The app also allows students to submit reports for laboratory units, which can be reviewed and graded by teachers. This enables laboratory lessons to be conducted in a more innovative and efficient way.
Im Projekt kommen folgende Technologien zum Einsatz: Eine Anwendung zur Übertragung der Schaltungen auf das System-on-Chip-Board wird mithilfe des Frameworks ".NET MAUI" entwickelt. Über die Anwendung kann außerdem auf zwei Datenbanken zugegriffen werden: eine MySQL-Datenbank und eine MINIO-Datenbank, auf der Bilder und Word-Dateien gespeichert werden können. Das verwendete System-on-Chip-Board ist der PSoC5. Als Kommunikationsschnittstelle zwischen der Anwendung und dem System-on-Chip-Board wird UART eingesetzt. Am System-on-Chip-Board selbst werden dann noch Python-Skripte verwendet, um die gewünschten Schaltungen zu realisieren.
Es wird eine Anwendung entwickelt, die SPICE-Netzlisten an einen PSoC (Programmable System-on-Chip) übermitteln kann. Die Anwendung wird mit .NET MAUI erstellt, einem Framework, das besonders für die Entwicklung von Windows-Anwendungen geeignet ist. Die exportierten SPICE-Dateien werden zunächst in der Applikation verarbeitet und anschließend über eine Kommunikationsschnittstelle (z.B. UART) an den PSoC gesendet. Auf dem PSoC werden die Daten weiterverarbeitet und in die programmierte Logik des Chips integriert. Die Anwendung verfügt zudem über eine Datenbankanbindung.
Die Datenbank ermöglicht der Applikation, SPICE-Dateien in einer strukturierten Form abzulegen und zu verwalten. Zudem können verschiedene Dateien, die in Verbindung mit der SPICE-Datei stehen, gemeinsam in der Datenbank gespeichert werden. Diese gesammelten Dateien können dann mit Hilfe der Anwendung abegegben werden. So lässt sich der gesamte Prozess – von der Kommunikation mit dem PSoC bis zur Abgabe der Berichte – vollständig innerhalb der Applikation durchführen.
Schaltungen werden aus Simulationsumgebungen wie Multisim im SPICE-Format als SPICE-Netzliste exportiert. Da diese SPICE-Netzlisten nach dem Export sehr unübersichtlich sind, müssen sie vorverarbeitet bzw. geparst werden, um die Schaltung anschließend auf den PSoC programmieren zu können. Diese Aufgabe besteht aus zwei wesentlichen Schritten: Zunächst müssen alle Sonderzeichen, Leerzeichen und nicht relevanten Teile aus der SPICE-Netzliste entfernt werden. Anschließend werden alle relevanten Teile, wie Bauteile und Verbindungen zwischen Bauteilen, ausgelesen und für die weitere Verarbeitung aufbereitet.
Die bereits vorverarbeiteten SPICE-Netzlisten müssen in diesem Schritt übernommen und weiterverarbeitet werden, um das PSoC-Board zu programmieren und die gewünschte Schaltung zu realisieren. Der entscheidende Schritt besteht im Zugriff auf das System-on-Chip-Board und im Umkonfigurieren der Verbindungen darauf. Für diesen Prozess werden Python-Skripte verwendet.