TMS320C55x的片内集成外设开发及测试.ppt_第1页
TMS320C55x的片内集成外设开发及测试.ppt_第2页
TMS320C55x的片内集成外设开发及测试.ppt_第3页
TMS320C55x的片内集成外设开发及测试.ppt_第4页
TMS320C55x的片内集成外设开发及测试.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2019年12月16日,tms320c55xdsp原理及应用,1,第5章tms320c55x的片内集成外设开发及测试,内容提要c55x外设完成的功能:采集原始数据、输出处理结果、控制外部其他设备的工作状态。c55x的片内外设分为:1时钟与定时器()2外部设备连接接口(介绍emif)3信号采集(介绍gpio和a/d转换器)4通信接口5其他外设,2019年12月16日,tms320c55xdsp原理及应用,2,5.1c55x片内外设与芯片支持库简介5.2时钟发生器5.3通用定时器与dsp中断实验2.1指示灯实验实验2.2拨码开关实验实验2.3dsp定时器,第5章tms320c55x的片内集成外设开发及测试(1),2019年12月16日,tms320c55xdsp原理及应用,3,第5章tms320c55x的片内集成外设开发及测试,5.1c55x片内外设与芯片支持库简介,一、c55x片内外设,1时钟与定时器(1)时钟产生器-产生cpu的工作时钟,并提供clkout时钟输出以供其他器件使用。(2)通用定时器-通过计数器为系统提供定时时钟,并能发出相应中断。(3)实时时钟以及看门狗定时器等。,2019年12月16日,tms320c55xdsp原理及应用,4,2外部设备连接接口(1)外部存储器连接接口(emif):与并行存储器(sdram、sbsram、flash、sram)或外部并行设备(并行a/d、d/a、具有异步并行接口的专用芯片)连接。(2)主机接口(ehpi):为主控cpu和c55x处理器之间提供一条快捷的并行连接接口,对dsp进行控制、程序加载、数据传输。,第5章tms320c55x的片内集成外设开发及测试,2019年12月16日,tms320c55xdsp原理及应用,5,3信号采集(1)模/数转换器-实现多通道模/数转换。(2)通用输入/输出接口(gpio)-提供数字信号输入/输出功能;当被设置为输出模式时,可通过这些接口控制其他设备。,4通信接口(1)多通道缓冲串口(mcbsp)-连接串行存储器、a/d、d/a转换器,并可以通过该接口实现与其他处理器的高速串行连接。(2)i2c接口、异步串口、usb接口以及多媒体卡/sd卡接口等。5.其他外设包括:dma控制器和指令流水线等,用来辅助cpu工作,提高dsp的工作效率。,2019年12月16日,tms320c55xdsp原理及应用,6,二、片上外设支持库(csl)为方便地实现c55x外设的控制,提供了片上外设支持库(csl),可通过程序或dsp/bios调用csl函数和宏。csl库的位置:c:ccstudio_v3.3c5500biosinclude特点:(1)采用标准协议对外设进行编程包括数据类型、定义外设配置的宏定义和对各种外设操作的函数等。(2)基本资源管理(3)设备符号描述定义外设寄存器和寄存器域符号,使程序易于移植。,第5章tms320c55x的片内集成外设开发及测试,2019年12月16日,tms320c55xdsp原理及应用,7,5.2时钟发生器,第5章tms320c55x的片内集成外设开发及测试,功能:从clkin引脚接收输入的时钟,将其变换为cpu及其外设所需要的工作时钟,工作时钟也可经过分频通过clkout输出,供其他器件使用。时钟发生器内有一数字锁相环(dpll)和一个时钟模式寄存器(clkmd)。,2019年12月16日,tms320c55xdsp原理及应用,8,第5章tms320c55x的片内集成外设开发及测试,clkin,dsp时钟发生器,cpu时钟,cpu、外设、其他器件,clkdiv,clkout,图5-1时钟输出,第5章tms320c55x的片内集成外设开发及测试,表5-1时钟模式寄存器clkmd,一、时钟模式寄存器(clkmd),功能:控制时钟发生器的工作状态。,2019年12月16日,tms320c55xdsp原理及应用,10,表5-1时钟模式寄存器clkmd(续),第5章tms320c55x的片内集成外设开发及测试,2019年12月16日,tms320c55xdsp原理及应用,11,第5章tms320c55x的片内集成外设开发及测试,二、工作模式,1旁路模式(bypass),如果pllenable=0,pll工作于旁路模式,pll对输入时钟信号进行分频,分频值由bypassdiv确定:,2019年12月16日,tms320c55xdsp原理及应用,12,第5章tms320c55x的片内集成外设开发及测试,2锁定模式(lock),如果pllenable=1,pll工作于锁定模式,输出的时钟频率由下面公式确定:,时钟输出频率,输入频率,第5章tms320c55x的片内集成外设开发及测试,三、clkout输出,cpu时钟也可通过一个时钟分频器提供clkout信号,clkout的频率由系统寄存器(sysr)中的clkdiv确定:,2019年12月16日,tms320c55xdsp原理及应用,14,第5章tms320c55x的片内集成外设开发及测试,四、注意事项,1省电(idle),为了节省功耗,可以使时钟发生器处于省电状态,当时钟发生器退出省电状态时,pll自动切换到旁路模式,进行跟踪锁定,锁定后返回到锁定模式,时钟模式寄存器中与省电有关的位是iai。,2019年12月16日,tms320c55xdsp原理及应用,15,第5章tms320c55x的片内集成外设开发及测试,2dsp复位,在dsp复位期间和复位之后,pll工作于旁路模式,输出的时钟频率由clkmd引脚上的电平确定。如果clkmd引脚为低电平,输出频率等于输入频率;如果clkmd引脚为高电平,输出频率等于输入频率的一半。,3失锁,锁相环对输入时钟跟踪锁定之后,由于其他原因使其输出时钟发生偏移,即失锁。出现失锁现象后,pll的动作由时钟模式寄存器中的iob确定。,2019年12月16日,tms320c55xdsp原理及应用,16,第5章tms320c55x的片内集成外设开发及测试,五、使用方法及实例,调用时钟发生器库函数首先要在头文件中包含csl_pll.h文件。首先要声明pll配置结构,具体声明如下:pll_configconfig_pll=1,/*iai休眠后重新锁相*/1,/*iob失锁后进入旁路模式并重新锁相*/6,/*倍频系数pllmult=6*/0/*1分频,clkout=dsp主时钟/(div+1)*/;之后运行配置函数:pll_config(通过pll_setfreq函数可以复位pll锁相环,并改变倍频和分频数从而得到所需的频率。,2019年12月16日,tms320c55xdsp原理及应用,17,第5章tms320c55x的片内集成外设开发及测试,5.3通用定时器与dsp中断,功能:片内有两个20位软件可编程定时器,利用定时器可向cpu产生周期性中断或向dsp片外的器件提供周期信号。,一、结构框图,定时器组成:1个4bit的预定标计数器和1个16bit的主计数器。有两个计数寄存器(psc,tim)和两个周期寄存器(tddr,prd),初始化过程中将周期寄存器的内容拷贝到计数寄存器中。tddr和prd-存放计时器的计时值;psc和tim-完成计时任务。,2019年12月16日,tms320c55xdsp原理及应用,18,第5章tms320c55x的片内集成外设开发及测试,cpu时钟,tin/tout,tddr,4位预定标器,psc,prd,16位主计数器,tim,中断请求,dma同步事件,2019年12月16日,tms320c55xdsp原理及应用,19,第5章tms320c55x的片内集成外设开发及测试,二、工作原理,1.工作时钟源:工作时钟可来自dsp内部的cpu时钟,也可以来自引脚tin/tout,由定时器控制寄存器(tcr)中的func确定。定时器的工作模式有:当func=00b时,tin/tout为高阻态,时钟源是内部时钟(cpu时钟)。当func=01b时,tin/tout为定时器输出,时钟源是内部时钟(cpu时钟)。当func=10b时,tin/tout为通用输出,时钟源是内部时钟(cpu时钟)。当func=11b时,tin/tout为定时器输入,时钟源是外部时钟。,2019年12月16日,tms320c55xdsp原理及应用,20,第5章tms320c55x的片内集成外设开发及测试,2.定时器频率计算预定标器由输入时钟驱动,psc在每个输入时钟周期减1,当其减到0时,tim减1,当tim减到0,定时器向cpu发送一个中断请求(tint)。定时器发送中断信号的频率为:,2019年12月16日,tms320c55xdsp原理及应用,21,第5章tms320c55x的片内集成外设开发及测试,3.定时器的寄存器设置,定时器预定标寄存器prsc,2019年12月16日,tms320c55xdsp原理及应用,22,第5章tms320c55x的片内集成外设开发及测试,主计数寄存器tim,主周期寄存器prd,2019年12月16日,tms320c55xdsp原理及应用,23,第5章tms320c55x的片内集成外设开发及测试,定时器控制寄存器tcr,2019年12月16日,tms320c55xdsp原理及应用,24,第5章tms320c55x的片内集成外设开发及测试,定时器控制寄存器tcr(续),2019年12月16日,tms320c55xdsp原理及应用,25,第5章tms320c55x的片内集成外设开发及测试,定时器控制寄存器tcr(续),2019年12月16日,tms320c55xdsp原理及应用,26,第5章tms320c55x的片内集成外设开发及测试,三、定时器的使用步骤,1.初始化定时器,初始化过程如下:(1)停止计时(tss=1),定时器装载使能(tlb=1),并将周期寄存器(tim,psc)的内容拷贝到计数寄存器(prd,tddr);(2)将预定标计数周期数写入tddr;(3)将主计数器周期数装入prd;(4)关闭定时器装载(tlb=0),启动计时(tss=0)。,2019年12月16日,tms320c55xdsp原理及应用,27,第5章tms320c55x的片内集成外设开发及测试,2停止/启动定时器,利用时钟控制寄存器中的tss位可停止或启动定时器。(1)tss=1,停止计时;(2)tss=0,启动计时,3dsp复位,dsp复位后定时器的寄存器将按照如下规则复位:停止定时(tss=1);预定标计数器值为0;主计数器值为ffffh;定时器不进行自动重装(arb=0);idle指令不能使定时器进入省电模式;仿真时遇到软件断点定时器立即停止工作;tin/tout为高阻态,时钟源是内部时钟(func=00b)。,注:定时器程序写在一个中断函数中。,2019年12月16日,tms320c55xdsp原理及应用,28,定时器初始化的实例:(实验指导书p71)voidtimer_init(void)/初始化计时器ioportunsignedint*tim0;ioportunsignedint*prd0;ioportunsignedint*tcr0;ioportunsignedint*prsc0;tim0=(unsignedint*)0 x1000;/定时器0计数寄存器地址prd0=(unsignedint*)0 x1001;/定时器0周期寄存器地址,2019年12月16日,tms320c55xdsp原理及应用,29,tcr0=(unsignedint*)0 x1002;/定时器0控制寄存器地址prsc0=(unsignedint*)0 x1003;/定时器0预定标寄存器地址*tcr0=0 x04f0;/tlb=1;arb=1;tss=1*tim0=0;/清主计数器*prd0=0 x0ffff;/设置周期寄存器prd=ffffh*prsc0=2;/设置周期寄存器tddr=2,清预定标寄存器psc=0*tcr0=0 x00e0;/tlb=0;arb=1;tss=0,2019年12月16日,tms320c55xdsp原理及应用,30,*tms320c55x中断系统1.中断-cpu正在执行程序时,外部发生了某一事件并向cpu发信号请求去处理,cpu暂时中断当前工作,转去处理这一事件(进入中断服务程序),处理完再回来继续原来的工作。产生中断的请求源称为中断源,中断系统使dsp能够处理多个任务。,c55x支持32个中断服务子程序isr。分成可屏蔽中断、不可屏蔽中断。所有软件中断都是不可屏蔽中断。,2019年12月16日,tms320c55xdsp原理及应用,31,表5-1c55x的中断管理寄存器,中断标志寄存器,中断使能寄存器,2019年12月16日,tms320c55xdsp原理及应用,32,2.中断响应过程(1)接收中断请求。(2)响应中断请求。如果是可屏蔽中断,则响应必须满足某些条件;如果是不可屏蔽中断,则cpu立即响应。(3)准备进入中断服务子程序。cpu要执行的主要任务:完成当前指令的执行,并冲掉流水线上还未解码的指令。自动将某些寄存器的值保存到数据堆栈和系统堆栈。从用户事先设置好的向量地址获取中断向量,该中断向量指向中断服务子程序。(4)执行中断服务子程序。cpu执行用户编写的isr。isr以一条中断返回指令结束,自动恢复步骤(3)中自动保存的寄存器值。,2019年12月16日,tms320c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论