第6章 DSP系统初始化及中断..

合集下载

第6章信号处理电路

第6章信号处理电路

6.1.3 子码解码器(见P109)
在CPU的控制下,按照CD-DA数据格式,设置 不同位置,不同长短的窗口以同步位为参考基 准,将各类数据码分割提取出来,送至缓冲存 储器,同时, Nhomakorabea去耦合位。
把一个扇区98个数据帧的同一个子码取出,并 按顺序积累到缓冲存储器中,形成代表特定意 义的一串数据,称为子码帧。
显示,有声有图,但出现无彩色或彩色 异常,也可能是图像异常的故障现象。
6.9.2 视频电 路故障 检修方 法
6.10 音、视频电路故障的检修实例
器件的失效在音、视频故障中比较常见。
学习要点与指导
光盘机的信号处理电路由数字信号处理电路、音视频电路 构成。最终的目的是把光盘上记录的信号轨迹转换成音频 信号和视频信号输出。
三.实验内容
当VCD机和DVD机出现故障时,对一些 测试点进行波形的测试,把测试结果与 正常的波形进行比较,就可以判断电路 是否正常。
四.实验步骤
(1)RF, FE, TE信号测试。 (2)DA-BCK, DA-DATA, DA-LRCK波形测试。 (3)CD-DATA, CD-BCK, CD-LRCK波形测试。 (4)测VIDEO, Y, C, AUDIO的波形。 (5)用万用表测量各集成电路电路的工作电压、
不能读盘。
6.5.2 解 压缩电路 故障的检 修方法
6.6 解压缩及其附属电路故障检 修实例
1.视盘机播放盘片时,计时显示正常,光盘 正常旋转。说明光盘机的激光头、前置放大电 路、盘片驱动伺服系统、机械结构、数字信号 处理电路DSP、CPU和显示部分正常,CD机芯 部分的供电也正常。
播放VCD无图无声的故障现象,应该是解压缩 电路故障。
复位电平和一些工作时钟。FOK信号和LDON等。

DSP中断

DSP中断

2、中断矢量表 DSP产生中断时,要使得程序能跳转到中断服务子
程序执行,则需要在中断矢量处放置一条跳转指令。 如:
RS B _c_int00 (占2个字) 对于多个中断时,注意地址的对应。如系统中断有:
中断号0(RS)、中断号3(SINT18)。跳转指令如 下:
RS B _c_int00
.word 0,0,0,0,0,0,0,0,0,0
1、vectors.asm文件编写
.ref _c_int00, _NMI_INT,_SOFT_INT,_add_INT
RS NMI SINT2 SINT3 SINT4
.sect ".vectors"
B
_c_int00
NOPNΒιβλιοθήκη PB_NMI_INT
NOP
NOP
B
_SOFT_INT
NOP
NOP
B
_SOFT_INT
SINT18 B
_sint18
.sect ".vectors"
RS NMI SINT2 SINT3 SINT4 SINT5
B NOP NOP
NOP NOP B NOP NOP B NOP NOP B NOP NOP B NOP NOP
_c_int00
B
_NMI_INT
_SOFT_INT
_SOFT_INT
Void interrupt _SOFT_INT() {return;}
Int add(int x1,int x2,int x3,int x4,int x5) {int y; Y=x1+x2+x3+x4+x5; Return y; }
练习:
当INT0引脚出现中断请求时,要求DSP能响 应该中断,并使得XF引脚状态取反。

DSP(TMS320C6713)入门之旅三、中断的理解和使用

DSP(TMS320C6713)入门之旅三、中断的理解和使用

学习一个芯片的功能时,我的建议是先学会如何用C语言点亮一个LED灯,然后就是学习一下使用他的中断,因为在做芯片的时候,各个厂家有自己的一套自己的方法。

所以使用中断的就必须了解很多概念,比如如何打开中断,如何安装自己的中断子服务程序,等等!先介绍一下什么叫中断:你在下象棋,突然电话响了,你回屋接电话,然后回来继续下象棋,这个过程就叫做中断响应过程(中断过程)。

CPU执行正常任务———————下象棋保护现场———————————-你已经想好要―将军‖,先在脑海中记下来。

中断发生———————————-电话响-中断服务程序—————————-接电话恢复现场———————————-回来后恢复刚才想法中断返回———————————-你回来继续下象棋中断屏蔽———————————-Boss 正在训话,要求所有电话关机,你不能接电话了。

