基于DSP+CPLD的新型智能监测系统设计与开发
时间:09-16
来源:互联网
点击:
一、背景及DSP+CPLD系统优越性
作为电气主设备,电动机是数量最多的一种,电动机及其保护的运行正常与否,直接关系到国计民生。据统计,可靠的保护每年可减少约20万台(次)以上的电动机烧毁,减少经济损失数亿元。
传统智能仪器大多数都是在单片机系统基础上开发的。基于单片机的保护装置受其内部结构、时钟和总线的限制,运算能力弱,实时性差,软硬件通用性不强,系统灵活性不高,日益不能满足上述需要。DSP处理器因内部采用了区别于传统单片机冯·诺依曼结构的哈佛结构而克服了取指令和数据都通过同一条总线完成而造成的传输通道瓶颈效应的问题。可编程逻辑器件(PLD)经历了从PROM、PLA、PAL、GAL等低密度的PLD,发展到CPLD和FPGA两种大规模的PLD,开发工具越来越完善,应用越来越普及。将CPLD/FPGA和DSP技术的结合起来实现DSP器件系统的解决方案,为测控仪器向高层次智能化方向发展提供了充分的现实可行性。
为实现对电力系统大型设备智能在线监测,本文以WSM2000 DSP智能电动机保护装置项目为背景,对一种DSP+CPLD新型的智能仪器结构进行了研究和设计。
二、系统结构
本系统采用美国TI 公司生产的浮点DSP器件TMS320C32作为底层主处理器件,实现对A/D采集得到的数字信号进行处理,并且把所有控制电路、地址分配等设计在EPM7128S中,使整个系统结构简单化,体积小型化,功能多样化。AD1674用来进行信号的采集,FLASH Memory用来存放软件代码、主要功能参数、故障数据记录等;SRAM的功能一是程序仿真时使用,二是在系统脱机运行时,将FLASH Memory中的软件搬运到SRAM中运行,提高软的运行效率。系统功能模块图1所示。
三、 CPLD开发流程
CPLD的开发是指用利用CPLD芯片并借助于其开发系统,按照开发系统的工作步骤,将用户设计转化成CPLD配置数据并下载到CPLD芯片中实现用户设计要求的全过程。其设计流程图如图2所示。
四、液晶显示(LCD)模块设计
1 硬件接口设计内置
T6963C控制器型液晶显示模块接口,由指令锁存器、数据锁存器、数据缓冲器、状态寄存器以及数据控制电路、数据栈区等组成。接口部实现了CPU和T6963C内部寄存器及其所管理的显示存储器的存取操作,实现了CPU操作时序与T6963C内部工作时序的转换。CPU对T6963C的每次操作时,接口部的锁存器保留了其发来的指令代码或显示数据,并立即封锁了接口部的对外电路,将后续的处理过程转换到T6963C控制部的工作时序上,直到处理完成,方释放接口部对外电路,等待下一次访问。T6963C与TMS320C32和EPM7128S接口如图3所示:
TMS320C32的/IOSTROB 、A1、A0、引脚进行地址译码,参与系统的统一编址。/IOSTROB=0时,DSP对应有效地址为810000H--82FFFFH,当地址线A0为1时选通LCD,地址线A1用来实现液晶的数据通道和指令通道的区分,A1=1时为指令通道,A1=0时为数据通道。LCD接口地址为: 818003H为指令通道818001H 为数据通道。
2 软件设计
本系统T6963C接口部设计了一个数据栈,在写带有参数的指令时,先向数据通道写入参数,接口部将其存在数据栈中,然后通道写入指令代码。T6963C将根据指令代码的含义将数据栈内最近的数据作为其参数一同进行处理。读显示数据时,先写入操作的指令代码,T6963C将所需的显示数据放入数据栈中,然后读数据操作将数据栈中的数据读出。
3 内置T696 3C液晶显示模块的软件实现
(1)、地址分配及定义
.data
LCDC_ADD .equ 820003H;指令通道
LCDD_ADD .equ 820001H;数据通道
(2)、状态字检测子程序
LCDR_ST: LDI @LCDC_ADD,R0
RETS
由此程序派生出判断有关标志位的子程序:
<1>判断状态位STA1和STA0子程序,在写指令的读、写数据之前,这两个标志位必须同时为“1”。
LCDST01: CALL LCDR_ST
LDI R0,R1
AND 01H,R1
BZ LCDST01
AND 02H,R0
BZ LCDST01
RETS
<2>判断状态位STA3子程序(数据自动写状态)
LCDST3: CALL LCDR_ST
AND 08H,R0
BZ LCDST3
RETS
(3)、写指令和写数据子程序
LCDPR1 : CALL LCDST01;双字节参数指令写入入口
LDI AR1,R0
CALL LCDPR13
LCDPR11: CALL LCDST01 ;单字节参数指令写入入口
LDI AR2,R0
CALL LCDPR13
LCDPR12: CALL LCDST01 ;无参数指令写入入口
LDI AR3,R0
LCDPR14: STI R0,@LCDC_ADD ;写入指令操作
RETS
LCDPR13: STI R0,@LCDD_ADD;写入数据操作
RETS
(4)、读数据子程序
LCDPR2: CALL LCDST01 ;判状态位
LDI @LCDD_ADD,R0 ;读数据操作
RETS
五、
作为电气主设备,电动机是数量最多的一种,电动机及其保护的运行正常与否,直接关系到国计民生。据统计,可靠的保护每年可减少约20万台(次)以上的电动机烧毁,减少经济损失数亿元。
传统智能仪器大多数都是在单片机系统基础上开发的。基于单片机的保护装置受其内部结构、时钟和总线的限制,运算能力弱,实时性差,软硬件通用性不强,系统灵活性不高,日益不能满足上述需要。DSP处理器因内部采用了区别于传统单片机冯·诺依曼结构的哈佛结构而克服了取指令和数据都通过同一条总线完成而造成的传输通道瓶颈效应的问题。可编程逻辑器件(PLD)经历了从PROM、PLA、PAL、GAL等低密度的PLD,发展到CPLD和FPGA两种大规模的PLD,开发工具越来越完善,应用越来越普及。将CPLD/FPGA和DSP技术的结合起来实现DSP器件系统的解决方案,为测控仪器向高层次智能化方向发展提供了充分的现实可行性。
为实现对电力系统大型设备智能在线监测,本文以WSM2000 DSP智能电动机保护装置项目为背景,对一种DSP+CPLD新型的智能仪器结构进行了研究和设计。
二、系统结构
本系统采用美国TI 公司生产的浮点DSP器件TMS320C32作为底层主处理器件,实现对A/D采集得到的数字信号进行处理,并且把所有控制电路、地址分配等设计在EPM7128S中,使整个系统结构简单化,体积小型化,功能多样化。AD1674用来进行信号的采集,FLASH Memory用来存放软件代码、主要功能参数、故障数据记录等;SRAM的功能一是程序仿真时使用,二是在系统脱机运行时,将FLASH Memory中的软件搬运到SRAM中运行,提高软的运行效率。系统功能模块图1所示。
三、 CPLD开发流程
CPLD的开发是指用利用CPLD芯片并借助于其开发系统,按照开发系统的工作步骤,将用户设计转化成CPLD配置数据并下载到CPLD芯片中实现用户设计要求的全过程。其设计流程图如图2所示。
四、液晶显示(LCD)模块设计
1 硬件接口设计内置
T6963C控制器型液晶显示模块接口,由指令锁存器、数据锁存器、数据缓冲器、状态寄存器以及数据控制电路、数据栈区等组成。接口部实现了CPU和T6963C内部寄存器及其所管理的显示存储器的存取操作,实现了CPU操作时序与T6963C内部工作时序的转换。CPU对T6963C的每次操作时,接口部的锁存器保留了其发来的指令代码或显示数据,并立即封锁了接口部的对外电路,将后续的处理过程转换到T6963C控制部的工作时序上,直到处理完成,方释放接口部对外电路,等待下一次访问。T6963C与TMS320C32和EPM7128S接口如图3所示:
TMS320C32的/IOSTROB 、A1、A0、引脚进行地址译码,参与系统的统一编址。/IOSTROB=0时,DSP对应有效地址为810000H--82FFFFH,当地址线A0为1时选通LCD,地址线A1用来实现液晶的数据通道和指令通道的区分,A1=1时为指令通道,A1=0时为数据通道。LCD接口地址为: 818003H为指令通道818001H 为数据通道。
2 软件设计
本系统T6963C接口部设计了一个数据栈,在写带有参数的指令时,先向数据通道写入参数,接口部将其存在数据栈中,然后通道写入指令代码。T6963C将根据指令代码的含义将数据栈内最近的数据作为其参数一同进行处理。读显示数据时,先写入操作的指令代码,T6963C将所需的显示数据放入数据栈中,然后读数据操作将数据栈中的数据读出。
3 内置T696 3C液晶显示模块的软件实现
(1)、地址分配及定义
.data
LCDC_ADD .equ 820003H;指令通道
LCDD_ADD .equ 820001H;数据通道
(2)、状态字检测子程序
LCDR_ST: LDI @LCDC_ADD,R0
RETS
由此程序派生出判断有关标志位的子程序:
<1>判断状态位STA1和STA0子程序,在写指令的读、写数据之前,这两个标志位必须同时为“1”。
LCDST01: CALL LCDR_ST
LDI R0,R1
AND 01H,R1
BZ LCDST01
AND 02H,R0
BZ LCDST01
RETS
<2>判断状态位STA3子程序(数据自动写状态)
LCDST3: CALL LCDR_ST
AND 08H,R0
BZ LCDST3
RETS
(3)、写指令和写数据子程序
LCDPR1 : CALL LCDST01;双字节参数指令写入入口
LDI AR1,R0
CALL LCDPR13
LCDPR11: CALL LCDST01 ;单字节参数指令写入入口
LDI AR2,R0
CALL LCDPR13
LCDPR12: CALL LCDST01 ;无参数指令写入入口
LDI AR3,R0
LCDPR14: STI R0,@LCDC_ADD ;写入指令操作
RETS
LCDPR13: STI R0,@LCDD_ADD;写入数据操作
RETS
(4)、读数据子程序
LCDPR2: CALL LCDST01 ;判状态位
LDI @LCDD_ADD,R0 ;读数据操作
RETS
五、
DSP CPLD 电动机 单片机 总线 FPGA 电路 仿真 LCD 嵌入式 相关文章:
- 基于FPGA的片上系统的无线保密通信终端(02-16)
- 基于Virtex-5 FPGA设计Gbps无线通信基站(05-12)
- FPGA作为协处理器在实时系统中的应用(04-08)
- 学习FPGA绝佳网站推荐!!!(05-23)
- 我的FPGA学习历程(05-23)
- 基于Spartan-3A DSP的安全视频分析(05-01)