ARM9嵌入式系统在励磁调节装置的应用

发布时间:2010-12-20 17:32    发布者:conniede
关键词: arm , dsp , linux , 励磁调节器
1. 前言

励磁系统是发电机组重要的辅助装置,它对发电厂的自动化、发电机组运行的可靠性有着重要作用。随着科学技术发展,励磁方式已从直流电机励磁系统发展到可控硅励磁,自动调节器从原来的模拟式发展到微机数字式。

本文所研究的励磁调节装置,它是以经典和现代控制理论与数字信号处理器DSP技术与嵌入式技术相结合的微机励磁调节器。它继承了过去的微机励磁调节器的全部调节、控制及限制保护功能,同时在计算速度、抗电磁干扰、可靠性等方面有了极大的改进,有效保证整个系统调节、控制功能的实现; 外围采用先进的大规模可编程逻辑器件,以提高整个系统的可靠性,并形成对用户开放的逻辑系统。

2.励磁调节器的组成原理


                                           图一 励磁调节系统原理图

所示为自并励励磁调节器系统的组成图,机自身向可控硅整流桥供电,AVR装置根据采集的数据经PI或PID计算得到数据控制量,经过比较电路产生触发脉冲,调节可控硅导通角的大小,使机端电压保持在恒定值,从而最终达到控制的目的。

该系统主要由微机励磁调节器;电气制动停机装置等分组成。采用两套相同的控制器冗余配置,物理通道相互独立,每个通道基本包括:电源系统、主机板、采样板、模拟量输入输出板(A/D,D/A) 、开关量输入输出板、脉冲形成及放大板等。

3. 嵌入式系统部分

3.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嵌入式硬件图

3.2  嵌入式操作系统选择

在ARM 芯片上可以实现多种操作系统的移植,比如Window-CE、VXWorks等,由于Linux具有以下特点: 1)开放的源码,丰富的软件资源;2)内核功能强大,性能高效、稳定,多任务易于裁减; 3)完善的网络通信、图形、文件管理机制;4)支持大量的周边硬件设备; 5) 价格低廉可以有效降低产品成本。基于开发成本考虑,最后选用了ARM-Linux系统。

3.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=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中。

4.结论及创新点

利用ARM9 CPU 强大的功能, 以及嵌入式Linux多进程多线程编程等提供的便捷高效的底层支持,开发出的励磁调节装置具有可靠性高、操作方便等诸多优点,在励磁调节控制系统中起到了枢纽和核心的作用。本文介绍使用的ARM和DSP双CPU构成的双核嵌入式的硬件平台,给出系统整体硬件设计图,并详细介绍了ARM和DSP通信部分的设计。以后基于DSP进行数据处理、ARM进行管理,二者配合的系统将会越来越多、应用也将越来越广泛。

创新点:

(1) 系统用ARM处理器代替单片机,使系统性能得以大大提高;

(2) 采用ARM、DSP双核嵌入式系统,充分发挥了ARM和DSP的各自优势;

(3)工业级大液晶显示器触摸屏,替代传统LCD,友好人机界面易学易用。
本文地址:https://www.eechina.com/thread-47310-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表