非屏蔽中断——————————-你内急,即使是Boss 在训话,你还是得到外面去嘘嘘。

可屏蔽中断——————————-你在―闭关修炼‖,可以不受外界干扰所以我们在使用中断之前先得告诉CPU,我们要使用那个中断,当中断发生的时候,你的执行程序的去向(也就是中断服务子程序),最后在返回我们被中断的函数。

这样就完成了我们的中断历程!看看6713执行中断的流程:一、使能了全局中断和子中断,那么CPU每执行一条指令之前就去查询一下有没有中断被置位,如果有产生的,那么CPU就要跳转!二、软件把CPU内部的寄存器A0~A15,B0~B15,等等这些寄存器的值推入堆栈保存,把当前PC寄存器的值放入IRP寄存器中以备中断返回能找到当前被打断的位置(保存现场,中断函数前面得加interrupt关键字)三、CPU的PC指针读出中断向量表的地址,也就是把(ISTP寄存器的值+子中断向量偏移量)装入PC寄存器,这样就执行跳转。

四、在中断向量表里一般有就用跳转指令,这样就可以跳转到我们用C语言编写的中断服务子程序中。

DSP中断

DSP中断

注:
• 当时钟发生器从DIV方式转到PLL工作 方式时,锁定定时器在转换过程中,时钟 发生器继续工作在原来状态,当锁定定时 器减为0后,时钟发生器才转入PLL状态.
三、定时器/计数器应用
1、方波发生器 例、在DSP的XF输出端产生一个周期为4ms的方波,方 波周期由片上定时器确定,采用中断方法实现,设时 钟频率为0.4MHZ. 步骤如下: (1)、定时器初始化 • 关闭定时器,TCR中的TSS=1。 • 加载PRD。因为输出脉冲周期为4ms,所以定时中断 周期应该为2ms,每中断一次,输出端电平取反一次。 • 启动定时器,初始化TDDR,TSS=0,TRB=1。
第七章
DSP外设及应用
第一节 中断系统 一、中断类型
中断是由硬件或软件驱动的信号。中 断信号使DSP暂停正在执行的程序,并进 入中断服务程序。
C54X既支持软件中断,也支持硬件中断: 1、由程序指令(INTR,TRAP、RESET) 要求的软件中断。 2、由外围设备信号要求的硬件中断。这种 硬件中断又有两种形式: (1)、受外部中断口信号触发的外部 中断信号。 (2)、受片内外围电路信号触发的内 部硬件中断。
当同时有多个硬件中断出现时,按照优先 级的高低进行处理,按优先级可以将中断分为 两类: 第一类:可屏蔽中断。
可以用软件屏蔽或开放的硬件和软件中断, C54X最多可支持16个用户可屏蔽中断。 例、C541,只有9个此类中断。 INT0~INT3, RINT0,XINT0,RINT1,XINT1 TINT。
例、定时器的初始化和开放定时中断:
STM #0000H,SWWSR; STM #0010H,TCR ;TSS=1,关定时器 STM #0100H,PRD ;加载周期寄存器(PRD) STM #0C20H,TCR ;定时分频系数TDDR初始化为1 ;TSS=0,启动定时器 ;TRB=1,当TIM减到0后,重新加载PRD, ;soft=1,free=1,定时器遇到断点后继续运行 STM #0008H, IFR ;清除中断 STM #0008H,IMR ;开放定时中断 RSBX INTM ;开放中断

dsp中断实验报告

dsp中断实验报告

dsp中断实验报告DSP中断实验报告引言:数字信号处理(Digital Signal Processing,简称DSP)是一门涉及信号处理、系统和算法的学科。

在实际应用中,DSP常常需要使用中断来处理实时任务,确保信号的准确处理和响应。

本实验旨在通过对DSP中断的实验,深入理解中断的原理和应用。

一、实验目的通过实验,掌握DSP中断的基本原理和实现方法,了解中断在实时信号处理中的重要性。

二、实验器材和软件1. 实验器材:DSP开发板、计算机、示波器等。

2. 实验软件:DSP开发工具、代码编辑器等。

三、实验步骤1. 准备工作a. 连接DSP开发板和计算机,确保通信正常。

b. 打开DSP开发工具,并创建一个新的工程。

