1、实验一 实现串口的基本收发实验一 实现串口的基本收发一、 Simulink基本使用介绍1.Simulink界面 打开MATLAB R2016a软件,在主页中找到Simulink并单击打开,进入Simulink浏览器窗口。图1图2:Simulink模块库浏览器单击其中的Blank Model,弹出新建模型窗口。 图3 图4:新建模型窗口1、 Simulink中的模块库 用Simulink建模的过程可以简单地理解为从模块库中选择合适的模块,然后将它们连接在一起,最后进行调试仿真。 模块库的作用就是提供各种基本模块,并将它们按应用领域及功能进行分类管理。(这里就不一一介绍了)图5 单击Simulin
2、k模块库,出现模块库中包含的子模块库,用户可根据分类查找。图6二、 串口相关模块介绍与配置1、 串口的配置(Serial Configuration)串口的配置使用的是Serial Configuration模块,它在HDL Verifier中的Instrument Control Toolbox中。(串口相关模块都在此模块库中)图7单击此模块并拖拽至模型窗口中(之后放置模块都采用这种方法)。此模块可以配置串口的相关参数,如:波特率、数据长度、校验位、停止位等。双击此模块,出现配置模块参数的对话框。 图8 首先选择端口,再选择波特率等相关参数,其中的Byte order是选择输出的字节规则,若
3、是BigEndian,则输出的字节规则是:最后一个字节存储在第一个内存地址中;若是LittleEndian,则规则相反。最后一个参数Timeout等待数据的时间量。此实验中我们对其中参数进行这样的配置: 图92.串口发送(Serial Send)串口发送使用的是Serial Send模块,此模块只需要选择端口,其他的都是默认值就好。这里就发送一个字节数据,用Constant模块(在Commonly Used Blocks中)决定一个数据常量,与Serial Send相接,就实现了串口的发送。Constant模块可以选择输出的数据类型,这里选择uint8。 图10图11图12图13:Serial
4、 Send配置若想显示这个常数,可以用Display这个模块。图14这样串口输出部分就好了。图15:串口输出2、 串口接收(Serial Receive)串口接收使用的是Serial Receive模块,双击进行配置,选择端口,指定输出数据大小,选择输出数据类型等。 图16接收的数据进行显示: 图173、 指定仿真时间(Simulation-Model Configuration Parameters)图17图18默认的结束时间是10s,但是这里的10s与实际的时间是不相同的,它与模型的复杂程度,仿真的最大步长及计算机的时钟频率有关。在Slover options中我们选择固定步长的离线系统求解算法,基本的采样时间选择0.5s,则总的采样数是21个,若串口配置的等待数据的时间也是0.5,则在10s内输出的字节数就是21个;但若等待数据的时间确定的是1s,输出的字节数也是21个,但花费的实际时间是21s。(这里都是21是因为0s也输出一个)。三、 实验步骤1、 将两个串口模块的收发互接并共地,插在电脑上的两个端口。2、 将Simulink与匿名地面站进行通信,Simulink中选择其中的一个端口,匿名地面站的串口配置中选择另一个端口,并使用相同的波特率。3、 使用地面站中的基本收发功能,点击连接,进行通信。