【E2268】基于VHDL的直流电机PID控制器的实现

2021-11-16 19:39:44      索炜达电子      1149     

项目编号:E2268

文件大小:92M

源码说明:带中文注释

开发环境:VHDL

简要概述

该项目完全用VHDL编写,使用Altera Quartus 13.0 sp1软件。所有模块都有一个测试台或一个刺激文件。

此外,最后一步是将PID控制器IP集成到avalon总线和Nios软核处理器。

请查看根文件夹中的方框图,以便更好地了解该项目。


项目详情:

在这个项目中,我试图遵循VHDL开发的良好实践,例如Volnei Pedroni和Rafael Cancian在其示例中应用的相同实践(下一状态组合逻辑、内存元素即触发器、输出逻辑)。

例如,在所有编写的模块中,您不会看到在下一状态FSM中推断出的触发器。


当前状态:

PID控制器正在Modelsim仿真中运行,但在DE-10板上仍然不起作用。

avalon总线的包装器已经编写好了,我只需要在测试之前让项目在板上工作。

【E2268】基于VHDL的直流电机PID控制器的实现

目录│文件列表:

 └ pid-fpga

    │ blocks-diagram.png

    ├ avalon_wrapper

    │  │ avalon_wrapper.qpf

    │  │ avalon_wrapper.qsf

    │  │ avalon_wrapper.qws

    │  │ avalon_wrapper.sdc

    │  │ avalon_wrapper.vhd

    │  │ avalon_wrapper.vhd.bak

    │  │ pid_controller_hw.tcl

    │  │ pid_controller_hw.tcl~

    │  ├ .qsys_edit

    │  │  │ filters.xml

    │  │  └ preferences.xml

    │  ├ db

    │  │  │ add_sub_01h.tdf

    │  │  │ add_sub_08g.tdf

    │  │  │ add_sub_27g.tdf

    │  │  │ add_sub_2cj.tdf

    │  │  │ add_sub_38g.tdf

    │  │  │ add_sub_4ti.tdf

    │  │  │ add_sub_5ti.tdf

    │  │  │ add_sub_8ng.tdf

    │  │  │ add_sub_8ti.tdf

    │  │  │ add_sub_9ui.tdf

    │  │  │ add_sub_bsi.tdf

    │  │  │ add_sub_cmg.tdf

    │  │  │ add_sub_edj.tdf

    │  │  │ add_sub_egg.tdf

    │  │  │ add_sub_gvd.tdf

    │  │  │ add_sub_hvg.tdf

    │  │  │ add_sub_kgi.tdf

    │  │  │ add_sub_kui.tdf

    │  │  │ add_sub_qsk.tdf

    │  │  │ add_sub_ubj.tdf

    │  │  │ add_sub_vdk.tdf

    │  │  │ altsyncram_7461.tdf

    │  │  │ avalon_wrapper.(0).cnf.cdb

    │  │  │ avalon_wrapper.(0).cnf.hdb

    │  │  │ avalon_wrapper.(1).cnf.cdb

    │  │  │ avalon_wrapper.(1).cnf.hdb

    │  │  │ avalon_wrapper.(10).cnf.cdb

    │  │  │ avalon_wrapper.(10).cnf.hdb

    │  │  │ avalon_wrapper.(100).cnf.cdb

    │  │  │ avalon_wrapper.(100).cnf.hdb

    │  │  │ avalon_wrapper.(101).cnf.cdb

    │  │  │ avalon_wrapper.(101).cnf.hdb

    │  │  │ avalon_wrapper.(102).cnf.cdb

    │  │  │ avalon_wrapper.(102).cnf.hdb

    │  │  │ avalon_wrapper.(103).cnf.cdb

    │  │  │ avalon_wrapper.(103).cnf.hdb

    │  │  │ avalon_wrapper.(104).cnf.cdb

    │  │  │ avalon_wrapper.(104).cnf.hdb

    │  │  │ avalon_wrapper.(105).cnf.cdb

    │  │  │ avalon_wrapper.(105).cnf.hdb

    │  │  │ avalon_wrapper.(106).cnf.cdb

    │  │  │ avalon_wrapper.(106).cnf.hdb

    │  │  │ avalon_wrapper.(107).cnf.cdb

    │  │  │ avalon_wrapper.(107).cnf.hdb

    │  │  │ avalon_wrapper.(108).cnf.cdb

    │  │  │ avalon_wrapper.(108).cnf.hdb

    │  │  │ avalon_wrapper.(109).cnf.cdb

    │  │  │ avalon_wrapper.(109).cnf.hdb

    │  │  │ avalon_wrapper.(11).cnf.cdb

    │  │  │ avalon_wrapper.(11).cnf.hdb

    │  │  │ avalon_wrapper.(110).cnf.cdb

    │  │  │ avalon_wrapper.(110).cnf.hdb

    │  │  │ avalon_wrapper.(111).cnf.cdb

    │  │  │ avalon_wrapper.(111).cnf.hdb

    │  │  │ avalon_wrapper.(112).cnf.cdb

    │  │  │ avalon_wrapper.(112).cnf.hdb

    │  │  │ avalon_wrapper.(113).cnf.cdb

    │  │  │ avalon_wrapper.(113).cnf.hdb

    │  │  │ avalon_wrapper.(114).cnf.cdb

    │  │  │ avalon_wrapper.(114).cnf.hdb

    │  │  │ avalon_wrapper.(115).cnf.cdb

    │  │  │ avalon_wrapper.(115).cnf.hdb

    │  │  │ avalon_wrapper.(116).cnf.cdb

    │  │  │ avalon_wrapper.(116).cnf.hdb

    │  │  │ avalon_wrapper.(117).cnf.cdb

    │  │  │ avalon_wrapper.(117).cnf.hdb

    │  │  │ avalon_wrapper.(118).cnf.cdb

    │  │  │ avalon_wrapper.(118).cnf.hdb

    │  │  │ avalon_wrapper.(119).cnf.cdb

    │  │  │ avalon_wrapper.(119).cnf.hdb

    │  │  │ avalon_wrapper.(12).cnf.cdb

    │  │  │ avalon_wrapper.(12).cnf.hdb

    │  │  │ avalon_wrapper.(120).cnf.cdb

    │  │  │ avalon_wrapper.(120).cnf.hdb

    │  │  │ avalon_wrapper.(121).cnf.cdb

    │  │  │ avalon_wrapper.(121).cnf.hdb

    │  │  │ avalon_wrapper.(122).cnf.cdb

    │  │  │ avalon_wrapper.(122).cnf.hdb

    │  │  │ avalon_wrapper.(123).cnf.cdb

    │  │  │ avalon_wrapper.(123).cnf.hdb

    │  │  │ avalon_wrapper.(124).cnf.cdb

    │  │  │ avalon_wrapper.(124).cnf.hdb

    │  │  │ avalon_wrapper.(13).cnf.cdb

    │  │  │ avalon_wrapper.(13).cnf.hdb

    │  │  │ avalon_wrapper.(14).cnf.cdb

    │  │  │ avalon_wrapper.(14).cnf.hdb

    │  │  │ avalon_wrapper.(15).cnf.cdb

    │  │  │ avalon_wrapper.(15).cnf.hdb

    │  │  │ avalon_wrapper.(16).cnf.cdb

    │  │  │ avalon_wrapper.(16).cnf.hdb

    │  │  │ avalon_wrapper.(17).cnf.cdb

    │  │  │ avalon_wrapper.(17).cnf.hdb

    │  │  │ avalon_wrapper.(18).cnf.cdb

    │  │  │ avalon_wrapper.(18).cnf.hdb

    │  │  │ avalon_wrapper.(19).cnf.cdb

    │  │  │ avalon_wrapper.(19).cnf.hdb

    │  │  │ avalon_wrapper.(2).cnf.cdb

    │  │  │ avalon_wrapper.(2).cnf.hdb

    │  │  │ avalon_wrapper.(20).cnf.cdb

    │  │  │ avalon_wrapper.(20).cnf.hdb

    │  │  │ avalon_wrapper.(21).cnf.cdb

    │  │  │ avalon_wrapper.(21).cnf.hdb

    │  │  │ avalon_wrapper.(22).cnf.cdb

    │  │  │ avalon_wrapper.(22).cnf.hdb

    │  │  │ avalon_wrapper.(23).cnf.cdb

    │  │  │ avalon_wrapper.(23).cnf.hdb

    │  │  │ avalon_wrapper.(24).cnf.cdb

    │  │  │ avalon_wrapper.(24).cnf.hdb

    │  │  │ avalon_wrapper.(25).cnf.cdb

    │  │  │ avalon_wrapper.(25).cnf.hdb

    │  │  │ avalon_wrapper.(26).cnf.cdb

    │  │  │ avalon_wrapper.(26).cnf.hdb

    │  │  │ avalon_wrapper.(27).cnf.cdb

    │  │  │ avalon_wrapper.(27).cnf.hdb

    │  │  │ avalon_wrapper.(28).cnf.cdb

    │  │  │ avalon_wrapper.(28).cnf.hdb

    │  │  │ avalon_wrapper.(29).cnf.cdb

    │  │  │ avalon_wrapper.(29).cnf.hdb

    │  │  │ avalon_wrapper.(3).cnf.cdb

    │  │  │ avalon_wrapper.(3).cnf.hdb

    │  │  │ avalon_wrapper.(30).cnf.cdb

    │  │  │ avalon_wrapper.(30).cnf.hdb

    │  │  │ avalon_wrapper.(31).cnf.cdb

    │  │  │ avalon_wrapper.(31).cnf.hdb

    │  │  │ avalon_wrapper.(32).cnf.cdb

    │  │  │ avalon_wrapper.(32).cnf.hdb

    │  │  │ avalon_wrapper.(33).cnf.cdb

    │  │  │ avalon_wrapper.(33).cnf.hdb

    │  │  │ avalon_wrapper.(34).cnf.cdb

    │  │  │ avalon_wrapper.(34).cnf.hdb

    │  │  │ avalon_wrapper.(35).cnf.cdb

    │  │  │ avalon_wrapper.(35).cnf.hdb

    │  │  │ avalon_wrapper.(36).cnf.cdb

    │  │  │ avalon_wrapper.(36).cnf.hdb

    │  │  │ avalon_wrapper.(37).cnf.cdb

    │  │  │ avalon_wrapper.(37).cnf.hdb

    │  │  │ avalon_wrapper.(38).cnf.cdb

    │  │  │ avalon_wrapper.(38).cnf.hdb

    │  │  │ avalon_wrapper.(39).cnf.cdb

    │  │  │ avalon_wrapper.(39).cnf.hdb

    │  │  │ avalon_wrapper.(4).cnf.cdb

    │  │  │ avalon_wrapper.(4).cnf.hdb

    │  │  │ avalon_wrapper.(40).cnf.cdb

    │  │  │ avalon_wrapper.(40).cnf.hdb

    │  │  │ avalon_wrapper.(41).cnf.cdb

    │  │  │ avalon_wrapper.(41).cnf.hdb

    │  │  │ avalon_wrapper.(42).cnf.cdb

    │  │  │ avalon_wrapper.(42).cnf.hdb

    │  │  │ avalon_wrapper.(43).cnf.cdb

    │  │  │ avalon_wrapper.(43).cnf.hdb

    │  │  │ avalon_wrapper.(44).cnf.cdb

    │  │  │ avalon_wrapper.(44).cnf.hdb

TAGPID
  • 7 次
  • 1 分