c. 在代码编辑器中编写中断处理函数的框架。

2. 中断初始化a. 在主函数中,设置中断向量表的地址,指向中断处理函数的入口。

b. 初始化中断控制器,使其能够正确响应中断请求。

c. 打开中断使能开关,使中断能够正常工作。

3. 中断处理函数编写a. 根据实际需求,编写中断处理函数的具体逻辑。

b. 在中断处理函数中,对实时信号进行处理和响应。

4. 实验验证a. 编译并下载代码到DSP开发板。

b. 连接示波器,观察实时信号的处理情况。

c. 通过改变中断触发条件,验证中断的正常工作。

四、实验结果与分析经过实验验证,我们成功实现了DSP中断的功能。

通过中断处理函数,我们可以实时响应外部事件,对信号进行处理和控制。

在实时信号处理中,中断的应用可以大大提高系统的响应速度和准确性。

五、实验总结通过本次实验,我们深入理解了DSP中断的原理和应用。

中断作为一种实时处理机制,可以在处理器执行其他任务的同时,及时响应外部事件。

在实际应用中,我们可以根据需求合理配置中断,提高系统的实时性和稳定性。

六、实验心得通过实验,我对DSP中断有了更深入的认识。

中断作为一种重要的实时处理机制,在数字信号处理中发挥着重要作用。

在以后的学习和实践中,我将进一步探索中断的应用,提高自己的实时信号处理能力。

DSP系统配置和中断_图文(精)

DSP系统配置和中断_图文(精)

