企业名片
基于数字信号处理器的保护装置的研究
时间:2014-03-14 09:29来源: 作者:鄂电电力 点击:
***
次
摘 要 为满足保护装置高分辨率、高采样率及快速计算的应用要求,提出了基于数字信号处理器(DSP)设计保护硬件的方案,详细给出了关于TMS320C30的接口设计和整体硬件设计方案。实践证明:宿主机结构的采用,不但大大减轻了硬件设计的工作量,同时软件的开发也变得更加方便、快捷,缩短了保护的开发周期。 0 引言 大多数的微机保护使用16位单片机,对于常规保护其性能基本能满足要求。但有以下特殊问题时,例如:差动型保护(母线、线路)因电流互感器(TA)饱和,变压器保护因励磁涌流,基于行波测距或行波保护装置因快速大量的计算等,16位单片机往往受到速度和结构的限制,难以实现更新的复杂算法及达到更高的采样速率。因此本文提出基于数字信号处理器(DSP)的硬件设计方案。 数字信号处理器TMS320C3x[1]系列产品是一种非常通用的浮点处理器,其中C30能工作于20MIPS/40MFLOPS,C32则能工作于30MIPS/60MFLOPS。C32占用的电路板面积更小,价格也较低,而且数字以浮点处理,算法编程也容易得多。这些特点使它很适合用于需要高分辨率、高采样率以及高速计算的场合。 1 C30结构简介及外部接口设计 以C30为例。其内部存储器分为两个存储块,每块32 Kbit;芯片内还有64个字(32 bit构成1个字)的指令缓存区。其存储空间为16 M×32 bit。外部设备除了可连接于主总线之外,还可连接于外围总线、C30的两个串行口。内部有两个作通用定时器和事件计数器的定时器模块、两种信号方式和内部外部时钟,C30还具有一个片内DMA控制器,使C30可与外部低速存储器和外围接口,不影响CPU的计算通过能力。其内部结构如图1所示。 图1 TMS320C3x结构框图 Fig.1 Block diagram of TMS320C3x 保护硬件设计中最常用的一种结构即是一个或多个CPU完成保护功能,另外再设CPU完成监控、显示、打印等功能。虽然也可用相同的DSP来完成保护和监控功能,但按照这种方式设计成的基于DSP的系统比较庞大且性能不佳,硬件及软件的工作量很大。本文认为基于C30的保护装置更易于使用宿主机结构,主CPU可采用时下流行的x86。为使性能达到最佳,让每个CPU可以承担它最胜任的工作,DSP可以承担各种密集型的算法,如滤波、向量计算、逻辑判断等,而x86可进行物理显示、数据记录、存储以及系统总体控制与配置。 1.1 基本原理 在DSP至主CPU的接口中,关键的一部分是数据通路,它必须提供足够的带宽来支持所需的数据吞吐速度。所以在两者间必须让两CPU中的一个有能力启动两者间的通信,同时,要让主CPU对从CPU的活动保持某些控制权(如复位和中断控制等)。此外,主CPU与从CPU之间的数据通路宽度若是32 bit,则可采用PCI总线;如是16 bit宽度,则可采用ISA总线。数据通路的带宽要求因应用的不同而有差别。比如:主CPU与从CPU要交换的数据只是A/D转换的数字量,因时下的A/D最多也就是16 bit的精度,就不必采用PCI总线。主CPU与ISA接口的实现方法如图2所示。 图2 C30与ISA总线接口 Fig.2 The interface of C30 and ISA bus 主、从机系统最简单的方式是采用公用存储器或双寻址寄存器。它具有两套数据总线、地址总线和控制总线,可由x86和DSP共同管理,但同一时间只能由其中一个对其访问。C30提供HOLD和HOLDA两个信号,供主CPU控制它的外部存储器总线。为了控制C30的存储器,主CPU通过命令寄存器向从机C30发出HOLD申请。于是C30在完成了它当前的任务之后便发回HOLDA信号,并使它的地址、数据总线及控制信号处于三态。主CPU收到HOLDA信号之后,就可访问C30的外部存储器,此时C30停止了任何外部访问,但其内部仍继续运行,一直到需要外部总线时才停止下来。当主CPU对C30的外部存储区,即公用存储区操作后(如加载、读出或修改数据),取消HOLD信号,保持周期宣告结束,C30可重新访问其外部存储区。 为节省占用主CPU的存储空间,使主CPU能管理C30的外部存储区,可采用页面管理方式(见中国科学院声学研究所1993年《TMS320C30—A型开发高速处理多功能板用户指南》)。假设C30配置了128 K×32 bit,可将存储空间分为8个区,每区为16 K×32 bit,正好占用主CPU机的一段地址空间。ISA地址总线A0,A1所构成的译码器把32 bit分成4段,每段1 B。地址线A2~A15构成16 KB存储空间,总存储量为64 KB。选取主CPU的A16~A19,可决定占用主CPU的段地址。每个存储区则由主CPU命令口的状态锁存器的3位提供,它把公用存储区分为8个区,选择这3位码,可访问这8个区中的任一区。 上面所述的公用存储区可在主、从机间大量传输数据,但同一时间只允许一个CPU访问,所以在两机同时运行时,会降低整个系统的速度,一般只用于程序加载。目前市场上已有许多高性能双端口RAM出现,可在两CPU之间设置双端口RAM,来满足两CPU之间快速交换数据的要求。由于双口RAM允许两个口同时访问存储器的任何地址,当两个CPU要同时访问同一存储地址时,片内有一套总线仲裁逻辑可解决这一问题,这就可使两CPU在同时运行时也能快速交换数据。另外主、从机之间还可利用中断启动信息的交换,见1.5节。 1.2 外部存储器 C30内部只有64 Kbit的RAM,所以无论是基于主CPU的应用还是单独应用,C30都需要外部存储器。另外C30是流水线结构,能够60 ns读取一条指令,因此,它需要外部存储器能跟上这个节奏。 应用程序大多预装入EPROM中,但是,这类芯片速度比较慢,即使速度问题解决了,使用也不灵活。如果应用程序需要改变,那就必须更换EPROM,因为EPROM在装入主机后,其内容就无法进行修改。较好的办法是采用高速SRAM储存程序。采用SRAM是外部程序存储器的最佳选择,因为不必借助外部逻辑,可选用零等待的存储器,对于33 MHz的C30来说,存取时间为35 ns的SRAM即可。不过这就带来一个问题,在程序运行过程中程序有可能被误改写,所以在设计时必须小心对待。 1.3 DSP的I/O接口 C30有两组总线,主总线可以作为DSP的一个I/O来源,其外围扩展总线用串行口也是I/O的来源,主总线用来连接外部存储器,扩展总线用于连接并行A/D,以及并行输入口、并行输出口,也可作为状态输出口。 1.4 加载程序与启动运行 由于使用RAM作为外部程序区,C30必须由主CPU对其进行复位、加载程序和运行的控制,这可以通过命令寄存器对C30的RS端子进行控制,当RS处于低电平时,C30复位,而当RS处于高电平时,C30从0地址开始运行。在RS信号为低电平期间,主CPU通过HOLD申请,从机响应后,其公用存储区被主机控制,主机在此期间向从机加载程序和数据,之后取消HOLD申请,并通过命令口,使RS为高电平输出,这样C30就结束复位状态,进入运行状态,即可以从高速存储器中读取程序。 1.5 主、从机的相互中断 当从机产生报告或有数据需传送时,需马上申请主机进行处理;而主机需向从机传送采样数据、定值、对时及其它一些控制命令时,也需向从机申请处理。为了有利于主、从机间的控制和管理,还可配置主、从机之间的中断电路,如图3所示。 图3 主机与C30的相互中断 Fig.3 Interrupt between master CPU and C30 当主机向C30发出中断申请时,由主机中断申请接口发出正脉冲,将C30的中断申请寄存器置位。当C30响应中断后,进入中断服务程序,在子程序中C30可通过输出口将中断申请寄存器复位。同理,C30也可向主机发出中断申请。 2 整体设计 基于C30的保护整体设计[2]如图4所示。主CPU x86可承担模拟量、数字开关量的数字采集工作,及所有对外操作命令和故障录波图的显示和打印。C30则只进行数字信号处理、计算、逻辑判断等工作。 图4 整体设计 Fig.4 Diagram for whole device 正常运行方式下,主CPU只进行实时数字采集工作,同时也响应键盘中断请求,可完成诸如整定保护、调试、运行时人机对话功能。主CPU把采集到的原始数据直接写入与C30的共享双口RAM中,并以中断方式通知C30进行取数、加工处理。C30将保护计算和判断结果也以相同方式写入共享RAM中,如判断为故障,则同时中断主CPU,由主CPU完成开出操作。至于装置中的多路同步采集板、多路数字量开入带光隔模板、多路数字量开出带光隔模板等,在市场上极易购得,设计者只需稍加改造就可构成一套完整的保护装置。如果与后台机或调度通信,可方便地增加一个通信卡或网卡即可。因此,硬件的设计工作将大大减少,而基于x86环境下的软件开发更是简单方便,至少可抛弃传统的汇编语言,直接使用高级语言以及现成的软件包。可以预见,随着x86系列微机性能的不断提高以及价格的不断下调,使用x86作为主机的基于DSP的保护装置将包括PC和DSP的全部优点,并且很可能以非常低的价格实现。 3 结语 根据上述设计方案在实验室所做的实验样机表明,基于DSP的宿主机结构可以很好地实现保护功能,并能够达到比现有保护更高的采样率和更高的精度。本文所提出的应用DSP设计保护装置的方法,缩短了保护的开发周期和开发成本,可以使设计者能将更多的精力用于改善保护的性能上。 |
- 上一篇:高频保护专用收发信机的正确整定与联调
- 下一篇:提高继电保护动作正确率的策略