论文部分内容阅读
【摘 要】设计及实现了基于远程网络的一种电路实验仪器。提出用低成本单片机来控制并运行电路实验,运用网络微控制器及融合开源嵌入式TCP/IP协议栈uIP实现网络通信功能,同时与远程LabVIEW 程序交互,以在线控制试验仪和获取真实实验结果数据,搭建了一种低成本网络虚拟电路实验仪器。
【关键词】虚拟电路实验;嵌入式;网络控制器;uIP协议栈
当前在远程实验室的构建中最常使用的方式是采用虚拟仪器技术,其概念是由美国国家仪器公司(NI)率先提出的,虚拟仪器技术,作为一种集成了硬件实验系统、虚拟现实技术、多媒体技术以及互联网技术等多种先进技术的综合平台,同时兼备了高效和灵活的开发特点,现已成为远程实验室构建中的首选方案。虚拟仪器技术采用软件系统LabVIEW,基于LabVIEW远程实验室的典型应用一般有两种模式:一种是实现虚拟仿真实验的共享,即软件共享;另一种是实现实时测控实验的共享,即硬件共享。所谓硬件共享,即客户端可以通过网络访问连接于服务器端的硬件实验设备(如数据采集卡、NI ELVIS综合实验平台、示波器、信号源等),并通过LabVIEW 程序控制硬件的动作、实时获取仪器的测量结果[1]。硬件共享模式更适合于基础电路实验设备的运用,让学生能在远程做实验时能获取到实际真实数据,对电路实验有更直观的认识。在硬件共享模式中的关键技术即实验设备的网络接入模块的实现和与LabVIEW的接口通信,如果采用NI数据采集设备和带有网络接入功能的测量器等则需很高的成本,接口实现也不灵活,为降低成本减少实验室设备采购经费,本文应用了亚信电子公司的嵌入式网络芯片设计实现了网络接入模块,可以灵活方便地完成远程电路虚拟实验仪器中的网络接入功能,大大减少远程实验电路硬件成本。
一、系统总体方案设计
系统总体分为两大部分,一部分由单片机搭建基本的电路实验控制系统,同时完成与远端服务器的命令交互;另一部分则完成网络通信,实现远端系统与实验系统的控制命令与网络协议之间的转换和数据传输。本系统基于RLC串联阶跃响应实验构造,实验电路部分由一片51内核的单片机STC89C52RC作为主控制器,利用内部定时计数器通过IO产生PWM波即输出不同频率的方波,给实验电路提供阶跃信号,并驱动下级的RLC串联实验电路;与此同时利用10位串行AD采集实验电路中电阻两端电压;阶跃电压在2.5伏到5伏之间,AD采集回来可得到完整的RLC串联电路的阶跃信号。此过程中主控单片机还控制多路继电器的开关来切换电路中不同参数的电阻电感或电容,这样来改变电路的时间常数得到不同的响应。网络接入模块则采用亚信电子公司的嵌入式网络芯片AX22001完成远端实验系统与本地实验电路间的网络通信,主要功能是与实验电路控制单片机进行串行通信,再把相应数据转换成网络数据包通过有线以太网络或无线WIFI网络传输到远端,同时也实现反向的转换传输。原理图如下图所示:
二、网络接入模块设计及实现
本系统技术难点在于低成本网络接入模块的实现,以下就是其详细设计;本设计采用亚信电子的AX22001芯片,AX22001是一款带有TCP/IP和802.11 WLAN MAC/基带的单芯片网络芯片,具有高效双CPU架构,内建TCP/IP加速器,符合802.11a/b/g规范的MAC/基带,高速以太网MAC及丰富的通信外围设备,它基于双CPU架构,利用MCPU运行应用程序及TCP/IP协议,WCPU则用于处理WLAN协议及以太网至WLAN封包格式的转换,内建的WLAN MAC及基带处理器兼容IEEE802.11a/b/g规范,支持802.11i安全特性及802.11e QOS功能同时支持基于AP的网络或Ad-Hoc对等网络[2]。利用此芯片可以方便灵活的把电路实验设备接入有线或无线局域网及互联网的远程实验应用。网络接入部分硬件电路及结构示意图如图所示。本接口除了主芯片AX22001外,辅助电路主要有电源模块、EEPROM配置电路和带网络变压器的RJ45接口等。AX22001的引脚大多数是功能复用的,有些是为系统功能配置引脚,所以通过一片EEPROM对其进行配置,上电时芯片硬件会自动读取EEPROM中的数据作为系统的初始化配置,如复用引脚功能的选择、MAC地址的设置、LOCAL BUS总线的设置等。接口中使用的EEPROM为1Kbit的AT24C01A,通过I2C总线接口和主芯片连接,EEPROM中前48个字节作为配置数据,剩余的空间作为系统保存其他设置。AX22001供电需要两种不同电源电压:3.3V的I/O电压和1.8V的内核电压。芯片内部集成了3.3V到1.8V的转换模块,因此只需要提供3.3V电压给芯片即可。片上1.8V的输出引脚VCC18需要通过一个1uF的电容接地再供给内核电压输入引脚VCCK。以太网接口部分主要利用以太网变压器和RJ45一体的接口模块10M/100M BASE-TX的HR901129A,差分发送引脚和差分接收引脚分别通过两个50欧的电阻和一个0.1uF的去耦电容接电源,以防止静电干扰和提高高频信号传输的可靠性[3]。若需要无线通信也可以连接射频芯片和天线实现WLAN通信。软件模块主要是对于网络数据的处理,包括对数据的解析或封包,其体系结构如下图,
AX22001集成了硬件TCP/IP卸载引擎,可以加速对网络数据包的处理速度,再利用精简的网络协议栈uIP[4]简化网络通信,提高网络带宽。具体实现包括了AX22001初始化、AX22001 TOE数据处理和uIP协议栈数据处理等部分。AX22001初始化主要完成芯片工作模式的设置、串口初始化、TCP/IP卸载引擎设置、uIP初始化以及外围端口的初始化;TOE数据处理即直接硬件对网络数据包进行处理,包括在数据链路层解包和封装Ethernet层协议、在网络层对IP报头解析、在传输层传送中校验和产生TCP报和UDP报校验和。通过这样处理了以太网层的协议和各层数据包的校验和,减轻了软件TCP/IP协议栈的工作;uIP协议栈数据处理即利用一个被广泛运用在8位和16位嵌入式系统中的小型TCP/IP协议栈uIP0.9,来实现将底层硬件驱动和顶层应用层之外的所有网络协议集打包在一个库中,协议栈通过接口与底层硬件和顶层应用间通信,通过这种方式完成串口通信数据与网络数据包之间的转换应用,主函数功能描述如下,
其中GS2E模块任务主要实现网络数据到串口数据的转换以及与远端LabVIEW间进行TCP通信接口,先指定网络端口,并建立TCP侦听器等待远端客户机的连接请求,当建立好连接后获取远端控制命令执行相应参数设置即继电器的切换,并获得实验结果数据按规定格式打包返回到远端LabVIEW。同时完成通信的点对点方式,并对实验电路满足互斥控制,即当多人远程共同实验时控制分时进行。
三、远端LabVIEW与实验电路系统的通信
远端LabVIEW前面板及后面板如下图所示,利用LabVIEW-TCP节点进行通信,并与实验电路网络接口指定的网络通信端口号一致就可正确通信。
四、结束语
本文基于远程网络设计与实现了RLC阶跃响应实验电路,实现了关键的网络接口功能并与远端LabVIEW进行数据交互与远程控制,获得较好实验效果,为建立低成本电路实验室提供了一种合理有效的解决方案。
参 考 文 献
[1]NI高校市场部.基于LabVIEW构建远程实验室技术指导书.2009(7)
[2]AX220xx_Datasheet_v102.http://www.asix.com.tw.2010
[3]Jobn Catsoulis.嵌入式硬件设计.2006(8)
[4]Adam Dunkels.uIP0.9 protocol stack.http://www.sics.se/~adam/uip/.2007
[5]雷振山,魏丽,赵晨光.LabVIEW高级编程与虚拟仪器工程应用[M].中国铁道出版社,2009(5)
基金项目:本文系湖北省教育厅科学技术研究计划指导性项目(B类)。
【关键词】虚拟电路实验;嵌入式;网络控制器;uIP协议栈
当前在远程实验室的构建中最常使用的方式是采用虚拟仪器技术,其概念是由美国国家仪器公司(NI)率先提出的,虚拟仪器技术,作为一种集成了硬件实验系统、虚拟现实技术、多媒体技术以及互联网技术等多种先进技术的综合平台,同时兼备了高效和灵活的开发特点,现已成为远程实验室构建中的首选方案。虚拟仪器技术采用软件系统LabVIEW,基于LabVIEW远程实验室的典型应用一般有两种模式:一种是实现虚拟仿真实验的共享,即软件共享;另一种是实现实时测控实验的共享,即硬件共享。所谓硬件共享,即客户端可以通过网络访问连接于服务器端的硬件实验设备(如数据采集卡、NI ELVIS综合实验平台、示波器、信号源等),并通过LabVIEW 程序控制硬件的动作、实时获取仪器的测量结果[1]。硬件共享模式更适合于基础电路实验设备的运用,让学生能在远程做实验时能获取到实际真实数据,对电路实验有更直观的认识。在硬件共享模式中的关键技术即实验设备的网络接入模块的实现和与LabVIEW的接口通信,如果采用NI数据采集设备和带有网络接入功能的测量器等则需很高的成本,接口实现也不灵活,为降低成本减少实验室设备采购经费,本文应用了亚信电子公司的嵌入式网络芯片设计实现了网络接入模块,可以灵活方便地完成远程电路虚拟实验仪器中的网络接入功能,大大减少远程实验电路硬件成本。
一、系统总体方案设计
系统总体分为两大部分,一部分由单片机搭建基本的电路实验控制系统,同时完成与远端服务器的命令交互;另一部分则完成网络通信,实现远端系统与实验系统的控制命令与网络协议之间的转换和数据传输。本系统基于RLC串联阶跃响应实验构造,实验电路部分由一片51内核的单片机STC89C52RC作为主控制器,利用内部定时计数器通过IO产生PWM波即输出不同频率的方波,给实验电路提供阶跃信号,并驱动下级的RLC串联实验电路;与此同时利用10位串行AD采集实验电路中电阻两端电压;阶跃电压在2.5伏到5伏之间,AD采集回来可得到完整的RLC串联电路的阶跃信号。此过程中主控单片机还控制多路继电器的开关来切换电路中不同参数的电阻电感或电容,这样来改变电路的时间常数得到不同的响应。网络接入模块则采用亚信电子公司的嵌入式网络芯片AX22001完成远端实验系统与本地实验电路间的网络通信,主要功能是与实验电路控制单片机进行串行通信,再把相应数据转换成网络数据包通过有线以太网络或无线WIFI网络传输到远端,同时也实现反向的转换传输。原理图如下图所示:
二、网络接入模块设计及实现
本系统技术难点在于低成本网络接入模块的实现,以下就是其详细设计;本设计采用亚信电子的AX22001芯片,AX22001是一款带有TCP/IP和802.11 WLAN MAC/基带的单芯片网络芯片,具有高效双CPU架构,内建TCP/IP加速器,符合802.11a/b/g规范的MAC/基带,高速以太网MAC及丰富的通信外围设备,它基于双CPU架构,利用MCPU运行应用程序及TCP/IP协议,WCPU则用于处理WLAN协议及以太网至WLAN封包格式的转换,内建的WLAN MAC及基带处理器兼容IEEE802.11a/b/g规范,支持802.11i安全特性及802.11e QOS功能同时支持基于AP的网络或Ad-Hoc对等网络[2]。利用此芯片可以方便灵活的把电路实验设备接入有线或无线局域网及互联网的远程实验应用。网络接入部分硬件电路及结构示意图如图所示。本接口除了主芯片AX22001外,辅助电路主要有电源模块、EEPROM配置电路和带网络变压器的RJ45接口等。AX22001的引脚大多数是功能复用的,有些是为系统功能配置引脚,所以通过一片EEPROM对其进行配置,上电时芯片硬件会自动读取EEPROM中的数据作为系统的初始化配置,如复用引脚功能的选择、MAC地址的设置、LOCAL BUS总线的设置等。接口中使用的EEPROM为1Kbit的AT24C01A,通过I2C总线接口和主芯片连接,EEPROM中前48个字节作为配置数据,剩余的空间作为系统保存其他设置。AX22001供电需要两种不同电源电压:3.3V的I/O电压和1.8V的内核电压。芯片内部集成了3.3V到1.8V的转换模块,因此只需要提供3.3V电压给芯片即可。片上1.8V的输出引脚VCC18需要通过一个1uF的电容接地再供给内核电压输入引脚VCCK。以太网接口部分主要利用以太网变压器和RJ45一体的接口模块10M/100M BASE-TX的HR901129A,差分发送引脚和差分接收引脚分别通过两个50欧的电阻和一个0.1uF的去耦电容接电源,以防止静电干扰和提高高频信号传输的可靠性[3]。若需要无线通信也可以连接射频芯片和天线实现WLAN通信。软件模块主要是对于网络数据的处理,包括对数据的解析或封包,其体系结构如下图,
AX22001集成了硬件TCP/IP卸载引擎,可以加速对网络数据包的处理速度,再利用精简的网络协议栈uIP[4]简化网络通信,提高网络带宽。具体实现包括了AX22001初始化、AX22001 TOE数据处理和uIP协议栈数据处理等部分。AX22001初始化主要完成芯片工作模式的设置、串口初始化、TCP/IP卸载引擎设置、uIP初始化以及外围端口的初始化;TOE数据处理即直接硬件对网络数据包进行处理,包括在数据链路层解包和封装Ethernet层协议、在网络层对IP报头解析、在传输层传送中校验和产生TCP报和UDP报校验和。通过这样处理了以太网层的协议和各层数据包的校验和,减轻了软件TCP/IP协议栈的工作;uIP协议栈数据处理即利用一个被广泛运用在8位和16位嵌入式系统中的小型TCP/IP协议栈uIP0.9,来实现将底层硬件驱动和顶层应用层之外的所有网络协议集打包在一个库中,协议栈通过接口与底层硬件和顶层应用间通信,通过这种方式完成串口通信数据与网络数据包之间的转换应用,主函数功能描述如下,
其中GS2E模块任务主要实现网络数据到串口数据的转换以及与远端LabVIEW间进行TCP通信接口,先指定网络端口,并建立TCP侦听器等待远端客户机的连接请求,当建立好连接后获取远端控制命令执行相应参数设置即继电器的切换,并获得实验结果数据按规定格式打包返回到远端LabVIEW。同时完成通信的点对点方式,并对实验电路满足互斥控制,即当多人远程共同实验时控制分时进行。
三、远端LabVIEW与实验电路系统的通信
远端LabVIEW前面板及后面板如下图所示,利用LabVIEW-TCP节点进行通信,并与实验电路网络接口指定的网络通信端口号一致就可正确通信。
四、结束语
本文基于远程网络设计与实现了RLC阶跃响应实验电路,实现了关键的网络接口功能并与远端LabVIEW进行数据交互与远程控制,获得较好实验效果,为建立低成本电路实验室提供了一种合理有效的解决方案。
参 考 文 献
[1]NI高校市场部.基于LabVIEW构建远程实验室技术指导书.2009(7)
[2]AX220xx_Datasheet_v102.http://www.asix.com.tw.2010
[3]Jobn Catsoulis.嵌入式硬件设计.2006(8)
[4]Adam Dunkels.uIP0.9 protocol stack.http://www.sics.se/~adam/uip/.2007
[5]雷振山,魏丽,赵晨光.LabVIEW高级编程与虚拟仪器工程应用[M].中国铁道出版社,2009(5)
基金项目:本文系湖北省教育厅科学技术研究计划指导性项目(B类)。