版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Matlab与硬件接口设计与硬件接口设计作者:许丹丹作者:许丹丹 钮来伟钮来伟1 摘 要 本文以计算机与示波器通信为例介绍了Matlab与硬件接口的设计。文中提到了RS-232端口、所使用示波器,重点介绍了利用Matlab使计算机与示波器通信的原理、思路、具体实现。为方便普通用户的使用,设计了GUI图形用户界面并根据所要实现的功能进行编程。通过实例展示了计算机与示波器之间快速、可靠的通信,以及能够完成计算机对示波器上的波形的控制与调整。 2 引 言 Matlab是由美国是由美国Mathworks公司开发的面向公司开发的面向理论分析研究和工程设计处理的一套具有强大功理论分析研究和工程设计处理的一
2、套具有强大功能的软件系统。能的软件系统。 它编程简便,特别适合于数值计它编程简便,特别适合于数值计算,只要几个语句就能实现诸如算,只要几个语句就能实现诸如FFT、各种方法、各种方法的滤波、系统辨识、小波变换等,内容涉及到几的滤波、系统辨识、小波变换等,内容涉及到几乎整个控制与信息领域。但是乎整个控制与信息领域。但是, Matlab 是一个完是一个完全独立的编程和数据运算的集成环境全独立的编程和数据运算的集成环境, 其强大的其强大的功能只能在其提供的平台下使用,所以在实际应功能只能在其提供的平台下使用,所以在实际应用中经常要通过各种方式将数据传入计算机。可用中经常要通过各种方式将数据传入计算机。
3、可以借助串行通信接口直接访问外设以借助串行通信接口直接访问外设, 从而准确快从而准确快速的使计算机与外界进行信息交换,提取外设提速的使计算机与外界进行信息交换,提取外设提供的需要处理的数据信息,进而利用供的需要处理的数据信息,进而利用Matlab的强的强大分析处理能力对数据进行分析和处理。大分析处理能力对数据进行分析和处理。3 所用接口及硬件的介绍所用接口及硬件的介绍 1 RS-232接口简介接口简介 2 示波器简介示波器简介4 RS-232接口简介接口简介 目前目前RS-232是是PC机与通信工业中应用最广泛的一种机与通信工业中应用最广泛的一种串行接口。串行接口。RS-232采取不平衡传输方
4、式,即所谓单端通采取不平衡传输方式,即所谓单端通讯。以下为引脚介绍:讯。以下为引脚介绍: 针脚针脚 定定 义义 符号符号 1 载波检测载波检测 DCD 2 接收数据接收数据 RXD 3 发送数据发送数据 TXD 4 数据终端准备好数据终端准备好 DTR 5 信号地信号地 GND 6 数据准备好数据准备好 DSR 7 请求发送请求发送 RTS 8 清除发送清除发送 CTS 9 振铃提示振铃提示 RI 串口一般只用到的管脚只有串口一般只用到的管脚只有2(RXD)、)、3(TXD)、)、5(GND)这三个这三个 。数据终端设备。数据终端设备DTE和数据通信设备和数据通信设备DCE的连线如图的连线如图
5、1计算机计算机外外 设设图图1 连接连接DTE和和DCEDTEDCEPin2Pin3Pin3Pin2发发收收示示 波波 器器 简简 介介 本设计用到GRS-6052A实时/数字储存示波器 CRT最大输入电压:30V,输入组抗:约33k。亮度、聚焦以及刻度照明可由前面板控制。 垂直系统垂直系统 垂直模式 CH1,CH2, 波形处理 CH1+CH2,CH1-CH2,反向。 最大输入电压 400V 。 水平系统水平系统 扫描速率 0.2s/DIV0.5s/DIV,共20档。 扫描放大倍率 5,10,20。 5 方案的分析 在在Matlab中,要实现某种功能可以在中,要实现某种功能可以在Matlab中
6、建立中建立M-file文件或文件或是建立是建立GUI图形用户界面进行编程实现。图形用户界面进行编程实现。GUI的编程和的编程和M文件的编程文件的编程相比,相比, GUI需要编写前台界面,程序的前台界面由一系列交互组件组需要编写前台界面,程序的前台界面由一系列交互组件组成,包括按钮、单选框、复选框、文本框、标签文字、滑动条等。通成,包括按钮、单选框、复选框、文本框、标签文字、滑动条等。通过设置这些交互组件的回调函数把实现程序的内核代码和这些交互组过设置这些交互组件的回调函数把实现程序的内核代码和这些交互组件的鼠标或键盘事件关联起来,完成特定交互事件下后台程序完成的件的鼠标或键盘事件关联起来,完成
7、特定交互事件下后台程序完成的功能。功能。M-file文件则是利用文件则是利用Matlab提供的函数,逐条编辑程序,对于提供的函数,逐条编辑程序,对于普通用户来说既不方便操作又无法实现可视化的要求。所以本设计选普通用户来说既不方便操作又无法实现可视化的要求。所以本设计选择使用择使用GUI图形用户界面进行编程实现。图形用户界面进行编程实现。 经过分析对于设计经过分析对于设计GUI程序的前台界面我拟定了以下二种方案:程序的前台界面我拟定了以下二种方案: 方案一:全命令行的方案一:全命令行的M文件编程。文件编程。 方案二:方案二:GUIDE辅助的图形界面设计。辅助的图形界面设计。6 可行性分析 第一种
8、方案:使用全命令行的第一种方案:使用全命令行的M文件编程设计文件编程设计GUI程程序界面,就是通过低级句柄图形对象创建函数,设置序界面,就是通过低级句柄图形对象创建函数,设置GUI界面下各个交互组件的属性。这主要用到句柄图形对象操界面下各个交互组件的属性。这主要用到句柄图形对象操作的方法。作的方法。 第二种方案:使用第二种方案:使用GUIDE辅助的图形界面设计是一种辅助的图形界面设计是一种更简便的创建更简便的创建GUI程序界面的方法。程序界面的方法。GUIDE环境,实际上环境,实际上就是一个图形用户界面程序,就是一个图形用户界面程序,Matlab用户只需通过简单的用户只需通过简单的鼠标拖拽等操
9、作,就可以设计自己的鼠标拖拽等操作,就可以设计自己的GUI程序界面。程序界面。 相比而言,第二种方案操作起来相对简单,编程过程相比而言,第二种方案操作起来相对简单,编程过程中不用大量使用句柄,部分编程可以通过简单的鼠标拖拽中不用大量使用句柄,部分编程可以通过简单的鼠标拖拽等操作代替,减少了编程的工作量。对于初学者来说最大等操作代替,减少了编程的工作量。对于初学者来说最大的优点就是既不用去深究句柄的使用又可避免很多编程过的优点就是既不用去深究句柄的使用又可避免很多编程过程中的语法错误,所以本设计选用第二种方案。程中的语法错误,所以本设计选用第二种方案。7 设计流程 开开 始始 初初 始始 化化
10、通通 道道 选选 择择 交交 直直 流流 选选 择择 改改 变变 波波 形形 幅幅 度、频度、频 率率 对对 示示 波波 器器 提提 取取 数数 据据 断断 开开是是否否连连 接接连连 接接8 实现步骤 计算机与示波器通信的具体步骤如下:计算机与示波器通信的具体步骤如下: Stepl:利用串口产生函数产生串口对象,完成通信初始化配置串口属性,连接串口对象和外部设备。以COM1串口为例可利用: s =serial(COM1); %产生串口对象 g.InputBufferSize=10000; %设置缓冲区大小 fopen(s); %打开串口连接外设 Step2:选择通道,数据传输,提取波形数据,
11、对波形数据的幅度、频率等参数进行处理,使得波形满足所需条件。以对通道一波形幅度的调节为例: 可利用switch语句。 switch 通道一波形幅度 case 选择Popup Menus第一项时 把图形的幅度调节成相应的大小; case选择Popup Menus第二项时 把图形的幅度调节成相应的大小; 、 otherwise endStep3:对数据进行处理后在示波器和GUI界面上显示波形。此时为保证所采集波形的稳定应在示波器处于存储模式时进行。 Step4: 断开串口对象与设备的连接、从内存中移除串口对象、从Matlab工作区中清除串口对象。以保证下次使用串口时不受上次使用后残留数据的干扰,串
12、口保持畅通、内存有足够空间可供使用。可利用:fclose(s); delete(s); clear s; (注:在整个编程的过程中,由于对各个组件的编程各有其独自的程序段,所以在分别对每个程序段编程时注意声明全局变量,可利用global s。) 9 MATLAB中GUI 的简介 GUI,为图形用户界面的缩写,它实际上是这样的程序:用户可以在前台界面中通过一系列的鼠标、键盘操作,指挥后台程序实现某些功能。 MATLAB的图形用户界面程序的前台界面由一系列交互组件组成,通过设置这些交互组件的回调函数,来完成特定功能。 主要组件介绍如下: (1) 按钮(Push Buttons):执行某种预定的功能
13、或操作; (2) 开关按钮(Toggle Button):产生一个动作并指示一个二进制状态(开或关),当鼠点击它时按钮将下陷,并执行callback(回调函数)中指定的内容,再次点击,按钮复原,并再次执行callback 中的内容; (3) 单选框(Radio Button):单个的单选框用来在两种状态之间切换,多个单选框组成一个单选框组时,用户只能在一组状态中选择单一的状态,或称为单选项; (4) 复选框(Check Boxes):单个的复选框用来在两种状态之间切换,多个复选框组成一个复选框组时,可使用户在一组状态中作组合式的选择,或称为多选项; (5) 文本编辑器(Editable Tex
14、ts):用来使用键盘输入字符串的值,可以对编辑框中的内容进行编辑、删除和替换等操作; (6) 静态文本框(Static Texts):仅仅用于显示单行的说明文字; (7) 滚动条(Slider): 可输入指定范围的数量值; (8) 边框(Frames):在图形窗口圈出一块区域; (9) 列表框(List Boxes):在其中定义一系列可供选择的字符串; (10)弹出式菜单(Popup Menus): 让用户从一列菜单项中选择一项作为参数输入; (11)坐标轴(Axes): 用于显示图形和图象10 GUI 界面的设计 1、我们打开Matlab,进入Windows命令窗口。在命令窗口输入guide
15、并且回车,来新建一个GUI文件,如图2所示: 图2 GUIDE Quick Start 选择Blank GUI(Default) 2、进入GUI开发环境以后,根据本次设计选择组件添加在界面上。界面布置如图3:图3 界面布置 11 实验结果 点击运行,再点击界面上的连接按钮。在界面上用户可根据需要对点击运行,再点击界面上的连接按钮。在界面上用户可根据需要对组件做出操作做到对示波器上的波形的幅度、频率等参数进行处理。处组件做出操作做到对示波器上的波形的幅度、频率等参数进行处理。处理完波形后,点击抓图按钮可以将示波器上所显示的波形提取到界面的理完波形后,点击抓图按钮可以将示波器上所显示的波形提取到界面的坐标轴坐标轴(Axes)上。结果图如图四所示上。结果图如图四所示 图图4结果图结果图结 束 语 本设计只是对利用本设计只是对利用Matlab使计算机与示波器使计算机与示波器通信有了初步探索和研究,在编写程序和调试程通信
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年直播营销题库及答案高中
- 2026年劳务员考试题库500道带答案(培优a卷)
- 2026年二级注册建筑师之法律法规经济与施工考试题库500道附答案(研优卷)
- 2026年一级注册建筑师之建筑经济、施工与设计业务管理考试题库300道附参考答案【典型题】
- 2026年初级管理会计之专业知识考试题库300道带答案(培优b卷)
- 2026年机械员之机械员基础知识考试题库300道加答案
- 2026年材料员之材料员基础知识考试题库300道及完整答案一套
- 2026年二级注册建筑师之法律法规经济与施工考试题库500道【黄金题型】
- 峡山社工考试题目及答案
- 安徽中考全部试卷及答案
- 数字孪生应用技术员职业技能竞赛试题及答案
- 通风与空调工程施工方案
- 妊娠期病毒性肝炎
- 操作工招聘分析报告
- 2024年中国邮政广西分公司招聘笔试参考题库附带答案详解
- 儿科护理学(高职)全套教学课件
- 《生活中的广告》课件
- 口腔综合治疗台水路消毒技术规范
- 食材配送服务方案(技术方案)
- 三年级语文上册第五单元【教材解读】
- 高中毕业生登记表填写样表(四川版)
评论
0/150
提交评论