基于DSP和CAN总线的数据采集与处理系统
扫描二维码
随时随地手机看文章
引言
随着计算机技术&通信技术和电子技术的迅猛发展,电力系统自动化程度也日益提高,通过现场总线技术和数字信号处理技术的应用提高了电力系统的可靠性和可维护性。本文将TMS320LF2407A芯片和CAN总线等技术应用于电力系统的数据采集中,基于对转换时间和转换精度的考虑,本系统还采用了ADS7684作为模数转换芯片。ADS7684是TI公司推出的专为高速同步数据采集系统设计的高速6通道同步采样、12位的模/数转换芯片。将ADS7684与TMS320LF2407A芯片构成数据采集部分,是一个较好的数据采集方案。该系统可以快捷地实现对电压、电流、功率、功率因数和频率等重要的电力参数进行实时检测,处理和传输。
1 系统结构
基于现场总线的电力系统数据采集系统由数据采集模块、CAN总线、工控机(IPC)3部分组成,其系统结构如图1所示。
其中数据采集模块采集现场数据,直接面向生产过程;工控机主要功能是通过现场总线网络对数据采集模块的参数进行设置,实时获取数据采集模块的数据和信息,以及显示、数据分析和完成报表等功能;CAN总线部分主要由CAN总线适配卡、通信介质和相应软件构成。
图1 系统结构图
2 系统硬件设计
三相电压、三相电流模拟信号先输入到信号调理电路,输出的双极性信号进入A/D转换专用芯片ADS7864电路,数据信号经过电平匹配后传入DSP。该系统还包括开关量输入电路、开关量输出电路、时钟、电源和CAN接口等电路。如图2所示。
图2 硬件总体框图
2。1TMS320LF2407A的主要特点
美国德州仪器公司生产的TMS320LF2407A芯片将实时信号处理能力和控制器外设功能集于一身,特别适合于工业控制应用。内核采用哈佛结构,运算速度快,最高可达40MIPS的执行速度。具有丰富的通用输入、输出引脚。该芯片供电电压为3.3V,降低了控制器的功耗;还提供了符合CAN2.0B规范要求的CAN通信模块;一个16位的同步串行外围接口(SPI)和串行通信接口(SCI)模块;具有低成本、低功耗、高速运算能力和高性能处理能力等优点,因此该DSP芯片可以满足此系统要求。
2.2 采集模块电路设计
该部分电路采用ADS7684作为A/D转换芯片,ADS7684是一种高速、低功耗、六通道、同时采样保证无失码的双12位A/D转换器。主要应用于电机控制,三相电源控制等领域。信号调理部分采用互感器对电网信号进行隔离变化,所选用的是电流型互感器,既可测电压也可测电流,输入、输出额定电流6mA/6mA再采用普通运算放大器LM324构成电流电压转换器#运放工作在放大状态,输出-5~+5V信号.从调理部分得到的双极性模拟信号经过运算放大器OPA340组成的转换电路变成0~5V的输入信号,接入ADS7864的+IN和-IN端子,如图3所示。
图3 双极性输入转换电路
ADS7684使用独立的8MHZ有源时钟,由5V电源供电。TMS320LF2407A供电电压是3.3V,而ADS7864供电电压是5V,所以二者接口需电平转换,ADS7864的16位数据线经过SN74LVTH16245A电压转换芯片再与DSP相连,片选信号CS和读信号RD分别由2407A的外部I/O空间选通信号CS和读信号RD经电平匹配模块引入,它的A/D转换结束标志信号BUSY同样须经电平匹配模块引到2407A的XINT1。ADS7864同时采到6路输入信号并将它们保存在保持寄存器,然后顺序启动转换,将转换的结果分别存放在6个寄存器中,转换完后发出BUSY中断信号,DSP响应中断,顺序读出转换结果,然后再进行下一次采样、转换。
2.3 通信模块电路设计
目前电力系统的分布式监控系统几乎都是基于RS-485构建的网络,采用半双工的电气协议,这种机制使得在构建复杂工业现场的实时监控网络时存在不足,可靠性低,系统故障隔离能力差。在本设计方案中采用了CAN总线技术。该总线技术具有独特的机制,其主要有以下几个优点:网络节点不分主动主从;采用非破坏总线仲裁;支持竞争;传输距离远;通信速度较高(最大1Mbit/s);组网灵活;其报文采用短帧结构,传输时间短,受干扰小,具有自己的协议等;所以现场总线CAN以其自身的优点有效支持分布式控制系统或成为实时控制的串行通信网络。
TMS320LF2407A内带CAN控制器,使整个电路的外围设计简单化,可靠性也得到提高。考虑到CAN 总线数据传输的高速率和抗干扰性,CAN通信方案做了如下几方面设计:DSP的CANRX和CANTX先通过74LVC04A进行3.3V与5V的电平匹配,然后再通过高速光隔TLP113与TJA1050连接,实现了总线的电气隔离;采用了TJA1050作为驱动器代替以往的82C250,TJA1050的优点是完全符合ISO11898标准;高速率最高达1 Mbit/s;电磁抗干扰性能好;不上电的节点不会对总线造成扰动;输出驱动器受到温度保护;至少可以连接110个节点。数字电源VCC和GND是用小功率隔离模块DC/DC进行一次隔离后得到的。增加了通信的抗干扰能力。CAN通信接口电路如图4所示。
3 系统软件设计
本系统的软件在CCS2000的开发环境下编辑、调试的,采用C2000 DSP汇编语言和C语言混合编程。软件采用模块化的开发思想使得模块的调用简洁方便。与硬件两部分相对应,其软件功能划分为采样和通信两个环节。
3.1 采样环节
ADS7864 含有两个可以同时工作的12位A/D转换器,其3个保持信号选择输入的多路开关并且启动A/D转换。这3个保持信号同时有效就可以同时保持6路输入信号,转换的数据分别存放在6个寄存器中。ADS7864的BUSY端接到DSP 的XINT1端,ADS7864把数据转换完成后发出中断请求信号,DSPC相应中断,进入中断服务程序,读取数据。一次读到16位信息,其中DB15表明数据的有效性(高电平有效),DB14,DB13,DB12表示哪个通道,DB11~DB00为该通道的转换的结果。地址/模式信号(A0,A1,A2)选择数据读取数据的方式,本系统设置为全“1”,即采用先入先出方式。根据电路编写程序,程序流程图如图5所示。
图4 CAN通信接口电路
图5 采样模块程序流程图
3.2 通信环节
在使用CAN控制器之前首先必须对它的内部寄存器进行初始化设置。包括相关I/O口、位定时器以及邮箱的相关设置。第1步即为正确配置两个引脚CANTX和CANRX,因为这两个I/O口均为复用口。第2步初始化位定时器:位定时器主要由BCR1和BCR2这两个寄存器组成,包括CAN控制器的通讯波特率、同步跳转宽度、采样次数和重同步方式。第3步初始化邮箱:邮箱初始化主要是设置邮箱的标识符、控制域以及对相应的邮箱赋初值。以下是寄存器初始化的部分原代码:
* MCRB= * MCRB|0X0C0;设置IOPC6和IOPC7为CANNRX,CANTX
* CANIFR=0XFFFF;清除全部CAN中断标志
* CANLAM1H=0X601F;设置邮箱2屏蔽ID寄存器
* CANLAM1L=0XFFFF;
* CANMCR=0X1000; 配置主控制寄存器改变请求
while( * CANGSR&0X0010==0 )continue;等待允许对配置寄存器进行写操作
* CANBCR2=0X03;设置波特率
* CANBCR1=0X05E;
* CANMCR= * CANMCR&am
p;0XEFFF;
while( * CANGSR&0X0010!=0)continue; 当cee=0时"配置成功
* CANMDER=0X040;邮箱2为接收方式,邮箱3为发送方式
* CANMCR=0X0480;数据字节次序;设置自动恢复总线位
* CANMDER=0X4C;配置邮箱方向;使能邮箱,可以接收和发送了
* CANIMR=0XF7FF;设置中断,使能邮箱2,不使能邮箱3
* CANIFR=0XFFFF;清全部中断标志
数据的发送与接收:当完成以上3步之后,接着就实现对数据的发送与接收请求.数据的接收,采用中断方式接收CAN信息,而且所接收到的信息标识符必须与相应的接受邮箱的标识符相同才能被接收,否则被滤除.
4 结束语
本文将DSP和CAN总线等技术应用在电力系统模拟量采集和测量中,详细阐述了实际应用中的模数转换和CAN接口电路.该系统的数据采集的速度和精度使电压、电流和功率等基本遥测量的采集、计算、分析更为快捷,CAN通信符合现场要求,在实际应用中取得良好的效果,也为相关的电力系统中的电量检测提供了一定的参考。