与姐姐郑秀妍后台卖萌合影| 动画版年底映| 李晨抡绳挑战吉尼斯| 《后宫争霸女》| 陈百祥| 郑秀文为个唱搏命排练| 郭书瑶上| | 为演撒切尔夫人自闭| 手绘版“麻雀引热议| 盘点三大怪现状| 他只是完成份内工作| 51岁黛咪摩尔搭90后男星| 微博吐槽称丢不起脸| 未收取运输费| 艾瑞莎-弗兰克林患重病| 曝荧屏花旦陈数剧照| 痴情马可撩妹不成反被攻| 赵雅芝晒气质美照| 唐国强或任会长| 酷似王思聪(图)| 56岁腾格尔青涩旧照曝光| 邱启明怒斥制片人拟从央视辞职| 被指最贵代孕工具| 曝光新剧照| 导演新作瞄准恐怖题材| “华人邦女郎已无望出现| 想象力丰富| 《五湖四海》| 网曝胡海泉与妻子离婚| 旧同事不知其婚讯| 气质冷艳似王菲(图)| 多年前早已求婚| 熊黛林披婚纱否认求同居| 韩彩英搭档黎明主演惊悚片| 高圆圆拿刀追| 比利时动作影星尚格-云顿拍片现场心脏病发| 本周第二轮淘汰| 热门电影跟拍剧版成风潮| 郭彦均|

中共杨浦区委与中国国民党台北市南港区党部交流

