SCADA系统中交流采样器设计

[11-20 17:13:54]   来源:http://www.88dzw.com  嵌入式系统   阅读:8181

文章摘要:(2)SN74ALVCl64245的1DIR、2DIR接LF2407A的19脚W/R,DSP写时W/R=DIR-4245=1。ALVCl64245的数据从A到B;DSP读时W/R=DIR-4245=0,ALVCl64245的数据从B到A;(3)SN74ALVCl64245的A端数据线接DSP的数据线,B端接MAXl25的数据线。 1.4 A/D转换电路设计 为实现高精度的交流采样,本系统的ADC选用MAXIM公司的14位MAXl25CEAX。有关该芯片的资料参见文献[6],图4为具体应用电路。(1)CHlA~CH4A、CHlB~CH4B分别接PT/CT(电压/电流互感器)调理电路的输出电压。

SCADA系统中交流采样器设计,标签:嵌入式系统开发,嵌入式开发,http://www.88dzw.com

(2)SN74ALVCl64245的1DIR、2DIR接LF2407A的19脚W/R,DSP写时W/R=DIR-4245=1。ALVCl64245的数据从A到B;DSP读时W/R=DIR-4245=0,ALVCl64245的数据从B到A;

(3)SN74ALVCl64245的A端数据线接DSP的数据线,B端接MAXl25的数据线。

 

1.4 A/D转换电路设计 


为实现高精度的交流采样,本系统的ADC选用MAXIM公司的14位MAXl25CEAX。有关该芯片的资料参见文献[6],图4为具体应用电路。

(1)CHlA~CH4A、CHlB~CH4B分别接PT/CT(电压/电流互感器)调理电路的输出电压。DO~D13接电平转移器件的5V数据线,经电平转移后接DSP的D0~D13。

(2)DSP的IOPF6直接接MAXl25的CONVST端,IOPF6端发一个正脉冲启动一次A/D转换。转换结束时,MAXl25的INT端输出低电平,通过5V—3V电平转移电路接到DSP的IOPA2(XINn)脚,程序查询IOPA2(ⅪNT1)是否为低电平,为低则读取转换结果。

(3)DSP的IS脚直接接MAXl25的CS端.DSP将MAXl25视为一个I/O端口,用端口指令访问。DSP的电平可以直接驱动MAXl25的控制端。

下面是对MAXl25操作的DSP C语言实例。

(1)写命令到MAXl25

outport(MAXl25,0x03);//input Mux A/Four—Channel

(2)发出启动MAXl25进行A/D转换的脉冲

MAXl25CONV_HIGH;//IOPF6=1

MAXl25CONV_LOW;//需要大于30ns的负脉冲

MAXl25CONV_HIGH;//上升沿启动转换

(3)查询IOPA2(ⅪNT1)是否为低电平(转换完成)

while(*PADATDIR&0X0004)

    {KICKDOG;}

(4)读转换结果

 for(i=0;i <4;i++)//read result about Ila、Va、Ib、Vb

 {

    ADC_Result[i]=portl;

    Ch_RealData[i][Dots_Index]=(ADC—Result[i ]<<2)/4;

    //14 bits dala change to 16 hits data}

1.5 CAN总线接口电路设计 


 LP2407A集成了CAN控制器,扩展一片CAN收发器就构成了CAN接口电路。收发器选用Philips公司的P82C250,具体电路如图5。

 

P82C250是5V电源供电,与LF2407A连接要加电平转移电路。R301、D301完成3.3V电平向5V电平转移;R302、R303完成5V电平向3.3V电平转移。

其他如串口扩展电路、SRAM扩展电路、液晶扩展电路等为通用电路.在此不做阐述。

2软件设计 

2.1嵌入式软件设计思想 

 借鉴Windows编程中基于消息驱动的思想,在嵌入式软件中引入基于消息的处理方泫。嵌入式系统的消息可以分为:键盘输入命令、系统接口电路产生的状态信息(如报警、越限等)以及上位机命令。消息的接收采用中断方式,确保消息可靠及时的接收;时间要求非常苛刻的消息,如电机保护,在中断直接处理;其他消息在主程序中对消息进行解析执行。程序设计思想可以用图6表示。

本系统通过CAN总线接收上位机的命令(接收消息)。CAN接收方式采用中断方式.当上位机下达命令时,该装置通过中断及时接收.实时任务直接在中断程序中完成,满足系统的实时性要求;非实时任务则将该命令存入消息(或命令)缓冲区,等待在主函数中查询处理。

2.2程序整体框图 

整个程序由主函数、功能函数、CAN通信中断函数、DSP的定时器T1的周期中断(采样中断)函数构成。

DSP的CAN控制器接收中断采用DSP的内核中断1;定时器T1的周期中断采用DSP的内核中断2,用来定期触发MAXl25进行A/D转换。关于LF2407A的中断编程可参见文献[1~2]。

主函数main()的流程如图7所示。

主函数先初始化系统,启动实时采样,实时采样一直运行并始终保持有多个周期的波形数据,供故障录波后观察故障点前后几个周期的波形,以便分析故障原因。然后进入消息处理的循环程序。从流程图可以看到,程序先检查消息(或命令)缓冲区,若有消息/命令,则调用相应功能函数执行命令,判断是否到计算周期以确定是否调用计算函数,然后回到消息处理入口;若没有消息等待处理,则判断100ms计算周期是否到(计算周期可以调整)。若到,则计算一遍电参数,判断是否有越限情况。若有越限则通知上位机,然后返回到消息处理入口,重复开始消息(或命令)的解析执行。消息接收程序以中断方式在后台运行。

2.3功能函数设计 

功能函数由主函数main()调用,下面介绍几种主要的功能函数。限于篇幅,函数没有展开,只列出函数名。

计算电参数的函数:void Calc();

向上位机传送电参数值的函数:unsigned int Send_AcqData();

执行参数设定命令的函数:unsigned int Set_Parameter();

向上位机传送报警数据的函数:unsigned Int Send_AlarmnData();

向上位机传送录波数据的函数:unsigned Int Send_WaveRecordData();

本交流采样系统已运行在铁路水电远动系统的FTU(Field Terminal Unit)中,与上位机通信的应用层协议采用DeviceNet协议。实际证明该系统功能正常、性能稳定。

上一页  [1] [2] 


Tag:嵌入式系统嵌入式系统开发,嵌入式开发嵌入式系统

《SCADA系统中交流采样器设计》相关文章