Simulation im gemischten Modus (Spice - VHDL - MCU co-simulation)
TINA Version 8 und höher enthält einen neuen, leistungsfähigen Simulationsmechanismus für den gemischten Modus. Er beruht auf dem XSPICE-Mischmodus-Algorithmus, erweitert durch MCU- und VHDL-Komponenten. Sie können in Ihren Schaltungen beliebige analoge oder digitale Komponenten von TINA frei kombinieren, einschließlich Mikrocontrollern (MCUs) und Makros mit Spice- oder VHDL-Inhalt. Sie können diese Komponenten dynamisch ändern, ebenso wie den Programmcode in den MCUs. TINA analysiert die analogen Teile analog, die digitalen Teile digital und erzeugt automatisch die Schnittstelle zwischen den Komponenten. Damit werden die Synchronisierung und eine schnelle Konvergenz sichergestellt.
Wir wollen einige der Anwendungen dieses Modus anhand von Beispielen untersuchen.
Die folgende Schaltung generiert ein analoges Sinus- oder Sägezahnsignal, abhängig von der Stellung des linken Schalters SW-MODE.
Das Kästchen „Digital Wave“ (Digitale Wellenform) links in der Schaltung enthält VHDL-Code mit einer Look-Up-Table (Sine_LUT) für die Sinuswelle und einen Zähler für das Sägezahnsignal. Der wesentliche Teil des VHDL-Codes sieht wie folgt aus:
process(Reset, Clk)
if (LUT_index = LUT_index_max) then
end if;
Der digitale Ausgang des Zählers wird in dem in der Mitte der Schaltung gezeigten 5-Bit-D/A-Wandler von TINA in ein Analogsignal umgewandelt.
Der Sinusausgang des DAC muss mit einem Tiefpassfilter geglättet werden. Wir benutzen ein Spice-Operationsverstärkermodell des TL081 in einer Sallen-Key-Tiefpassfilterkonfiguration. Nach Anklicken der Schaltfläche „Enter Macro“ (Makro öffnen) im Eigenschaftendialog öffnet TINA das Makro. Sie können den Spice-Code innerhalb des Makros überprüfen und bei Bedarf ändern.
Hier sehen Sie die endgültigen Wellenformen der vollständigen Schaltung, einschließlich der fünf Ausgangswellenformen des Zählers. SW_MODE befindet sich in der High-Stellung mit Auswahl des Sägezahnsignals. Wenn wir den Schalter SW-MODE auf Low stellen und die Transientenanalyse erneut ausführen, erhalten wir die folgenden Wellenformen: Um die Wirkung des analogen Filters zu erkennen, löschen Sie die Kurven d0 bis d4 aus dem Diagramm, indem Sie auf die Kurven klicken und die Taste Entf drücken. Der Simulator für den gemischten Modus von TINA lässt nicht nur MCUs, sondern auch beliebige lineare oder nichtlineare Teile aus den Bibliotheken von TINA zu. Als Beispiel wollen wir die folgende Schaltung untersuchen, die einen Gleichspannungswandler realisiert, der 5 V Gleichspannung in 13 V Gleichspannung umwandelt und im Erhöhungsmodus arbeitet.
Die nachstehenden Kurvenformen zeigen, wie die analogen Bauteile und die MCU in TINA zusammenwirken. Mixed Mode Circuit You can display the results in one diagram or as separate diagrams shown below by simply appending a colon ( : ) and a number to each output name. Wellenformgenerierung mit VHDL- und Spice-Teilschaltungen
begin
if (Reset = '1') then
Wave <= (others => '0');
LUT_index <= 0;
elsif rising_edge(Clk) then
if (Enable = '0') then
Wave <= (others => '0');
elsif (Sel = '0') then
Wave <= Sine_LUT(LUT_index);
else
Wave <= conv_std_logic_vector(LUT_index,5);
end if;
LUT_index <= 0;
else
LUT_index <= LUT_index + 1;
end if;
end process;
d0 <= Wave(0); d1 <= Wave(1); d2 <= Wave(2); d3 <= Wave(3); d4 <= Wave(4);
MCU-gesteuerte Schaltnetzteilschaltung
Mixed circuit example consisting of simple analog and digital components
Mixed mode results