Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
projekt_mexle_handoszi:start [2021/09/20 15:12] – [4.1 Auswahl der Hardwarekomponenten] mirupp | projekt_mexle_handoszi:start [2021/09/20 21:12] (aktuell) – mirupp | ||
---|---|---|---|
Zeile 173: | Zeile 173: | ||
== Gabotronics == | == Gabotronics == | ||
- | Die Firma Gabotronics stellt kleine, Mikrocontroller-basierte Oszilloksope her. Diese basieren wie z.B. das XMEGA Xprotolab auf einem XMEGA Prozessor mit daran angeschlossener Analogschaltung zur Wandlung der Messsignale auf die Logikspannung des Mikrocontroller.(([[https:// | + | Die Firma Gabotronics stellt kleine, Mikrocontroller-basierte Oszilloksope her. Diese basieren wie z.B. das XMEGA Xprotolab auf einem XMEGA-Prozessor mit daran angeschlossener Analogschaltung zur Wandlung der Messsignale auf die Logikspannung des Mikrocontroller.(([[https:// |
== Beschreibung == | == Beschreibung == | ||
Zeile 195: | Zeile 195: | ||
== Differentielle | == Differentielle | ||
- | Die zuvor dargestellte Schaltung ist auf eine Single Ended Messung ausgelegt. Hierdurch ist es erforderlich, | + | Die zuvor dargestellte Schaltung ist auf eine Single Ended Messung ausgelegt. Hierdurch ist es erforderlich, |
Erfolgt eine Single Ended Messung bei einem Potenzialunterschied der Massen, die größer ist als die maximale Messamplitude, | Erfolgt eine Single Ended Messung bei einem Potenzialunterschied der Massen, die größer ist als die maximale Messamplitude, | ||
Zeile 257: | Zeile 257: | ||
Die Bandbreite des verwendeten Operationsverstärker beträgt 1,1 MHz. Hierdurch ist auch die Bandbreite, die für das Oszilloskop genutzt werden kann, begrenzt. Da die Analog-Digital-Wandler des PIC32 eine Samplerate von bis zu 25,45 Msps bei einer Auflösung von 12 Bit ermöglichen, | Die Bandbreite des verwendeten Operationsverstärker beträgt 1,1 MHz. Hierdurch ist auch die Bandbreite, die für das Oszilloskop genutzt werden kann, begrenzt. Da die Analog-Digital-Wandler des PIC32 eine Samplerate von bis zu 25,45 Msps bei einer Auflösung von 12 Bit ermöglichen, | ||
- | Die Verstärkung der Schaltung zu den analogen Eingängen fällt bereits bei 400-500 kHz ab. Daher sollte durch eine Anpassung der Bauteilwerte eine Verbesserung und Annäherung der Grenzfrequenz an ca. 1 MHz erreicht werden können, um die Bandbreite der verwendeten Komponenten optimal | + | Die Verstärkung der Schaltung zu den analogen Eingängen fällt bereits bei 400-500 kHz ab. Daher sollte durch eine Anpassung der Bauteilwerte eine Verbesserung und Annäherung der Grenzfrequenz an ca. 1 MHz erreicht werden können, um die Bandbreite der verwendeten Komponenten optimal zu nutzen. |
Zeile 282: | Zeile 282: | ||
Quelle Tabelle: (([[https:// | Quelle Tabelle: (([[https:// | ||
- | Die Auswahl der geeignetsten | + | Die Auswahl der geeigneten |
Die Anbindung des Displays an den PIC32 sollte mit möglichst geringem Hardwareaufwand erfolgen, dementsprechend war eine Ansteuerung mit einer so geringen Anzahl an Leitungen wie möglich zu finden. Die Anbindung über die beiden 8 Bit Parallelbusse entfiel, da diese neben den 8 Datenleitungen weitere zusätzliche Steuerleitungen erfordern. | Die Anbindung des Displays an den PIC32 sollte mit möglichst geringem Hardwareaufwand erfolgen, dementsprechend war eine Ansteuerung mit einer so geringen Anzahl an Leitungen wie möglich zu finden. Die Anbindung über die beiden 8 Bit Parallelbusse entfiel, da diese neben den 8 Datenleitungen weitere zusätzliche Steuerleitungen erfordern. | ||
Zeile 291: | Zeile 291: | ||
== Anschlüsse == | == Anschlüsse == | ||
- | Neben den unterschiedlichen Farbdarstellungen gibt es das Display auch mit unterschiedlichen Anschlüssen. Zum einen kann das Display direkt mit dem angefügten Flachkabel auf die Platine aufgelötet werden. Weitere Varianten des Displays ermöglichen | + | Neben den unterschiedlichen Farbdarstellungen gibt es das Display auch mit unterschiedlichen Anschlüssen. Zum einen kann das Display direkt mit dem angefügten Flachkabel auf die Platine aufgelötet werden. Weitere Varianten des Displays ermöglichen die Nutzung eines Klemmverbinders zur Montage auf der Platine. Dies hat den Vorteil, dass das Display ausgetauscht werden kann. Der Verbinder für die Verwendung mit einer Klemmbuchse besitzt schmalere Kontakte als die Lötversion. Dadurch sind diese nicht zueinander kompatibel. Zudem gibt es die Klemmversion in zwei Ausführungen. Die Kontakte sind entweder auf der Unterseite oder Oberseite des Kabels aufgebracht. Dies ist bei der Wahl und Lage der entsprechenden Buchse auf der Platine zu berücksichtigen.(([[https:// |
Das Display des Handoszilloskops besitzt den Anschluss zum Klemmen mit den Kontakten auf der Oberseite. Beim Einbau des Displays wird das Kabel unter das Display gebogen. Dadurch ist der Platzbedarf für das Display auf der Platine geringer. | Das Display des Handoszilloskops besitzt den Anschluss zum Klemmen mit den Kontakten auf der Oberseite. Beim Einbau des Displays wird das Kabel unter das Display gebogen. Dadurch ist der Platzbedarf für das Display auf der Platine geringer. | ||
Zeile 302: | Zeile 302: | ||
Das Display unterstützt zwei Arten der Spannungsversorgung. Bei der ersten erfolgt die Versorgung mit den erforderlichen Spannungen vollständig durch die externe Schaltung. Dies erfordert, dass alle erforderlichen Spannungen extern zur Verfügung stehen. Hierzu ist eine Versorgungsspannung von 1,65 V bis 3,3 V für die Logik des Displays und 7 V bis 15 V zur Ansteuerung des Display-Panels zu erzeugen.(([[https:// | Das Display unterstützt zwei Arten der Spannungsversorgung. Bei der ersten erfolgt die Versorgung mit den erforderlichen Spannungen vollständig durch die externe Schaltung. Dies erfordert, dass alle erforderlichen Spannungen extern zur Verfügung stehen. Hierzu ist eine Versorgungsspannung von 1,65 V bis 3,3 V für die Logik des Displays und 7 V bis 15 V zur Ansteuerung des Display-Panels zu erzeugen.(([[https:// | ||
- | Die zweite Art ist die Nutzung des integrierten DC/DC Wandler. Dieser erzeugt die für die Ansteuerung des Display-Panels erforderliche Spannung selbst. Vorteil hierbei ist, dass bei einer Versorgungsspannung von 3,3 V auf der Gesamtplatine des Oszilloskops, | + | Die zweite Art ist die Nutzung des integrierten DC/DC-Wandler. Dieser erzeugt die für die Ansteuerung des Display-Panels erforderliche Spannung selbst. Vorteil hierbei ist, dass bei einer Versorgungsspannung von 3,3 V auf der Gesamtplatine des Oszilloskops, |
==== 4.2 Integration in Vorarbeiten ==== | ==== 4.2 Integration in Vorarbeiten ==== | ||
- | Durch die Vorarbeiten bei der Entwicklung des Handoszilloskops war bereits ein Gehäuse vorgegeben. Die Abmessungen der Platine der vorhandenen Schaltung waren auf die Größe dieses Gehäuse ausgelegt. Sie verfügte über einen Atmel® SMART SAM L21 Mikrocontroller(([[http:// | + | Durch die Vorarbeiten bei der Entwicklung des Handoszilloskops war bereits ein Gehäuse vorgegeben. Die Abmessungen der Platine der vorhandenen Schaltung waren auf die Größe dieses Gehäuse ausgelegt. Sie verfügte über einen Atmel® SMART SAM L21 Mikrocontroller(([[http:// |
Nach der Auswahl des PIC32 war zunächst angedacht, diesen in das bestehende Design zu integrieren. Hierbei zeigten sich Probleme durch die starke Komprimierung der Leiterbahnen im Design. Zudem sind die Anschlüsse und Schnittstellen des PIC32 anders angeordnet, wodurch die Integration mehr Platz für die Leiterbahnen benötigt als für den SAM L21 vorgesehen war. | Nach der Auswahl des PIC32 war zunächst angedacht, diesen in das bestehende Design zu integrieren. Hierbei zeigten sich Probleme durch die starke Komprimierung der Leiterbahnen im Design. Zudem sind die Anschlüsse und Schnittstellen des PIC32 anders angeordnet, wodurch die Integration mehr Platz für die Leiterbahnen benötigt als für den SAM L21 vorgesehen war. | ||
- | Da als Batterie | + | Da als Batterie |
Da der Wunsch bestand, die sehr komplexe und hohe Anzahl an Pins erfordernde analoge Schaltung zu vereinfachen, | Da der Wunsch bestand, die sehr komplexe und hohe Anzahl an Pins erfordernde analoge Schaltung zu vereinfachen, | ||
Zeile 316: | Zeile 316: | ||
Die im Projekt zu erstellende Hardware sollte nicht mehr als Integration der neuen Komponenten und dem Austausch der alten Komponenten in die bestehende Schaltung durchgeführt werden. Stattdessen sollten kleine Module mit den Hauptfunktionalitäten des Oszilloskops entwickelt werden. Die Anbindung an den PIC sollte nicht mehr auf der gleichen Platine erfolgen. Stattdessen sollte mittels Developmentkit und geeigneter Aufsteckschnittstelle eine Funktionsdemonstration ermöglicht werden. | Die im Projekt zu erstellende Hardware sollte nicht mehr als Integration der neuen Komponenten und dem Austausch der alten Komponenten in die bestehende Schaltung durchgeführt werden. Stattdessen sollten kleine Module mit den Hauptfunktionalitäten des Oszilloskops entwickelt werden. Die Anbindung an den PIC sollte nicht mehr auf der gleichen Platine erfolgen. Stattdessen sollte mittels Developmentkit und geeigneter Aufsteckschnittstelle eine Funktionsdemonstration ermöglicht werden. | ||
- | Der Schaltplan der durchgeführten Teilintegration ist unter folgendem Link zu finden: [[https:// | + | Der Schaltplan der durchgeführten Teilintegration ist unter folgendem Link zu finden: [[https:// |
==== 4.3 Development Board ==== | ==== 4.3 Development Board ==== | ||
- | Nach der Anpassung des Projektziels wurde der Fokus des Projektes stärker auf die Oszilloskopfunktionalitäten | + | Nach der Anpassung des Projektziels wurde der Fokus des Projektes stärker auf die Oszilloskopfunktionalitäten |
== Anschlüsse | == Anschlüsse | ||
Zeile 359: | Zeile 359: | ||
== PIC32MK1024GPE100 == | == PIC32MK1024GPE100 == | ||
- | Das Developmentboard ist mit einem PIC32MK1024GPE100 bestückt. Dieser ist das leistungsfähigste Modell der PIC32MK | + | Das Developmentboard ist mit einem PIC32MK1024GPE100 bestückt. Dieser ist das leistungsfähigste Modell der PIC32MK |
==== 4.4 mikroBUS Prototypen ==== | ==== 4.4 mikroBUS Prototypen ==== | ||
Wie zuvor beschrieben, | Wie zuvor beschrieben, | ||
Zeile 385: | Zeile 385: | ||
=== 4.4.2 Oszilloskop-Modul mit Display === | === 4.4.2 Oszilloskop-Modul mit Display === | ||
- | Die erste Platine umfasst den Analog-Eingang-Teil der Oszilloskopfunktion, | + | Die erste Platine umfasst den Analog-Eingang-Teil der Oszilloskopfunktion, |
Zusätzlich zur Analogschaltung umfasst die Platine auch ein OLED-Display, | Zusätzlich zur Analogschaltung umfasst die Platine auch ein OLED-Display, | ||
Zeile 443: | Zeile 443: | ||
== Layoutvarianten == | == Layoutvarianten == | ||
- | Es wurden zwei Layouts der Schaltung erstellt. Der Schaltplan ist in beiden Fällen identisch. | + | Es wurden zwei Layouts der Schaltung erstellt. Der Schaltplan ist in beiden Fällen identisch. |
==== 4.5 Akku-Schaltung und Spannungsversorgung ==== | ==== 4.5 Akku-Schaltung und Spannungsversorgung ==== | ||
Zeile 515: | Zeile 515: | ||
=== 5.1.1 MPLAB X === | === 5.1.1 MPLAB X === | ||
- | Programmiert wird der PIC32 über die von Microchip veröffentlichte Entwicklungsumgebung [[https:// | + | Programmiert wird der PIC32 über die von Microchip veröffentlichte Entwicklungsumgebung [[https:// |
== 5.1.1.1 Benutzeroberfläche == | == 5.1.1.1 Benutzeroberfläche == | ||
Zeile 632: | Zeile 632: | ||
== 5.1.1.10 MPLAB und Harmony Eigenheiten == | == 5.1.1.10 MPLAB und Harmony Eigenheiten == | ||
Nachfolgend werden einige Besonderheiten bei der Bedienung von MPLAB aufgelistet, | Nachfolgend werden einige Besonderheiten bei der Bedienung von MPLAB aufgelistet, | ||
- | * Kombination von Bibliotheken von Harmony und externen Bibliotheken nur schlecht möglich, da der von Harmony generierte alle Module des Prozessors, welche nicht hinzugefügt wurden, blockiert. | + | * Kombination von Bibliotheken von Harmony und externen Bibliotheken nur schlecht möglich, da von Harmony generierte alle Module des Prozessors, welche nicht hinzugefügt wurden, blockiert. |
* Move und Copy von Projekten nicht innerhalb des Programms ausführen, sonst unerwünschte Nebenwirkungen. (Copy führt zu Verschachtelung des Projektordners, | * Move und Copy von Projekten nicht innerhalb des Programms ausführen, sonst unerwünschte Nebenwirkungen. (Copy führt zu Verschachtelung des Projektordners, | ||
* Harmony Einstellungen werden über Project-Properties und Konfiguration gespeichert. Inkonsistentes Verhalten bei Move und Copy führt dazu, dass die Konfiguration für das kopiertes Projekt übernommen wird. Bei Veränderungen der Konfiguration werden beide Projekte geändert. Um dieses Verhalten zu umgehen, empfiehlt es sich ein neues Projekt mit neuer Konfiguration anzulegen und die Projektfiles manuell zu kopieren. | * Harmony Einstellungen werden über Project-Properties und Konfiguration gespeichert. Inkonsistentes Verhalten bei Move und Copy führt dazu, dass die Konfiguration für das kopiertes Projekt übernommen wird. Bei Veränderungen der Konfiguration werden beide Projekte geändert. Um dieses Verhalten zu umgehen, empfiehlt es sich ein neues Projekt mit neuer Konfiguration anzulegen und die Projektfiles manuell zu kopieren. | ||
Zeile 763: | Zeile 763: | ||
Im Vergleich der drei Aufzeichnungen kann man sehen, dass nur die Version mit Harmony und DMA die fünf Pulse richtig anzeigt. Die Bare Metal Programmierung der vier verschachtelten ADC sendet die Daten mit einer Baudrate von 115200 Baud/s, die beiden anderen mit 962100 Baud/s. Die Reduzierung war notwendig, da es sonst zu Übertragungsfehlern kommt. | Im Vergleich der drei Aufzeichnungen kann man sehen, dass nur die Version mit Harmony und DMA die fünf Pulse richtig anzeigt. Die Bare Metal Programmierung der vier verschachtelten ADC sendet die Daten mit einer Baudrate von 115200 Baud/s, die beiden anderen mit 962100 Baud/s. Die Reduzierung war notwendig, da es sonst zu Übertragungsfehlern kommt. | ||
Durch die langsamere Übertragung ist es möglich, dass die einzelnen Pulse stärker geblockt werden. | Durch die langsamere Übertragung ist es möglich, dass die einzelnen Pulse stärker geblockt werden. | ||
- | Die Programmierung ohne DMA zeigt ebenfalls keine einzelnen Pulse, hier ist es möglich, dass die Sample Rate zu niedrig ist und somit Teile des Signals verloren gehen. | + | Die Programmierung ohne DMA zeigt ebenfalls keine einzelnen Pulse, hier ist es möglich, dass die Sample-Rate zu niedrig ist und somit Teile des Signals verloren gehen. |
== Auswertung ADC == | == Auswertung ADC == | ||
- | Die Messungen werden so dargestellt, | + | Die Messungen werden so dargestellt, |
Die Auswertung der Versuche zeigt vor allem bei der Puls-Messung sonderbare Ergebnisse, daher sollten weitere Versuchsreihen durchgeführt werden, sowie der Programmcode angepasst werden. | Die Auswertung der Versuche zeigt vor allem bei der Puls-Messung sonderbare Ergebnisse, daher sollten weitere Versuchsreihen durchgeführt werden, sowie der Programmcode angepasst werden. | ||
- | Die Verschachtelung der ADC zeigt die höchste Auflösung des Signals, schneidet aber im kontinuierlichen Betrieb aufgrund der notwendigen Unterbrechungen große Teile des Signals ab. Ein Einsatz im kontinuierlichen Betrieb ist daher nicht sinnvoll. Es sollte möglich sein, ein hochfrequentes Signal komplett aufzuzeichnen, | + | Die Verschachtelung der ADC zeigt die höchste Auflösung des Signals, schneidet aber im kontinuierlichen Betrieb aufgrund der notwendigen Unterbrechungen große Teile des Signals ab. Ein Einsatz im kontinuierlichen Betrieb ist daher nicht sinnvoll. Es sollte möglich sein, ein hochfrequentes Signal komplett aufzuzeichnen, |
- | Im kontinuierlichen Betrieb ergibt eine Umsetzung ohne den „ADC DMA Buffer Full“-Interrupt mehr Sinn, hier können die Daten übertragen werden, sobald Daten im ADC DMA Buffer liegen. Damit reduziert sich allerdings die Sample Rate. | + | Im kontinuierlichen Betrieb ergibt eine Umsetzung ohne den „ADC DMA Buffer Full“-Interrupt mehr Sinn, hier können die Daten übertragen werden, sobald Daten im ADC DMA Buffer liegen. Damit reduziert sich allerdings die Sample-Rate. |
- | Eine weitere Überlegung kann sein, ob für das Handoszilloskop die restlichen | + | Eine weitere Überlegung kann sein, ob für das Handoszilloskop die restlichen |
Zeile 804: | Zeile 804: | ||
**UART:**\\ | **UART:**\\ | ||
- | UART steht für Universal Asynchronous Receiver Transmitter. Es benötigt für die Kommunikation keine separate Bustaktung, die Synchronisierung zwischen Sender und Empfänger geschieht über vom Transmitter gesendete Start- und Stop-bits. So benötigt UART für die bidirektionele Kommunikation nur zwei Datenleitungen, | + | UART steht für Universal Asynchronous Receiver Transmitter. Es benötigt für die Kommunikation keine separate Bustaktung, die Synchronisierung zwischen Sender und Empfänger geschieht über vom Transmitter gesendete Start- und Stop-Bits. So benötigt UART für die bidirektionele Kommunikation nur zwei Datenleitungen, |
< | < | ||
Zeile 959: | Zeile 959: | ||
[[https:// | [[https:// | ||
Die Umsetzung geschieht mit der [[https:// | Die Umsetzung geschieht mit der [[https:// | ||
- | Vor der Umsetzung im Handoszilloskop sollte die Möglichkeit der Implementierung mit den sigrok PulseView Entwicklern abgesprochen werden. Diese sind unter folgenden Links zu errreichen: | + | Vor der Umsetzung im Handoszilloskop sollte die Möglichkeit der Implementierung mit den sigrok PulseView Entwicklern abgesprochen werden. Diese sind unter folgenden Links zu erreichen: |
* https:// | * https:// | ||
* https:// | * https:// |