基于DSP28335的电能质量监测仪器设计
2010-09-04楼晓春何丽莉
楼晓春,何丽莉
(杭州职业技术学院,浙江杭州 310018)
0 引 言
电力质量监测终端根据除《暂时过电压和瞬时过电压》之外的5个电能质量国家标准设计[1,2]。传统的电能质量分析仪大多采用定点DSP作为处理内核,定点DSP处理数据时需要时刻关注溢出的发生,耗费了大量的程序空间和执行时间。TI公司新推出的28335浮点DSP用硬件实现浮点算法,动态范围大,计算精度高,总线宽,硬件资源也更为丰富,较定点DSP有着十分明显的优势。
1 系统的硬件设计
本电能质量监测装置的设计方案采用DSP+MCU的实现方法,将DSP的高速数字信号处理功能和MCU完善的管理、通讯、丰富的接口功能相结合。基本工作原理如下:模拟电路模块将电网中的电力信号转化为ADC的输入信号,送到A/D转换模块进行同步采样。转换后的采样数据送到DSP进行分析处理,具体包括电力参数的测量、谐波分析等工作,以及原始数据的储存和相关需要的通讯,然后DSP把相应的计算数据和MCU的数据进行交换[1-3]。MCU主要完成LCD显示、实时时钟、电表功能选择、菜单设置、按键处理等,具体设计原理如图1所示。
1.1 DSP系统设计
系统采用TI公司的TMS320F28335浮点DSP作为运算核心。TMS320F28335具有150MHz的高速处理能力,具备32位浮点处理单元,6个DMA通道支持ADC、McBSP和EMIF,有多达18路的PWM输出,其中有6路为TI特有的更高精度的PWM输出(HRPWM),12位16通道ADC[4]。新型F2833x浮点控制器与TI前代领先数字信号控制器相比,性能平均提高50%,并与定点C28x控制器软件兼容。它内部资源丰富,存储器容量大,接口丰富。该部分内容较为成熟常见。原理图略。
1.2 SD卡储存模块
1.3 MCU模块
MCU系统设计采用美国Silabs公司的C8051F340单片机,系统包括LCD显示电路、键模块电路、EEPROM电路、实时时钟电路等,主要用于设定参数、显示电能质量检测结果和人机对话。C8051F340是完全集成的混合信号片上系统型MCU,具有高达48 MI/s速率、流水线结构的8051兼容微控制器内核:全速、非侵入式的在线调试接口;多达64 kB的片内Flash存储器;4 352字节片内RAM;接口多样、功能丰富,可详见数据手册,很好得满足了系统的要求。
1.3.1 LCD电路设计
图1 系统结构图
图2 PB375A电路
图3 USB接口电路
由于液晶显示器具有轻薄、体积小、低耗电量等特点,在嵌入式系统,特别是一些低功耗系统中运用得越来越广泛。在本项目设计中,电能质量监测装置需要一个非常友好的用户界面来显示电能质量检测结果以及其他设置与参数,系统采用了一块15CMLCD显示模块。该模块只需占用MCU较小的资源,就可以实现丰富的界面显示,电路如图4所示。
1.3.2 按键模块电路设计
按键是在嵌入式设备中,人机交互的重要方式,也是最常用的方式。针对本系统中需要实现18个按键功能的输入,针对系统中所需要的按键数量较多,为了减少I/O的占用,系统采用3×6矩阵键盘。电路如图5所示。
图4 LCD接口
图5 矩阵键盘电路
1.3.3 实时时钟电路设计
电能质量监测装置,作为一个数据采集、数据分析、数据记录,需要提供给界面上的时钟显示,更在数据储存时需要记录数据的采集时刻,因此非常需要一个实时时钟电路。DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,广泛应用于测量系统中,因此本系统也采用DS1302实时时钟芯片为系统提供时钟,实时时钟电路如图6所示。
1.4 双CPU数据共享与能信设计
在本系统设计中,采用DSP+MCU的方案,双CPU之间需要进行大量的数据交换,故采用双端口RAM数据交换方式在本系统中具有极其重要的作用。本系统基于DSP的电能质量分析仪,要求实时显示电能质量分析结果以及参数的设置,采用电路设计相对简单的专用双端口IDT7134 RAM芯片方案。由于IDT7134为5V供电的,DSP的IO电压为3.3V,故需要电平转换,电平转换芯片采用74LVX4245,童半导体公司的74LVX4245,采用5V、3.3V双电压供电的双向驱动器,实现电平转换。MCU的IO电压也为3.3V,但可以承受5V电压,故不用进行3.3-5V的电压转换。具体电路如图7所示。
总之,详细研究当前高校学生管理工作的瓶颈与突破是尤为重要的。通过研究发现,只有做好高校学生管理工作,才能促进学生的全面发展,以推动高校的可持续发展,从而为社会培养更多的有用人才。
图6 实时时钟电路
图7 双端口RAM电路
1.5 AD采样
根据设计要求,系统需要达到8路200kHz频率的数据采样,故装置中选用了两片ADS8364芯片。ADS8364的最大工作频率可达5MHz,采样/转换可在20个转换时钟周期内完成。ADS8364的6个通道可以同时进行采样/转换。吞吐率最大可达250ksps[5-7]。ADS8364采用+5V工作电压,并带有80DB共模抑制的全差分输入通道以及6个4μ s连续近似的模数转换器、6个差分采样放大器。本设计中采用灵活的控制逻辑,即将A0、A1、A2连接到总线A15、A16、A17上,通过一个译码器芯片,分别片选使能两片AD芯片。每片AD让所有的转换信号共用一个同步脉冲启动信号,这样每片AD的12个通道同时工作,等所有通道都发出转换完毕中断低电平后,DSP可选择对应的通道读取转换数据。ADS8364的模数转换电路设计如图8所示。
1.6 模拟采样前置电路
模拟前置电路模块主要完成对电网中电压、电流的转换,信号缩放调整,前期滤波等,使电力信号转化为合适的ADC输入信号,并送到A/D转换模块进行同步采样。本设计中实现对4路电压、4路电流的采样,输入电压和输入电流的设计范围分别是:为0-1000V,而AD芯片ADS8364的参考电压为+2.5V,差分输入,故AD的输入电压范围为-2.5-+2.5V之间,因此需要对电网输入的电压进行调整,使其调整输出后的电压在满足AD输入要求且精度合适范围内。模拟电路调整模块对4路电压调整使其满足上述要求、对4路电流首先使其转化为电压信号,再进行调整使其满足上述要求,如图9所示为一相电压、电流的转换电路。
图8 ADS8364的模数转换电路
图9 单相电压、电流转换电路
1.7 电源
整个系统所需电压分别为AD的+12V和-12V、DSP的1.9V,3.3V,单片机的3.3V,ADS8364模数转换芯片的5V,以及2.5V参考电压,以及其他芯片所需的5V、3.3V电压。因此电源管理电路必须在12V输入电压后提供足够功率的5V、3.3V、2.5V、1.9V电压。其中+12V、-12V的电路如图10所示。
5V电压输出采用美国国家半导体的LM2596-5电源管理芯片,该芯片为最大输出可达3A电流的降压开关型集成稳压电路,内含固定频率振荡器(150kHz)和基准稳压器(1.23V),最高电压输入为40V,并具有完善的保护电路,包括电流限制以及热关断电路等,利用该器件只需要极少的外围器件便可构成高效稳压电路。LM2596-5电源管理电路如图11所示。
1.9V以及3.3V电压的输出采用TI公司的TPS767D318电源管理芯片,该芯片为双电源输出,一路为固定的3.3V、一路为可调输出,本设计中将其输出为1.9V。每路电源的最大输出电流为1A,完全满足系统要求。芯片还提供两个宽度为200ms的低电平复位脉冲。本设计中的DSP上电复位由芯片TPS767D318产生,另加按键组成手动复位电路。该电路在芯片使用手册中说明详细,故略。
图10 正负12V电源
图11 5V电源管理电路
2.5V基准电压的输出采用美信公司的MAX6225基准电压芯片,该芯片具有很低的温度系数、低噪声、低功耗、动态阻抗低、工业级、长期稳定性好等特点,非常适合本设计中长时间精确数据采集的需求。MAX6225基准电压电路图如图12所示。
图12 MAX6225基准电压电路
2 软件设计
在DSP软件中主要包括两大部分:其一,初始化和数据采集部分。这部分的软件有DSP初始化、AD初始化、数据采集、数据通讯以及数据存储等;其二,数据处理部分,主要为电能质量分析算法。本文主要讨论电能质量分析仪的硬件设计以及底层软件开发,对算法部分不做具体讲解。故本文中包括DSP软件以下几个程序模块:DSP各模块初始化程序(SCI、GPIO、外部中断、EMIF等)、AD数据采集程序设计、U盘/SD卡存储模块程序设计。
2.1 DSP各模块初始化程序
DSP片上外设的初始化主要包括SCI模块,用于RS232以及RS485通讯;GPIO模块;EMIF模块,用于RAM外扩以及双端口 RAM;PWM模块;外部中断;SPI模块初始化等。SCI模块,设置SCIB用于RS485通讯,SCIA用于RS232通讯,初始化波特率均为9600 bps,数据位为8位,1位停止位,无校验位和流控制位[8]。EMIF模块初始化位16位总线模式,用于系统读取外扩RAM以及双端口RAM。PWM设置为占空比为50%的方波,频率为5M,用于产生时钟提供给ADS8364[9]。外部中断,设置为下降沿有效,用于AD转换完成后中断程序里进行数据读取以及下次AD转换的启动。SPI模块初始化,设置为8位模式,波特率为200k,用于对U盘/SD卡读取芯片的操作。
2.2 AD数据采集程序设计
根据系统的硬件设计,AD数据采集程序主要包括AD初始化、AD启动、AD数据读取等操作。其中AD初始化主要完成触发ADS8364的复位引脚RST可以确保读指针指向第一个数据位置。作为TMS320F28335初始化的一部分,由TMS320F28335的通用输入输出口提供给ADS8364的引脚RST。当系统时钟稳定后,被触发为低电平,从而确保了从ADC输出的数据对应于通道A0、A1、B0、B1、C0、C1的排列。之后通过DSP的PWM模块提供4M的时钟给ADS8364提供工作时钟。
对于每一个转换通道,EOC均是低电平信号。ADS8364可为TMS320F28335提供3个脉冲。每个脉冲信号表明一个转换的结束。当ADC的这3个引脚同时置低时,三个通道被认为有效并同时进行转换。另外,EOC引脚也可被连接到TMS320F28335的一个中断引脚,以触发一个读周期。
ADS8364的片选CS是一个有源低电平输入信号。当CS为高时,并行输出引脚处于高阻态。当CS为低时,并行数据线反映了输出缓冲器的当前状态。为了正确地从ADS8364的并行数据总线上读取数据,ADS8364必须被片选CS选中后才能进行读操作。
ADS8364的读(RD)信号端也是有源低电平信号。当CS为低时,在读信号(RD)的下降沿,ADS8364中寄存器的内容将被更新。这意味着在每个读序列之前,RD信号必须被触发,这样才能更新输出缓冲器。通过TMS320F28335的中断子程序将ADS8364的RD引脚置低可以读取AD转换后的数据,之后可再将RD引脚置高。ADS8364程序流程图如图13所示。
2.3 MCU程序设计
MCU软件中主要完成LCD人机界面程序设计、按键模块程序设计、实时时钟程序设计、EEPROM程序设计以及双端口RAM程序设计。从而构成一个友好、直观的用户界面,且用户根据所需的不同功能可操作,满足了电能质量分析的整套用户管理功能。
2.3.1 MCU各模块初始化程序
MCU(C8051F340)初始化包括MCU时钟,I/O分配,看门狗等初始化工作。片上外设的初始化主要包括I/O初始化、IIC初始化、EMIF初始化等,主要用于矩阵键盘扫描、实时时钟电路、EEPROM读写、LCD显示、双端口RAM数据读取等。其中EMIF配置为8位,地址总线独立模式,通过译码器分别对LCD和双端口RAM操作。
2.3.2 按键模块程序设计
按键模块程序需要确定矩阵式键盘上何键被按下,采用行扫描法,又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法。判断键盘中有无键按下将全部行线原理图5中Q0、Q1、Q2置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与6根行线相交叉的3个按键之中。若所有列线均为高电平,则键盘中无键按下。判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。按键模块流程如图14所示。
3 结束语
图13 ADS8364程序流程图
图14 按键流程
电能质量问题已经引起了人们的日益重视,准确、实时、全面地分析电能质量是非常必要的。本文研制的基于TI的新型浮点DSP处理器TMS320F28335,结合MCU的电能质量分析装置,可以同时对8路数据高达200k/s速度进行高速采样,采用大屏幕、高清晰度的LCD作为显示器,具有电能质量分析、电能计量、时间显示、开关量输入与输出、时间记录等功能,并有多种通信接口,适应了电能质量分析的需求。相比同类产品,结构简单、方案可行、性价比较高。
[1] 熊静,吴在军,胡敏强.基于TMS320C6713的新型多功能电能质量分析仪设计[J].电力自动化设备,2006,26(5):79-82.
[2] 余丹,王庆,李晓明.基于DSP和MCU的新型电能质量监测装置的设计[J].仪表技术,2004,(6):13-16.
[3] 侯典立,黄锦安.基于DSP的电能质量分析仪的设计[J].鲁东大学学报,2007,23(4):339-342.
[4] Texas Instruments.TMS320F28335,TMS320F28334,TMS320F28332 Digital Signal Controllers DataManual.[EB/OL].http://focus.ti.com/docs/prod/folders/print/tms320f28335.html.
[5] Texas Instruments.ADS8364Y-250-1124009.[EB/OL].http://focus.ti.com/docs/prod/folders/print/ads8364.html.
[6] 谷重阳,汪渤,龙殊颖.并行模数转换器ADS8364与TMS320F2812的接口设计[J].微计算机信息,2006,(2):137-139.
[7] 魏怀玺,李兵,渠慎丰,等.基于DSP和ADS8364的高速数据采集处理系统[J].电子技术应用,2006,32(6):82-84.
[8] 孙丽明.TMS320F2812原理及其C语言程序开发[M].北京:清华大学出版社,2008:100-129.
[9] 张菊,张淑娥.基于DSP的数据采集与处理系统的设计[J].电力系统通讯,2006,(1):70-74.