嵌入式开发--蒹葭的专栏

Care and Diligence Bring Luck.(谨慎和勤奋才能抓住机遇!)

张志龙ID:flylonginsky
167927次访问,排名440好友1人,关注者32
flylonginsky的文章
原创 94 篇
翻译 0 篇
转载 12 篇
评论 115 篇
蒹葭的公告

奋斗永无止境
仁者不忧,知者不惑,勇者不惧。 Gold Price per Gram in China Yuan Renminbi
最近评论
gsb19870:初学者.........看了下........
zhangyaoting196:

推荐给Web程序员,

学习网络赚钱 [ www.888RMB.com.cn ] 为中国赚钱网站,

提供赚钱教程、赚钱经验、赚钱 秘籍、赚钱项目、赚钱产品, 为想赚钱的人群提供一个赚钱的网络平台




jxzxf:不好看懂
xkxiaodao:嗯,都是目标没时间的
zhengyun_ustc:非常感谢!!
文章分类
收藏
相册
工作花絮
那人那事
引用
山外有山
Bekars涡轮增压的Blog
linux应用开发电子报(RSS)
叶帆工作室(RSS)
胶管的Blog(RSS)
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

原创 关于dsp定时器同步需要注意的问题收藏

新一篇: 升级了vmware,解决了很多棘手问题 | 旧一篇: Windows下Linux开发环境设置(二)--安装Cygwin及交叉编译工具链

 
   文/蒹葭 zhang.zhilong#gmail.com
因为项目中某一个芯片时钟和使能信号对同步有非常严格要求。故而采用PWM定时器来解决。
项目参数:F2812,主频100M,外设频率50M。
1.         定时器计数是从0开始计数的。所以要计10个数,则周期寄存器应设为0x09,而不是0x0A
2.         定时器2控制寄存器的T2SWT1位置一。同时注意,在启动定时器之前,不能将两定时器控制寄存器使能位置1否则不能同步。
3.         PWM电平变化,由定时器比较寄存器的数值决定,例如:比较寄存器设为0x05,则表示计数器数值到5(从0开始计数),电平跃变,而不是第五个。
4.         通过将定时器2的SELT1PR位置位与否,来决定定时器2使用定时器1的周期,还是使用自己的周期。
5.         设定计数初始值和周期,控制寄存器之后,使能定时器1.此时,定时器2也同步启动。
相关代码如下:
  
  
EvaRegs.T1PR = 0x0009;       // Timer1 period      
   EvaRegs.T1CMPR = 0x0005;     // Timer1 compare
   EvaRegs.T1CNT = 0x0000;      // Timer1 counter
 // Initalize EVA Timer2
 EvaRegs.T2PR = 0xCD1D;       // Timer2 period
 EvaRegs.T2CMPR = 0x000A;     // Timer2 compare
 EvaRegs.T2CNT = 0x0000;      // Timer2 counter
 EvaRegs.GPTCONA.bit.TCMPOE = 1;
 EvaRegs.GPTCONA.bit.T1PIN = 1;
 EvaRegs.GPTCONA.bit.T2PIN = 1;
 EvaRegs.T2CON.all = 0x1082; //bit0使用自己的周期 bit7--使用T1CON的使能位,同步
    EvaRegs.T1CON.all = 0x1002; 
 EvaRegs.T1CON.bit.TENABLE=1; //T1此时使能,则打到同步,如在前面步骤已使能,则不能同步

发表于 @ 2007年05月14日 14:42:00|评论(loading...)|编辑

新一篇: 升级了vmware,解决了很多棘手问题 | 旧一篇: Windows下Linux开发环境设置(二)--安装Cygwin及交叉编译工具链

评论:没有评论。

发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © 蒹葭