0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

ss 作者:工程师谭军 2018-09-07 09:48 次阅读

本文主要是关于TMS320C6455的相关介绍,并着重对TMS320C6455外部中断实现进行了详尽的阐述。

TMS320C6455

TMS320C6455是TI公司推出的的一款新型高性能单核定点DSP.它是TI公司基于第三代先进VeloviTI VLIW(超长指令字)结构开发出来的新产品,在通信,医疗图像,无线传输方面都可以大有作为.TMS320C6455主频达到了1GHz,1ns的指令周期.每周期执行8条32位指令,最大峰值速度达到8000MIPS.这意味着.在1G时钟频率下,8000个16位“16位的MACs能在1秒钟发生.TMS320C6455还带有Seria/RapidlOfr)总线,互连速率每秒高达25Gbits,实现了极高的多处理性能,降低了系统消耗,比此前的外部存储器接口快12倍,这使得多DSP级连变得十分方便.TMS320CC6455片内是基于C64xx内核的L1/L2存储结构.片上集成有大量的存储空间.L1P为32K字节,L1D为32K字节 L2为2M字节、比此前C64x器的存储器容量件翻一番,其中L1P和L2都可直接映射到存储空间。

TMS320C6455的外围总线包括:一个内部集成电路总线(I2C).两个多路缓冲串口总线fMcBSPs),两个64位通用定时器(可以配置成4个32位定时器),一个可配置的16位或32位主机接口(HPI6/HPI32).一个PCI总线,一个16管脚的通用输入/输出端口(GPIO),一个10/100/1000M 以太网媒体访问控制器(EMAC)。一个无缝外部存储器接口(64一bit EMIFA),一个32位DDR2 SDRAM接口。

C6455由于自带千兆EMAC,外接PHY物理层芯片即可实现一个千兆以太网口。千兆以太网的实现使得C6455嵌入式处理器与台式机等设备的数据传输变得异常方便。TI为C6455等处理器提供了NDK(Network Develop Kit),通过NDK的使用可以简化C6455中TCP/IP或者UDP等数据传输协议的实现。

外部中断

外部中断和其他模块中断中断原理一样,也是先设置中断级,然后PIE级,最后CPU级,外部中断的中断寄存器在中断头文件中,中断触发设置在中断C文件中,外部中断作为一个单独的模块使用。28335支持8 个可屏蔽的外部中断(XINT1–XINT7, XNMI)。XNMI 可设置成INT13 或者CPU 的NMI 中断。每一个中断可设置成负边沿、正边沿或者正负边沿触发,并且设置启用或禁用(包括XNMI 在内)。XINT1, XINT2,和XNMI 还包含一个16 位自由运行的递增计数器,当检测到一个有效的中断边沿时,该计数器复位为0。这个计数器可被用于中断精确计时。与281x 器件不同,28335没有专用的外部中断引脚。XINT1,XINT2 和XINT 中断可设置成GPIO0-GPIO31 引脚的输入。XINT3–XINT7 中断可设置成GPIO32-GPIO63 引脚的输入。外部中断控制寄存器的位定义如下图所示。

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

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

由上可知,配置外部中断的步骤为:

1、配置GPIO为外部中断引脚。

2、设置外部中断触发条件。

3、开启PIE中断。

4、设置中断向量表。

5、开启CPU中断。

6、编写中断函数,清除PIE中断标志位。

TMS320C6455外部中断实现

中断模块CSL库使用

上面介绍了很多,其实就是想说清楚C6455的中断机制。实际使用还是CSL比较方便。

使用CSL配置中断需要如下几个步骤:

1. 初始化中断模块

2. 使能NMI

3. 全局中断使能

4. 打开中断模块

5. 绑定中断服务程序

6. 使能相应事件

完整中断配置例子----把GPIO4事件映射到INT4

CSL_Status intStat;

CSL_IntcContext gpiocontext;

CSL_IntcEventHandlerRecord isr_gpio;

CSL_IntcEventHandlerRecord record[1];

CSL_IntcGlobalEnableState state;

CSL_IntcParam vectId;

CSL_IntcHandle gpioIntcHandle;

CSL_IntcObj gpioIntcObj;

static void HANDLE_INTR4(void *arg)

{

//中断服务程序

}

/*-----------------------------------------------------------------------------------

*

* 初始化外部中断4

*

-----------------------------------------------------------------------------------*/

void InitAndEnableIntc4(void)

{

//初始化

gpiocontext.numEvtEntries = 1;

gpiocontext.eventhandlerRecord = record;

intStat = CSL_intcInit(&gpiocontext);

//使能NMI(不可屏蔽中断)

intStat = CSL_intcGlobalNmiEnable();

//全局中断使能

intStat = CSL_intcGlobalEnable(&state);

//打开中断模块(把GPIO4中断事件映射到系统中断INT4)

vectId = CSL_INTC_VECTID_4;

gpioIntcHandle = CSL_intcOpen(&gpioIntcObj, CSL_INTC_EVENTID_GPINT4, &vectId, &intStat);

//绑定中断服务程序

isr_gpio.handler = (CSL_IntcEventHandler)&HANDLE_INTR4;

CSL_intcPlugEventHandler(gpioIntcHandle, &isr_gpio); //绑定

//使能该事件(开始监听)

CSL_intcHwControl(gpioIntcHandle, CSL_INTC_CMD_EVTENABLE, NULL);

}

CSL_Status intStat;

CSL_IntcContext gpiocontext;

CSL_IntcEventHandlerRecord isr_gpio;

CSL_IntcEventHandlerRecord record[1];

CSL_IntcGlobalEnableState state;

CSL_IntcParam vectId;

CSL_IntcHandle gpioIntcHandle;

