MATLAB与Simulink介绍(附上完整联合仿真源码)
Posted Matlab仿真实验室
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB与Simulink介绍(附上完整联合仿真源码)相关的知识,希望对你有一定的参考价值。
文章目录
1. 介绍
MATLAB和Simulink是适用于科学计算和工程设计的强大工具。MATLAB是一种高级编程语言,主要用于数值计算和数据分析,而Simulink则是一种基于模型的设计和仿真环境,用于开发和测试控制系统、信号处理和通信系统等。
MATLAB的优点之一是其丰富的库和工具箱。这些库和工具箱包括数值计算、统计分析、图像处理、信号处理、控制系统等。这使得MATLAB成为科学计算和工程设计中最受欢迎的工具之一。例如,MATLAB可以用于解决线性代数问题、求解微分方程、进行最优化和优化等。
Simulink则提供了一个直观的界面,使得用户可以使用图形化方式来建立模型。用户可以将各种组件(如传感器、执行器、控制器等)拖放到画布上,并使用连接线将它们连接起来。这些组件可以表示各种物理和数学系统,如机械系统、电路、控制系统等。Simulink还提供了用于调试和验证模型的工具,如仿真器、数据记录器、范围检查器等。
MATLAB和Simulink的另一个优点是它们的开放性和灵活性。用户可以使用MATLAB编写自己的函数和工具箱,以满足自己的特定需求。Simulink也支持用户自定义组件和仿真器,使得用户可以将自己的特定模型集成到Simulink中。
总之,MATLAB和Simulink是非常强大的工具,适用于各种科学计算和工程设计应用。它们的丰富的库和工具箱、图形化界面和开放性使得它们成为广泛使用的工具之一。
2. 完整联合仿真源码下载
MATLAB、Simulink基础模型设计(完整源码+数据):https://download.csdn.net/download/m0_62143653/87603596
基于通信信号与系统分析的MATLAB、Simulink仿真(完整源码):https://download.csdn.net/download/m0_62143653/87606946
基于自动控制方面的MATLAB、Simulink仿真应用(完整源码+说明文档+数据+ppt+教程):https://download.csdn.net/download/m0_62143653/87607078
FPGA与simulink联合实时环路系列——实验二LED
实验二LED
实验内容
在实验一的基础上,将simulink产生的测试信号输出到FPGA开发板上的LED灯进行显示,这里要在生成的硬件模型上进行修改,将传送到FPGA的信号输出到8个LED灯上,并且对信号进行分配引脚。
创建模型
在Matlab的指令窗口输入以下指令,hdlsetuptoolpath(\'ToolName\',\'Altera Quartus II\',\'ToolPath\',\'C:\\altera\\11.0\\quartus\\bin\\quartus.exe(修改为软件安装的路径)\')。
Simulink菜单操作 Verification Wizards -> FPGA-in-the-Loop (FIL)或Matlab 提示符输入:filWizard。
硬件设计
由于led是从开发板上进行输出的,所以需要对FPGA设计工程进行修改,将led信号从最底层的模块进行映射到顶层形成引脚信号,然后根据FPGA板的引脚分配进行引脚约束,最后进行综合。
由此需要在底层rtl将位选信号和段选信号进行映射到顶层,需要将最顶层的信号,一层一层地映射出来,由底至顶的顺序如下:fil_led_wrapper、FILCore、fil_led_fil。
在FILCore文件中进行如下修改(红色线标注)。
在fil_led_fil文件中进行如下修改,红色线标注。
引脚配置采用脚本文件进行配置。
综合结果
Simulink模块设计
实现代码
LIBRARY IEEE; USE IEEE.std_logic_1164.ALL; USE IEEE.numeric_std.ALL;
ENTITY fil_led IS port( datain : in std_logic_vector(7 downto 0); dataout: out std_logic_vector(7 downto 0); clk: in std_logic; clk_en: in std_logic; reset: in std_logic); end entity;
architecture rtl of fil_led is begin
process(clk) begin if clk\'event and clk=\'1\' then if reset = \'0\' then dataout <= (others => \'0\'); elsif clk_en = \'1\' then dataout <= datain; end if; end if; end process;
end rtl; |
把Matlab产生的信号,通过JTAG接口输出到FPGA然后,FPGA再通过JTAG传送到Matlab,用于测试整个环路。
修改运行的时间
下载硬件sof文件
双击示波器后出现
实验现象
大西瓜FPGA-->https://daxiguafpga.taobao.com
博客资料、代码、图片、文字等属大西瓜FPGA所有,切勿用于商业! 若引用资料、代码、图片、文字等等请注明出处,谢谢!
每日推送不同科技解读,原创深耕解读当下科技,敬请关注微信公众号“科乎”。
以上是关于MATLAB与Simulink介绍(附上完整联合仿真源码)的主要内容,如果未能解决你的问题,请参考以下文章