基于LabVIEW和IAP的单片机远程实验系统

2011-06-05 11:01孙道让刘蕴红
电子设计工程 2011年20期
关键词:开发板外设客户端

孙道让,刘蕴红

(大连理工大学 电气工程学院,辽宁 大连 116023)

一方面,随着PC技术和Internet的发展进步,网络远程实验室的建设成为一种趋势。网络实验室利用科学仪器的远程控制实现对实验设备更大范围的共享,提高了设备利用率[1]。很多公司和高校如:NI公司、麻省理工学院和国内的泛华测控等,都在着手于远程教育平台,因此远程教育平台是今后的发展趋势。另一方面,单片机技术的应用越来越广泛,对于许多理工科大学生来说,单片机入门课程的动手实验是必不可少的,让学生把理论知识和真实的实验联系起来是非常重要的,但是依靠学校资源让每个学生都拥有充分的机会动手实验是比较困难的。为此笔者结合远程实验室和AVR单片机的IAP技术设计了一个远程单片机开发实验系统,不仅可以给学生提供更多实验机会,而且可以提供一个单片机技术开发平台。

1 实验系统总体结构

作为远程实验系统,首先需要在服务器上搭建一个操作平台,构建一个连接客户端和实验仪器的桥梁。文中的实验交互平台是以麻省理工学院的iLab平台为原型,综合虚拟仪器、数据库和计算机实时控制等多种技术开发的[2]。客户端登陆平台就可以操作实验仪器进行真实实验。该系统的实验仪器是为了进行多种单片机实验专门开发的实验板。并且客户端在进行实验的同时可以通过网络摄像头观察到实时实验现象。

因此基于对整个系统的综合分析,该实验系统可以分成3个组成部分:服务器、实验开发板和客户端。系统总体结构如图1所示。

图1 系统总体结构Fig.1 The structure of the whole system

2 服务器

服务器包括实验室服务器 (Lab Server)和服务代理端(Service Broker),是实验系统的基础,是连接实验客户端和实验仪器设备的桥梁。服务器为用户构建一个远程实验交互平台,负责整个系统的任务调度和网络管理等工作。系统采用B/S模式,绝大部分运算和处理功能在服务器端实现。

介绍iLab实验平台的原理,首先要建立Merged Service Broker和Merged Lab Server两个web程序。然后利用LabVIEW的DataSocket技术和内置Web发布功能为基础[3-4],将实验的VI操作界面嵌入到 Lab Server。Merged Service Broker是一台基于ASP2.0的IIS网页服务器,后台使用SQL Server2000数据库配合进行用户账户的管理、动态网页的生成以及实验数据的存储和管理。用于交换协调实验室服务器和实验客户端的信息。主要作用是提供WEB接入服务、用户认证管理和开放交互实验环境;对实验资源进行科学管理和调度;对客户端的实验请求进行响应。Merged Service Broker内包含:Experiment Storage Server存储实验记录;User side Scheduling Server用于试验管理员处理实验日程;Labside Scheduling Server用来管理实验用户预约。

Merged Lab Sever对实验开发板的监控程序采用虚拟仪器LabVIEW编写,LabVIEW的程序前面板就是用户实验界面如图2所示,它将被嵌入到Lab Server。

图2 实验监控前面板Fig.2 The front panel of experiment monitor program

另外Lab Sever还负责实时图像采集,利用USB摄像头采集图像,通过NI VISION进行处理传递给客户端,从而实现实验设备的远程监控。

实现远程单片机实验与基础的电子电路实验不同,除了需要搭建远程监控平台,还要实现单片机硬件程序的远程下载与更新。利用AVR单片机的IAP技术,在单片机Flash底层固化一个Bootloader程序,来引导远程传来的程序数据写入Flash应用区。Bootloader的核心代码如下:

另外还要对Bootloader进行加密,以防用户恶意损坏单片机。

客户端通过web浏览器操作界面打开编译好的hex文件,进行相应的操作就可以将程序远程下载至单片机,Lab Server指导程序下载的labVIEW程序框图如图3,并加入了CRC校验模块,保证程序下载正确。

IAP软件,即单片机程序在线下载模块,它是基于Xmodem协议编写的,利用LabVIEW与ATmega168串口通信发送程序代码。为保证在线下载过程的准确,IAP软件对每个数据包传输进行校验,并响应下位机CRC校验失败的重传请求。实验监控模块主要功能是实现客户与实验开发板的交互动作:实时采集实验现象传送给客户端;实现客户端对实验开发板的按键、电位器调节等操作。

3 实验开发板

实验开发板是主要的实验设备,其上控制器采用的是8位AVR微处理器ATmega168,该处理器具有先进的RISC结构,具有 16 k字节的系统内可编程 Flash,512字节的EEPROM,1 k字节的片内SRAM,具有独立锁定位的BootLoader存储区,具有六通道PWM,6路10位ADC和可编程USART接口[5]。ATmega168可以实现IAP的功能,即不需要程序下载线和专门的下载软件,在MCU自身的控制下,通过驻留于Flash存储器中的BootLoader程序从外界或内部获取代码,并将代码写入Flash的机制。正是单片机的IAP功能使通过Internet下载程序得以实现,并且IAP技术是未来仪器仪表的发展方向。该系统利用单片机的IAP功能,让用户可以通过网络实现单片机的程序远程下载。为实现IAP自编程,需要做两方面的准备:1)将单片机的USART与Lab Server串口相连,作为程序代码来源;2)将BootLoader程序写入到单片机的Boot区,控制程序写入。应用程序代码通过串口发给单片机,BootLoader把接收到的代码按页 (64个字为一页)写入 Flash[6]。

