APP下载

基于物联网的GPIB通信卡设计

2016-12-26谭建宇严小明

电子科技 2016年12期
关键词:传输层寄存器中断

谭建宇,谢 明,严小明

(上海理工大学 光电信息与计算机工程学院,上海 200093)



基于物联网的GPIB通信卡设计

谭建宇,谢 明,严小明

(上海理工大学 光电信息与计算机工程学院,上海 200093)

针对自动测量系统中GPIB总线系统为有线连接,在应用环境上有距离、空间的限制,基于物联网思想,设计了一种基于LPC1768的WiFi-GPIB通信接口卡实现无线通信。硬件设计上,基于NAT9914设计GPIB接口电路。软件设计上,GPIB接口功能采用中断处理的方法设计实现;针对UDP协议可靠性的欠缺,WiFi通信功能利用基于Scoket编程的RUDP协议实现。实验表明,该通信卡在特殊环境下亦有良好实时性和可靠性。

WiFi-GPIB通信卡;WiFi;LPC1768;RUDP

GPIB总线具有出色的可靠性、实时性、稳定性与强大的SCPI指令兼容性,在自动测量系统中应用广泛。但GPIB接口线为有线连接,在特殊环境中不能方便使用实现对仪器资源的共享与远程监控。本文基于物联网思想在程控仪器的GPIB通信接口卡中加入射频模块扩展为WiFi接口,通过无线WiFi将仪器接入局域网中,实现中近距离的实时监控[1-3]。

1 硬件设计

测量系统有着数据吞吐量大和传输速率要求较高的特点,故设计的MCU选用LPC1768。LPC1768为NXP公司推出针对工业网络白色家电、电机控制等应用的Cortex-M3内核单片机。该单片机具有512 kB 的Flash 存储器、64 kB 的数据存储器、以太网MAC接口,操作频率可达100 MHz。

通信卡的主要硬件电路包括:复位电路、串口下载电路、GPIB模块、WiFi模块和电源模块等。WiFi射频模块TLN13UA06与GPIB模块分别位LPC1768对端,经LPC1768数据处理实现转换通信。复位电路主要是用于LPC1768的硬件复位,GPIB模块与WiFi模块采用软件复位,串口电路设计为程序下载用。电源模块有两路输出, 供电给LPC1768、WiFi模块,5 V电源给GPIB模块供电。

图1 通信卡硬件结构框图

1.1 GPIB接口硬件设计

考虑到资料获取和实现的难易程度,GPIB模块选用NAT9914芯片辅助实现GPIB协议。外围电路配合选用了TI公司开发的配套专用接口芯片SN75160和SN75162。SN75160为数据三态缓冲器。SN75162为控制信号三态缓冲器,两者配合NAT9914可完成数据流与控制信号流的控制。

GPIB接口电路如图2所示。NAT9914的D0~D7为数据接口,与LPC1768的作为数据总线的I/O口相接。NAT9914时钟输入脚CLK接I/O输出口,由LPC1768提供时钟频率信号。INT引脚为NAT9914的中断输出脚,接LPC1768的I/O输入口进行中断监测。其余控制引脚如寄存器选择引脚RS2~RS0等则分别由LPC1768的I/O输出口进行控制。

图2 GPIB接口电路

1.2 WiFi接口硬件设计

WiFi模块选用射频模块TLN13UA06扩展为WiFi接口。

2 GPIB接口软件设计

GPIB的接口软件设计包括:NAT9914读,写时序的实现;GPIB接口功能的实现。

NAT9914读,写时序的实现实则是LPC1768对NAT9914的19个寄存器的操作,包括11个自读寄存器和8个只写寄存器[4]。只读寄存器用于保存接受GPIB母线的报文和记录NAT9914的当前状态。只写寄存器用于写入命令对NAT9914控制和向GPIB母线传送消息,每个寄存器都有各自不同的功能[5]。

本文设计的通信卡只需满足GPIB系统中主从机之间的基本通信、服务请求与相应处理,故只实现6种GPIB接口功能:T/SH功能、L/AH功能、SR功能、PP功能。

