在汽车硬件上部署Python代码的方法

问题描述 投票:0回答:1

我正在利用“Python 电力电子”工具来模拟和分析牵引逆变器拓扑以及作为负载的同步电机。在这个模拟器中,控制逻辑是用Python编写的,例如:inverter_PWM.py、control_motor.py等。现在我想知道如何在汽车硬件中转储此代码。是否有任何工具或接口可用于将 Python 代码部署到实时系统中。

例如:在 MATLAB/Simulink 模型的上下文中,dSPACE Targetlink 工具充当生产代码生成器。

我用谷歌搜索了这个:有很多方法可以将Python部署到与人工智能主题相关的硬件中。但在这里我希望在汽车硬件中部署代码。

我在Python中发现了MyHDL包,它可以用来将Python代码转换为Verilog或VHDL,以将代码部署到FPGA中。但Python文件(例如:Inverter_PWM.py)应首先修改为MyHDL支持的数据类型和功能。

我仍在寻找其他可能性。

信息:

  1. 我使用 VS code 作为代码编辑器。

  2. 在“Python Power Electronics”工具中执行的模拟是:离散时间模拟。 这里我附上了inverter_PWM.py文件代码的示例。

     dt = 1.0e-6  # sampling time interval
    
     if t_clock > t1:
    
         # carrier waveform -- a triangular waveform between -1 and 1
         carr_sig += carr_slope*dt 
    
         if carr_sig >= 1.0:
             carr_slope = -carr_slope_mag
         elif carr_sig <= -1.0:
             carr_slope = carr_slope_mag
    
         # modulation signals
         mod_signal_a = 0.98*cos(wavef*t1)
         mod_signal_b = 0.98*cos(wavef*t1 - 120*pi/180)
         mod_signal_c = 0.98*cos(wavef*t1 - 240*pi/180)
    
         # modulation - carrier comparison
         if mod_signal_a > carr_sig:
             gates1 = 1.0
             gates2 = 0.0
         else:
             gates1 = 0.0
             gates2 = 1.0
    
         t1 += dt 
    
python hardware automotive
1个回答
0
投票

Python 是一种解释性语言,因此不是实时执行的。 嵌入式设备使用不可解释的语言进行编程,主要是 C。

对于电力电子器件,您需要非常快速的可预测实时行为,而 Python 不适合。

您打算使用哪个嵌入式平台?

但还是有可能性的:

  • 您可以使用 MicroPython,但这不会让您拥有实时行为,并且这可能会导致电力电子设备出现不可预测的行为。
  • 您可以将代码翻译为 C 并将其编译到您的平台。这可能是最好的方法
© www.soinside.com 2019 - 2024. All rights reserved.