基于DSP器件TMS320C32和CPLD芯片实现智能仪器的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于DSP器件TMS320C32和CP1D芯片实现智能仪器的设计
一、背景及DSP+CP1D系统优越性
作为电气主设备,电动机是数量最多的一种,电动机及其保护的运行正常与否,直接关系到国计民生。

据统计,可靠的保护每年可减少约20万台(次)以上的电动机烧毁,减少经济损失数亿元。

传统智能仪器大多数都是在里出;机系统基础上开发的。

基于单片机的保护装置受其内部结构、时针和总线的限制,运算能力弱,实时性差,软硬件通用性不强,系统灵活性不高,日益不能满足上述需要。

DSP处蹴因内部采用了区别于传统单片机冯•诺依曼结构的哈佛结构而克服了取指令和数据都通过同一条总线完成而造成的传输通道瓶颈效应的问题。

可编程逻辑器件(P1D)经历了从PROM、P1A、PA1、GA1等低密度的P1D,发展到CP1D和空丛两种大规模的P1D,开发工具越来越完善,应用越来越普及。

将CP1D/FPGA和DSP技术的结合起来实现DSP器件系统的解决方案,为测控仪器向高层次智能化方向发展提供了充分的现实可行性。

为实现对电力系统大型设备智能在线监测,本文以WSM2000DSP智能电动机保护装置项目为背景,对一种DSP+CP1D新型的智能仪器结构进行了研究和设计。

二、系统结构
本系统采用美国TI公司生产的浮点DSP器件TMS320C32作为底层主处理器件,实现对A/D采集得到的数字信号进行处理,并且把所有控制电路、地址分配等设计在EPM7128S中,使整个系统结构简单化,体积小型化,功能多样化。


iy用来存放软件代码、主要功能参数、1674用来进行信号的采集,F1ASHMem
2
故障数据记录等;S幽1的功能一是程序仿真时使用,二是在系统脱机运行时,将F1ASHMemor中的软件搬运到SRAM中运行,提高软的运行效率。

系统功能模块图1所示。

系统结构图
三、CP1D开发流程
CP1D的开发是指用利用CP1D芯片并借助于其开发系统,按照开发系统的工作步骤,将用户设计转化成CP1D配置数据并下载到CP1D芯片中实现用户设计要求的全过程。

其设计流程图如图2所示。

四、液晶显示(1CD)模块设计
1硬件接口设计内置T6963C控制器型液晶显示模块接口,由指令锁存器、数据锁存器、数据缓冲器、状态寄存器以及数据控制电路、数据栈区等组成。

接口部实现了CPU和T6963C内部寄存器及其所管理的显示存储器的存取操作,实现了CPU操作时序与T6963C内部工作时序的转换。

CPU对T6963C的每次操作时,接口部的锁存器保留了其发来的指令代码或显示数据,并立即封锁了接口部的对外电路,将后续的处理过程转换到T6963C控制部的工作时序上,直到处理完成,方释放接口部对外电路,等待下一次访问。

T6963C与TMS320C32和EPM7128S接口如图3所示:
TMS320C32的/项TROB、AKAO>引脚进行地址译码,参与系统的统一编址。

/IOSTRO B=O DSP对应有效地址为81000OH—82FFFFH,当地址线AO为1 时选通1CD,地址线A1用来实现液晶的数据通道和指令通道的区分,A1=I时为指令通道,A1=O时为数据通道。

1CD接口地址为:818003H为指令通道818001H 为数据通道。

2软件设计
本系统T6963C接口部设计了一个数据栈,在写带有参数的指令时,先向数据通道写入参数,接口部将其存在数据栈中,然后通道写入指令代码。

T6963C 将根据指令代码的含义将数据栈内最近的数据作为其参数一同进行处理。

读显示数据时,先写入操作的指令代码,T6963C将所需的显示数据放入数据栈中,然后读数据操作将数据栈中的数据读出。

3内置T6963C液晶显示模块的软件实现
(1)、地址分配及定义
.data
1CDC ADD.equ820003H;指令通道
1CDD_ADD.equ820001H;数据通道
(2)、状态字检测子程序
1CDR_ST:1DI@1CDCADD,RO
RETS
由此程序派生出判断有关标志位的子程序:
《1》判断状态位STA1和STAo子程序,在写指令的读、写数据之前,这两个标志位必须同时为“1”。

