- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
微处理器dsPIC33F的技术分析与应用
1 引言
随着工业的发展以及人们生活对电气化的普及,电网供电负荷的日趋加重,电力系统对微机保护装置提出更高要求,一般低档单片机已很难满足设计要求。近年来,各种集成化的单片DSP的性能得到很大改善,软件和开发工具也越来越多,使得DSP器件及技术更容易使用,价格也能够为广大用户所接受。 Microchip公司推出的数字信号处理器dsPIC33F集A/D转换、通讯、看门狗、保护和数据存储于一体,同时还支持SPI模式和I2C模式数据传输,便于扩展容量。因此,开发基于dsPIC33F的微机保护装置,不仅提升保护系统的整体性能和硬件平台的通用性,而且还能缩短开发时间,降低开发及硬件成本,对提高电力系统的稳定运行水平具有一定意义。下面我们来介绍一下。
2 数字信号控制器dsPIC33F系列简介
dsPIC33F系列是高性能16位数字信号控制器,具有扩展的数字信号处理器(DSP)功能和高性能16位微控制器 (MCU)的架构。它是一种16位改进型哈佛结构RISC器件,融合了高性能16位单片机的控制优势和数字信号处理器的高速运算能力,是一款高性能的数字信号控制器(DSC)。dsPIC33F系列器件具有以下性能特点:
(1)DSP内核和指令系统dsPIC33F的DSP引擎具有1个高速的17位×17位的乘法器,1个40位的ALU,2个40位的饱和累加器以及1个 40位的双向移位器,其运算速度可达40 MI/s,指令字为24位,指令系统包含MCU指令集和DSP指令集。此外,这些指令对C语言编译器做了专门优化,采用C语言编写的程序代码效率很高。 dsPIC33F允许工作电压±10%的偏差,即工作电压为3.0~3.6 V。
(2)直接存储器访问(DMA)和中断能力dsPIC33F内部集成了8通道直接存储器访问模块,允许CPU执行代码期间在RAM和外设间传输数据,不额外占用周期。2 KB双端口DMA缓冲区(DMA RAM),用于存储通过DMA传输的数据。可通过软件对DMA中断源进行设定,从而达到设计要求。dsPIC33F含有最多由118个区分优先级的中断向量组成的异常处理结构,中断优先级分为7级。最多67个中断源,5个外部中断和5个处理器异常。
(3)存储空间和外围器件程序计数器为23位宽,可寻址4 Mx24位的程序存储空间。对于DSP指令分别对2个数据区进行寻址;而MCU指令,数据空间可以整体作为64Kx8位进行寻址。dsPIC33F内部集成SRAM和Flash等必需的存储器件,提供10 bit和12 bit A/D转换模块(可选),8 bit看门狗,以及UART、SPI、I2C、CAN等通信模块。
(4)开发工具Microchip高性能开发系统支持dsPIC33F系列控制器。该开发系统包括MPLAB集成开发环境(IDE)、MPLAB C30 C编译器、MPIAB SIM 30软件仿真器、MPIABICD 2在线调试器及MPLAB ICE 4000在线仿真器。dsPIC33F系列数字信号控制器还配备一系列的应用库。
3 dsPIC33F在微机保护硬件系统中的应用
该装置按功能分为CPU模块、交流插件、数字量I/O微机保护、通信、人机接口单元和电源单元。通信接口直接与上位机或通信管理机连接,人机接口采用 128x64点阵式液晶显示器和专用键盘,显示信息量大,操作方便,硬件设计框图。该微机保护装置具有16路开入量,16路开出量,15路模拟量,CPU模块原理框图如图2所示。由于dsPIC33F具有强大的汁算能力和完善的控制功能,可单独完成计算、控制、通信、人机接口等功能,减少了器件数量,简化硬件结构。又因dsPIC33F内部集成RAM、Flash、A/D转换器等,使得外同扩展电路很少,进一步简化硬件结构,基本实现了总线不出芯片没计,极大提高保护装置的抗干扰性和可靠性。
3.1 存储器扩展及实时时钟接口
dsPIC33Fj256GP710内部集成30 KB的SRAM用作数据存储空间,256 KB的增强型Flash作为程序或数据存储区。由于微机保护,存储保护定值、事件记录和故障录波数据都需较大存储空间,因此该装置扩展1 MB的外部存储空间,将串行闪速存储器AT45DB081通过SPI总线同dsPIC33FJ256GP71O相连。AT45DB081的工作电压为2. 7~3.6 V,在系统重复擦写并兼容SPI的Flash存储器。内部有4 096页,每页264个字节,共计8MB的主存储器容量以及2个264字节的SRAM数据缓存器。AT45DB081与dsPIC33FJ256GP710的接口设计电路。dsPIC33Fj256GP710的SDO1、SOI1、SCK1分别与 AT45DB081的串行输入(SI)、串行输出(SO)和时钟(SCK)引脚相连,RE4,RE2,RE5,RE6分别与AT45DB081的片选 (CS)、复位(RESET)、忙闲状态(RDY/BUSY)和写保护(WP)引脚相连。dsPIC33F通过RE5读取AT45DB081的忙闲状态引脚判断存储器是否空闲,若RE5为“1”表示存储器空闲,否则表示存储器忙。当存储器空闲时,通过RE4引脚输出“0”作为存储器的片选信号,选中存储器后通过SPI发送命令字完成对AT45DB081的相应读写操作。微机保护需配置3个定值,且存储在不同的3个区间,运行时校验其定值是否正确。为此,对 AT45DB081的空间分配如下:定值、控制字、工厂设置和调节系数共分为4个区,存储在AT45DB081的第0~9页,即第一区为 AT45DB081的第0,1,2页,分别存储保护装置的第1,2,3个定值;第二区为AT45DB081的第3,4,5页,分别存储保护装置的第1, 2,3个定值;第三区为AT45DB081的第6,7,8页,分别存储保护装置的第1.2.3个定值;第4区为AT45DB081的第9页,存储调节系数。事件记录存储在AT45DB081的第10~1 000页。故障录波数据存储在AT45DB081的第1 001~4 000页。
PCF8583是串行总线扩展方式,通过DSP的I2C时钟线SCL和数据线SDA完成对PCF8583的参数设置、日期和时间读取等操作,同时 PCF8583具有接口简单、占用DSP资源少和可靠性高等优点,并在掉电时仍能进行时间计数。扩展的时钟器件用来记录系统的工作时间。除此之外,为避免装置频繁读写EEPROM,对于保护装置频繁读写的信号如事故、预告、脉冲量、重启次数、装置故障信号及出口标志都存放在RAM寄存器,时钟器件在读取当前时间的同时也调用这些内容,在装置断电又重新上电时能够获得这些信息。
3.2 基于DMA的A/D转换
DSPIC33FJ256GP710集成32路12 bit高精度的A/D转换模块,其转换速度可达1 Ms/s,可灵活设定采样通道。采样模式可选用手动和自动两种,通道停止采样并开始转换的方式也有多种,如手动清除SAMP开始采样、内部计数器计数触发采样、定时器Timer3溢出触发采样、中断引脚INTO触发等。其中定时器Timer3溢出触发采样适合保护装置的定点采样。A/D转换采用直接存储器访问(DMA)方式。采样结束后直接将数据存放于DMA RAM(有2 KB空间),不占用CPU周期。A/D转换结束并且数据已经存储于DMA RAM后会产生DMA中断,寄存器AD1CON2可用于选择多路采样结束后将产生中断。本装置共采集15路模拟量,采用自动采样和Timer3触发转换的模式,在每个采样周期内触发转换一次,全部15路采样结束后产生中断并一次从DMA RAM区读取所有15路数据。在这种工作模式下,CPU只需启动一次A/D转换,在不占用CPU指令周期的情况下,通过DMA方式将采样数据从外设转存于 RAM中,采样处理效率大大提高。给CPU空出了足够的时间来计算和故障判断。
3.3 以太网接口的扩展
以太网接口扩展电路。本装置采用I/O口模拟SPI实现主控制器和 ENC28J60的连接,ENC28J60收满一帧后,通过INT引脚发中断信号通知dsPIC33F。SO为主机读命令引脚,SI为主机写命令引脚。 Microchip公司提供了一组专门针对dsPIC33F系列数字信号控制器的嵌入式TCP/IP协议栈CMX-MicroNet,该协议栈针对 dsPIC33F系列器件的Flash和RAM资源进行优化,为以太网功能的实现提供软件支持。该协议栈既可以单独运行也可以嵌入实时操作系统 (RTOS)中使用。Microchip CMX-MicroNet协议栈采用分层结构,用户可以在不十分熟悉TCP/IP的情况下实现网络应用。
在主程序中,对dsPIC33F自带看门狗时间初始化,即需设置:2个8位的计数器WDT Prescaler A、WDT Prescaler B,溢出时间可在2 ms~16 s之间调整。在对dsPIC33F的定时器初始化中,需考虑dsPIC33FJ256GP710具有9个16位定时器。本装置软件使用3个定时器:T1、 T3和T5。其中定时器T1的中断时间为1 ms,完成时钟的读写、开入量采集、开出量输出、开关变位事件记录等功能。
定时器T3中断完成A/D转换的启动。在不占用CPU周期的情况下,通过DMA方式将采样数据存入DMA RAM中,避免CPU和外设之间数据交换而占用宝贵的CPU时间,使程序的运行速度提高,采样数据的读取在DMAO中断中进行。T5中断完成保护的计算和判断。
在收发两个通信中断函数中,主要完成微机保护装置上传开关量、保护定值、事件记录和遥测量(电流、电压、有功功率、无功功率和功率因数等)等,下传修改保护定值、时间信息和遥控操作等。本装置通讯采用IEC60870-5-103传输规约和Mdbus规约(可选),以便达到标准化通讯接口要求。
5 基于dsPIC33F的保护装置抗干扰设计
在微机保护装置的工作环境中,电磁干扰(如雷击)相当严重,系统故障、系统设备误操作以及控制、过电流和浪涌干扰等都可能侵入保护装置。在微机保护装置内部,由于辅助继电器的动作或直流转换器转换过程中的高频信号,也会产生干扰。这些干扰的特点是频率高、幅值大,而且持续时间短,能通过各种途径侵入微机保护装置中的电子电路,干扰微机保护的正常工作。dsPIC33F内部集成的WDT模块,由内部振荡电路提供专门时钟信号。如果没有清除脉冲,它将产生一个固定频率的输出脉冲,使整个CPU系统复位重启。启动看门狗只需在MPLAB ICD 2集成开发环境中,将看门狗Timer设置为使能即可。为增强抗干扰性能,软件还增设4个非屏蔽中断错误处理函数来处理晶振、地址、堆栈和算术出错在硬件的抗干扰措施上采取接地、隔离、屏蔽等措施,有效确保装置的电磁兼容性能。
射频工程师养成培训教程套装,助您快速成为一名优秀射频工程师...