CSL_IntcObj gpioIntcObj;

static void HANDLE_INTR4(void *arg)

{

//中断服务程序

}

/*-----------------------------------------------------------------------------------

*

* 初始化外部中断4

*

-----------------------------------------------------------------------------------*/

void InitAndEnableIntc4(void)

{

//初始化

gpiocontext.numEvtEntries = 1;

gpiocontext.eventhandlerRecord = record;

intStat = CSL_intcInit(&gpiocontext);

//使能NMI(不可屏蔽中断)

intStat = CSL_intcGlobalNmiEnable();

//全局中断使能

intStat = CSL_intcGlobalEnable(&state);

//打开中断模块(把GPIO4中断事件映射到系统中断INT4)

vectId = CSL_INTC_VECTID_4;

gpioIntcHandle = CSL_intcOpen(&gpioIntcObj, CSL_INTC_EVENTID_GPINT4, &vectId, &intStat);

//绑定中断服务程序

isr_gpio.handler = (CSL_IntcEventHandler)&HANDLE_INTR4;

CSL_intcPlugEventHandler(gpioIntcHandle, &isr_gpio); //绑定

//使能该事件(开始监听)

CSL_intcHwControl(gpioIntcHandle, CSL_INTC_CMD_EVTENABLE, NULL);

}

结语

关于TMS320C6455外部中断相关介绍就到这了,如有不足之处欢迎指正。

相关阅读推荐:基于TMS320C6455的高速SRIO接口设计

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    544

    文章

    7681

    浏览量

    344331
  • TMS320C6455
    +关注

    关注

    0

    文章

    7

    浏览量

    11419
收藏 人收藏

    评论

    相关推荐

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

    TMS320C6455是TI公司推出的的一款新型高性能单核定点DSP.它是TI公司基于第三代先进VeloviTI VLIW(超长指令字)结构开发出来的新产品。
    的头像 发表于 09-07 09:35 1.2w次阅读

    基于TMS320C6455、XC5VSX95T

    本帖最后由 mr.pengyongche 于 2013-4-30 03:12 编辑 [table=98%][tr][td]基于TMS320C6455、XC5VSX95T
    发表于 06-13 11:57

    基于 DSP TMS320C6455的CPCI高速信号处理板卡

    基于 DSP TMS320C6455的CPCI高速信号处理板卡1、 板卡概述   基于 DSP TMS320C6455的CPCI高速信号处理板卡是新一代高速DSP处理平台,广泛用于DSP性能验证
    发表于 06-10 10:16

    20-基于 DSP TMS320C6455的CPCI高速信号处理板卡

    基于 DSP TMS320C6455的CPCI高速信号处理板卡1、 板卡概述   基于 DSP TMS320C6455的CPCI高速信号处理板卡是新一代高速DSP处理平台,广泛用于DSP性能验证
    发表于 06-11 11:11

    TMS320C6455求设计,有赏金的

    有哪位高人作过TMS320C6455的设计,本人设计需要一块TMS320C6455最小系统板,基本模块有TMS320C6455+nandflash+内存+千M网卡+uart串口,具体内容可以详谈,完成后,需要有原理图+PCB图.
    发表于 08-19 08:55

    tms320c6745的DSP有外部中断引脚吗?

    请问tms320c6745的DSP有外部中断引脚吗?在数据手册里没看到介绍。如果没有。需要用到的话要怎么处理?
    发表于 05-22 09:52

    TMS320C6455的电源设计能用tps系列吗?

    TMS320C6455的电源设计是不是只能用TI公司的电源芯片,tps系列都能用吗?我想用LTM4644,不知是否可行。
    发表于 05-25 09:21

    DSK6455评估版TMS320C6455芯片功耗测量数据如何得到?

    你好!我现在在做一项关于TMS320C6455芯片功耗与应用程序之间关系的实验,我想请教一下如何单独获得TMS320C6455芯片的功耗?目前采用的方法只能得到DSK6455整板功耗大小,而整板功耗
    发表于 07-30 17:29

    TMS320C6455 pdf datasheet

    The TMS320C64x+™ DSPs (including the TMS320C6455 device) are the highest-performance
    发表于 08-07 22:10 144次下载

    TMS320C6455-850,pdf(Fixed-Poin

    The TMS320C64x+x99 DSPs (including the TMS320C6455 device) are the highest-performance
    发表于 12-08 23:31 11次下载

    TMS320C6455/54 Digital Signal

    for the TMS320C6455/54digital signal processors; see the TMS320C6455 Fixed-Point Digital Signal Processor data manual(literature number
    发表于 12-08 23:36 12次下载

    基于TMS320C6455的高速SRIO接口设计

    基于TMS320C6455的高速SRIO接口设计 引 言         数字信号处理技术已广泛应用于通信、雷达、声纳、遥感、图形图像处理和语音处理等领
    发表于 02-24 16:58 1665次阅读
    基于<b class='flag-5'>TMS320C6455</b>的高速SRIO接口设计

    TMS320C6455官方源代码

    TMS320C6455官方源代码,又需要的下来看看
    发表于 08-08 18:26 101次下载

    AVS视频编解码在TMS320C6455上的实现

    TMS320C6455实现了音视频编码标准(Audio and video coding standard,AVS)视频标准标清视频的实时编码,高清视频码流的实时解码。以AVS参考代码RM52i
    发表于 03-06 17:05 2次下载
    AVS视频编解码在<b class='flag-5'>TMS320C6455</b>上的<b class='flag-5'>实现</b>

    外部中断的工作原理 外部中断方式有哪些 为什么要使用外部中断

    外部中断的工作原理是单片机响应外部事件的一种机制** **。
    的头像 发表于 01-28 17:37 1384次阅读