首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于LPC2294的泵舱信号转换电路设计

基于LPC2294的泵舱信号转换电路设计

摘要 提出了一种泵舱信号转换电路的设计,将船用泵的压力值通过压力传感器发送给控制芯片LPC2294。再经对数据的打包封装,通过以太网控制芯片将数据发送至以太网。此外还给出了转换电路的硬、软件设计流程,并经过测试实验证明其的有效性。该设计对于船用泵压力异常状态具有良好的预警作用,实现了船员的远程监控要求。
近年来,中国航海事业快速发展,船舶安全也日益成为倍受关注的问题。据统计,自上世纪80年代以来,爆燃和火灾造成的海难事故比重平均每年递增1%,在我国每年的海难事故近千起,其中因船舶起火和爆炸造成的损失约占10%,造成了重大经济损失和人员伤亡。
作为船舶的重要组成部分,泵舱内的各类船用泵的状态直接影响着船舶的正常运作,而船用泵的压力值则是各项船用泵状态参数中最具代表性的一种。借助于现代传感器技术的普遍应用,其能代替轮机员正确地实现对机舱中的主辅机等设备和各系统的巡视管理和控制。
本文提出一种基于LC2294处理器的泵舱信号转换电路,实现了对3路4~20 mA电流信号的采集处理,并将4~20 mA电流信号转化为0~1.6 MPa压力信号,当压力信号超过设定门限后进行压力超限光报警,转化误差≤0.01 MPa,同时将压力数据通过10/100 Mbit·s-1自适应双冗余以太网上传到上位机,数据发送频率≥5次/s。
1 信号转换电路设计
图1所示为本转换电路设计与实现的整体方案框图,其中LPC2294作为信号转换电路的主控制器,扩展了两个10/100 Mbit·s-1自适应网卡接口,以μC/OS-II实时操作系统作为控制平台。对TCP/IP协议栈进行裁剪与实现,并通过软件设计完成了对压力传感器的数据接收转换以及通过以太网进行数据发送。
基于LPC2294的泵舱信号转换电路设计
硬件电路设计主要有6部分:主控制电路、压力信号接收电路、模数转换电路、存储电路、以太网接口电路和辅助电路。
1.1 系统主控制器
本设计选用LPC2294处理器作为控制芯片。选择该芯片是因LPC2294具有超强功能、低功耗以及丰富的片上资源,并带有先进的验收滤波器,提供了系统的集成度和复杂度,保证了系统的稳定性。为确保系统对于堆栈和数据的存储,还外接了1 MB的16位SRAM存储器IS61WV1024 16BLL。SRAM存储器IS61LV102416BLL采用高性能CMOS技术,其具有低功耗,访问速度快,支持自动刷新和自刷新功能。
1.2 压力信号接收电路
为适应不同类型的压力传感器输出,本设计对每个传感器接口设置了两种接收电路并以跳线形式进行选择。压力传感器信号首先进入接收电路,将相应的电流信号转化为电压信号。在压力信号进行模数转换前,为了避免信号的相互干扰,保证测试设备和被测试设备的安全,需协调其之间的电位差,以提高共模抑制比,信号先经ISO124隔离运算放大器芯片,可将其他杂波干扰滤除,防止其在随后的模数转换过程中造成测量数据与实际真值的偏差。经ISO124的隔离净化,信号送入AD7888模数转换芯片将得到的模拟量转化为数字量。
1.3 模数转换电路
本设计中采用标准5 V电源对AD7888进行供电,并将已转换为电压形式的模拟压力信号分别送入模拟信号1~3引脚。由于LPC2294芯片的电平为3.3 V,而AD7888的电平为5 V。因此,LPC2294对AD7888的控制信号需要进行电平转换,这才能稳定的对AD7888进行控制。
设计中使用74LVC245进行电平转换,将来自LPC2294芯片的片选信号、时钟信号以及数据输入信号送入74LVC245,经电平转换后分别输入给AD7888。因LPC2294可承受5 V电压,所以将模数转换后的输出数据直接送入LPC2294的P0.28引脚。其具体电路如图2所示。
基于LPC2294的泵舱信号转换电路设计
1.4 以太网接口电路设计
以太网接口电路主要由DM9000E以太网控制器及HR601860网卡变压器组成。DM9000E是由Davicom公司设计的一款低功耗、高集成、高速以太网控制芯片,其可与CPU直接相连,并支持10/100 Mbit·s-1以太网连接,且接口支持8位、16为32位不同的处理器。系统设计为两个网口,一个主网口,另一个为冗余网口。系统中LPC2294与DM9000E采用16位总线方式进行控制连接,并将其设定在100 MHz全双工模式下。通过对LPC2294的CS2、CS3引脚进行控制以实现输出片选信号对两个网口进行选择。电路设计方面将CS2、CS3与74HC245的引脚A2、A1进行连接,并将74HC245B1、B2引脚分别与冗余网卡芯片及主网卡芯片的ANE引脚相连。再将两个DM9000E芯片的CMD引脚与LPC2294的A2相连。可将主网卡芯片和冗余网卡芯片的数据端口地址与索引端口地址分别配置成为0x83800000、0x83800004和0x83400000、0x83400004。DM9000E的物理层发送和接收端口TXO+、TXO-、RXI+、RXI-分别与HR601680的TPOUT+、TPOUT-、TPIN+、TPIN-相连。如图3所示。
基于LPC2294的泵舱信号转换电路设计
2 软件设计
系统在软件设计中主要进行了操作系统移植、TCP/IP的嵌入式开发环境实现及网络设备驱动程序开发等内容。由于传感器数据是一种少量实时数据,完整的TCP/IP在本系统中并不适用,所以对其进行裁剪来节省资源提高实时性。本部分主要对TCP/IP嵌入式开发环境实现与网络设备驱动程序开发进行简要说明,并对整体程序设计加以介绍。
2.1 系统相关数据报文结构
由于本系统主要是完成对泵组进行压力信息采集并通过以太网向上位机进行发送的过程,所以需处理的数据量较小,因此本泵舱信号转换系统采用自定义的UDP数据报文封装方式对所需传输的数据进行封装,并通过设定控制字来对不同功能的报文加以区分。
基于LPC2294的泵舱信号转换电路设计
图4为自定义UDP报文的具体封装,其中前4字节为固定帧头信息,用以表示本系统内的数据报信息。除此之外,前20 bit还包括双方IP地址、序列号等基本信息,余下20 bit后的内容才是监测数据信息。自定义UDP数据报文的数据域主要是由多个信息单元组成的,具体信息单元结构如图5所示。
基于LPC2294的泵舱信号转换电路设计
信息内容长度为8 bit,其中头6 bit分别以2 bit一组标识3组泵组压力的相关信息,每组信息包括泵组工作状态、通道工作状态以及泵组的实时压力数据,其余2 bit为保留字节。以前2 bit的信息结构为例,如图6所示。
基于LPC2294的泵舱信号转换电路设计
字节0的0~1位表示4种泵组工作状态:泵组未启动(00)、泵组启动(10)、通道未使用实时压力信息置0(10)、通道自检故障实时压力信息置0(11)。
字节0的2~3位表示4种通道工作状态:自检正常(00)、自检状态故障(01)、采集信息超限报警(10)、通道处于检修状态(11)。
其余12位信息表示泵组实时压力,其他3组泵组信息结构与其相同。
2.2 TCP/IP协议栈的裁剪与实现
TCP/IP是目前应用最广泛的网络传输协议,虽该协议并不符合国际标准化组织的制定标准,但其无疑是世界上用户最多的计算机网络协议。TCP/IP是一个4层的协议系统,每个层次均具有不同的协议,实现不同的通信功能。在嵌入式应用环境下,TCP/IP仍保持着该结构,只是在具体协议的实现过程中,根据功能需要进行了相应的调整,可以满足设计需要即可。嵌入式应用环境下的TCP/IP协议结构及各协议间的关系如图7所示。
基于LPC2294的泵舱信号转换电路设计
2.3 DM9000E驱动程序设计
作为以太网的控制器,以太网控制芯片DM9000E的工作就是对报文形式的封装和传输。具体的DM9000E驱动程序设计包括设备的初始化、发送程序设计和接收程序设计。作为以太网的控制器,DM9000E的工作就是负责上面介绍的报文形式的封装和传输。
对于DM9000E的初始化过程,首先调用预设的硬件初始化宏定义来完成各网口的硬复位,然后执行软复位的相关操作,如设置I/O模式、PHY寄存器及控制器工作状态等内容,并最终将MAC地址写入MAC寄存器并激活网卡,初始化过程完成。具体的软件设计流程如图8所示。
基于LPC2294的泵舱信号转换电路设计
当应用程序需经过网络传递数据时,DM9000E配置相关寄存器的信息,并调用函数进行发送。设计时,设定DM9000E对于每包数据发送的最大尝试次数为6,当超过该值时就将该数据报丢弃。且DM9000E还支持双缓冲区发送,能有效提高网络传输数据率。另外,为了提高发送数据的实时性,可使用中断方式启动发送函数,由上层协议来调度。
DM9000E的数据包接收驱动程序相对于发送较为复杂,在设计过程中将代码放在临界段,以防止在接收数据时程序意外中断而产生数据包错误等结果。而实现临界段代码的一个重要手段就是任务锁,当任务上锁之后该进程不允许中断,直至代码运行结束后解锁。若DM9000E顺利接收到数据包,需判断数据的位模式,以进行不同的处理后写入内部缓冲区,若数据长度及状态均符合要求,通过调用以太网收包函数进行下一步处理。
2.4 程序设计
信号转换电路的主要功能是将压力传感器的数据接收并封装经网卡芯片发送至以太网。系统使用μC/OS-II实时操作系统作为系统平台,通过裁剪、移植使其在LPC2294控制器上顺利运行。此外,系统中移植了TCP/IP协议的核心功能函数,并主要编写了5个任务函数,使其完成整个系统的核心功能,并通过μC/OS—II系统的任务调度管理机制来进行系统资源的分配。
基于LPC2294的泵舱信号转换电路设计
程序流程如图9所示。系统首先建立设备初始化任务TaskA(),该任务主要完成上电自检、网口断线自检、本机IP及两路网口等网关参数的初始化等。在完成上述工作后,创建4个子任务,按优先级由高到低依次为TaskB()、TaskC()、TaskD()、TaskE()。其中4个子任务的具体功能如下:
TaskB、TaskC:分别接收来自上位机的以太网报文,其中TaskB接受UDP报文,TaskC接收TCP报文,并完成上位机对本模块的参数设置,如IP地址,端口号报文发送方式(UDP或TCP)等。
TaskD:完成接收3路压力传感器数据,并按照规定的传输方式,将数据封装并发送到以太网。
TaskE:主要功能是定时发送特殊报文,如心跳报文、时统报文、工作状态请求报文及设备诊断信息报文等。
3 实验测试
针对本泵舱信号转换电路的验证,采用模块调试的方式。首先进行硬件电路板的调试,然后进行软件部分不同模块的驱动开发和系统调试。对于A/D模块调试,采用给A/D采样信道一个电压值,用ADS1.2软件仿真的方法查看转换结果是否与理论值相符。测试时给输入通道0输入3 V参考电压,理论满量程为0x03FF,仿真结果为0x000003FA,其与理论值符合度较高。而对于以太网通信的调试,调试工具选用Tcp& Udp测试工具软件以及网络协议分析器EtherPeek NX工具对数据报进行捕捉分析。首先需对相关参数进行设置,设定系统端口号为9211,上位机端口号为9210。系统采用C类IP地址,统一子网掩码255.255.255.0,网关地址设置为192.1.103.1。本系统的IP地址为192.1.10 3.67,上位机的IP地址为192.1.103.66。通过对上位机发送的模拟数据进行数据报捕捉,如图10所示,数据信息经由自定义UDP报头、UDP协议、IP协议及以太网协议依次封装进行传送,具体的压力信息数据在信息单元后8 bit显示出来,并通过对数据的解析可知晓3组泵处于启动状态并自检正常。通过测试,验证了以太网通信的良好性能。
基于LPC2294的泵舱信号转换电路设计
4 结束语
在对船舶安全关注度日益提高的前提下,本文提出一种船舶泵舱信号转换电路设计,该设计方便对船用泵的工作状态进行实时监测,以达到对异常状态的提前预警。设计以ARM7系列LPC2294为核心控制器,配合其他芯片实现了将压力传感器输出的压力数据通过网卡传送至以太网的通信功能。并通过实验验证了信号转换系统的可靠性。此外,针对自动化采集技术的误判问题,下一步的研究方向可将采集到的数据进行有效地数据融合,用以提高数据准确性,并减少误判的发生。
继承事业,薪火相传
返回列表