欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    使用CCS进行DSP编程三CCS编程入门精.docx

    • 资源ID:15983486       资源大小:625.92KB        全文页数:11页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    使用CCS进行DSP编程三CCS编程入门精.docx

    1、使用CCS进行DSP编程三CCS编程入门精使用CCS进行DSP编程(三)实现DMA和Interrupt现在讨论在CCS进行DSP编程来实现DMA和Interrupt功能。假定读者对CCS的使用已经比较了解,并有了一定的CCS编程经验。如果读者还不太了解,请参阅使用CCS进行DSP编程(一)CCS编程入门、使用CCS进行DSP编程(二)实现FFT及其他CCS的学习文档。下面用闻亭公司的C6xPa板硬件和闻亭公司的PCI仿真器为例,来实现DSP的DMA传输和硬件Interrupt功能。首先来描述一下使用的硬件资源。闻亭公司的C6xPa板有两路独立的最高采样率为40MHz精度为12bit的A/D,它

    2、与DSP的EXT_INT7相连,可以产生外部中断信号,通过FPGA的逻辑可以控制A/D的采集和采集多少数据产生一次中断,采集的数据放在DPRAM中(0x1400000开始的地址空间),通过DMA传输到DSP芯片上的存储器中(0x80000000开始的地址空间)。在C语言环境中使用DMA和Interrupt功能,需要包含两个头文件和,同时要用到相应的运行时库文件“csl6201.lib”和“dev6x.lib”。对这两组头文件和运行时库文件,我们深入研究一下,看一看我们比较关心的函数有哪些。下一次用到这些函数时,别忘了带上相应的运行时库文件%*&*&喔。在dev6x.lib库文件中,直接与实现D

    3、MA和Interrupt功能相关的函数有如下几个:dma_initdma_global_initdma_resetintr_resetintr_initintr_hookintr_mapintr_isnintr_get_cpu_intrisr_jump_table在csl6201.lib库文件中,直接与实现DMA功能相关的函数有如下几个:DMA_AllocGlobalRegDMA_GetEventIdDMA_GBL_PRIVATEDMA_OpenDMA_StartDMA_HCHA0DMA_HCHA1DMA_HCHA2DMA_HCHA3DMA_WaitDMA_SetGlobalRegDMA_Co

    4、nfigADMA_ConfigBDMA_StopDMA_AutoStartDMA_PauseDMA_ResetDMA_GetGlobalRegDMA_SetAuxCtlDMA_CloseDMA_FreeGlobalRegDMA_InitDMA_GetStatus我们只需其中的一部分便可以实现DMA和Interrupt功能。函数的具体使用说明和调用方式请参看TI的说明档。下面直接看一下程序的源码,有一个整体的理解,然后再对具体的相关内容做一下说明,如果源码能够理解,就不需要再看具体说明了。为了便于读者理解,本人对相应部分作了处理,尽量使结构清晰,突出对DMA和Interrupt功能的实现:接下来

    5、进行详细说明。首先,包含头文件,接着对DMA进行初始化赋值,其中,各参数的含义如下:我们使用DMA的源地址为0x01400000,目标地址为0x80008000,传输数据长度为1k*32bit,DMA控制寄存器的值的具体含义请参看各对应DSP的datasheet。 然后是对使用的函数进行引用说明,其他函数跟普通的Visual C+函数没有太大的区别,除了以下的例外:其中,有一个关键字“interrupt”,它告诉TI的C编译器,这个函数是一个特殊的中断服务函数,C编译器会另眼看待。接下来对DMA操作句柄定义,相应的头文件对DMA_HANDLE作了定义,我们这里可以直接使用:主程序非常简单,实现

    6、DMA功能的子程序也很简单,只有四句:第一句:语法如下:其中的DMA_CHAANY含义是“任意一个闲置的DMA通道”,并非有一个DMA通道叫DMA_CHAANY,除了通道03的4个通道外,还有一个辅助DMA通道,是另做他用的。我们取得了对DMA操作的句柄,就可以进行初始化和使用了。第二句:语法如下:这里需要提前做DMA_CONFIG的初始化,这两步也可以用一步来实现,就用到另外一个函数:它直接把各DMA寄存器的设置当作参数,一步到位。第三句:语法如下:这个函数检测DMA的状态位,直到DMA结束后才退出,读者可以在下一次使用这个DMA通道前使用。DSP可以执行其他的操作,或者执行此操作等待DMA

    7、传输结束。第四句:语法如下:使用完DMA通道后,需要对它进行关闭,释放资源以备他用。DMA的使用是很简单的,复杂的工作都由DSP硬件和TI的库函数来完成了。我们要做的工作是理解这些,要想使用这些函数,不可避免要知道DMA各控制寄存器的具体含义,除了少数“天才”可以不学而知外,最好老老实实学习TI的文档)。!下面来看看中断功能是怎样实现的。在中断服务子程序中,调用了DMA,完成数据的从外部双口RAM到DSP片内的传输,而中断服务子程序是如何与硬件中断联系起来的呢?中断的实现主要在中断初始化子程序里,在程序中对每一步的操作都进行了详细的说明。我们一步一步来分析一下:首先是用于中断处理的函数:然后是

    8、用于中断处理的宏定义:用到的一些助记符如下:大家觉得上面的内容还不够丰富,请参阅TI的文档spru273b.pdf。有了上面的理解,中断的实现过程就比较清楚了:1. 初始化中断服务表指针(ISTP):intr_init();2. 选择用哪一个中断: intr_map(CPU_INT7,ISN_EXT_INT7);3. 清中断: INTR_CLR_FLAG(CPU_INT7);4. 中断服务子程序与中断号挂钩: intr_hook(Int7_ISR,CPU_INT7);5. 打开非屏蔽中断: INTR_ENABLE(CPU_INT_NMI);6. 打开所选中断: INTR_ENABLE(CPU_

    9、INT7);7. 全局中断使能: INTR_GLOBAL_ENABLE(); 读者可能会注意到,中断处理函数都是小写的,而宏定义都是大写的,在C语言的语法里是要注意的,否则会出现找不到函数或者函数未定义。如果想用其他的中断源,可以按照上面的步骤依样而行,相信不会是什么太难的事情了。每一步不是必须的,顺序也不是固定的。Int7_ISR是本人举例时用的中断服务子程序名,大家可以使用任意的名字,而其中的程序也是随意根据需要编写,没有太多的限制。读者如果对DSP的硬件很清楚,可以直接对中断寄存器进行赋值,不需要调用这些函数与宏定义。相信现在大家对中断与DMA的实现已经心中有数了,但我还要强调一下,我所讲的实现是突出软件上的实现,进行DSP编程需要对硬件有足够必要的了解,否则会遇到某些难以理解的问题,我在这里尽量不涉及硬件,只是希望大家仔细对TI有关资料认真研究,避免我的介绍产生先入为主的不良影响。例如我在DMA中执行了对双口RAM的读操作,而双口RAM是连接在EMIF上的,因此,进行读操作之前就必须对EMIF进行初始化操作,否则,出错是必然的,而且很难找出错误原因,切记切记。


    注意事项

    本文(使用CCS进行DSP编程三CCS编程入门精.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开