《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 设计应用 > 基于CPLD的光伏数据采集系统的设计
基于CPLD的光伏数据采集系统的设计
2016年电子技术应用第2期
卞 楠,马 聪
天津理工大学 自动化学院,天津300384
摘要: 为了提升光伏阵列的输出效率,设计了一种以复杂可编程逻辑器件(CPLD)为核心,基于MSP430F169单片机的光伏数据采集系统。针对传统的数据采集方式速度慢、外围电路复杂、安全性低的问题,开发设计了基于CPLD的光伏发电数据采集系统,并且内部采用了先进的先入先出队列(FIFO)存储结构。通过RS232串口方式和无线模块方式与上位机通信传输。实验证明,本设计数据采集速度快、功耗低、传输稳定可靠。
中图分类号: TP274.2
文献标识码: A
DOI:10.16157/j.issn.0258-7998.2016.02.018
中文引用格式: 卞楠,马聪. 基于CPLD的光伏数据采集系统的设计[J].电子技术应用,2016,42(2):68-70.
英文引用格式: Bian Nan,Ma Cong. Design of photovoltaic data acquisition system based on CPLD[J].Application of Electronic Technique,2016,42(2):68-70.
Design of photovoltaic data acquisition system based on CPLD
Bian Nan,Ma Cong
School of Automation,Tianjin University of Technology,Tianjin 300384,China
Abstract: This paper designs a photovoltaic(PV) data acquisition system based on CPLD and MSP430F169 micro-controller in order to improve the output efficiency of PV array. In view of the problem of the slow speed of the traditional data collection, the complex and insecurity peripheral circuit, it develops and designs a photovoltaic power data acquisition system based on CPLD, and adopts the advanced internal FIFO storage structure. This paper uses RS232 serial port and the wireless module to communicate with PC. Experiments show that this design has a high speed data acquisition, low consumption and the transmission is stable and reliable.
Key words : photovoltaic system;data acquisition;CPLD;micro-controller

0 引言

    当光伏阵列处于遮阴条件时,需要对每个电池板进行光照强度的采集,以便完成最大功率点跟踪控制的设计,使光伏阵列更高效稳定地工作[1]。高速数据采集系统在现代工业的各个领域中应用越来越广泛,基于单片机、ARM的数据采集技术已经很成熟,作为一种复杂可编程逻辑器件,CPLD(Complex Programmable Logic Device)这些年来发展迅猛,以其极高的集成度、稳定的性能以及高速、易用的特点,在各个领域都得到了广泛的应用[2]。因此,本文为了实现对光照强度数据进行多路并行采集,采用CPLD作为核心器件进行系统设计。

    在检测控制系统中,当需要采集的信号特别多时,传统的方法是利用单片机及其他芯片扩展系统资源来实现,但是这样做会增加大量的外部电路和系统成本,并且增大了系统设计的复杂性。CPLD是一种具有丰富的可编程I/O 引脚的器件,具有在系统可编程、使用方便灵活、可用I/O端口多的特点,可实现复杂的数字逻辑功能。和单片机结合可较容易实现数据的采集任务[3]

    FIFO(First Input First Output)是一种广泛应用在设计中的用来作为缓冲的存储器,它能对数据进行快速顺序的存储和发送,主要用来解决不同速率器件间的速率匹配问题。本系统通过精心设计FIFO体系结构,可以实现FIFO工作性能的大幅提升[4]

1 硬件电路设计

    本设计的接收点为将每一路光照强度传感器产生的模拟量转化为CPLD可以接收并处理的数字量的信号调理电路,将它直接连入I/O口即可。本设计使用了40个接收点来接收40块光伏电池板的光照强度数值,由于受到芯片资源的限制,故使用了3片CPLD同时工作。

    本设计选用的CPLD芯片为Altera公司的MAX II  EPM1270T144C5N芯片,此芯片在所有CPLD系列中其单位I/O成本最低,功耗最低,包含1 270个LE,相当于40 000门数、980个等效宏单元数、8 KB用户可用Flash 比特数。硬件电路设计如图1。

ck3-t1.gif

1.1 CPLD采集电路的设计

    因为数据通过信号调理电路已经转化为CPLD可以直接读取的数字量,所以各信号直接接入CPLD 的普通I/O口即可。设计时对精度、稳定性、功率等方面综合考虑,采用了50 MHz有源晶振。CPLD在线编程和芯片自身的测试可通过JTAG接口来实现。

1.2 通信电路设计

    系统与上位机通信数据输出电路采用了无线传输模块和RS232串口通信电路,采用双通信是为了适应不同环境下的工作,无线传输模块采用了挪威NORDIC公司的NRF905射频发射芯片。RS232串口通信电路则采用以MAX232电平转换芯片为核心设计而成的串口通信电路。