第2章系统配置和中断介绍系统的配置寄存器和有关中断,并介绍用于增加中断请求容量的外设中断扩展(PIE寄存器。

2.1 系统配置概述系统配置和中断操作的内容包括:系统配置寄存器、中断优先级和中断向量表、外设中断扩展控制器(PIE、中断向量、中断响应的流程、中断响应的时间、CPU中断寄存器、外设中断寄存器、复位、无效地址检测、外部中断控制寄存器。

LF2407大部分的I/O口是多路复用的,复位时会被上拉为数字输入的模式。

2.2 系统配置寄存器对功能模块进行配置。

2.2.1 系统控制和状态寄存器(1)系统控制和状态寄存器-SCSR1,映射到数据存储器空间7018h 。

位15:保留位14:CLKSRC,CLKOUT引脚输出源选择0-CLKOUT引脚输出CPU时钟;1-CLKOUT引脚输出WDCLK时钟位13-12:LPM低功耗模式选择,指明在执行IDLE 指令后进入哪一种低功耗模式。

00-进入IDLE1(LPM0)模式;01-进入IDLE2(LPM1)模式;1x -进入HALT (LPM2)模式。

位11-9:PLL时钟预定标选择,对输入时钟选择倍频系数。

000-4;001-2;010-1.33;011-1;100-0.8;101-0.66;110-0.57;111-0.5位8:保留位7:ADC CLKEN,ADC模块时钟使能控制位位6:SCICLKEN, SCI模块时钟使能控制位位5:SPICLKEN, SPI模块时钟使能控制位位4:CANCLKEN, CAN模块时钟使能控制位位3:EVBCLKEN, EVB模块时钟使能控制位位2:EVACLKEN, EVA模块时钟使能控制位0:禁止模块时钟(节能);1:使能模块时钟,且运行位1:保留位0:ILLADR, 无效地址检测位当检测到一个无效地址时,该位被置1,该位需软件清除,写0即可。

初始化时该位写0。

注意:任何无效的地址会导致NMI事件发生。

(2)系统控制和状态寄存器2-SCSR2映射到数据存储器空间7019h 。

第6章 DSP软件设计


参数1 参数1 在A中
© Software College , East China Institute of Technology , 2009 HJF
混合编程函数调用规则(续)
汇编器对被调用函数局部帧的分配
局部帧包括局部变量块和局部参数块两部分,其中局部参数块是 局部帧中用来传递参数到其他函数的部分。如果被调用函数没有 局部变量并且不再调用其他函数或需要调用的函数没有参数,则 不分配局部帧。 对于混合编程而言,若被调用函数是手工编写的汇编程序,则局 部帧由编程者自己完成分配,也不需要在堆栈中进行,而编译器 分配局部帧。 结果返回 函数调用结束后,将返回值置于累加器A中。整数和指针在累加 器A的低16位中返回, 浮点数和长整型数在累加器A 的32位中返 回。
© Software College , East China Institute of Technology , 2009 HJF
混合编程函数调用规则(续)
参数传递规则
函数调用前

将参数置于参数 表中, 表中,调用函数
被调用者分配局 部帧和参数表
SP SP SP 调用者的 调用者的 参数块 调用者的 调用者的 局部变量 高 (a) (b) (c) 返回地址 参数2 参数2 …… 参数n 参数n 调用者的 调用者的 局部变量 参数1 参数1 在A中 参数数据 局部数据 返回地址 参数2 参数2 …… 参数n 参数n 调用者的 调用者的 局部变量 被调用的
© Software College , East China Institute of Technology , 2009 HJF
混合编程
变量和函数命名规则(续)
在C和汇编混合编程的时候,存在C语言和汇编语言的变量以及 函数的接口问题。 在C程序中定义的变量,编译为.asm文件后,都被归到.bss区, 变量名前面都带一个下划线。在C程序中定义的函数,编译后 在函数名前也带了一个下划线。例如: extern int num变成 extern float nums[5]变成 extern void func ( )变成 .bss _num, 1 .bss _nums, 5 _func

DSP中断设置简明教程

[DSP+ARM] [转载]DSP中断设置简明教程定时器, 工作, 寄存器, 通用, 程序一、简述本文介绍TMS320C6000系列中断设置的简明方法。

通过示例定时器中断,MCBSP串口接收中断及外部中断这三种中断实现过程,介绍如何实现中断各个寄存器的配置,中断向量表书写以及中断服务函数。

最后提供一个简要的示例程序可供大家下载使用。

此示例在DSK6416的TI官方实验板上通过测试。

由于定时器和串口工作模式较繁,因此对中断无关部分不做介绍。

二、实现DSP中断需要做哪些通用工作设置允许哪些非屏蔽中断设置各个允许的非屏蔽中断的中断来源设置开启总中断设计中断向量表将中断向量表通过cmd文件挂载到指令内存提供中断处理函数如果中断向量表首地址挂载的不是0地址,那么需要设置中断向量表地址寄存器对于不同的中断源,需要做各个自己的工作,比如如果是外部中断,那么需要设置管脚极性,即由高->低产生中断抑或反之。

为了照顾知识较少的读者,下面将从一个新工程出发,引导大家建立一个中断示例程序。

如果您对建立工程很熟悉,可以跳过此步。

三、建立新工程1.点击Project->New,设置Project Name为intexample,Project Type为Executable,Target选择您需要的器件,在此由于本人使用的是DSK6416评估板。

因此选择TMS320C64XX。

2.添加标准库rts6400.lib,以便自动产生c_int00等函数。

右击当前工程,选择“Add Files to Project”,选择库所在路径,一般为CCS安装自带,可参考本CCS3.1版本的路径地址:CCStudio_v3.1C6000cgtoolslibrts6400.lib如果您使用的是其他器件类型,请在lib文件夹内选择其他器件库。

添加源文件,选择File->New->Source File,保存为main.c到工程路径下。

DSP原理与应用---第6章-McASP教学内容

引脚功能寄存器(PFUNC):选择引脚是作为McASP引脚还是GPIO引脚。
引脚方向寄存器(PDIR):选择引脚是输入还是输出
引脚数据输入寄存器(PDIN):显示引脚的输入数据
引脚数据输出寄存器(PDOUT):如果引脚被配置为通用(GPIO)输出口 (PFUNC[n] = 1 and PDIR[n] = 1),那么数据就会由此引脚输出。在引脚被配置为 McASP引脚时(PFUNC[n] = 0)此寄存器不可用。
5.3.3 数据发送和接收
1. 数据就绪状态和事件/中断的产生
(1) 发送数据就绪
发送数据就绪标志即XSTAT寄存器中的XDATA位反映了XBUF寄存器的状态。当 从XRBUF[n]缓冲器向XRSR[n] 移位寄存器传输数据时,XDATA标志位被置位, 表示XBUF是空的并准备好接收从DSP来的新数据了。当XDATA位被写入1或者 所有被配置为发送器的串行器都被DSP写入数据,标志位就会被清零。
5.3.2 传输模式
2. TDM传输模式
TDM 格式可以用于DSP芯片与一个或多个模-数转换器(ADC),数-模转换 器(DAC)之间的数据传输。
TDM格式包括三部分:时钟、数据和帧同步信号。在TDM的术语中,“ 单元”通常也被称为“通道”,一帧包括多个通道。每一个TDM帧是由 帧同步信号来定义的(AFSX或AFSR)。数据传输是连续的,因为TDM格 式主要用于跟工作在固定采样频率下的数据转换器进行通信,在单元之 间没有延迟。
单元内位序和字对齐方式
帧定义及帧同步宽度
帧(Frame):一帧可以包括一个或多个单元,这由具体协 议确定
McASP结构框图
McASP包括以下引脚: 串行数据引脚AXR[n]:每个McASP达到

DSP技术与应用习题库及答案(1)

一、填空题第一章1.数字信号处理特点大量的实时计算(FIR IIR FFT),数据具有高度重复(乘积和操作在滤波、卷积和FFT中等常见)。

2.信号处理的作用信号改善;信号检测、估计等3.信号处理的方法信号波形分析/变换、滤波、现代谱估计/分析、自适应滤波等。

4.信息系统包括采集、传输、处理、等。

5.数字信号处理常用算法有FIR 滤波、IIR 滤波、离散傅里叶变换、卷积、离散余弦变换等6.处理器速度的提高得益于器件水平、处理器结构、并行技术等。

7.DSP结构特点包括采用哈佛结构体系、采用流水线技术、硬件乘法器、多处理单元、特殊的DSP指令。

8.DSP芯片按用途分为通用型DSP 、专用型DSP 。

9.DSP芯片按数据格式分为浮点型、定点型。

第二章1.C28x芯片具有C27X、C28X、C2XLP操作模式。

2.C28x芯片模式选择由ST1中的AMODE和OBJMODE位组合来选定模式。

3.CPU内核由CPU、仿真逻辑、接口组成。

4.CPU主要特性是保护流水线、独立寄存器空间算术逻辑单元(ALU)、地址寄存器算术单元(ARAU)、循环移位器乘法器。

5.CPU信号包括存储器接口信号、时钟和控制信号、复位和中断信号、仿真信号。

6.TMS320F2812组成特点是32位、定点、改进哈佛结构、循环的寻址方式。

8.存储器接口有3组数据总线。

9.存储器接口地址总线有PAB、DRAB、DWAB、10.CPU中断控制寄存器有IFR 、IER 、DBGIER。

11.ACC累加器是32位的,可表示为ACC、AH、AL。

12.被乘数寄存器是32 位的,可表示为XT、T、TL 。

13.乘数结果寄存器是32位的,可表示为P 、PH、PL。

14.数据页指针寄存器16 位的,有65536 页,每页有64个存储单元。

数据存储空间容量是4M字。

15.堆栈指针复位后SP指向地址是0x000400h 。

第三章1.DSP芯片内部包含存储器类型有片内双访问存储器(DARAM)、片内单访问程序/数据RAM(SARAM)、掩膜型片内ROM存储器、闪速存储器(Flash)一次性可编程存储器(OTP)。

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

TC
测试/控制标志位:在下列情况之一时,TC 将被置 1:由 BIT 或 BITT 指令测试的位为 1,当 利用 NORM 指令测试时,累加器的两个最高有效位“异或”功能为真;条件转移、调用和返 回指令可根据 TC 的条件来执行;BIT、BITT、CMPR、LST 和 NORM 指令会影响 TC
SXM
OV
溢出标志位:该位保存一个被锁存的值,用以显示 CALU 中是否发生溢出,一旦发生溢出, OV 位保持为 1 直到下列情况中的某一个发生时才能被清除为 0:复位(Reset)、溢出时条件 转移、无溢出时条件转移指令或 LST 指令
OVM
溢出方式位:当 OVM=0 时,累加器结果正常溢出;当 OVM=1 时,根据溢出的情况,累加器 被设定为它的最大正值或最大负值。SETC 指令和 CLRC 指令分别对 OVM 置位和复位;也可 用 LST 指令对该位进行修改
位0 ILLADR 位。无效地址检测位。 注意,在检测到一个无效的地址时,该位被置 1。被置 1 后该位需要用户软件清 0。向这一 位写 1 可将其清 0。在初始化程序中将该位清 0。
注:无效的地址将会导致非屏蔽中断 NMI 发生。
系统控制和状态寄存器2(SCSR2)— —地址7019h
15~8
保留位
状态寄存器ST0和ST1
• ST0和ST1的各位标识了处理器模式,寻址指针 值等CPU的各种状态和控制位。在子程序调用 和进入中断时,ST0和ST1保存CPU的各种状态。 这两个寄存器的值可以被读取并保存起来,也 可以由软件将数据写入ST0和ST1。用SETC指令 和CLRC指令可以对这两个寄存器进行位操作, 用加载状态寄存器指令LST可以将数据写入ST0 和ST1,但LST指令操作不影响INTM位,用保存 状态寄存器指令SST读取ST0和ST1的内容并保 存。
DP ARB CNF
数据存储器页面指针:9 位的 DP 与一个指令字的低 7 位一起形成一个 16 位的直接寻址地址; 可通过 LST 指令和 LDP 指令对其修改 辅助寄存器指针缓冲器:当 ARP 被加载到 ST0,除了使用 LST 指令外,原有的 ARP 值被复 制到 ARB 中;当通过 LST#1 指令加载 ARB 时,把相同的 ARB 值复制到 ARP 片内 DARAM 配置位:如果 CNF=0,可配置的双端口 RAM 区被映射到数据存储空间,如果 CNF=1, 可配置的双端口 RAM 区被映射到程序存储空间。 CNF 可通过 SETC CNF、 CLRC CNF 和 LST 指令来修改,复位时 CNF 置 0
用汇编语言对状态寄存器进行的设置
•/************************************/ •// 系统初始化子程序 •/*************************************/ •void SysInitial() •{ • asm(“ setc SXM”); /*符号位扩展有效,数据通过定标移位器传送到累加器时 • 将产生符号扩展*/ • asm(" clrc OVM"); /*累加器中结果正常溢出*/ • asm(" clrc CNF"); /* B0被配置为数据存储空间*/ • SCSR1 = 0x02FD; /* CLki_1N=20M,CLKOUT=2*CLki_1N=40M*/ • WDCR = 0x00E8; /* 不使能看门狗,因为SCSR2中的WDOVERRIDE,WD保护位 • 复位后的缺省值为1,故可以用软件禁止看门狗*/ • WSGR = 0x0000; /* 不使能等待状态*/ • IFR = 0xFFFF; /* 清除中断标志位*/ • IMR = 0x0000; /* 禁止所有中断*/ •}
INTM
中断模式位:当 INTM 置为 0 时,所有的未屏蔽中断有效,当该位被置为 1 时,所有的可屏 蔽中断被禁止。可通过 SETC INTM 指令和 CLRC INTM 指令将该位置 1 或清 0。 RS 中断也 可设置 INTM,INTM 对不可屏蔽中断 RS 和 NMI 中断没有影响; 注意:INTM 位不受 LST 指令的影响,复位时该位置 1,在处理可屏蔽中断时,该位被置 1
PLL 时钟预定选择位对系统时钟频率的选择
CLKPS2 0 0 0 0 1 1 1 1 注:fin 为输入时钟频率
CLKPS1 0 0 1 1 0 0 1 1
CLKPS0 0 1 0 1 0 1 0 1
ቤተ መጻሕፍቲ ባይዱ
系统时钟频率 4×fin 2×fin 1.33×fin 1×fin 0.8×fin 0.66×fin 0.57×fin 0.5×fin
位4
CAN CLKEN。CAN 模块时钟使能控制位。 0 禁止 CAN 模块的时钟(即:关断 CAN 模块以节约能量) 1 使能 CAN 模块的时钟,且正常运行 位3 EVB CLKEN。EVB 模块时钟使能控制位。 0 禁止 EVB 模块的时钟(即:关断 EVB 模块以节约能量) 1 使能 EVB 模块的时钟,且正常运行 位2 EVA CLKEN。EVA 模块时钟使能控制位。 0 禁止 EVA 模块的时钟(即:关断 EVA 模块以节约能量) 1 使能 EVA 模块的时钟,且正常运行 注意, 必须通过向相应的位写 1 来使能到外设的时钟, 才能修改或者读取任何外设寄存器的 内容。 位1 保留位。
第三章 DSP系统初始化及中断
DSP系统在上电或复位之后,控 制主程序首先完成的工作就是系统 初始化
一个典型的DSP运动控制基本应用程序范例
main() { Disable( ); Dsp24Initial( ); Enable( ); OpenSerial(SRL_Rec); while(1) IMR |= 0x0010; IFR |= 0x0010; SetTimer(1); while(1) { ········ } PBDATDIR=PBDATDIR&0xFFDF; /*禁止总中断*/ /*系统初始化*/ /*开总中断*/
*/
/*IOPB5=0,允许电机9转
pwm1(300); PFDATDIR=PFDATDIR&0xFFF7; pwm7(300);
}
/*电机1正转*/ /*IOPF3=0,允许电机8*/ /*电机2正转*/
系统进入主程序后第1个调用的函数是 Disable( ),对状态寄存器ST0的INTM位置 位,其作用是关闭总中断,在系统进行正 确的初始化之前,不允许响应任何可屏蔽 中断,否则软件可能发生不可预料的动作。
RW_0 RW_0 RW_0 RW_0 RC_0 注:R=可读 , W=可写 , C=清除 _0=复位值。
位 15 位 14
保留位 CLKSRC,CLROUT 引脚源选择位 0 CLKOUT 引脚输出 CPU 时钟 1 CLKOUT 引脚输出 WDCLK 时钟 位 13~12 LPM(1,0) 。低功耗模式选择位,这两位声明了 CPU 在执行 IDLE 指令时进入哪 一种低功耗方式。 CPU 进入 IDLE1(LPM0)模式 00 CPU 进入 IDLE2(LPM1)模式 1x CPU 进入 HALT (LPM2)模式 位 11~9 PLL 时钟预定标选择位,这三位对输入时钟选择 PLL 倍频系数,见下表
辅助寄存器指针:在选择间接寻址时,ARP 指向当前的辅助寄存器(AR);加载 ARP 时,原 有的 ARP 值被复制到 ARB 中; 间接寻址时, ARP 可以由存储器相关指令修改, 也可以由 LARP、 MAR 和 LST 指令修改;当通过 LST#1 指令加载 ARB 时,把相同的 ARB 值复制到 ARP
符号扩展方式位: 当 SXM=1 时, 数据通过定标移位器传送到累加器时将产生符号扩展, SXM=0 时,将抑制符号扩展。SXM 对某些指令没有影响,例如 ADDS
C
进位标志位:此位在加法结果产生进位时被置 1,或在减法结果产生借位时被清 0;否则除了 执行带有 16 位移位的 ADD 或 SUB 指令外, C 在加法后被清除或在减法后被设置; 在执行 ADD 或 SUB 指令时,ADD 仅对进位标志位进行设置,而 SUB 仅可对进位位进行清除,而不会对 进位标志位产生其他影响;移 1 位和循环指令也可影响进位位 C,以及 SETC、CLRC 和 LST 指令也可影响 C;条件转移、调用和返回指令可以根据 C 的状态进行执行;复位时 C 被置 1
PM
乘积移位方式: PM=00,乘法器的32位乘积结果不移位,直接装入CALU PM=01,PREG输出左移1位后装入CALU,最低位(LSB) 以0填充 PM=10,PREG输出左移4位后装入CALU,最低位(LSB) 以0填充 PM=11,PREG输出进行符号扩展右移6位 注意:PREG的内容是一直保持不变的,当把PREG中的内 容传送到CALU单元中,发生移位操作,PM可由SPM指令 和LST#1指令加载,复位时PM位清0
状态寄存器ST0和ST1
15 ST0 15 ST1 ARB ARP
13 12 11 OV OVM
10 1 10 SXM
9 INTM 9 C
8 DP 8 1 7 1 6 1 5 1 4 XF 3 1 2 1 1 PM
0
13 12 11 CNF TC
0
状态寄存器ST0和ST1的字段定义
符号 ARP 功 能
RW_0 7 保留位 I/P QUAL RW_0 6 5 WD OVERRIDE RC_1 4 XMIF HI-Z 3 BOOT EN RW-BOOT EN引脚
———— —— ———— ——
2 MP/MC
——
1 DON
0 PON
RW_0
RW-MP/MC引脚
• • • • • • • • • • •
/************************************/ // 2407 DSP模块初始化子程序 /*************************************/ void Dsp24Initial() { SysInitial(); TimerInitial(); IOInitial(); CANInitial(); SCIInitial(); }
相关文档
最新文档