2018-10-22 09:25 ? 次阅读
看到视频后,有网友表示:同样是周末,别人的怎么就这么丰富多彩。

  本文只要是关于TMS320C6000和DSP的相关介绍,并着重对TMS320C6000系列中断设置问题进行了详尽的阐述。

  DSP

  随着DSP(数字信号处理器)系统的广泛应用,其程序规模也随之不断扩大,使用芯片本身自带的Boot-loader通过Flash存储器来引导DSP程序,往往受到程序大小和结构的制约,比如程序很大超过厂商固化boot的范围,再如中断向量表的不同位置对程序boot跳转的影响,等等,因此越来越需要更加灵活的引导方式。

  系统上电后,由引导程序将DSP的应用程序从该存储器引导到DSP应用板上的高速存储器(如内部SRAM、SDRAM等)中。由于Flash存储器具有电信号删除功能,且删除速度快,集成度高,因此已成为此种存储器的首选。由于Flash存储器的存取速度较慢,写入Flash存储器的程序将在系统上电时被DSP装载到快速的存储器中运行,这个过程称为Boot loader。不同的DSP有不同的引导方式。

  DSP编程

  DSP系统的引导装载是指在系统加电后,系统自行将一段存储在外部非易失性存储器中的代码移植到内部DSP的高速RAM中并执行的过程。

  因此,在引导装载系统中,外部非易失性存储器和DSP的性能显得尤为重要。

  FLASH存储器是一种高密度、非易失性的电可擦写存储器。

  而且单位存储比特的价格比传统的EPROM要低,所以十分适合于作为外扩存储器。

  在系统加电之前,必须先将引导程序和用户程序写入FLASH中。

  编程时,除了可以利用专用的硬件编程器实现对FLASH的编程之外,FLASH通常还支持DSP软件编程以实现同样的功能。

  当系统加电之后,一般首先在FLASH中运行引导程序,并由其自行完成对用户程序的移植操作,然后再由DSP高速运行移人到DSP片内的用户程序。

  DSP编程技巧

  mposerStudio)是TI公司开发的一个完整的DSP集成开发环境。由于TI的DSP使用非常广泛,使得CCS也就成为使用最为广泛的DSP开发软件之一。现在,所有TI公司的DSP都可以在该环境里进行开发,可实现全空间透明仿真,不占用用户任何资源,软件配有汇编/链接、C编译器、C源码调试器等。不同的系统有不同版本的CCS开发环境,TMS320F28l2的集成开发环境是CCS2000。在购买开发板时都会免费赠送CCS开发软件,另外也可以在TI的网站上免费下载该软件,开发环境的安装使用一般在DSP开发板的使用说明书中有详尽的叙述,在此不做赞述。

  浅谈TMS320C6000系列中断设置问题

  2.编程语言CCS开发环境支持两种语言:汇编语言和C语言。TI的每个DSP系列都有对应的一套汇编指令,如果采用汇编语言编程,需要熟悉这些指令,难度和效率可想而知。现在TI的工程师在不断改进CCS的C程序优化编译器,目前C优化的效率可达到手工汇编的90%甚至更高。当然有的时候如果计算能力和内存资源是瓶颈,ASM还是有优势,比如G.729编解码。但是针对一般的应用开发,C语言是最好的选择,只要有一定的C语言的基础,就完全可以进行DSP的开发编程。

  应用实例及开发流程

  1.实例介绍400Hz的逆变电源的控制部分实现的主要功能有:(1)AD转换,(2)SPWM生成,(3)与显示单片机的串口通信,(4)与其他并联电源的CAN总线通信;(5)捕捉同步信号。妥实现以上这些功能,显然普通的单片机是无法完成的,因此我们选择了专门用作控制的数字信号处理器TMS320F2812。在此仪对TMS320F28l2生成SPWM波的开发过程作详细介绍。

  PWM(PulseWidthModulation)控制就是对脉冲的宽度进行调制的技术,即通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形。

  SPWM波形(SinuSOIdalPWM)就是脉冲的宽度按正弦规律变化而和正弦波等效的PWM波形,在逆变电路中的应用最为广泛。在此例中SPWM的功能是给三相逆变电路的6个IGBT(绝缘栅双极晶体管)提供触发脉冲,从而使直流电逆变为400Hz的正弦交流电。

  2.开发流程(1)编写软件SPWM的生成主要是应用TMS320F28l2的事件管理器模块(EVA/B),所以编写程序前要做的主要工作就是了解熟悉这一模块的结构和工作原理,至于其他用不到的模块可暂时不作了解。程序编写的第一步就是要对用到的模块的各种寄存器进行设置,第二步就是算法的设计编写。

  (2)调试程序编写完程序后,就要在仿真环境下进行调试,先编译再运行,通过示波器可以直接观察DSP引脚上输出的SPWM波形,直到与要求的波形相符为止。

  (3)烧写程序在仿真环境下调试好程序后,需要把程序烧写到DSP的片上FLASH存储器中。烧写时必须先安装专门的烧写软件,安装后就可以直接在CCS环境下操作烧写。烧写完成后就可以脱离仿真器,开发板就可以上电独立运行,并和其他的外围电路相连而实现它的功能。

  习方法知参考资源一、习方法初学DSP常常会感觉到技术文档太多,无从下手。根据我的自学经历,这时最应该弄明白的就是DSP芯片的内部硬件工作原理,如果有微机原理和单片机基础的话,这应该是很容易掌握的,如果没有这方面的基础,建议先去找一本微机原理的书看,看明白后再来看DSP的原理。另外,DSP的外设模块有很多,这时没有必要都去了解,只是了解你所用到的模块就可以了。

  了解了DSP的工作原理之后,就要去看关于软件开发环境的书,包括软件的安装和使用。然后就找几个完整的工程(购买开发板时都会赠送各模块的完整工程)来看,在似懂非懂的大体了解了一个完整工程的创建及结构后,就可以开始分析和你所用到的模块相关的程序。现在有大量现成的例程和算法可以参考,切忌自己闷头摸索,一定要去找相关的程序来参考,这会起到事半功倍的效果。

  浅谈TMS320C6000系列中断设置问题

  实现DSP中断需要做哪些通用工作

  设置允许哪些非屏蔽中断

  设置各个允许的非屏蔽中断的中断来源

  设置开启总中断

  设计中断向量表

  将中断向量表通过cmd文件挂载到指令内存

  提供中断处理函数

  如果中断向量表首地址挂载的不是地址,那么需要设置中断向量表地址寄存器

  对于不同的中断源,需要做各个自己的工作,比如如果是外部中断,那么需要设置管脚极性,即由高-》低产生中断抑或反之。

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

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

  三、 建立新工程

  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.1\C6000\cgtools\lib\rts6400.lib

  如果您使用的是其他器件类型,请在lib文件夹内选择其他器件库。

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

  在此文件内书写主函数。

  void main(void)

  {

  while(1);

  }

  最后通过如2步骤添加此文件到工程。

  3.添加寄存器别名定义头文件。在本示例中,对需要用到的寄存器定义别名后,构成global.h文件,内容在后文逐步介绍。在此可以建立一个空文件,并在main.c中包括它。

  #i nclude “global.h”

  到此,一个DSP的新工程框架制作完毕。

  4.添加cmd链接文件

  为了实现链接时内存配置,我们需要提供一个cmd文件,为了方便,可以从官方的示例程序中拷贝一份,再加以修改。

  在安装目录下D:\CCStudio_v3.1\tutorial\器件类型\hello1示例下,会找到一个hello1.cmd,

  将其拷贝到本工程目录下,并将其改名为link.cmd,最后将其添加到工程中。

  由于此文件没有声明stack和heap,会产生警告,如果动态数据较多也容易溢出。因此我们最好在此文件提供stack和heap的大小,其值可根据实际情况调整,修改后,此文件内容类似为:

  -stack 0x1000

  -heap 0x1000

  MEMORY

  {

  ISRAM : origin = 0x0, len = 0x1000000

  }

  SECTIONS

  {

  .vectors 》 ISRAM

  .text 》 ISRAM

  .bss 》 ISRAM

  .cinit 》 ISRAM

  .const 》 ISRAM

  .far 》 ISRAM

  .stack 》 ISRAM

  .cio 》 ISRAM

  .sysmem 》 ISRAM

  }

  至此,工程建立完毕,可以编译一遍,观察是否正常。

  --------------------------- intexample.pjt - Debug ---------------------------

  [main.c] “D:\CCStudio_v3.1\C6000\cgtools\bin\cl6x” -g -fr“D:/intexample/Debug” -d“_DEBUG” -mv6400 -@“Debug.lkf” “main.c”

  [Linking.。。] “D:\CCStudio_v3.1\C6000\cgtools\bin\cl6x” -@“Debug.lkf”

  《Linking》

  Build Complete,

  0 Errors, 0 Warnings, 0 Remarks.

  四、 定时器中断设计

  首先,我们先实现一个定时器中断,因为它不受外部影响,容易测试。

  在global.h文件中,加入控制寄存器和中断寄存器别名定义,另外为了使用定时器1,也应对其别名进行定义:

  /*定义控制寄存器*/

  extern cregister volatile unsigned int AMR; /* Address Mode Register */

  extern cregister volatile unsigned int CSR; /* Control Status Register */

  extern cregister volatile unsigned int IFR; /* Interrupt Flag Register */

  extern cregister volatile unsigned int ISR; /* Interrupt Set Register */

  extern cregister volatile unsigned int ICR; /* Interrupt Clear Register */

  extern cregister volatile unsigned int IER; /* Interrupt Enable Register */

  extern cregister volatile unsigned int ISTP; /* Interrupt Service Tbl Ptr */

  extern cregister volatile unsigned int IRP; /* Interrupt Return Pointer */

  extern cregister volatile unsigned int NRP; /* Non-maskable Int Return Ptr*/

  extern cregister volatile unsigned int IN; /* General Purpose Input Reg */

  extern cregister volatile unsigned int OUT; /* General Purpose Output Reg */

  /* 定义中断选择寄存器*/

  #define MUXH 0x019C0000

  #define MUXL 0x019C0004

  #define EXTPOL 0x019C0008

  /*定义定时器1寄存器*/

  #define CTL1 0x01980000 //Timer1 control register

  #define PRD1 0x01980004 //Timer1 period register

  #define CNT1 0x01980008 //Timer1 counter register

  之后,在main函数中对定时器进行初始化,在此我们使用Timer1,参数初始化函数如下:

  void Timer1_Init(void)

  {

  *( volatile unsigned int* )CTL1= 0x00000201; //计数器功能设置

  *( volatile unsigned int* )PRD1= 0x1000; //计数器周期值

  *( volatile unsigned int* )CTL1|= 0x000000C0; //计数器清零,启动

  上句的注释:*( volatile unsigned int* )CTL1=CTL1|0x000000C0

  }

  并在主函数中调用它。

  随后我们设置中断寄存器参数。

  DSP支持1个RESET中断,1个NMI(不可屏蔽中断),12个可屏蔽中断(INT4-15),它们具有优先级顺序,INT4最高,INT15最低。每个中断号(INT4-INT15)都可以设置任何中断来源。在此我们选择中断INT10,即开启中断10,并设置其中断来源为定时器1,即在MUXH或MUXL中指定位上填写中断来源选择码:

  中断来源选择码定义如下:(此内容可以通过帮助中搜索INTSEL得到)

  INTSEL(Interrupt Selection Number Deion)

  00000b DSPINT Host port host to DSP interrupt

  00001b TINT0 Timer 0 interrupt

  00010b TINT1 Timer 1 interrupt

  00011b SD_INT EMIF SDRAM timer interrupt

  00100b EXT_INT4 External interrupt 4

  00101b EXT_INT5 External interrupt 5

  00110b EXT_INT6 External interrupt 6

  00111b EXT_INT7 External interrupt 7

  01000b EDMA_INT EDMA channel (0-15) interrupt

  01001-01011b Reserved

  01100b XINT0 McBSP0 transmit interrupt

  01101b RINT0 McBSP0 receive interrupt

  01110b XINT1 McBSP1 transmit interrupt

  01111b RINT1 McBSP1 receive interrupt

  10000-11111b Reserved

  从中得到定时器1的中断选择码为00010。

  MUXH和MUXL的寄存器定义如下:(也可以通过帮助得到)

  MUXH

  位 中断来源

  30-26 INTSEL15

  25-21 INTSEL14

  20-16 INTSEL13

  14-10 INTSEL12

  9-5 INTSEL11

  4-0 INTSEL10

  31,15 保留,填

  MUXL

  位 中断来源

  30-26 INTSEL9

  25-21 INTSEL8

  20-16 INTSEL7

  14-10 INTSEL6

  9-5 INTSEL5

  4-0 INTSEL4 //中断INT4的中断来源,选择定时器中断

  31,15 保留,填

  因此,我们设置MUXH的第4-0位为定时器1的中断选择码00010,其余位可以任意设置(在此可以填1)。转换为16进制后,设置如下:

  *( volatile unsigned int* )MUXH=0x7fff7fe2;

  MUXL可以不设置。

  开启中断到IE10,使能全局中断:

  IER |= 0x0000 0402; // IE10=1

  CSR |= 0x00000001; // 全局中断使能

  以上就完成了中断参数的配置,中断启动并且可以进入了。下面是中断的处理过程。主要分为设计中断向量表和中断处理函数。

  我们可以从DSP CCS的示例中复制一份向量表的雏形。例如\CCStudio_v3.1\tutorial\dsk6416\hello1\vectors.asm

  将其拷贝到本工程目录下并加入工程中。

  中断向量表包含了16个中断处理单元,每个单元限制必须是8条指令。如果不够8条,可以用nop填充,(但nop 4算1条语句),如果服务程序过多,那么可以制作专门的中断服务程序,此时此表只起到跳转作用,这样CPU就可以正确寻址找到正确的中断服务入口。

  首先分析一下此文件。

  文件开始定义了一个宏,用于处理未用到的中断。

  unused .macro id

  .global unused:id:

  unused:id:

  b unused:id: ; nested branches to block interrupts

  nop 4

  b unused:id:

  nop

  nop

  nop

  nop

  nop

  它的做法是让程序进入死循环,我认为这种做法未必最优,因此我建议使用直接返回的方式。返回到被中断地址,对于可屏蔽中断为b irp,因此将此宏部分替换成,注意一定要凑够8条。

  unused .macro id

  .global unused:id:

  unused:id:

  b irp

  nop

  nop

  nop

  nop

  nop

  nop

  nop

  .endm

  这样,即使我们误开启了此中断,也会顺利返回。当然,如果我们确信的确没有开启,那么其内容是无意义的。

  代码的正文部分用了一系列unused n来插入此宏,起到占地的作用。

  由于NMI的返回与可屏蔽中断不同,它在向量表中位于RESET之下,即unused 1,我们将其删除,替换为

  NMI: b irp

  nop

  nop

  nop

  nop

  nop

  nop

  nop

  为了实现定时器1中断的处理,我们将unused 10删除,替换为我们自己的中断跳转程序,如下:

  INT10:

  stw b0,*--b15

  mvkl _xint0_isr,b0

  mvkh _xint0_isr,b0

  b b0

  ldw *b15++,b0

  nop 3

  nop

  nop

  另外,需要和语句:

  .ref _c_int00 ; C entry point

  类似,添加处理程序的引用

  .ref _xint0_isr ; timer 1 interrupt handler

  由于中断向量表的位置需要特定指明,且应对齐到400H,在此文件中,已经定义了段名:

  .sect “.vectors”

  因此我们需要将此.vector代码段挂载到专门的一段指定内存区域。

  修改link.cmd 链接文件,加入INT区域,起点为地址。其大小为400H,将原先的ISRAM起始点修改。并将SECTIONS中的.vector指向自己定义的内存区域。

  MEMORY

  {

  INT : origin = 0x00000000, len = 0x0000400

  ISRAM : origin = 0x00000400, len = 0x1000000

  }

  SECTIONS

  {

  .vectors 》 INT

  …

  }

  中断向量表设置、安装完毕。

  最后,设计中断服务函数,在main.c中添加:

  interrupt void xint0_isr(void)

  {

  }

  注意,一定要标识interrupt关键字,用于产生中断返回语句b irp,同时,此函数的入口参数和出口参数应为void。如果需要更新变量,可以通过全局变量的方式。

  另外,C语言函数名称与汇编相差一个“_”,请在设计中断向量表时注意添加。

  经过上述步骤,整个定时器中断的制作过程就完成了。此时可以在interrupt void xint0_isr(void)上添加一个断点,运行后应该停在此处。如果进入失败,可以先在vector.asm的INT10:stw b0,*--b15一句上设置断点,如果没有进入此处,证明中断没有进来,可以检查是否在参数设置上出现了问题。

  五、 外部中断设计

  DSP6000系列提供了INT4-7四个中断输入管脚,因此可以通过此四个管脚的输入电平变化实现外部中断。对于电平变化的极性,分为高到低,低到高两种,因此,DSP采用寄存器EXTPOL来设置。EXTPOL只有低4位有效,分别代表INT4-7,对于每个位有:

  :低-》高产生中断

  1:高-》低产生中断

  因此设置它即可完成极性变化。

  下面,以设置外部端口INT7中断,并将其挂载到12号中断为例,简述实现过程:

  将12号中断设置为外部中断7,即MUXH(14:10)=00111,此时MUXH设置为:

  *( volatile unsigned int* )MUXH=0x7fff7ce2;//0111 1100 1110 0010

  将IER的第12位开启。

  IER |= 0x00001402; // IE10=1 IE12=1

  对vectors.asm的unused 12替换为:

  INT12:

  stw b0,*--b15

  mvkl _extint7_isr,b0

  mvkh _extint7_isr,b0

  b b0

  ldw *b15++,b0

  nop 3

  nop

  nop

  并添加引用

  .ref _extint7_isr

  在main.c中加入服务函数:

  interrupt void extint7_isr(void)

  {

  }

  在硬件上,对INT7/GPIO7管脚产生一个低-》高的信号,则可以触发出中断。

  若改变此极性,可以设置EXTPOL第四位为1:

  *( volatile unsigned int* )EXTPOL|= 0x00000008;

  此时,一个高-》低的信号可以产生中断。

  需要注意的是,如果你对GPIO进行过初始化,一定要保证GPEN的中断引脚相应位为1。如全部使能:

  *(volatile unsigned int* )GPEN = 0x000000F0;

  六、 MCBSP串口接收中断设计

  在实际应用过程中,经常需要通过中断接收串口数据。在此假设添加MCBSP0接收中断到11号。

  首先,将MCBSP0别名添加到global.h文件。

  设置MCBSP0参数并启用,其初始化函数为:

  void MCBSP0_Init(void)

  {

  *( volatile unsigned int* )McBSP0_SPCR = 0x00000000;

  *( volatile unsigned int* )McBSP0_SRGR = 0x200000FF;

  *( volatile unsigned int* )McBSP0_PCR = 0x00000800;

  *( volatile unsigned int* )McBSP0_XCR = 0x000100A0;

  *( volatile unsigned int* )McBSP0_RCR = 0x000100A0;

  *( volatile unsigned int* )McBSP0_MCR = 0x00000000;

  *( volatile unsigned int* )McBSP0_SPCR |= 0x00C10001;

  }

  并在main函数中调用。

  开启中断11:

  IER |= 0x00001C02; // IE10=1 IE11=1 IE12=1

  并将MUXH(9:5)=01101,综合以上三个中断,

  此时MUXH为: *( volatile unsigned int* )MUXH=0x7fff1da2;//0001 1101 1010 0010

  当然,如果只考虑现在的中断,MUXH可以设置为:

  *( volatile unsigned int* )MUXH=0x7fff7dbf;//0111 1101 1011 1111

  制作中断服务程序,将数据取出:

  interrupt void rint0_isr(void)

  {

  int DotRev;

  DotRev=*( volatile unsigned int *)McBSP0_DRR;

  }

  修改vectors.asm,替换unused 11为:

  INT11:

  stw b0,*--b15

  mvkl _rint0_isr,b0

  mvkh _rint0_isr,b0

  b b0

  ldw *b15++,b0

  nop 3

  nop

  nop

  添加引用:

  .ref _rint0_isr ; mcbsp 0 receive interrupt handler

  这时,所有的任务完成了,可以通过设置断点观察一下接收的数值。

  另外需要注意一定要在服务程序中将数据取出,否则会停止接到新的数据。

  七、 其他话题

  1.设置中断向量表起始位置

  上文讨论的都是将中断向量表放置在地址,如果需要放置到任意地址(以400H对齐),那么就需要提供向量表起始地址。

  比如我们的终端向量位置:INT设置为:

  MEMORY

  {

  INT : origin = 0x00000400, len = 0x0000400

  ISRAM : origin = 0x00000800, len = 0x1000000

  }

  那么我们在初始化中断时,应设置:

  ISTP=0x00000400;

  2.查看现在的中断位图

  可以查看中断标志寄存器IFR相应位(15:0)看是否有中断到达。

  3.清除/设置原先的中断

  如果需要清除原先的中断,可以通过对ICR寄存器相应位置位。如果希望人工触发中断,可以设置ISR寄存器相应位置位,它们将更新IFR位图。

  比如,我们在定时器中断服务程序中,通过设置ISR的第12位,人工触发外部INT7的12号中断。

  interrupt void xint0_isr(void)

  {

  ISR=0x00001000;

  }

  那么CPU将执行extint7_isr(void)处理此中断。

  又比如,在上例的外部中断中,有时会出现刚一开机,没有发送信号就有中断进来的情况,那么怎样克服呢?可以通过ICR克服。对ICR置位可以清除可屏蔽中断。对应位有效。比如在设置中断初始化时清除所有原先的中断。那么可以加入语句:

  ICR =0xffffffff;

  4.DSP/BIOS下的中断设置

  在DSP/BIOS管理下,我们不需要自己设定中断向量表,以及中断初始化等等,一切通过BIOS的图形化设置即可完成。

  添加一个DSP/BIOS

  选择File-》New,在本测试下选择DSK6416,读者可根据自己实际需要选取。保存为Configuration1.cdb。

  将其添加到工程。

  如上例需求,选择HWI的10,11,12号中断,右键选择Properties分别填写如下参数:

  HWI_INT10 interrupt source=Timer_1 =_xint0_isr(注意下划线!)

  HWI_INT11 interrupt source=MCSP_0_Receive =_rint0_isr

  HWI_INT11 interrupt source=External_Pin_7 =_extint7_isr

  在main函数中可以通过同样的方法启动中断。

  IER |= 0x00001C02; // IE10=1 IE11=1 IE12=1

  CSR |= 0x00000001; //全局中断使能

  至此配置完毕。

  5.中断进不来怎样检查?

  首先检查是否设置IER相应位开启,CSR最低位置位,其次看看中断向量表地址是否设置正确。如果确认无误。在向量表中断应当进入的位置设定断点。运行看是否执行到断点。如果有,那么看看中断服务程序有没有执行到。如果中断只进来一次后就再也无法进入了,可以查看中断向量表是否能返回到原程序,如果不能返回,查看是否是8条语句。另外可以通过跟踪查看b irp语句是否被执行。如果可以正常返回到原程序,例如串口接收,看看是否没有取值导致阻塞。如果是这样需要将原先值取出才有新的中断。

  6.中断若干寄存器的说明到哪里去找?

  可以通过Help-》Contents,搜索关键字的方法得到。也可以参考官方文档。

  结语

  关于TMS320C6000的相关介绍就到这了,如有不足之处欢迎指正。