图3 IAP程序框图Fig.3 The block diagram of IAP

BootLoader程序从功能上可以分为两个部分:1)通信功能,通过某种通信管道(如USART)获取程序代码;2)烧写功能,将从外界获取的二进制代码写入Flash。BootLoader程序流程如图4所示。

图4 BootLoader程序流程图Fig.4 The flow chart of bootLoader

控制器外围配置了若干个基础实验电路来显示或响应单片机程序的运行状况。这些电路都是以模块形式设计,电位器、按键、开关等可操作器件都采用数字器件由辅助控制器AT89C51在现场控制。ATmega168的I/O接口经过多路复用器(如MAX4734)进行外设连接,这样每个外设的连接状态都是可以更改的,控制器每个I/O口都是可配置重复使用的,如图5所示,是I/O配置方式。这样用户在客户端可以根据自己的需要选取外设,远程搭建好所需电路。

图5 单片机I/O口配置方式Fig.5 I/O configuration of SCM

ATmega168外部晶振采用14.745 6 MHz,以精确串口数据传送。实验开发板配有多种外设,并通过多路复用器保留扩展接口。图6是开发板结构图。

4 实验客户端

实验客户端(Lab Client)是运行在网络终端的用户计算机。因为实验开发板的监控程序都由服务器承载和执行,并且提供了实验操作界面,任何连接在Internet上的PC机都可以使用浏览器登录到iLab网站注册登陆进行远程实验,不需要安装专门的客户端软件。

图6 开发板结构图Fig.6 The structure of development board

实验流程大致如下:用户注册成功后登录Service Broker服务器,选择进行单片机实验,进入实验操作界面(如图2所示),(用户可以用AVR Studio等软件编译自己的程序生成HEX文件)将HEX文件装载到下载对话框中,进行程序下载。程序下载成功后,就可以组建自己需要的实验电路了。首先根据操作界面上的指示断开所有I/O口的外设,然后根据自己的需要将I/O端口连接到特定的外设上。组建好电路之后,可以点击查看电路原理图,检查是否连接错误。最后点击运行让单片机重新复位运行程序,此时用户不仅可以观察到实时的实验现象,还可以通过界面上的控件和单片机进行串口通信,实验完成退出系统。另外如果用户占用实验资源超过预约时间也会自动退出,目的是防止造成资源浪费。

5 结 论

该系统有机结合了LabVIEW的DataSocket技术和单片机的IAP功能,成功实现了不受时空限制的远程单片机开发实验系统,为用户节省了购买硬件的费用。客户端的实验操作都是对远程实验室硬件的真实操作,用户可以体验到从电路搭建到程序下载运行等所有的真实过程。系统通过了测试,在学校范围内稳定运行。文中远程单片机实验系统的思想还可以应用在工业控制方面,实现对危险场所电子器械的实时控制和程序升级。

[1]李亚琭,唐祯安,丁晓红.模拟电子线路的远程实验室系统[J].仪器仪表学报,2002,23(S1):299-300.LIYa-lu, TANG Zhen-an, DING Xiao-hong.Remote laboratory system of analog electronic circuit[J].Chinese Journal of Scientific Instrument, 2002,23(S1):299-300.

[2]刘蕴红,高峰,王伟,等.网络实验室的构建及其在教学中的应用[J].微计算机信息,2009(6):128-130.LIU Yun-hong, GAO Feng, WANG Wei, et al.Construction of network laboratory and application in experiment teaching[J].Microcomputer Information, 2009(6):128-130.

[3]袁渊,何光普.基于DataSocket技术的多用户远程电子实验系统的设计[J].实验技术与管理,2005(11):61-65.YUAN Yuan,HE Guang-pu.The design of remote electronic experiment system for multi-user based on DataSocket[J].Experimental Technology and Management, 2005(11):61-65.

[4]毛顿,郭庆平.LabVIEW中用DataSocket技术实现网络化应用[J].现代电子技术,2002(3):70-71,85.MAO Dun,GUO Qing-ping.Implementing network Lab VIEW application with dataSocket[J].Modern Electronic Technique, 2002(3):70-71,85.

[5]Atmel Corporation.ATmega48/88/168 Datasheet[EB/OL].(2010).http://www.atmel.com.

[6]马潮.高档8位单片机Atmega128原理与开发应用指南[M].北京:北京航空大学出版社,2004.

猜你喜欢
开发板外设客户端
如何看待传统媒体新闻客户端的“断舍离”?
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
浅析单片机开发板的设计与制作
ARM宣布mbed Enabled Freescale FRDM—K64F开发板通过微软认证
Mouser为您呈上开发关键之STMicroelectronics Nucleo开发板
Arduino和Atmel发布Arduino Zero开发板
Microchip推出具备双ADC外设的全新器件,扩展其低成本8位PIC®单片机产品线
外设天地行情
外设天地行情