一种光伏逆变器显示及设置功能的设计
《 自 动 化 技 术 与 应 用 》2 0 1 0 年 第 29 卷 第 9 期Techniques of Automation 2. Eastern steam turbine Limited company, Deyang 618000 China )Abstract: The photovoltaic inverter selects F2812 DSP to calculate and control. The SPI bus of DSP connect the differrentperipherals and three GPIO ports with the control keyboard, to make human-machine operation interface more simple andconvenient. In the aspect of software designi the photovoltaic inverter ’ s working parameters refresh 1 time/sec. Consid-ering the different peripheral units share the SPI bus in several TSK threads, the API function provides by DSP/BIOS toavoid the time conflict of SPI bus.Key word: photovoltaic inverter; SPI; DSP/BIOS; TSK; display计更加简单,经济。考虑到不同外设部件在多个 TSK 任务中使用 SPI 总线的情况,在软件上利用 DSP/BIOS 中提供的 API 函数,避免了 SPI 总线使用时间的冲突。最后,给出了本方案在ⅹⅹ公司的光伏逆变器项目中的应用情况, 证明了本方案的有效性。2 硬件器件选择光伏逆变系统完成太阳能电池板产生的直流电流到电网所需交流电流的转换,在实现过程中,需要进行高速运算、多通道采样、产生调制 PWM 波等功能。考虑到以上需求, 选取 DSP 主控芯片作为系统核心。T I 公司(Texas Instruments Incorporated)推出的 TMS320F2812是一款高性能的 32 位 CPU,它采用高性能的静态 CMOS技术,主频达 150MHz,支持 JTAG 边界扫描接口 [3] 。在结构上,它采用哈佛总线结构设计,可快速实现 16 × 1 6《 自 动 化 技 术 与 应 用 》 2 0 1 0 年 第 28 卷 第 9 期84 | Techniques of Automation & Applications经验交流Technical Communications位和 32 × 32 位的乘加操作,提供了光伏逆变系统所需要的高速运算需求。同时具备两个采样保持电路和 5 6个独立的可编程输入输出(GPIO)引脚,不仅可实现双通道信号同步采样, 还提供了系统的控制功能。在参数和运行状态显示时,光伏逆变器显示的内容不超过 32 个汉字。从功能和经济两方面考虑,设计中选用了 FYD12864 液晶显示模块。该模块具有 4 位 /8 位并行, 2 线或 3 线串行的多种接口方式, 显示分辨率为128 × 6 4 ,内置 8192 个 16 × 16 点汉字库和 12 × 8 点ASCII 字符集 [6] 。利用该模块灵活的接口方式和简单的操作指令,可以构成全中文人机交互界面 [2] 。光伏逆变器设置功能中,需要设置本机 ID、电表地址等内容, 这些参数均需要存储起来, 便于读写, 因此,要求存储器在掉电时存储内容不丢失,同时具备在线写入的功能。设计中选用 FM25L04 芯片进行设置参数的存储。FM25L04 是一种容量为 4K 位非易失性存储器,可以像 RAM 一样快速读写;数据在掉电后可以保存 45年,相对 EEPROM 或其他非易失性存储器,具有结构简单,系统可靠性高等诸多优点 [7] 。为了计算光伏逆变器的运行时间、平均功率等信息,需要使用日历时钟来提供时钟基准。项目中选用了NXP 公司的实时时钟芯片 PCF2129 芯片,它可以提供项目所需要的年、月、日、星期、时、分和秒等信息 [8] 。3 硬件电路设计在液晶显示模块、存储器模块、时钟芯片与 DSP 控制器的连接上,采用 SPI 总线进行连接。SPI(Serial Pe-ripheral Interface)是一个高速的同步串行输入 / 输出端口,一般用于 DSP 控制器与外部外设之间的数据传输。SPI 完成一次串行通信,需要两个控制器:即主控制器和从控制器,主控制器发出 SPICLK 信号来启动数据传输。对于主控制器和从控制器,数据都是在 SPICLK 的一个边沿移出移位寄存器,在另一个边沿锁存到移位寄存器,实现了两个控制器之间同时发送和接收数据。在逆变器显示及设置功能设计中,SPI 工作在主工作模式 [4] ,F2812 为主控制器,FM25L04 存储器,FYD12864 液晶模块,PCF2129 日历时钟为从控制器。光伏逆变器的设置功能中,需要用到键盘模块,使用 DSP 的三个 GPIO 口,跟键盘模块连接,在默认状态下,键盘模块的三个 GPIO 引图 1 外设模块与 DSP 的连接示意图脚皆为高电平。如图 1 所示,SPI 总线包括:SPICLOCK、SPISIMO 及SPISOMI 三根数据线。其中 SPICLK 为时钟信号,各个SPI 外设模块都需要此时钟基准。光伏逆变器在执行显示功能时,需要 DSP 通过 SPISIMO 数据线写指令给液晶芯片,显示中一部分内容通过 SPISOMI 数据线从铁电存储器或日历时钟中读取。光伏逆变器在执行设置功能时, 需要通过键盘模块对要设置的内容进行设置, 设置完成后将要设置的内容保存在铁电存取器或日历时钟中,此时通过 SPISIMO 和 SPISOMI 数据线同时发送和接收数据。通过软件控制液晶模块、铁电存储器、日历时钟三个 SPI 外设部件的选通引脚,使得在任意时刻最多只有一个 SPI 外设器件选通。例如:在使用液晶芯片(低电平有效)时,液晶芯片选通引脚置低电平,使液晶芯片选通,待数据传输完成后, 选通引脚置高电平, 使液晶芯片断开。这样就保证了 SPI 总线上的数据能准确的传送到我们要使用的外设芯片上。4 软件设计在对太阳能光伏逆变器的主控芯片 DSP 的编程设计中,使用 CCS3.1 或 CCS3.3 版本进行软件编程。CCS(Code Composer Studio)是 DSP 的集成开发平台,为用户提供了一个可视化的编程、调试工具,具有支持 C 或C++ 语言的编译器和 DSP 的汇编器。软件设计中, 根据各个芯片的读写指令说明, 读写时序图, 硬件电路图, 完成每个芯片的软件驱动设计, 并将软件驱动程序写入 DSP 初始化程序中。DSP 的初始化包括:系统初始化、SPI 初始化、SCI 初始化、GPIO 初始化等内容。其中, 系统初始化设置包括: 初始化外设《 自 动 化 技 术 与 应 用 》2 0 1 0 年 第 29 卷 第 9 期Techniques of Automation & Applications | 85时钟(Peripheral Clock),关看门狗(Watchdog),初始化锁相环(PLL)。SPI 初始化程序设置为:主工作模式,上升沿输出数据, 下降沿输入数据, 字长度位 8 位, 波特率为 1 .97MHz,使能 SPI FIFO 操作。逆变器显示及设置功能的软件设计中,使用 D S P /BIOS 中提供的 TSK 任务中断。通过 DSP/BIOS 中的硬件中断和软件中断来实现逆变控制系统的动作、采样、过零点捕捉, T S K 任务中断低于硬件中断和软件中断,保证了逆变器显示及设置过程中不会影响到逆变模块的正常运行。光伏逆变器显示的当前功率、电池板电压、电池板电流、电网电压、电网电流、电网频率、输出功率等系统参数由 DSP 中 ADC 采样来提供,是一个随采样频率而变化的变化值。显示变化值的时间:40 ×(5ms+20ms)= 1 0 0 0 m s , 即变化值的刷新频率为: 1 次 / 秒。根据FYD12864 液晶模块、FM25L04 存储器、PCF2129 日历时钟的 Datasheet 资料可知,各个外设在完成读写操作时, 存在一定的硬件延时, 按照图 2 设计的变化值刷新频率略小于 1 秒 / 次。光伏逆变器的设置功能是根据液晶芯片中光标闪烁点确定设置位置,通过键盘模块上的按键对逆变器进行设置。如图 3 所示,逆变器上的 3 个按键,从上到下依次设置为 B1、B2 、B3,每个按键都具有复用功能。键盘模块的硬件设计中,3 个 GPIO 引脚默认皆为高电平,二进制表示:111,键值为 7。按下 B1 后,二进制表示: 110,经验交流Technical Communications图 2 显示及设置功能流程图键值为 6,此按钮功能设置为:开机和关机。按下 B2 后,二进制表示:101,键值为 5,此按钮功能设置为:显示翻屏和光标位置选择。按下 B3 后,二进制表示:011,键值为3 ,此按钮功能设置为: 显示设置菜单和数字调节。光伏逆变器的默认显示界面为“系统参数”界面,按下 B 2 键, 来选择要查看的系统参数, 按下 B 3 键进入到“设置菜单”界面。在“设置菜单”界面下,按下 B2键,选择“日期设置”菜单选项,按下 B3 键进入到“日期设置”界面图中。如图 4 所示,按下 B2 键,光标横向移动到下一个要设置的数字,按下 B3 键,可以对该光标下数字进行设置。在光伏逆变器跟电能表、上位机的通信设计中,使用 DSP/BIOS 中的 TSK 任务进行软件设计。上位机对逆变器中的日历时钟芯片进行广播校时,对逆变器进行编号查询等任务,都需要使用 DSP 的 SPI 总线。这样就存在在不同 TSK 任务下,同时使用 SPI 总线的冲突。为了防止冲突的发生,我们在 DSP/BIOS 的 API 函数中配置 SPI 锁。使用 SPI 总线时,首先调用 SPI 总线的取锁函数 LCK_pend(&SPI,time),进行 SPI 总线的使用情况判断。如果 SPI 总线处于空闲状态,TSK 任务调用取锁函数 LCK_pend(&SPI,time),将 SPI 总线保护起来,待该T S K 任务使用完成后, 调用 A P I 函数中的 L C K _ p o s t(&SPI)函数,将 SPI 取锁函数释放掉。如果 SPI 总线正在图 3 系统参数界面图图 4 日期设置界面图《 自 动 化 技 术 与 应 用 》 2 0 1 0 年 第 28 卷 第 9 期86 | Techniques of Automation & Applications经验交流Technical Communications被其它 TSK 任务函数所使用,利用取锁函数 LCK_pend(&SPI,time)中的 time 值的取锁延时,如果使用 SPI 总线的其他 TSK 任务函数能够在 time 值时间内将 SPI 锁释放掉,则该 TSK 任务函数可以取得 S P I 总线的使用权,完成信息的传输。5 显示及设置功能界面图按照上述方法设计的光伏逆变器显示及设置功能,经过在现场运行调试, 可以实现操作方便, 显示美观的要求。在系统参数界面图中,数字为变化值,由 ADC 采样获取,变化值刷新频率设置为 1 次 / 秒,便于查询光伏逆变器当前的工作状况。在日期设置界面图中,数字为固定值, 由日历时钟提供, 如果对当前时间进行设置, 设置的数字会立刻显示出来。逆变器设置功能中的日期设置,具有初始化日历时钟和校时功能。电表地址设置和本机 ID 设置,同样可以通过液晶模块显示后, 利用键盘进行设置, 设置的内容保存在 FM25L04 存储器中。由于 FM25L04 具有掉电保存功能, 光伏逆变器重新启动后, 系统设置的内容不会丢失,保证了逆变器的正常工作和上位机对各个逆变器的监控。6 结束语该设计已应用于ⅹⅹ公司的光伏逆变器项目中,并经过测试,程序稳定。光伏逆变器的显示及设置功能中作者简介: 马强( 1 9 8 2 - ) , 男, 在读研究生, 研究方向: 兆瓦级光 伏 并 网 逆 变 器 控 制 算 法 的 研 究 。变化值刷新频率的设计,较以往液晶模块的全屏刷新的显示方式更加美观。DSP/BIOS 中,显示及设置、上位机的通讯、发电量的计算等多个 TSK 任务的运用,使 DSP在软件编程设计中的应用更加灵活、方便。参考文献:[1] 边孝成,杨志坚.基于 ARMDSP 构架的太阳能光伏智能并网逆变器[ D ] .山东大学,36-37.[2] 廖丽莹,李啸骢,罗涛.基于 TMS320F2812 的液晶显示的设计[J].微计算机信息,2008,(24):196-198.[3] 张卫宁译.TMS320C28x 系列 DSP 的 CPU 与外设(上)[M].TMS320C28x 系列 DSP 的 CPU 与外设(下)[M].北京:清华大学出版社, 2 0 0 5 , ( 1 ) : 1 - 4 .[4] 苏奎峰,吕强,耿庆峰等.TMS320F2812 原理与开发[M].北京: 电子工业出版社,2005,(4):128-129.[5] 王军宁等编译.TI DSP/BIOS 用户手册与驱动开发[M].北京: 清华大学出版社, 2 0 0 7 , ( 4 ) : 9 3 - 1 0 1 .[6] FYD12864-0402B Datasheet[Z].成都市飞宇达实业有限公司.[7] FM25L04 Datasheet[Z].Rev.3.2-Sept.2007,RamtronInternational Corporation.[8] PCF2129 Datasheet[Z].Rev.00.01-29 August 2008,NXP Semiconductor.作者简介: 刘小春( 1 9 7 3 - ) , 女, 副教授, 工程硕士, 主要从事自 动 控 制 教 学 与 研 究 。(上接第 76 页)其中,5120= 5 640032000 - ,I 0 . 0 和 I 0 . 1 是外部控制的启停信号,M0.1 和 M0.2 是 MCGS 对应的启停控制信号。对温度信号进行检测和保护的程序编写方法如此类似。5 结束语MCGS 作为国产商品化通用工业自动化 HMI 软件,与 P L C 技术结合使用, 对电动机的温度和电流进行监控, 及时发现异常, 防止电机损坏, 具有积极意义。参考文献:[1] 李新胜等.基于 MCGS 和 PLC 的监控系统在电机变频调速中的应用[J].长春工业大学学报,2008,(6) :688-692.[2] 安文举.MCGS 组态软件在电机测控系统中的应用[J].防爆电机,2008,(2) : 2 2 - 2 4 .[3] 田由军等.基于 MCGS 的电动机性能测试系统研究[J].机械与电子, 2 0 0 6 , ( 4) : 4 0 - 4 2 .[4] 袁秀英.组态控制技术[M].电子工业出版社,2003,8.