相关阅读推荐:tms320c6000系列dsp编程工具与指南

相关阅读推荐:基于TMS320C6000系列DSP的维特比译码程序优化设计

收藏 人收藏
分享:

评论

相关推荐

能否下载或提供EVAL-SDP-CB1Z评估板中DSP代码?

我购买了EVAL-SDP-CB1Z和EVAL-AD7903SDZ评估板,但是网上只能下载到与[size=13.3333330154419px]EVAL-A...

发表于 09-13 11:14 ? 8次 阅读
能否下载或提供EVAL-SDP-CB1Z评估板中DSP代码?

请问可否将两块DSP的CANR和CANT引脚直接相连接来测试Can通信收发功能?

请问可否将两块DSP的CANR和CANT引脚直接相连接来测试Can通信收发功能?...

发表于 09-13 09:40 ? 48次 阅读
请问可否将两块DSP的CANR和CANT引脚直接相连接来测试Can通信收发功能?

麦克风阵列信号采集系统如何进行设计?详细资料概述分析

作为传统的语音拾取工具,单个孤立麦克风在噪声处理、声源定位和跟踪,语音提取和分离等方面存在不足,严重....

发表于 09-13 08:00 ? 8次 阅读
麦克风阵列信号采集系统如何进行设计?详细资料概述分析

