论基于CAN总线与以太网互联的实时温度和湿度监控系统的研究(2)
时间:2015-09-21 09:06 文章来源:http://www.lunwenbuluo.com 作者:论文部落 点击次数:
3软件设计软件设计的对象主要包括3部分:温度、湿度测控器的检测控制和CAN通信,CAN以太网通信转换,B/S平台。
3.1温度、湿度测控器的软件设计温度、湿度测控器的软件流程
它主要包括初始化子程序、CAN数据的接收和发送程序、显示程序、键盘扫描程序、控制程序。CAN数据的接收和发送对实时性要求比较高,故采用中断方式进行处理。微处理器PIC18F2580在程序开始首先要对CAN控制器模块进行初始化。主要通过测控器本身的地址标识的读取来对CAN控制器的过滤器和屏蔽器进行配置。屏蔽器用于确定标识符中的哪一位被过滤器检查,这样,一旦1条有效的信息被信息缓冲器MAB接收,信息的标识符区域将与过滤器值相比较,若相匹配,则信息将被装入接收缓冲器。微控制器收到CAN数据后,根据相应命令进行相应动作,如设置相应报警温度湿度、执行相应控制等,然后,做出相应的应答。
控制程序主要是通过串行接口对SHT10进行数据读取,并把读取数据与设定数据进行比较,运用bang-bang控制通过驱动电路控制中央空调,使得房间保持一定的温度和湿度。3.2CAN与以太网通信转换软件设计3.2.1LPC2378的CAN控制器与CAN总线间的数据传输LPC2378的CAN控制器带有1个完整的发送和接收缓冲器串行接口,它是1个双重接收缓冲器,有了这个双重的接收缓冲器,芯片可以在对1个报文进行处理时,可接收另一个报文,但它不含有验收滤波器。验收滤波器是独立的器件,它对所有CAN通道进行CAN标识符过滤。
数据从CAN控制器发送到CAN总线由CAN控制器自动完成。发送程序采用中断方式,中断方式发送程序分为发送主程序和中断服务程序。主程序用于控制信息的发送,中断服务程序负责发送临时存储区中的暂存信息。中断流程图见图5。
μC/OS-Ⅱ是一个包含时间管理、任务调度等基本功能的小型、轻量级的嵌入式实时操作系统的内核,而且LPC2378是基于ARMTDMI的ARM的内核,其内核与存储器结构都很适合操作系统的运行[6]。
以太网控制器采用uC/IP的协议栈,主要使用TCP/IP协议。TCP/IP是面向连接的协议,它在2个TCP之间创建1条虚连接,TCP在运输层使用流量控制和差错控制机制来保证数据的可靠性[7]。TCP提供全双工服务,即数据可在同一时间双向流动。控制器作为客户端发起连接。通过TCP/IP数据的收发中断见图6。
对于TCP数据包,LCP2378取出数据,并存入数据区,对数据进行相应分析后,通过CAN控制器发到CAN总线上,对于从CAN总线上接收的数据,同样存入相应数据区,将数据按照TCP/IP进行封装发送。
图6与以太网通信的中断方式的数据收发Fig.6DataexchangewithEthernetthroughInterruption4实验测试系统研制成功后,与多个带有32个节点CAN总线子网系统和以太网环境中进行测试。主要针对TCP/IP协议和CAN协议的数据通信实现对其性能和稳定性进行验证。图7所示为使用ZLGCANTest工具监测到的数据截图。
图7CAN总线数据截图Fig.7CANfieldbusscreenshot整个系统正式投入运行后,到目前为止已经投入运行半年时间,系统运行稳定,没有出现数据丢失或者由于总线冲突导致的节点自动脱离总线的现象。
5结论
(1)所设计的基于CAN总线与以太网互联的实时温度、湿度监控系统在某数据中心得到应用,系统中采用的底层使用CAN总线通信,中间层使用以太网通信,上层通过服务器与因特网连接,经过长时间的测试和运行,并与其他通信方式相比较,CAN总线通信方式稳定性良好,可靠性高。
(2)由于原数据中心测控装置分布较分散,房间数量多,导致房间温度、湿度控制不稳定甚至导致事故发生。采用该系统以后,不仅所有的房间温度、湿度可以乾地远程实时监控,而且整个测控系统的稳定性、准确性大大提高。
(3)实践证明,基于CAN总线与以太网互联的实时监控系统的系统是可行的,符合未来监控技术的发展趋势。另外,该系统也可以应用于其他需要实时监控的领域。