本次实验主要是利用开发板进行有关定时/计数器的实验,通过定时器进行精确定时实现流水灯功能
TMS320C6748拥有四个64位的通用定时/计数器,其中每个定时器又可配置为两个32位的定时器: 1)两个32位独立定时器,2)两个32位独立定时器但定时器34带有4位的预定标,3)两个32位关联定时器
TMS320C6748定时器的结构框图如下图所示:
时钟源:时钟信号可分为分为内部时钟和外部时钟输入,定时器0和定时器1的时钟为PLL0_AUXCK(旁路时钟,24Mhz),定时器2/3默认状态下使用的时钟为PLL0_SYSCLK2(为系统频率的二分之一,228Mhz),可通过定时器配置将其时钟设置为PLL1_SYSCLK2(可以避免因CPU主频变化对设备产生的不利影响)
定时器模式:1)64位通用定时器模式,2)双32位非链式通用定时器模式,3)双32位链式定时器模式,4)看门狗定时器模式。
只有定时器1(Timer64P1)可配置为看门狗定时器,当程序异常时产生中断使系统复位到初始确定状态
工作模式:单次运行、连续运行、连续运行加周期重载
在本次实验中,配置定时器2工作在通用定时器模式,使用内部时钟源即其时钟频率为228Mhz
硬件电路:运用四个板载LED灯(D7/D6/D9/10)实现延时1s的流水灯功能
软件设计:定时器中断初始化过程:注册中断服务函数--映射中断到DSP可屏蔽中断--使能DSP可屏蔽中断--使能定时器中断
根据 T=N/f ,其中N为设定的计数器重载值,f为定时器时钟源频率(228Mhz),T为定时器产生事件输出所需要的时间。设定N为228000000即可实现定时器定时1秒的功能。
中断服务程序的处理过程与GPIO中断处理过程类似,不同之处在于GPIO是以Bank为单位产生事件的,故需要在中断服务程序中判断是Bank中哪一个引脚变化引起的中断,而定时器中断不需要此步骤。
程序设计代码如下所示: (此次程序设计参考了创龙提供的官方源代码TIMER) 烧录程序程序实现流水灯功能
小结:本次实验主要是对创龙公司提供的TMS320C6748开发板的定时/计数器进行了学习,并通过定时器定时实现流水灯的精确延时,官方提供的代码中也有一个流水灯实验,只是源程序运用的是让程序执行空语句来达到延时的目的,并未用定时器功能。此款DSP的定时器拥有八个比较寄存器,支持上升沿、下降沿、双边沿捕获脉冲的功能,不失为工控的DSP~\(≧▽≦)/~
TMS320C6748拥有四个64位的通用定时/计数器,其中每个定时器又可配置为两个32位的定时器: 1)两个32位独立定时器,2)两个32位独立定时器但定时器34带有4位的预定标,3)两个32位关联定时器
TMS320C6748定时器的结构框图如下图所示:
时钟源:时钟信号可分为分为内部时钟和外部时钟输入,定时器0和定时器1的时钟为PLL0_AUXCK(旁路时钟,24Mhz),定时器2/3默认状态下使用的时钟为PLL0_SYSCLK2(为系统频率的二分之一,228Mhz),可通过定时器配置将其时钟设置为PLL1_SYSCLK2(可以避免因CPU主频变化对设备产生的不利影响)
定时器模式:1)64位通用定时器模式,2)双32位非链式通用定时器模式,3)双32位链式定时器模式,4)看门狗定时器模式。
只有定时器1(Timer64P1)可配置为看门狗定时器,当程序异常时产生中断使系统复位到初始确定状态
工作模式:单次运行、连续运行、连续运行加周期重载
在本次实验中,配置定时器2工作在通用定时器模式,使用内部时钟源即其时钟频率为228Mhz
硬件电路:运用四个板载LED灯(D7/D6/D9/10)实现延时1s的流水灯功能
软件设计:定时器中断初始化过程:注册中断服务函数--映射中断到DSP可屏蔽中断--使能DSP可屏蔽中断--使能定时器中断
根据 T=N/f ,其中N为设定的计数器重载值,f为定时器时钟源频率(228Mhz),T为定时器产生事件输出所需要的时间。设定N为228000000即可实现定时器定时1秒的功能。
中断服务程序的处理过程与GPIO中断处理过程类似,不同之处在于GPIO是以Bank为单位产生事件的,故需要在中断服务程序中判断是Bank中哪一个引脚变化引起的中断,而定时器中断不需要此步骤。
程序设计代码如下所示: (此次程序设计参考了创龙提供的官方源代码TIMER) 烧录程序程序实现流水灯功能
小结:本次实验主要是对创龙公司提供的TMS320C6748开发板的定时/计数器进行了学习,并通过定时器定时实现流水灯的精确延时,官方提供的代码中也有一个流水灯实验,只是源程序运用的是让程序执行空语句来达到延时的目的,并未用定时器功能。此款DSP的定时器拥有八个比较寄存器,支持上升沿、下降沿、双边沿捕获脉冲的功能,不失为工控的DSP~\(≧▽≦)/~