金检机技术原理合作开发

大家好! 感谢您关注这个帖子。 本人现在想开发一款应用在食品行业的金属检测机,其原理是法拉第的电磁感应原理,当食品里面有...

发表于 09-12 21:49 ? 14次 阅读
金检机技术原理合作开发

如何设计无梭织机的控制系统?详细毕业设计资料免费下载

说起无梭织机,剑杆织机就是其中代表性的织机,本文也是对此织机进行控制系统设计,对于剑杆织机来说最重要....

发表于 09-12 16:51 ? 16次 阅读
如何设计无梭织机的控制系统?详细毕业设计资料免费下载

AM5728 TI DSP+ARM异构多核平台的详细中文资料和应用免费下载

AM5728 是 TI Sitara 系列高性能 SOC,得益于异构多核处理架构,CPU 内集成了多....

发表于 09-12 16:13 ? 17次 阅读
AM5728 TI DSP+ARM异构多核平台的详细中文资料和应用免费下载

如何利用DSP控制电动机?《电动机的DSP控制》电子教材免费下载

电动机的数字控制是电动机控制的发展趋势,为电动机控制而专门设计的DSP已逐渐地成为实现电动机全数字实....

发表于 09-12 15:33 ? 16次 阅读
如何利用DSP控制电动机?《电动机的DSP控制》电子教材免费下载

