具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
图3为本发明用于PLC扩展的模拟量采集模块结构示意。
请参见图3,本发明提供的用于PLC扩展的模拟量采集模块包括主CPU 1、模拟量处理模块、可编程逻辑电路2、通信接口电路3以及电源模块4,所述可编程逻辑电路2实现主CPU 1和通信接口电路3的数据中转,其中,所述模拟量处理模块包括依次相连的电阻网络5、信号切换电路6、程控放大电路7、信号偏置电路8以及模数转换电路9;上述电路信号传递转换如下:多路模拟量信号首先进入电阻网络5抑制外部干扰信号进入;然后通过信号切换电路6选择一路输入信号并经程控放大电路7放大为同一量程信号后进入信号偏置电路8,信号偏置电路8根据偏置电压实现信号上移消去负极性信号后进入模数转换电路9;主CPU 1读取模数转换的结果,再通过可编程逻辑电路2把采集的信号量送往PLC主机模块。
下面将其中各个部分具体进行介绍:
1)电阻网络
请参见图4,电阻网络主要用于避免多路路模拟量之间的窜扰,并减少外部对模块的干扰或损坏。同时也减少对模拟量信号的驱动能力要求,有利于测量精度,并适应更多应用场合。外部模拟量信号以差分的形式进入电阻网络,提高其抗扰能力。
电路中8路交流模拟量信号以差分的形式进入电阻网络,差分信号有利于抗干扰。这里电阻网络采用的是厚膜网络,其功能类似于排阻,但比排阻可以更有效地制止模拟通道之间的串扰,以及抑制外部干扰进入模块内部,同时也降低对于模拟信号驱动能力的要求。模拟信号经过电阻网络后仍然以差分的形式进入信号切换电路,主要由多路开关构成。这里选用的多路开关是两路输出的适用于差分信号的切换。多路开关通过两个管脚以差分信号的形式输出,之后将进入程控放大电路。主CPU通过控制多路开关的管脚来切换信号,使多路开关的输出为8路模拟信号中的1路。其中,多路开关优选切换响应时间只有300ns左右的高速开关,以适合数据的高速采集。同时利用多路开关切换多路模拟量信号也节约了硬件成本,简化了电路设计。
2)信号切换电路
差分信号经过电阻网络后进入信号切换电路。信号采用一次只能采样1路,通过这种快速切换来实现多路信号的同步采样,这样可以简化电路节约成本。信号切换是通过主CPU控制多路开关来实现。这里选用响应速度很快的多路开关,这样可以避免信号切换时影响各路信号的波形,同时才能实现多路信号的高速采样。
3)程控放大电路
请参见图5,程控放大电路的主芯片为AD8250,为了适应更多的应用场合,模块需要实现不同量程的信号的测量,所以这里需要采用程控放大电路。这个电路通过主CPU控制程控放大器切换不同的放大倍数来实现,放大倍数有4种不同的档位,由AD8250芯片的第4,5脚的电平决定(4,5脚电平为00,对应第1档,01对应第2档,10对应第3档,11对应第4档)。信号切换电路输出的差分信号,通过程控放大电路将不同量程的信号转化为一个统一量程的信号。外部模拟量的输入信号通过AD8250芯片的第1,10脚送入,输入信号的量程可以有四档:±10V,±5V,±2V,±1V。输入的差分信号通过程控放大器放大以后变成单端信号从管脚7输出。
程控放大电路主要由程控放大器构成。程控放大电路用于量程切换,这样可以使本模块适用于不同大小的交流模拟量信号。外部模拟量的输入信号量程可以分成多档。电路中信号切换电路输出的差分信号进入程控放大器的输入管脚,之后输入信号经过放大为同一的量程后,再进入信号偏置电路。主CPU通过控制程控放大器的管脚4,5来切换量程,使程控放大器的输出为统一量程,输入信号为±10V,±5V,±2V,±1V等4种不同的类型,程控放大倍数分别为1,2,5,10。为了实现高速采样,所以这里的程控放大器需要很快的响应速度。程控放大器优选响应时间是1000ns左右的高速程控放大器。
4)信号偏置电路
请参见图6,程控放大电路所得的信号仍然是交流信号,所以存在正负。为了便于信号的模数转换,这里需要将交流信号向上偏移,消去信号的负极性。信号偏置电路就实现这个功能,这里利用一个高速大功率运放来实现。
信号偏置电路也是非常重要的一个电路。由于采用的AD芯片只能转换正的信号,而交流信号存在负的信号,所以需要将信号整体上移,以便去除信号的负极性,这样信号才能进入模数转换电路。
将信号上移,首先要一个稳定的偏置电压,这里偏置电压为2.5V,是通过2.5V的基准源输出,基准源的2.5V信号进入集成运放LM6644的管脚10,电压跟随信号从管脚8脚输出。由于偏置电压的稳定性对于采样的精度非常重要,所以不能简单利用跟随电路实现。为了增加偏置电压的驱动能力,通过两个三极管Q1(8050)、Q2(8550)组成的推挽电路,增加其驱动能力,最终基准电压2.5V输出信号(对应于图中的2.5V Out)信号驱动能力得到增强,这样当别的信号干扰到偏置电压时也不会出现明显的毛刺和纹波。这样对信号采集部分提供了高性能的信号偏置电压。
有了偏置电压后才可以对信号进行上移。这里采用差动放大电路来实现信号上移。另外,这里选用的运放为高速运放,响应时间为几十ns,这样以便于实现高速采样。
5)模数转换电路
模数转换就是将模拟信号转换成数字信号。为了达到较高的精度,这里采用16位的AD芯片。对于采样的速度,可以达到1M次/秒,就是1微秒就可以采样一次。AD芯片和主CPU之间采用并口连接,这样可以提高数据交换的速度。
信号偏置电路的输出就进入模数转换电路,这个电路主要由一块16位的AD芯片构成,这个芯片一次模数转换只需1000ns,同时采用并行接口的方式和主CPU连接,这样以便于更快的读取转换结果,实现高速采样。
电路中AD芯片的模拟量输入管脚和信号偏置电路的输出连接。主CPU通过IO管脚控制AD芯片开始模数转换并判断转换是否结束,然后通过并行数据接口来读取AD芯片的转换数据。
6)主CPU
主CPU从AD芯片处获得采样数据,然后进行各种计算。兼顾速度和运算量的需求,这里采用ARM9芯片,并外扩flash和ram。
7)可编程逻辑电路
CPLD主要用于主CPU向外通信的中转。主CPU的串口传输速度比较慢,这里通过并口主CPU向可编程逻辑电路传输数据,可编程逻辑电路再以串口的方式高速往外传输数据。高速的通信接口才能实时地传输大量数据。
可编程逻辑电路主要用于主芯片和通信接口之间的数据中转,这样是为了实现更快的通信速率。整个电路由一块可编程逻辑芯片构成。由于主CPU自己不能实现快速的串行接口通信,所以通过可编程逻辑电路首先和主芯片之间通过并行接口连接,并行接口可以快速交换数据,然后再通过可编程逻辑电路和通信接口连接实现快速的串行接口通信。主CPU通过并行地址接口以及并行数据接口来控制传输数据,实现快速的串行数据通信。
8)通信接口电路
通信接口由一个磁隔离芯片构成。主要用于本模块和其他模块之间的隔离,这样确保本模块损坏时不会影响到模块外的产品。
通信接口电路是本模块和PLC主控制器交换数据的唯一通道。如果这个部分出现问题,则模块不能和和外界通信,便失去了模块所起的所有作用。所以设计的是否合理可靠十分重要。
由于通信接口电路会和外部的线路有电气关系,所以为了避免受外部的影响和干扰,同时也避免影响外部产品,通信接口电路由一块磁隔离芯片构成,磁隔离芯片两边使用的电源也是隔离的。这块磁隔离芯片带有4路隔离信号,3路用于输入,1路用于输出,以实现快速串行通信。
9)电源模块
电源部分主要用于供电给各个电路以及隔离部分的电路。
图7为本发明主程序流程示意图。
请参见图7,程序流程图主要包括以下部分:主芯片外设初始化、变量初始化、数据处理、通信处理。主芯片一上电之后首先进行各种外设,例如定时器、IO管脚等的初始化,接着进行各种变量的初始化,例如计算中所要的一些中间变量以及程序中需要的各种标志等。接着便不停地进行数据处理、通信处理,这是主程序中的循环。数据处理主要是根据当前模拟信号的采样情况进行相应的运算。通信处理是判断CPLD当前需要什么数据。
当然中间还要穿插两个中断:采样定时中断、通信中断。采样定时中断首先主CPU控制AD芯片采样当前的模拟量信号,然后再根据需要控制多路开关进行信号切换以及控制程控放大器进行量程的切换,并根据需要调整采样时间间隔。通信中断主要是根据CPLD当前的需求进行数据传输。
图8为本发明数据处理流程示意图。
请参见图8,数据处理是模块的软件部分中最主要的一部分。数据处理的流程中首先判断是否需要数据处理,如果需要则开始计算各种参数(有效值、频率等)并进行校准和软件滤波。
图9为本发明通信处理流程示意图。
请参见图9,通信处理的流程中首先判断是否接收完一帧,如果接收完一帧则进行数据校验,如果数据没有错误则根据通信内容准备需要发送的数据,然后发送第一个字节,其余字节在通信中断中发送。
图10为本发明采样定时中断流程示意图。
请参见图10,进入采用定时中断后,首先采样当前交流模拟量,然后根据需要进行信号切换以及根据需要进行量程切换,并且根据需要调整采样时间间隔。同时还要采样偏置电压,以确保测量的精度。
图11为本发明通信中断处理流程示意图。
请参见图11,在通信中断中,首先判断是接收还是发送中断。如果是接收,则保存接收到的数据,同时接收的数据个数加1。如果是发送则先判断当前发送的是不是最后一个字节,如果是则发送结束,关闭发送中断,如果不是则发送下一个字节,并将发送数据的个数加1。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。