MATLAB串口通信在数据采集中的应用
[ 来源:微计算机信息 | 更新日期:2007-7-20 01:39:15 | 评论 0 条 | 我要投稿 ]
摘要:文章在介绍MATLAB串口通信技术的基础上,以ANALOG公司的ADμC812作为数据采集系统的微处理器,通过计算机的RS-232串口将数据采集系统与计算机组成为一个具有极强数据处理能力的系统。利用MATLAB6.X自带的通信类(SERIAL)和GUI编程技术,方便地开发出通信与数据采集软件,通过人机界面能够完成对数据采集系统的控制与通信,而且系统软硬件的实现方法比较简单,具有一定的实用性。
关键词:MATLAB、串口通信、数据采集、快速处理
MATLAB具有超强的数据处理能力,被广泛的应用于信号处理、自动控制等领域,而且它的图形用户界面编程技术(GUIDE)简单易学,即使非专业人员也能编制出界面友好、功能强大的应用程序。对于一般的微转换器,实现数据的采集过程较为简单,但要对采集的结果进行快速的实时处理就比较困难,因为绝大多数MCU只提供简单的8位无符号数的四则运算指令系统,对于有符号数的乘方、开方等运算软件实现起来比较困难。本文介绍利用MATLAB的串口通信技术实现数据采集系统与PC机的通信,使采集系统的数据获得快速、准确的处理,而且实现方法简单,有一定的实用性。
一. MATLAB串口通信技术
对于WINDOWS系统而言,硬件系统的驱动程序有着十分严格的规范,可以用C或汇编语言进行开发,而MATLAB本身是一个跨平台的软件,并不具备直接访问硬件的能力。即使安装了驱动程序并能正常工作的硬件设备,MATLAB也没有统一的形式对其进行访问。对于系统的串口,在MATLAB6.X中以类(SERIAL)的形式提供了支持。当用指令建立了一个串口对象(句柄)以后,对串口的硬件操作可以文件操作的软件形式来完成,方法比较简单。常用的串口操作命令及其含义如下表(1)所示,这些命令既可在MATLAB命令窗口实现,也可以M文件的形式出现,使用起来十分方便。
表1 MATLAB串口操作命令表
命令及示例 命令含义
S=SERIAL(’COM1’,’BaudRate’,9600) 建立一个波特率为9600的串口S
SET(S) 显示串口的所有属性
FOPEN(S) 打开串口S
FSCANF(S) 以指定格式从串口S读入数据
FPRINTF(S) 以广播方式向串口S发送数据
FCLOSE(S) 关闭串口对象S
DELETE(S) 删除串口对象S