高速DSP的PCB抗干扰设计

  引言   近几年来,随着新工艺、新器件的迅速发展,高速器件变得越来越普及,高速电路设计也就成了普遍需要的技术...

发表于 09-12 15:09 ? 73次 阅读
高速DSP的PCB抗干扰设计

tms320c6000系列dsp的flash启动设计

C6000片内有8个并行的处理单元,分为相同的两组。DSP的体系结构采用超长指令字(vliw)结构,....

的头像 沈丹 发表于 09-12 08:41 ? 497次 阅读
tms320c6000系列dsp的flash启动设计

win10系统下安装ccs6.0失败问题

在win10系统下安装ccs6.0总是出现如下报错:安装过程及报错提示如下: 双击ccs6.0,然后就出现下图的错误: 上网查了说是安...

发表于 09-11 17:10 ? 104次 阅读
win10系统下安装ccs6.0失败问题

ADAS系统的新发展

根据世界卫生组织 (WHO) 的报道,全世界每年因交通事故死亡的人数超过120万人,还有5千万人在交通事故中受伤。而这些惨剧中的...

发表于 09-11 14:30 ? 49次 阅读
ADAS系统的新发展

请问DSP的GPIO工作模式是什么?

在ARM里面 GPIO管脚可以被配置为多种工作模式,其中有3种比较常用:高阻输入、推挽输出、开漏输出 dsp里面GPIO工作...