1.3 电源电路设计

    本系统控制器单片机与CPLD使用的都是3.3 V电源,但是液晶显示屏、电池供电等采用的是5 V电源,故需要对电源进行变换才能给芯片供电,故对电源模块进行了设计,采用了以稳压块LM1117T为核心的5 V转3.3 V电路。

1.4 控制电路设计

    系统数据采集芯片采用的是CPLD,但是控制核心采用了TI公司的MSP430F169单片机,MSP430具有处理能力强、运算速度快、低能耗、片内资源丰富、方便高效的开发环境等优点,被广泛应用在各种工业场合。

2 软件设计

2.1 CPLD采集数据主程序设计

    由于CPLD芯片的设计特点,工作方式不像单片机等属于顺序执行,而是采用速度更快的并行执行,这意味着所有的接收口可以同时工作。每串数据都有起始位和停止位,并且起始位都为低电平,停止位为高电平。检测数据是否开始传输只需判断是否来了低脉冲,但这也可能是误差信号,所以需设置判断是否是真正的起始位,本设计采用的方法是每隔十分之一数据位的时间检测一次,如果连续五次都为低脉冲,则确认为有效数据,并且每隔一个数据位开始接收。由于篇幅限制,只给出如图2所示的一路数据端的主程序流程图。

ck3-t2.gif

2.2 CPLD内部FIFO算法判断程序设计

    为达到高速缓存的目的,以及解决存入数据与取出数据的速率不同步的问题,设计了一套FIFO寄存器的执行流程,因为CPLD是并行操作,所以流程图中各个判断位是同时执行。图3为CPLD内部FIFO寄存器的执行程序。

ck3-t3.gif

2.3 单片机程序流程图

    单片机作为控制核心,但由于单片机I/O资源有限,所以3片CPLD采集芯片的输出端接在一起,这就意味着需要MSP430单片机对CPLD进行片选控制,否则会出现数据紊乱。流程图中的寄存器状态位为本设计中设定的一个标志位,设定的依据为当数据超过FIFO寄存器的2/3时,就认定FIFO即将溢出,将状态位置1,否则置0。当读取到其中一片CPLD芯片的寄存器状态位为1时,就让其余2片CPLD所有的数据输出为高阻态,即输出丧能。控制核心单片机则作为数据的接收端根据需要来产生时钟信号,被选中的CPLD按照单片机的时钟信号进行数据传输,如图4所示。

ck3-t4.gif

3 实验结果分析

    仿真验证是CPLD设计中的重要一环,Altera公司的CPLD自带的Quartus II软件本身带有仿真功能,但是无法使用TestBench(类似于一种激励产生器),对于复杂的设计,画波形图显然不是明智的选择。而Modelsim是业界最优秀的HDL仿真软件,其突出优点能为用户提供全面完善以及高性能的验证功能,不需要硬件就能对CPLD的设计进行仿真,而且能够观察具体的模拟波形图[5]

    本系统根据设计目标要求做了实验验证,如图5所示。CPLD的仿真验证使用Modelsim-altera编写了脚本程序对光照强度数据采集结果进行了实验。Lock信号是单片机读取数据的时钟信号,高电平时读取一串数据的高8位,低电平时读取数据的低8位,data为输出信号,txdb模拟输入的信号。仿真显示能够顺利读取数据,基本达到了设计要求。图6为Modelsim的仿真波形图,从图中可直观地看出读取的数据。

ck3-t5.gif

ck3-t6.gif

4 结论

    本文研究设计了基于CPLD和MSP430F169单片机的光伏数据采集系统,完成了电路板的设计,测试了工作性能。通过不断地在线编程完善和调试,该系统可以快速可靠地进行数据采集和处理,效果理想,可以应用于光伏系统中。

参考文献

[1] 龚耀,林小玲.光伏系统数据采集的设计与实现[J].仪表技术与传感器,2011(8):108.

[2] 张云梓.基于CPLD的高速数据采集系统的实现[D].哈尔滨:哈尔滨工业大学,2013.

[3] 程明,毕立恒,杨晓光.基于CPLD的数据采集系统的设计[J].自动化技术与应用,2007(8):100.

[4] 李冬,赵志凯.一种高性能异步FIFO的设计与实现[J].微电子学与计算机,2010(8):145.

[5] 张桂兴,张英敏,张鹏.基于IP核与ModelSim的正弦波发生器仿真平台建立[J].测控技术,2011(1):28.

此内容为AET网站原创,未经授权禁止转载。