一种信息交换及高速传输的实现方法及其模块的制作方法_2

文档序号:8226058阅读:来源:国知局
并以此作为客户端所注册的ID号,同时将客户端信息抽象成结构体,作为链表节点插入服务器所维护的客户端信息链表。
[0025]2、注册之后,客户端申请与服务器建立TCP链接,准备交互数据。数据交互之后,服务端关掉链接。当服务端数据有所更新时,服务端会给所有在其上注册的客户端发送UDP数据包表示更新。之后重复此步操作。
[0026]3、当客户端关闭应用程序时,会向服务端进行注销,即发送UDP数据包表示注销,服务端接收到此报后进行解析,从维护的客户端信息链表中删除此客户端的节点。
[0027]根据实际情况的需求,将每个节点抽象称一个链表节点。维护数据文件使用链表数据结构。
[0028]服务器与客户端传递数据时,采用单连接模型,即每次传递新建一个TCP连接,月艮务器把数据全部发过去,客户端读取,读完之后关闭连接。服务器发送数据的时候要发送一个特殊的字符,这样客户端要遍历这个字符串把数据的名字剔除来,然后再要求服务器传此数据的文件内容。下载完成后,客户端断开连接,服务器等待下一次的连接。
[0029]服务端数据的更新必然要对客户端的数据进行更新,数据的更新必然要保证其可靠性,所以此处选择TCP协议。当客户端跟服务器建立连接时,即表明服务端数据有所更新,服务器会从链表维护本地数据库中查找出更新的数据,将数据逐一发送给客户端,采用多线程方法,创建专门的线程来处理每一个阻塞进程的socket函数,比如一个线程只执行函数accept等待并完成客户端的连接申请,另一个线程则执行函数recv等待客户端的信息发送,虽然每个线程都处于阻塞状态,但一旦某个socket描述符的状态发送变化时,它所在的线程都能在第一时间被激活并完成响应操作,这样使整个线程组中实现了 socket的并发处理。
[0030]为了使用方便,本发明设计了 64个传输接口,每个接口均可接不同的传感器,可以对温度、压力、流量等传感器的环境模拟量输出信号进行采集。为了节省硬件成本,多路传输接口共用一个模拟数字转换器,分时轮流进行数据采集。
[0031]实际使用过程中,只要在确定端口连接的传感器类型、量程等参数后,通过上位机进行参数配置,即可进行数据采集工作。数据采集采用开环系统,在对多种类型的数据进行采集时,为了保证数据采集的通用性,采用整流器将各种传感器输出的模拟电信号均转换为恒定的电流信号,然后通过采样电阻进行电压采样,接下来通过接口选择器进行轮询,在某一时刻只允许某一个传输接口的模拟量被采样保持,再经过模拟数字转换后传送到显示器显示采样结果或通过串行接口发送采样数据。
[0032]在硬件设计环节,每路传输接口的硬件结构完全相同,在软件设计时,可以根据所需采集的不同数据类型和数量,合理分配传输接口,配置相关参数,并编制相应的数据采集和处理程序。
[0033]将各种类型及不同量程的传感器通过相应的整流器将输出信号统一成恒定的电流信号,首先是考虑到采样端口的通用性,这样使传感器经整流器后的输出信号可以和任意数据采集端口相连,其次,当传感器与服务器距离较远时,涉及到信号传输问题,如果传感器的输出是电压信号,长距离的导线传输会引起原始信号的衰减,导致数据采集错误,尤其是在工业应用场合,还容易受到外界干扰,因此整流器的采用可以提高系统的稳定性和端口的通用性。
[0034]由于多路数据传输接口共用一个模拟数字转换器,采用分时轮流采集的方式进行模拟数字转换,每次模拟数字转换及数据处理时间约为10ms,因此,每一路数据传输接口的数据采集频率最高可达100Hz,可满足常用的温度、压力、流量等中低频变化的物理量数据采集要求。
[0035]1.远程数据处理服务器的设计
[0036]远程数据处理服务器的功耗很小,但是为了进一步提高系统的可靠性,在进一步的实施例中为其增设了一台UPS电源。所述远程数据处理服务器与各传输接口交互并采集数据的同时,还负责完成本地人机界面交互以及与多个客户端进行数据通信,各传输接口负责与相应的传感器通信;服务器与多个传输接口通过四条线采用一对多的方式进行连接,分别是数据信号线、同步信号线、中断信号线和地线;当需要交互数据时,首先将中断信号线上的电平拉低并保持足够长的时间后再将其拉回高电平,即发出一个外部中断信号,所有传输接口接收到这个外部中断信号后,转入自己的外部中断处理过程,然后处理模块与各传输接口通过数据信号线和同步信号线进行数据交互;
[0037]所述数据交互过程包括:1、服务器先将欲访问的传输接口的地址码以一个字节发送出去,只有与该地址对应的传输接口才会发回响应,其他传输接口退出中断处理过程;2、若接收到传输接口的响应,则继续将其他数据发往该传输接口 ;3、若所发数据要求传输接口返回数据,则在发送完数据之后马上转入数据接收状态;而传输接口将数据发送给服务器后结束本次数据交互过程。
[0038]采用这样的连接方式就使得传输接口可以非常灵活地进行扩展,不论传输接口采用何种类型的MCU来实现,只要其符合相应的接口时序和数据帧规范即可。
[0039]2.传感器网络和数据接口类型
[0040]传输接口通过连接特定类型的接口电路实现特定的数据传输方式,接口电路可以是RS232、蓝牙、GPRS等类型。根据接口电路类型的不同,传输接口有时只能对应一个传感器网络,如RS232传输接口 ;有时却可以同时对应多个传感器网络,如蓝牙、CAN等传输接口。这些传感器网络的接口电路和相应传输接口的接口电路必须同类型。传感器网络除了要和传输接口进行数据交互以外,同时还具有传感器数据采集功能、人机交互接口和与其他MCU进行交互的接口。
[0041]对于传输接口来说,由于接收服务器发来的指令并做出响应具有最高的优先级,一定要保证这一功能的实时性要求,故而将这一功能的实现放在了单片机的外部中断服务程序中去完成,这个中断的触发是由处理模块的特定引脚完成。而获取最新传感器网络信息并与之交互数据这一功能具有周期性的特点,故将其放在了单片机的2Hz定时中断服务程序中。主程序比较简单,在完成硬件的初始化工作之后,只需将外部中断和相应的定时器中断打开即可。接口电路采用了无线串口传输方式。
[0042]本发明在硬件设计上,主控芯片采用基于增强型精简指令集结构的低功耗8位CMOS微控制器。片内集成了 16KB的Flash程序存储器、IK字节的SRAM、512字节的EEPROM ;32个通用工作寄存器;2个8位的定时器;UART通用串行接口 ;SPI同步串行接口以及片内模拟比较器;且片内具有可编程看门狗定时器,具有很好的抗干扰能力。
[0043]模拟数字转换器采用10位的逐次逼近型ADC,用于进行模拟量到数字量的转换。ADC包括一个采样保持电路,以确保在转换过程中输入到ADC的电压保持恒定。ADC的参考电压源VREF反映了 ADC的转换范围。片内的2.56V参考电压通过内部放大器产生。由于VREF的阻抗很高,因此只能连接容性负载,基准电压可以通过在外接引脚上增加一个电容进行解耦,以更好地提高参考电压的抗噪性。
[0044]系统采用片内2.56V基准电压作为VREF,各个接口均采用100 Ω的精密电阻作为采样电阻,采样分辨率为2.5mv。实际测量过程中,例如针对量程为O?100°C温度传感器进行采样时,输出电流4?20mA,对应的采样电压为400?2000mv。
[0045]为了节省硬件管脚资源,接口选择器由一片3输入8输出译码器芯片和8个模拟开关芯片组成。每个模拟开关芯片为8路模拟开关,可选通8路传输接口。8片模拟开关采用并联方式,通过单片机编程,将模拟开关的选通信号和译码器产生的片选信号相结合,便可对多路传输接口进行选择。
[0046]在人机交互环节,用户将选用的传感器类型、量程以及该传感器占用的传输接口等信息通过上位机传递给数据远程数据处理服务器,服务器则根据相应信息进行数据采集和数据处理后将结果发送给上位机或直接进行显示。除
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1