发表于 09-11 11:03 ? 67次 阅读
请问DSP的GPIO工作模式是什么?

用于高频开关电源的DSP芯片选择

个人情况:学习过F2812。 目标:初步打算做一个频率1M左右的谐振变换器,控制4路两组互补PWM输出,同时处理至少两路采样。...

发表于 09-11 11:03 ? 77次 阅读
用于高频开关电源的DSP芯片选择

请教DSP关于8次函数的计算问题

大家好!        本人是DSP的初学者,目前在项目中遇到一个8次函数的计算问题,是一个1元最高8次(内涵全...

发表于 09-11 10:42 ? 68次 阅读
请教DSP关于8次函数的计算问题

TI CC6678数字信号处理器5个最常见的应用

与DSP的其中一位发明者,Gene Frantz一样,对我来说,了解客户如何将我们的处理器应用到实际环境中是再开心不过的一件事情了...

发表于 09-10 15:16 ? 101次 阅读
TI CC6678数字信号处理器5个最常见的应用

基于FPGA和DSP技术的机载高清视频图像系统是如何设计的详细资料免费下载

无人机在侦察、测绘等领域对图像分辨率的要求不断提高,随之带来了数据量的显著增大,其次,视频图像系统与....

发表于 09-07 15:39 ? 45次 阅读
基于FPGA和DSP技术的机载高清视频图像系统是如何设计的详细资料免费下载

Kintex UltraScale KU115 FPGA器件正式出货,进一步扩展了其20nm产品阵容

赛灵思公司(Xilinx)今天宣布Kintex UltraScale KU115 FPGA器件正式....

发表于 09-07 15:08 ? 101次 阅读
Kintex UltraScale KU115 FPGA器件正式出货,进一步扩展了其20nm产品阵容

tms320c6748 原理图 浅谈tms320c6748下的DSP系统

数据监视点:指定可以产生事件的数据可变地址,地址序列,或数据值,如中断处理器或触发路径捕获。

的头像 沈丹 发表于 09-07 14:39 ? 153次 阅读
tms320c6748 原理图 浅谈tms320c6748下的DSP系统

TMS320C6000 DSP芯片介绍

数字信号处理是一种将现实世界中的真实信号(专业术语称之为连续信号)转换为计算机能够处理的信息的过程。

发表于 09-07 10:27 ? 71次 阅读
TMS320C6000 DSP芯片介绍

dsp tms320c6000基本作用的认识

TMS320C6000产品是美国TI公司于1997年推出的dsp芯片,该DSP芯片定点、浮点兼容,其....

的头像 沈丹 发表于 09-07 10:16 ? 176次 阅读
dsp tms320c6000基本作用的认识

DSP中对中断的理解 浅谈DSP入门应用

现代社会对数据通信需求正向多样化、个人化方向发展。而无线数据通信作为向社会公众迅速、准确、安全、灵活....

发表于 09-07 10:04 ? 96次 阅读
DSP中对中断的理解 浅谈DSP入门应用

TMS320C6455外部中断实现 浅谈外部中断的使用

TMS320C6455是TI公司推出的的一款新型高性能单核定点DSP.它是TI公司基于第三代先进Ve....

的头像 沈丹 发表于 09-07 09:48 ? 717次 阅读
TMS320C6455外部中断实现 浅谈外部中断的使用

基于TMS320C6455系列DSP的中断系统的使用

TMS320C6455是TI公司推出的的一款新型高性能单核定点DSP.它是TI公司基于第三代先进Ve....

的头像 沈丹 发表于 09-07 09:35 ? 584次 阅读
基于TMS320C6455系列DSP的中断系统的使用

TMS320C6000 DSP的编程实现 浅谈TMS320C6000编程

现代社会对数据通信需求正向多样化、个人化方向发展。而无线数据通信作为向社会公众迅速、准确、安全、灵活....

发表于 09-07 09:16 ? 106次 阅读
TMS320C6000 DSP的编程实现 浅谈TMS320C6000编程

DSP320C6000的指令列表汇集

TMS320C6000产品是美国TI公司于1997年推出的dsp芯片,该DSP芯片定点、浮点兼容,其....

的头像 沈丹 发表于 09-07 09:01 ? 588次 阅读
DSP320C6000的指令列表汇集

基于DSP的高速数字信号处理航空图像压缩系统设计

在解码时,因为在LIP和LSP的扫描过程中需根据输入位流的0、1值对像素值进行更新,所以必须存储像素....

的头像 电子设计 发表于 09-07 08:53 ? 109次 阅读
基于DSP的高速数字信号处理航空图像压缩系统设计

TMS320C6000芯片结构图和基本特性

TMS320C6000产品是美国TI公司于1997年推出的dsp芯片,该DSP芯片定点、浮点兼容,其....

的头像 沈丹 发表于 09-07 08:50 ? 780次 阅读
TMS320C6000芯片结构图和基本特性

tms320c6000系列dsp编程工具与指南 浅谈dsp编程

TI C6000系列主要分为C64x,C62x,C67x三个子系列,C62x与C64x都是定点DSP....

发表于 09-07 08:38 ? 46次 阅读
tms320c6000系列dsp编程工具与指南 浅谈dsp编程

CADENCE DSP项目DSP6713资料合集包括了:原理图,源码,元件库,PCB等

本文档的主要内容详细介绍的是CADENCE DSP项目DSP6713资料合集包括了:原理图,源码,元....

发表于 09-07 08:00 ? 41次 阅读
CADENCE DSP项目DSP6713资料合集包括了:原理图,源码,元件库,PCB等

如何使用FPGA进行车牌识别系统的设计与实现?详细资料免费下载

本文对传统的以通用数字信号处理器(dsp)为核心的车牌识别系统进行了改进,介绍了一种新的基于fpga....

发表于 09-06 14:25 ? 51次 阅读
如何使用FPGA进行车牌识别系统的设计与实现?详细资料免费下载

采用利用BF531 DSP芯片设计多功能电力仪表

鉴于传统电力仪表测量参数单一,精确度低,自动化程度不高,维修管理困难的情况,研制一款新型高效、多功能....

的头像 电子设计 发表于 09-06 10:40 ? 202次 阅读
采用利用BF531 DSP芯片设计多功能电力仪表

针对含DSP电路板的测试方法与诊断分析

在现代雷达系统中,含DSP电路板应用很广,含DSP电路板通常是以某种DSP芯片为核心,外围配以双口R....

的头像 电子设计 发表于 09-05 08:13 ? 609次 阅读
针对含DSP电路板的测试方法与诊断分析

AD6644做中频数字处理模块及接口的设计

AD6644是Analog Devices公司推出的新型ADC器件,具有精度高、转换速度快等特点,是....

的头像 电子设计 发表于 09-04 09:51 ? 180次 阅读
AD6644做中频数字处理模块及接口的设计

用DSP2812实现5kW离网型光伏逆变器设计

将5kW光伏逆交器的一次回路和二次回路进行组装测试,结合软件编译环境CCS3.3输出波形如图9所示,....

的头像 电子设计 发表于 09-04 09:21 ? 556次 阅读
用DSP2812实现5kW离网型光伏逆变器设计

DSP复习材料(基于TMS320LF240x系列)参考教材《DSP原理及电机控制应用》

本文档的主要内容详细介绍的是DSP复习材料(基于TMS320LF240x系列)参考教材《DSP原理及....

发表于 09-04 08:00 ? 36次 阅读
DSP复习材料(基于TMS320LF240x系列)参考教材《DSP原理及电机控制应用》

利用LIN—协议6进行Flash/EE存储器编程要注意什么

ADuC703x系列器件的一个主要特性是能够将代码在线下载至片内Flash/EE存储器,这种在线代码....

的头像 电子设计 发表于 09-03 08:58 ? 899次 阅读
利用LIN—协议6进行Flash/EE存储器编程要注意什么

TI推出的TMS320C665x系列,可以混合使用单核或多核DSP

TI推出的TMS320C665x系列,采用KeyStone 架构,使用灵活,可以混合使用单核或多核....

发表于 09-02 10:08 ? 55次 阅读
TI推出的TMS320C665x系列,可以混合使用单核或多核DSP

中国半导体产业差距到底在哪?不止光刻机还有这十大半导体核心技术

中国半导体产业的这些半导体核心技术仍待突破,顶尖光刻机;触觉传感器;DSP芯片;CPU;GPU;MP....

发表于 09-01 09:59 ? 1055次 阅读
中国半导体产业差距到底在哪?不止光刻机还有这十大半导体核心技术

CY68013A进行数据传递FPGA进行格式转换的数据采集与仿真系统

本文设计了一种专门用于底层协议栈开发的数据采集与仿真系统,利用USB高速传输特点以及物理连接的便利性....

的头像 电子设计 发表于 08-30 10:44 ? 359次 阅读
CY68013A进行数据传递FPGA进行格式转换的数据采集与仿真系统

如何利用Lab Windows/CVI实现PC与DSP的串行通信功能

这里采用最简单的三线连接方法,即PC机与DSP的发送、接收端彼此交叉连接,地线对应连接的方法。

的头像 电子设计 发表于 08-30 10:11 ? 605次 阅读
如何利用Lab Windows/CVI实现PC与DSP的串行通信功能

通过Matlab软件实现对DSP/FPGA线性调频信号仿真

Matlab是美国MathWorks公司自20世纪80年代中期推出的数学软件,优秀的数值计算与卓越的....

的头像 电子设计 发表于 08-30 10:09 ? 356次 阅读
通过Matlab软件实现对DSP/FPGA线性调频信号仿真

Octasic推出Opus2 DSP核心OCT2200系列,有何应用?

Octasic Inc.日前针对媒体网关器、HD视讯及无线系统等应用,推出全新的Opus2 DSP核....

的头像 电子设计 发表于 08-30 09:53 ? 553次 阅读
Octasic推出Opus2 DSP核心OCT2200系列,有何应用?

卫星测控多波束系统DSP模块的设计方法

用于测向和波束合成的算法很多,各种算法各有优势,通过对这些算法的模拟和性能比较,最终选择MUSIC(....

的头像 电子设计 发表于 08-30 09:32 ? 926次 阅读
卫星测控多波束系统DSP模块的设计方法

如何采用DSP+FPGA嵌入式系统实时视频采集系统设计

图像是自然生物或人造物理的观测系统对世界的记录,是以物理为载体,以介质来记录信息的一种形式。

的头像 电子设计 发表于 08-30 09:19 ? 743次 阅读
如何采用DSP+FPGA嵌入式系统实时视频采集系统设计

中国魂芯二号A,中国芯片的骄傲

“魂芯二号A”采用全自主体系架构,通过单核变多核、扩展运算部件、升级指令系统、扩大存储容量、加大数据....

发表于 08-29 09:50 ? 164次 阅读
中国魂芯二号A,中国芯片的骄傲

ATS282X单芯片高度集成的蓝牙音频解决方案详细资料免费下载

这是一款单芯片高度集成的蓝牙音频解决方案。以高性能、低成本、低功耗满足市场需求,为便携式和无线音频产....

发表于 08-29 08:00 ? 50次 阅读
ATS282X单芯片高度集成的蓝牙音频解决方案详细资料免费下载

TMS320C6416 DSK技术参考详细资料免费下载

该文档描述了TMS320C6416 16 DSPStarter Kit(DSK)模块的板级操作。DS....

发表于 08-28 16:12 ? 44次 阅读
TMS320C6416 DSK技术参考详细资料免费下载

利用Silicon Labs的可编程时钟简化FPGA的设计

我们的一位定时产品的客户看到了将FPGA设计商业化并推向市场的真正机会。Jim Bittman,Bi....

的头像 芯智讯 发表于 08-24 16:37 ? 612次 阅读
利用Silicon Labs的可编程时钟简化FPGA的设计

CC85XX外部主机接口实例应用与EHIF库的详细资料概述

CC85xx EHIF库基于4线SPI接口和2个可选GPIO管脚实现了使用外部主机接口(EHIF)的....

发表于 08-22 16:18 ? 43次 阅读
CC85XX外部主机接口实例应用与EHIF库的详细资料概述

DSP是什么?浅谈一种基于DSP的张力、深度、速度测量系统

在油田测井过程中,地面操作人员需要知道油井的深度、电缆下井速度及电缆所承载的负荷。

发表于 08-19 09:34 ? 159次 阅读
DSP是什么?浅谈一种基于DSP的张力、深度、速度测量系统

如何利用FPGA技术来解决DSP的设计难题?

如果采用MAC模式,DSP48则非常适用,因为DSP48 Slice内含输入寄存器、输出寄存器和加法....

发表于 08-18 09:47 ? 593次 阅读
如何利用FPGA技术来解决DSP的设计难题?

汇总DC/DC转换器内部开发的误区

复杂的现代电路通常包含大量元器件,例如微控制器、IC、DSP 和 FPGA 等。每个元器件均具有特定....

的头像 电子设计 发表于 08-16 09:13 ? 1281次 阅读
汇总DC/DC转换器内部开发的误区

有源滤波电路是什么?滤波电路有哪几种?

有源电力滤波器(Active Power Filter,简称APF)是一种用于动态抑制谐波、补偿无功....

发表于 08-15 17:22 ? 165次 阅读
有源滤波电路是什么?滤波电路有哪几种?

如何使用DSP来进行开关电源的设计与实现

采用数字信号处理器设计了一种开关电源。介绍了开关电源的构成及其控制方式; 描述了 TMS320LF2....

发表于 08-15 08:00 ? 136次 阅读
如何使用DSP来进行开关电源的设计与实现

无刷直流电动机调速控制程序的详细资料免费下载

本文档的主要内容详细介绍的是基于DSP的无刷直流电机调速控制汇编程序的详细资料免费下载。

发表于 08-13 08:00 ? 74次 阅读
无刷直流电动机调速控制程序的详细资料免费下载

一种关于利用DSP嵌入式技术的赛车刹车控制系统的设计详解

本文在硬件电路设计上采用DSP 芯片和外围电路构成速度捕获电路,电机驱动控制器采用微控制芯片和外围....

发表于 08-11 10:46 ? 118次 阅读
一种关于利用DSP嵌入式技术的赛车刹车控制系统的设计详解
金虹汝 恋爱观 蔡康永重庆签售 国字脸变完美瓜子脸 后海不是海 湖南台力邀那英节目暂时保密 元宵喜乐会 霍思燕晒产后瘦身成果 妈妈开心幸福就好 微博有鬼
艺能活动无限期休止 家属“出镜高 观众苦等9天闹剧荒 我没嫁错吧 就还满好笑的 港星廖碧儿纵狗乱吠遭投诉 网友叹其模仿能力逆天 帅气直逼老公张晋 友人证实其处于恐惧中 《青年电影手册》 三地影人种“树 吸毒人员 杨千嬅3岁儿子近照曝光