以经典和现代控制理论与数字信号处理器DSP技术与嵌入式技术相结合的微机励磁调节器,在计算速度、抗电磁干扰、可靠性等方面有了极大的改进。
本文介绍了采用最新的ARM技术的同步发电机的自动励磁调节系统的基本原理,并进一步给出了该装置主要的硬件、软件组成及系统特点和运行流程,该系统已经运用于WKKL系统,取得了很好的经济效果,具有很好的推广价值。
前言
励磁系统是发电机组重要的辅助装置,它对发电厂的自动化、发电机组运行的可靠性有着重要作用。随着科学技术发展,励磁方式已从直流电机励磁系统发展到可控硅励磁,自动调节器从原来的模拟式发展到微机数字式。
本文所研究的励磁调节装置,它是以经典和现代控制理论与数字信号处理器DSP技术与嵌入式技术相结合的微机励磁调节器。它继承了过去的微机励磁调节器的全部调节、控制及限制保护功能,同时在计算速度、抗电磁干扰、可靠性等方面有了极大的改进,有效保证整个系统调节、控制功能的实现; 外围采用先进的大规模可编程逻辑器件,以提高整个系统的可靠性,并形成对用户开放的逻辑系统。
1.励磁调节器的组成原理
图一 励磁调节系统原理图
所示为自并励励磁调节器系统的组成图,机自身向可控硅整流桥供电,AVR装置根据采集的数据经PI或PID计算得到数据控制量,经过比较电路产生触发脉冲,调节可控硅导通角的大小,使机端电压保持在恒定值,从而最终达到控制的目的。
该系统主要由微机励磁调节器;电气制动停机装置等分组成。采用两套相同的控制器冗余配置,物理通道相互独立,每个通道基本包括:电源系统、主机板、采样板、模拟量输入输出板(A/D,D/A) 、开关量输入输出板、脉冲形成及放大板等。
2. 嵌入式系统部分
2. 1嵌入式硬件单元
ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了高性能、耗能低的RISC处理器,具有性能高、成本低和能耗省的特点。应用于多种嵌入式领域,配备Thumb扩展、调试和Harvard总线。5级流水线提高了时钟频率和并行处理能力。集成有串口,USB Host 控制器,LCD控制器,Nand Flash控制器,IDE, PCMCIA 等多种功能。32K FRAM.最高分辨率1024X768X32芯片,内置以太网控制器,片上资源丰富。
本系统中管理单元是以ARM9为内核,串行并行接口芯片,D/A转换器等硬件,负责管理液晶、对外通讯、打印、录波分析。大大增加了系统通信、后台管理、远程维护等附加功能,可以运行操作系统以及QT等应用程序,具有比较强的事务管理功能。
控制单元是以DSP为内核,负责脉冲形成、AD转换、数据运算等。 DSP由于其特殊的结构、专门的硬件乘法器和特殊的指令,使其能快速地实现各种数字信号处理及满足各种高实时性要求。其优势在于其强大的数据处理能力和较高的运行速度。
本系统采用ARM和DSP芯片的双核嵌入式系统,充分利用了ARM和DSP的各自特点进行协同开发。 DSP作为控制部分,可以充分发挥其对数字信号处理的独特优势;ARM作为管理部分,则发挥其前台显示通讯管理的优势,使前台部分相对独立,减少主CPU负担;即使发生故障,对后台主程序不产生影响,相应增强了整个设备冗错能力。二者通过HPI进行实时数据透明交换。
图二 ARM+DSP嵌入式硬件图
2.2 嵌入式操作系统选择
在ARM 芯片上可以实现多种操作系统的移植,比如Window-CE、VXWorks等,由于Linux具有以下特点: 1)开放的源码,丰富的软件资源;2)内核功能强大,性能高效、稳定,多任务易于裁减; 3)完善的网络通信、图形、文件管理机制;4)支持大量的周边硬件设备; 5) 价格低廉可以有效降低产品成本。基于开发成本考虑,最后选用了ARM-Linux系统。
2.3 ARM 与 DSP连接
HPI是一个并行串口,ARM通过它可以之间访问DSP存储空间以及地址映射道存储空间的外围设备。HPI主要由地址寄存器HPIA,数据寄存器HPID,以及控制寄存器HPIC组成,ARM先通过对控制寄存器和地址寄存器设置,然后根据控制信号进行对数据寄存器读写操作。ARM处理器在与HPI的读/写前,首先要完成自身工作模式等一系列初始化,其源代码如下:
SYSCFG=0xeTffe22;/*关掉ARM中Cache*/
EXTDBWTH=0K0ffff556; /*使外部I/O接口工作于32位模式*/
EXTAC0NO=0x08610000/*配置外部I/O接口各读写时序关系*/
这段代码通过对寄存器的操作,配置好ARM处理器工作模式后,对外部I/O接口就可以进行读写,从而完成对HPI接口的相应操作了。HPI接口可以用I/O端口方式,也可以用I/O存取方式。系统平台采用I/O存取方式,将HPI访问地址寄存器HPIA、数据寄存器HPID、控制寄存器HPIC映射到内存物理地址为0x3fd40000开始的空间,通过访问存储器指令对HPI进行操作。
HPI物理地址定义如下:
#define HPI-Base Ox3fd40000
#define Vpint /* volatile unsigned int */
#define HPICW (Vpint(HPI-Base +0x00))
#define HPICR (Vpint(HPI-Base +0x40)) /* 定义HPIC寄存器 */
#define HPIAW (Vpint(HPI-Base +0x10))
#define HPIAR (Vpint(HPI-Base +0x50)) /* 定义HPIA寄存器 */
#define HPIDW (Vpint(HPI-Base +0x20))
#define HPIDR (Vpint(HPI-Base +0x60)) /* 定义HPID寄存器 */
开始通信时ARM向DSP发送命令(如数据采集),通过HPI口中断DSP,使DSP进入相应子程序;同时DSP将数据存入缓冲区,一帧长度为256字节。当ARM向DSP请求数据时,向DSP发送一个帧同步命令字,并同时中断DSP,DSP响应中断将数据送入HPI口RAM,存完一帧数据后DSP向ARM发中断,ARM响应中断,清除该中断把HPI口中数据取出存入RAM中,并送终端显示并循环刷新。 ARM的部分程序流程图如下图所示:
图三 ARM部分程序流程图
HPI读写数据部分代码:
for(i=0 ;i { HPICW=0x00000000; /*初始化HPI口的控制寄存器*/ HPIAW=0x800000000; /*初始化HPI口的地址寄存器*/ hpiBaseAddr[i]=HPIDR; /*通过HPI读出数据,送到数组中暂存*/ CpLen=HPISize; if ( copy_to user (buffer , (_u8*)(&hpi>HpiBaseAddr[j]), CpLen )) return-EFAULT; /*将数据拷贝到用户缓冲区*/ return CpLen } 在开发DSP为内核的控制单元中,大部分代码采用了C语言来编写,利用Ti公司提供的开发环境CCS IDE(Code Composer Studio Integrated Development Environment )进行程序编译、汇编和链接,并对程序进行仿真调试,最后将生成的DSP可执行代码下载到DSP的Flash中。 3.结论及创新点 利用ARM9 CPU 强大的功能, 以及嵌入式Linux多进程多线程编程等提供的便捷高效的底层支持,开发出的励磁调节装置具有可靠性高、操作方便等诸多优点,在励磁调节控制系统中起到了枢纽和核心的作用。本文介绍使用的ARM和DSP双CPU构成的双核嵌入式的硬件平台,给出系统整体硬件设计图,并详细介绍了ARM和DSP通信部分的设计。以后基于DSP进行数据处理、ARM进行管理,二者配合的系统将会越来越多、应用也将越来越广泛。 创新点:(1) 系统用ARM处理器代替单片机,使系统性能得以大大提高; (2) 采用ARM、DSP双核嵌入式系统,充分发挥了ARM和DSP的各自优势;(3)工业级大液晶显示器触摸屏,替代传统LCD,友好人机界面易学易用。