混合模式模拟

Spice - HDL - MCU协同仿真

混合模式模拟

Spice - HDL - MCU协同仿真

Jump to TINA Main Page & General Information 

TINA版8及以上版本包括一个新的强大的混合模式模拟引擎。 它基于X.SPICE 混合模式算法,扩展了MCU和VHDL组件。 在您的电路中,您可以自由地混合TINA的任何模拟或数字组件,包括微控制器(MCU)和宏 Spice 或VHDL内容。 您可以随时修改这些组件以及MCU中的代码。 TINA将分析模拟中的模拟部件,数字中的数字部件,并将自动创建组件之间的接口。 这确保了同步和快速收敛。

让我们通过几个例子探讨这种模式的一些用法。

用VHDL和FPGA生成波形 Spice 子电路

以下电路根据左SW-MODE开关的状态生成模拟正弦或锯齿波信号。

混合模式模拟,图像1

电路左侧的数字波形盒包含带查找表的VHDL代码(Sine_LUT )用于正弦波和锯齿信号的计数器。

VHDL代码的基本部分是:

 process(Reset, Clk) 
   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;
       if (LUT_index = LUT_index_max) then 
         LUT_index <= 0; 
       else 
         LUT_index <= LUT_index + 1; 
       end if;
   end if; 
   end process; 
   d0 <= Wave(0); d1 <= Wave(1); d2 <= Wave(2); d3 <= Wave(3); d4 <= Wave(4);

计数器的数字输出在电路中间显示的TINA的5位DA转换器中转换为模拟信号。

需要使用低通滤波器清除DAC正弦波输出。 我们将使用一个 Spice Sallen和Key低通滤波器配置中TL081的运算放大器模型。 按属性对话框上的Enter Macro按钮,TINA将打开宏。 您可以查看并在必要时修改 Spice 宏内的代码。

以下是整个电路的最终波形,包括五个计数器输出波形。 SW_MODE处于高状态,选择锯齿信号。

如果我们将SW-MODE开关更改为低并再次运行瞬态分析,则波形为:

要查看模拟滤波器的效果,请通过单击曲线并按Del键从曲线图中删除曲线d0至d4。

MCU控制的SMPS电路

TINA的混合模式模拟器不仅允许MCU,还允许TINA库中的任何线性或非线性部件。 作为一个例子,让我们研究下面的电路,它实现了一个DC-DC转换器,将5V DC转换为13V DC,并在升压模式下工作。

下面的波形演示了模拟器件和MCU如何在TINA中进行交互。

混合电路示例由简单的模拟和数字组件组成