2955|1

7221

帖子

192

TA的资源

五彩晶圆(高级)

楼主
 

【玩转C2000 Launchpad】菜鸟LESSON9-时钟 [复制链接]

时钟是DSP不可缺少的一部分,是运行的必要条件。
时钟输入:对于280x系列的dsp的时钟选择有多种,包括:
(1)晶体经过X1X2输入:需要将CLKIN连接到参考地,否则在用FLASH运行程序时候,将无法运行。;
(2)外部时钟经过CLKIN引脚输入:允许时钟电压是3.3V。需要将X1引脚接到参考地。X2悬空。
(3)外部时钟经过X1引脚输入。允许时钟电压是1.8V。需要将CLKIN连接到参考地,X2悬空。
(4)而我用的没有焊接外部晶振,使用了内部晶振,那内部晶振有多大呢,那就要看数据手册了。




由图可知含有2个内部竞争,分别为10MHZ。
下面来看下系统初始化函数
InitSysCtrl();
(1)EALLOW;//EALLOW :仿真读取使能位。复位时,该位允许对仿真和其他寄存器进行读取
       //一些配置寄存器是受保护的,无法直接操作。也就是说在对这些寄存器进行修改之前,
         //需要先去掉保护功能  而保护状态是由状态寄存器中EALLOW标志来指示的。
         //汇编指令“EALLOW”就是将该标志位置位,允许对受保护的寄存器操作 。
(2) IntOsc1Sel();//28027内部含2个内部晶振INTOSC1 INTOSC2
void IntOsc1Sel (void) {
    EALLOW;
    SysCtrlRegs.CLKCTL.bit.INTOSC1OFF = 0;
    SysCtrlRegs.CLKCTL.bit.OSCCLKSRCSEL=0;  // Clk Src = INTOSC1
    SysCtrlRegs.CLKCTL.bit.XCLKINOFF=1;     // Turn off XCLKIN
    SysCtrlRegs.CLKCTL.bit.XTALOSCOFF=1;    // Turn off XTALOSC
    SysCtrlRegs.CLKCTL.bit.INTOSC2OFF=1;    // Turn off INTOSC2
    EDIS;
}
而所有寄存器的操作 都可以从上图中得到。
例如SysCtrlRegs.CLKCTL.bit.OSCCLKSRCSEL=0;  // Clk Src = INTOSC1

(3) InitPll(DSP28_PLLCR,DSP28_DIVSEL);
  也就是InitPLL(12,2);
#define DSP28_PLLCR   12    // Uncomment for 60 MHz devices [60 MHz = (10MHz * 12)/2]
其中提到的PLL的DIV以及DIVSEL等的含义都可以从如下表得到:
void InitPll(Uint16 val, Uint16 divsel)
函数中   SysCtrlRegs.PLLCR.bit.DIV = val;也就是12
        DIVSEL=2,
所以频率为10MHZ*12/2=60Mhz


当然以上只是最基础的学习,进一步的还需要继续学习。

最新回复

没发现这一页啊  详情 回复 发表于 2013-5-22 10:19
 
点赞 关注

回复
举报

695

帖子

0

TA的资源

一粒金砂(高级)

沙发
 
没发现这一页啊
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表