杨青青,尤文斌
(中北大学 仪器科学与动态测试教育部重点实验室,太原 030051)
Yang Qingqing, You Wenbin
(Key Laboratory of Instrumentation Science & Dynamic Measurement Ministry of Education, North University of China ,Taiyuan 030051, China)
随着自动控制理论的不断发展,对自动控制理论实验的要求也不断提高。为了保证实验设备的可靠性、有效性,对实验箱的研究和改进从未停止。无线通信技术日渐成熟,采用无线通信实现数据的传输具有成本低廉、适应性好、扩展性好以及开发周期短的特点[1]。因此本文采用基于USB接口的无线数据传输接口实现实验箱与计算机之间的数据通信,充分利用计算机设备的特点,设计相应的硬件电路和软件系统,从而使得自动控制实验仪器与计算机设备组成完整的数字∕模拟实验仿真系统。
基于USB的无线数据收发接口用于实现计算机与实验仪器箱之间的数据传输,包括上位机和下位机两个部分,系统的总体设计框图如图1所示。
图1 硬件总体设计框图
上位机部分由计算机控制软件以及NetUSB24L01无线数据传输模块组成,USB通信接口由AT90USB162控制;下位机部分包括RF24L01无线数据传输模块和MSP430控制电路,单片机MSP430负责控制数据的接收、发送以及ADDA转换,从而实现数据的无线收发功能。
上位机电路包括NetUSB24L01无线数据传输模块、USB接口电路以及计算机控制软件3个部分,其结构框图如图2所示。NetUSB-24L01数据传输模块与计算机之间通过USB接口电路连接,核心芯片为ATMEL公司的AT90USB162芯片,该芯片是一款高性能、低功耗的8位嵌入式USB微控制器,旨在加强USB无线通信功能;系统内部具有8K/16K字节大小的可编程存储器,有利于提高读写能力[4]。同时它还具有USB 2.0全速设备模块,完全符合通用串行总线规范2.0规则,数据传输速率为12兆位/秒[5];拥有完全独立的176个字节的USB双向RAM用以进行端点内存分配。
图2 上位机总体设计框图
无线收发模块要实现数据的双向传输,本文采用的方法是上下位机的无线芯片都初始化为接收状态,仅当需要发送数据时才配置成发送模式,发送完毕后立刻配置成接收模式。上位机需要给下位机传递控制命令,而下位机需要向上位机传递实验数据。为了区分数据、命令、状态等不同的信息,每个数据包的第一个字节采用采用编码区分信息内容,每包数据大小为32个字节。信息格式如表1所示。
表1 信息格式
其中,用0x55代表发送的是命令,0xAA代表数据,命令包含无线通信测试命令0x11、阶跃波输出命令0x00、正弦波输出命令0x01、阶跃波输出命令0x10四种。
下位机包括单片机控制电路和RF24L01模块两个部分,单片机控制电路的核心控制芯片为MSP430FG4618,该单片机不仅能控制数据的发送与接收,还能将数据经过A/D或D/A转换,输出满足用户需求的数据信息。RF24L01无线数据收发模块采用的是同步串行通信方式(SPI)实现数据的无线发送和接收[6]。下位机的总体设计框图如图3所示。
图3 下位机总体设计框图
单片机MSP430FG4618工作于串行同步通信模式,采用串行外围设备接口SPI总线技术,其硬件功能很强,SPI总线上可以连接多个可作为主机的微控制器(MCU)、装有SPI接口的输入、输出设备,但在任一瞬间只允许一个设备作为主机[7]。本文将微控制芯片MSP430FG4618作为主机,RF24L01无线数据收发模块作为从机,下位机接口电路如图4所示。
图4 下位机接口电路图
单片机首先配置为接收状态,接收来自上位机的命令信息,根据用户的需求产生相应的信号源波形,包括正弦波、阶跃波、方波和单位加速度信号,经过D/A转换后输出给实验仪器箱进行实验。然后单片机配置为发送状态,将经过A/D采样获得的实验数据通过RF24L01模块发送给上位机实现实验结果的显示,其具体工作流程如图5所示。
图5 单片机工作流程图
上位机用户应用软件采用VC++语言编写,采用VC6.0软件开发[8],设计目的是软件模拟示波器的功能,完成实验数据的波形显示以及用户对实验结果的几种常用的处理,包括:波形的放大、缩小和测量,数据的读取、保存以及信号源选择等操作,其应用程序界面如图6所示。
图6 实验结果显示软件界面
软件的工作流程如图7所示。首先测试无线通信是否正常,如果通信正常则配置为接收状态,接收实验结果并在图形显示区域上显示,如果无线通信不正常,则多次重发测试命令,直到正确建立了无线通信连接为止。
图7 软件工作流程
图8为上位机接收并显示的二阶系统单位阶跃响应曲线。经过实际验证,本文设计的基于USB的自动控制仪器箱无线通信接口的数据传输有效距离为50米,发送接收数据传输率高、系统稳定。
另外,该无线数据接口可通过软件配置数据发送和接收地址,实现单点通信和多点通信,即一个上位机用户可以接收到多个电子设备的实验数据,同时多个上位机用户可以共享同一个电子设备的实验数据,可以用于不同场合下电子设备与计算机之间的无线数据通信,通用性强。
图8 实验结果
[1]Rappaport,T.S.无线通信原理与应用 [M].2版.周文安译.北京:电子工业出版社,2006:18.
[2]程鹏.自动控制原理实验教程[M].北京:清华大学出版社,2008:62.
[3]杭州飞拓电子科技有限公司.NetUSB-24L01开发指南(V1.0)[Z].2008:2-4.
[4]8-bit Microcontroller with 8/16K Bytes of ISP Flash and USB controller datasheet.http://www.atmel.com/dyn/resources/prod_documents/doc7707.pdf.2009.
[5]胡晓军,张爱成 .USB接口开发技术[M].西安:西安电子科技大学出版社,2005:121-152.
[6]时志云,盖建平,王代华,张志杰.新型高速无线射频器件nRF24L01及其应用[J].国外电子元器件,2007(8):42-44.
[7]沈建华,杨艳琴,翟骁曙.MSP430系列16位超低功耗单片机原理与应用[M].北京:清华大学出版社,2006:231.
[8]范辉.Visual C++ 6.0程序设计简明教程[M].北京:高等教育出版社,2001:1.