在通信卡上电后,LPC1768对NAT9914进行初始化设置,包括有时钟频率设置、接发中断模式设置、GPIB地址设置、串询回应设置、接口延迟设置等。待初始化完成后,LPC1768才进入了中断等待状态。对应的NAT9914中断处理即GPIB接口功能的实现。

T/SH功能实如下:(1)在需要发送一段报文时,请求主机并等待被主机寻址;(2)主机寻址通信卡,中断触发,LPC1768读取NAT9914的中断寄存器(ISR0、ISR1、ISR2)和地址状态寄存器ADSR判断当前状态,若为讲状态就进入T/SH功能;(3)读取中断状态ISR0寄存器判断出寄存器CDOR是否为空,若不为空,则等待GPIB总线读取CDOR中的报文,若为空则下一步;(4)将报文写入CDOR中;(5)重复步骤(3)和步骤(4)步直至报文发送完毕,发送EOS(End of String)并返回中断等待状态。

3 WiFi接口软件设计

3.1 RUDP协议

WiFi通信IEEE-802标准规定的TCP/IP协议是一个大的协议族的统称[6],表1列出了在TCP/IP分层模型[7]中各常用协议的位置。

表1 TCP/IP分层模型

工业通信无需兼容TCP/IP协议族的所有协议,只需实现其中部分协议即可,下面就传输层协议的选择实现进行叙述。

表中可见在传输层协议中,有TCP协议和UDP协议。TCP协议可靠性高但效率过低,UDP协议效率高但可靠性欠佳。故本设计考虑在传输层选用UDP协议基础上,在应用层和传输层中加入RUDP协议以满足可靠性要求[8-9]。

RUDP协议需实现的主要功能如下:(1)基于消息的收发功能,基于消息的收发功能,RUDP的传输层采用UDP协议,因而其能向应用层提供基于消息的面向连接的可靠数据传递业务;(2)确定延迟功能,类似TCP协议中的推迟确认技术,可显著降低网络流量,提高效率;(3)选择性确认功能,用于提示发送方快速重发数据包,提高网络带宽利用率;(4)滑动窗口功能,包括窗口通告、发送窗口、接收窗口; (5)超时重发功能:类似TCP协议,保证数据包的可靠传递;(6)校验和功能,采用二进制反码求和算法校验。

3.2 RUDP协议的实现

基于Scoket编写RUDP协议程序,实现通信卡作为客户端与服务器端(上位机)通信[10-14]。程序中调用的库函数主要有:(1)scoket(int af,int type ,int potrol):分配套接口描述字及资源;(2)bind(int sockfd, const struct sockaddr *my_addr, socklen_t addrlen):将本地址与一套接口捆绑;(3)listen(SOCKET s, int backlog):创建套接口并监听申请的连接;(4)connect(SCOKET s, const struct sockaddr FAR* name, int namelen):与指定scoket建立连接;(5)accept(int sockfd, struct sockaddr *addr, cockle_t *addrlen):在一个套接口接受一个连接;(6)send(SOCKET s, const char FAR* buf,int len, int flags):向已连接的socket发送数据;(7)Receive(void* IpBuf,int nBufLen,int nFlags =0):从第一个入队列的数据包中解出数据,发到缓冲区中;(8)closesocket(SCOKET s):关闭一个套接口。

Scoket实现RUDP的编程模型如图3所示[15-16]。

图3 RUDP协议模型

4 测试与验证

实验设计利用笔记本电脑作为上位机,采集Agilent的34401万用表的数据以对测试通信卡进行数据采集。9组实验测试环境如下:(1)上位机与所监控对象万用表距离分别为40 m,50 m,60 m;(2)数据采集间距分别为400 ms,200 ms,100 ms;(3)一次实验采集时间为1 h;(4)万用表两表笔悬空,即采集0 电压。其中40 m距离,数据采集间隔为400 ms的实验中上位机采集到的实时数据表部分截图如图4所示。

图4 上位机采集的数据表图

对实验进行数据统计,统计结果如表2所示。

表2 实验统计结果

由表2可以看出,该通信卡在40 m范围内,采样间隔不少于200 ms的情况下,数据丢失率可控制在0.027%以下。

5 结束语