1CDST01:CA111CDR_ST
1DIRO,R1
ANDO1H,R1
BZ1CDST01
AND02H,RO
BZ1CDST01
RETS
《2》判断状态位STA3子程序(数据自动写状态)
1CDST3:CA111CDR_ST
AND08H,RO
BZ1CDST3
RETS
(3)、写指令和写数据子程序
1CDPR1:CA111CDSTO1;双字节参数指令写入入口
1DIARI,RO
CA111CDPR13
1CDPR11:CA111CDST01;单字节参数指令写入入口
1DIAR2,RO
CA111CDPR13
1CDPR12:CA111CDST01;无参数指令写入入口
1DIAR3,RO
1CDPR14:STIRO,@1CDC_ADD;写入指令操作
RETS
1CDPR13:STIRO,@1CDD_ADD;写入数据操作
RETS
(4)、读数据子程序
1CDPR2:CA111CDST01;判状态位
1DI@1CDD_ADD,RO;读数据操作
RETS
五、系统在线编程
因系统最终要脱仿真器独立运行,所以要把程序烧写到掉电非丢失存储器F1ASHRoM中。

本系统开发所采用的将存储器安装到用户电路板上进行编程的方法将用户程序代码装入F1ASH存储器的。

它包括现在普遍采用的在系统编程(InSystemProgramming,ISP),通过系统的微处理器实现对F1ASH存储器的编
程。

1、F1ASH在线编程实现
对F1ASH的基本操作主要有读、字节编程、复位、扇区擦除、片擦除等。

Λm29F010B闪烁存储器读操作与普通的存储器操作相同,不需要特定的时序,在电路上电或内部编程等操作技术后,自动进入读数据状态。

而擦除和写操作相对复杂一些。

它不能简单的直接写入,.0UT文件不能1oAD到F1ASH中,CCS 和CSourceDebUgger中的1OAD命令均不能对F1ASH写入,需要专门的程序写入一系列FIaShMemory的命令寄存器,然后调用嵌入式算法的内部程序来完成相应的命令。

Am29F010B编程一般步骤是复位、擦除、字节编程等。

2、系统软件加载程序设计
系统软件加载程序的主要作用是在系统上电处理器初始化后,开始执行的一段代码,将用户实时运行的程序和数据从外部低速F1ASHMemory中加载到内部或外部高速静态RAM存储器中,然后跳到程序的进入点开始全速运行。

TMS320C32DSP芯片引导装载程序的执行过程将复位中断向量表中存放引导程序的起始地址,上电复位或手动复位之后,程序指针将指向引导程序。

在运行搬移程序之前,要注意关中断。

向量如果MC∕MP∙1而且系统没有接在位直器上,那么DSP芯片自动运行固化在OhFfffh中的引导装载程序。

这一程序会自动判断是INTO~INT2,还是INT3中断。

如果是INTo~INT2中断,DSP将存放在B00TΓB00T3中的一段程序装载到片内RAM或片外SRAM中;如果是INT3中断,则DSP将从串口中把程序装载到片内RAM或SRAM中。

如果没有中断,DSP 根据OH单元中的复位矢量,跳到该矢量所指出的单元为首地址,执行一段引导装载程序。

TMS320C32引导装载程序关键代码如下:
1DI01H,ARO
1DI*AR2,AR1
1DI87,RC
RPTBd1oad
1DI*AR0+÷,RO
D1oad:STIRO,*AR1++
1DI03H,ΛR0
1DI*AR0,ARO
1DI04H,AR2
1DI*AR2,AR1
1DI4000H,RC
RPTBp1oad
1DI*AR0++,RO
P1oad:STIRO,*ΛR1++
BR900000H
六、结束语
上述讨论的方法在软、硬件上都己得到实现,效果理想。

利用了FIaShROM 的嵌入式算法,体现了DSP高效性和灵活性。

非常适合应用于实时控制系统中,解决了只能依赖于烧录器的问题,也可经常调整系统的参数,降低了系统成本、缩短了系统的开发周期。

责任编辑:gt。

相关文档
最新文档