第4章 定时器及硬件中断(C55x DSP)

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

第4章 定时器及硬件中断 2. 新建立工程 新建工程文件、两个汇编源文件和一个命令文件(文件 名请读者自己命名),在其中一个汇编源文件中输入本章 4.2.5小节程序清单参考中的定时器汇编源程序,在另一个汇 编源文件中输入第2章中2.2.5小节中的SDRAM初始化程序, 在命令文件中输入本章4.2.5小节命令文件的内容。保存之后 把这些文件添加到工程。
nmi:
.loop 8 nop .endloop
第4章 定时器及硬件中断 int0: .loop 8 nop .endloop int2: .loop 8 nop .endloop tint0: b nop .align 8 .text _Timer0
第4章 定时器及硬件中断 c_int00: amov #0,xdp amov #STACK+200h,xsp amov #SYSSTACK+200h,xssp ;init interupt(中断初始化) bset mov intm #1,@ivpd ; ;禁止全局中断 ;初始化DSP中断矢量指 针ivpd=1 mov #1,@ivph ;初始化DSP中断矢量指 针ivph=1
第4章 定时器及硬件中断 3. 编译工程 在编译和链接工程文件过程中,如果有错误则先修改错 误,直到无错误提示为止。编译成功后,装载可执行的输出 文件。详细情况请参见第1章1.2.6小节。 4. 观察定时器寄存器窗口 (1) 打开CPU寄存器视窗,再打开定时器寄存器视窗, 如图4-4所示。
第4章 定时器及硬件中断
第4章 定时器及硬件中断
图4-1 TMS320 C5509 DSP通用定时器结构框图
第4章 定时器及硬件中断 预分频计数器PSC由时钟驱动,这个时钟可以是内部 CPU时钟或外部时钟(当FUNC = 11b时使用外部时钟,从 TIN/TOUT引脚输入,当FUNC为其他值时使用内部CPU时
钟)。每输入一个时钟,PSC减1。
第4章 定时器及硬件中断 prd0 tcr0 prsc0 sysr clkmd pdp_timer0 STACK .set .set .set .set .set .set 0x1001 ;定时器周期寄存器PRD0 0x1002 ;定时器控制寄存器TCR0 0x1003 ;定时器预定标寄存器 0x07fd 0x1c00 tim0/128 200h 200h ; ;时钟模块寄存器地址
.usect ".stack",
SYSSTACK .usect ".sysstack", .data
第4章 定时器及硬件中断 led_i .word .sect rsv: 1,2,4,8,4,2 “.vectors”
; reset vector b NOP .align 8 _c_int00 ;branch to C entry point
第4章 定时器及硬件中断
4.2 定时器及硬件中断实验
4.2.1 实验目的 ■了解C55x DSP定时器结构。 ■学习C5509定时器初始化。 ■了解C55x DSP中断。 ■学习中断处理。
第4章 定时器及硬件中断 4.2.2 实验设备 ■PC兼容机一台;操作系统为Windows 2000(或 WindowsNT 4.0、Windows 98、Windows XP);计算机已经 安装CCS v3.1集成环境软件。 ■DSP仿真器ICETEK-5100USB V2.0A一个;DSP目标 板ICETEK-VC5509-A一块。
第4章 定时器及硬件中断
图4-3 引脚功能模式合法转换图
第4章 定时器及硬件中断 定时器初始化步骤如下: (1) 停止定时器(TSS=1),定时器装载使能(TLB=1),定 时器控制寄存器TCR的其他位设置成对应数值。 (2) 装载预分频计数周期寄存器PRSC。 (3) 装载主周期寄存器PRD。 (4) 关闭定时器装载(TLB=0),启动定时器(TSS=0)。
第4章 定时器及硬件中断 mov bclr bset #0e0h,port(tcr0) intm AR3LC ;*tcr0 = 0x00e0 ;全局中断使能 ;置位AR3LC,AR3循环寻址 ;xar2指向led ;循环寻址长度为6 ;初始化xar3 ;初始化bsa23,循环寻址首地址 为led_i
第4章 定时器及硬件中断
图4-2 定时器控制寄存器TCR
第4章 定时器及硬件中断
定时器控制寄存器TCR说明 表4-1 定时器控制寄存器 说明
第4章 定时器及硬件中断
第4章 定时器及硬件中断
第4章 定时器及硬件中断
第4章 定时器及硬件中断
第4章 定时器及硬件中断 定时器引脚功能模式合法转换如图4-3所示,FUNC位的 某些改变会产生一个错误并反映在ERRTIM位,例如:从 FUNC = 01b转换到FUNC = 00b或11b;从FUNC = 10b转换 到FUNC = 00b或11b,以及从FUNC = 11b转换到任意值,这 几种情况都会产生一个错误,使ERRTIM位置1。当 ERRTIM = 1时,复位DSP并重新初始化定时器。更多信息 请参阅参考文献[4][5]。
第4章 定时器及硬件中断 ;定时器初始化 mov mov mov mov mov #pdp_timer0,pdp ;置外围I/O数据页指针 #04f0h,port(tcr0) ;*tcr0 = 0x04f0 #0h,port(tim0) ;*tim0 = 0 #0ffffh,port(prd0) ;*prd0 = 0x0ffff #15h,port(prsc0) ;*prsc0 = 0x15=21
amov #led,xar2 mov #6,bk03
amov #led_i,xar3 mov #led_i,bsa23
第4章 定时器及硬件中断 mov loop: NOP b _Timer0: mov loop *ar3+,*ar2 ;等待中断 ;定时器Timer0中 断服务程序 reti .end ;中断返回 #0,ar3 ;清ar3
DARAM0 : DARAM1 : DARAM2 : DARAM3 : }
第4章 定时器及硬件中断 SECTIONS { .vectors : PAGE 0 .bss: .stack: .sysstack: .text : .data: } > > > > > DARAM0 DARAM1 DARAM1 DARAM2 DARAM3 PAGE 0 PAGE 0 PAGE 0 PAGE 0 PAGE 0 > VECS
第4章 定时器及硬件中断 4.2.3 实验要求 使用CCS集成仿真环境,完成建立工程、源文件、命令 文件,保存和添加文件到工程,进行编译、链接、运行和调 试等操作。使用观察窗口观察寄存器和存储器空间的内容等。
第4章 定时器及硬件中断 4.2.4 实验步骤 1. 实验准备 参照第2章(若使用的仿真器不同,请参照其他相关资料) 对CCS硬件仿真进行设置;在断电情况下将仿真器和目标板 相连,再将仿真器和计算机相连,给目标板接通电源,启动 CCS。
第4章 定时器及硬件中断
第4章 定时器及硬件中断 章
4.1 定时器硬件结构原理
4.2 定时器及硬件中断实验
第4章 定时器及硬件中断
4.1 定时器硬件结构原理
TMS320VC5509 DSP有两个独立的20 bit软件可编程通用 减数计数定时器,它们可用于向CPU提供周期性的中断信号, 或给DMA控制器发送周期同步事件,也可以用于给外部设 备提供周期信号,还可以用于外部事件计数。 20 bit的通用定时器是减数计数器,它由两部分组成:4位预 分频计数器(PSC)和16位主计数器(TIM)。定时器结构框图如 图4-1所示。
第4章 定时器及硬件中断 2. 命令文件 -stack 200h -sysstack 200h MEMORY { PAGE 0:
第4章 定时器及硬件中断 MMR SPRAM VECS : : : origin = 0000000h, origin = 00000c0h, origin = 0000100h, origin = 0000200h, origin = 0002000h, origin = 0004000h, origin = 0006000h, length = 00000c0h length = 0000040h length = 0000100h length = 0001E00h length = 0002000h length = 0002000h length = 0002000h
第4章 定时器及硬件中断 每当PSC减到0,主计数器TIM减1,每当TIM减到0, 定时器给CPU发出一个中断请求TINT,同时又发送一个同 步事件TEVT给DMA控制器,还可以产生一个输出到定时器 引脚(如果FUNC=01b)。定时器输出速率为
ቤተ መጻሕፍቲ ባይዱ
第4章 定时器及硬件中断
输入时钟频率 TINT频率 = (TDDR + 1)(PRD + 1)
式中 (TDDR + 1)(PRD + 1) >4
第4章 定时器及硬件中断 预分频寄存器PRSC由预分频周期寄存器TDDR和预分
频器PSC两部分组成,当定时器设定为自动装载模式时 (ARB=1),预分频器PSC减到0,并再有一个输入时钟输入 时,预分频器PSC从预分频周期寄存器TDDR重新装载数据。
第4章 定时器及硬件中断 mov #10h,@ier0 ;初始化中断屏蔽寄存器ier0, tint0=1 mov mov mov mov call #10h,@dbier0 #0,@ier1 #0ffffh,@ifr0 #0ffffh,@ifr1 sdram_init ;调试中断使能寄存器dbier0=10h ;清中断使能寄存器ier0 ;清中断标志寄存器ifr0 ;清中断标志寄存器ifr1 ;调用初始化SDRAM子程序
图4-4 定时器寄存器观察窗口
第4章 定时器及硬件中断 (2) 单步运行程序,观察CPU寄存器和定时器寄存器变 化。 (3) 在定时器中断服务程序处设置断点,在主菜单中选 择Project→Animate或按图标 动画运行程序。
第4章 定时器及硬件中断 4.2.5 参考程序清单 1. 定时器汇编源程序 .mmregs .def .ref _c_int00 sdram_init ;引用外部变量,SDRAM初始化子程序入口 led .set 400001h ;led数据地址 tim0 .set 0x1000 ;定时器寄存器TIM0
第4章 定时器及硬件中断 周期寄存器PRD和计数器TIM都为16位寄存器。若定时 器设定为自动装载模式(ARB=1),当计数器TIM减到0时, 就会从PRD重新装载数据。定时器控制寄存器TCR如图4-2 所示,使用它的特定位可以实现对定时器进行配置、启动、 停止、装载和重新装载等,表4-1是对定时器控制寄存器 TCR的每位进行说明。
相关文档
最新文档