本文主要阐述了基于LPC1768的WiFi-GPIB通信卡的软硬件设计。实验结果证实通信卡在具有较好的可靠性与实时性,具有良好的实用价值。

[1] 钱志鸿,王义君.物联网技术与应用研究[J].电子学报,2012,40(5):1023-1029.

[2] 李志宇.物联网技术研究进展[J].计算机测量与控制,2012,20(6):1445-1448.

[3] 李春沅.GPIB及其应用[J].仪表技术,2001(4): 42-44.

[4] 张焕林,穆建成.基于GPIB技术的自动测试系统设计[J].微计算机信息,2005,21(5):165-166.

[5] Xiaoru H,Yudong G.Design and implemen-tation of the universal RS232-GPIB inter-face[C].Lanzhou: 8th International Con-ference on Electronic Measurement and Instru-ments,IEEE,2007.

[6] Weber R H.Internet of things-new security and privacy challenges[J].Computer Law & Security Review,2010,26(1):23-30.

[7] Fall Kevin R,Richard Stevens W. TCP/IP illustrated, volume 1:the protocols[M].New York:Addison Wesley, 2011.

[8] 周宏,柳长安,卢东昕.嵌入式实时系统中RUDP通信的设计与实现[J].计算机工程,2006,32(11):265-267.

[9] 赵福奎.RUD协议的形式化分析和研究[D].济南:山东大学,2013.

[10] 王学伟,赵乃武.IEEE488卡GPIB操作语句设计及在TurboC语言中的编程应用[J].电测与仪表,1996,33(11):23-26.

[11] 笪许燕.基于GPIB的自动测试系统组态软件的研究[D].合肥:合肥工业大学,2002.

[12] 王学伟,张未未,赵勇.USB-GPIB控制器及VISA函数库的设计[J].电子测量与仪器学报,2008,22(3):87-93.

[13] 张焕林,穆建成.基于GPIB技术的自动测试系统设计[J].微计算机信息,2005,21(5):165-166.

[14] 王继刚,顾国昌,徐立峰,等.可靠 UDP 数据传输协议的研究与设计[J].计算机工程与应用,2006,42(15):113-116.

[15] 赵飞,叶震.UDP协议与TCP协议的对比分析与可靠性改进[J].计算机技术与发展,2006,16(9): 219-221.

[16] 芦东昕,张华强,王陈.基于UDP的可靠数据传递技术研究[J].计算机工程,2003,29(22):62-63.

A Design of GPIB Converter Based on the Internet of Things

TAN Jianyu,XIE Ming,YAN Xiaoming

(School of Optical-Electrical and Computer Engineering,University of Shanghai for Science and Technology, Shanghai 20093, China)

In view of the length space limit of GPIB Interface cable in automatic measurement , referencing the Internet of things design a WiFi-GPIB converter card based on LPC1768 to realize wireless communication. On the hardware design, the GPIB interface circuit designed based on the NAT9914. On the software design, the design of functions of GPIB interface adopt the method of interrupt. And for the lack of reliability of UDP protocol, realize the RUDP protocol based on the Scoket programming. This card has great real-time reliability performance in special environment experiment.

WiFi-GPIB converter; WiFi; LPC1768; RUDP

10.16180/j.cnki.issn1007-7820.2016.12.014

2016- 02- 29

沪江基金资助项目(B1402/D1402)

谭建宇(1991-)男,硕士研究生。研究方向:电力电子技术。严小明(1991-),男,硕士研究生。研究方向:低压测试等。谢明(1973-),男,讲师。研究方向:新能源电能变换技术。

TN926+.24;TP273

A

1007-7820(2016)12-048-04

猜你喜欢

传输层寄存器中断
基于Python语言的网络传输层UDP协议攻击性行为研究
ZnO电子传输层在有机无机杂化钙钛矿太阳能电池中的应用
Lite寄存器模型的设计与实现
物联网无线通信传输层动态通道保障机制
基于物联网GIS的消防智能巡检系统设计与实现
跟踪导练(二)(5)
千里移防,卫勤保障不中断
分簇结构向量寄存器分配策略研究*
AT89C51与中断有关的寄存器功能表解
FPGA内嵌PowerPC的中断响应分析