• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

【问】28035的问题,是否有必要加个外部上电时序控制?

参考别人的设计中,28035的复位脚XRS,参考数据手册中XRS引脚是具有欠压保护之类的一系列保证供电正常后再进行控制操作。但在参考设计中使用TI的TPS7333Q,其再RST引脚引出复位信号送至XRS,为何还需要给电源加此信号?
全部回复(5)
正序查看
倒序查看
2012-07-01 18:55
对于DSP的上电是有个时序,因为内核供电电压不同的原因.
0
回复
2012-07-02 08:53

片内时钟振荡器为独立的

 

INTOSC1:片内时钟振荡器1(10MHz),可以为看门狗、系统内核、CPU定时器2提供时钟基准。

INTOSC2:片内时钟振荡器2(10MHz),可以为看门狗、系统内核、CPU定时器2提供时钟基准。

Crystal / Resonator:采用外部晶振作为时钟基准(XTAL),硬件上连接在X1 / X2脚。

External Clock Source:外部时钟源(XCLK – GPIO19 / GPIO38),如果没有使用外部晶振,那么可以使用一个外部的时钟源接入到XCLKIN管脚上,提供时钟基准。

默认情况下,系统内核时钟是由INTOSC1提供的,经过实际使用下来,片内的INTOSC1INTOSC2并不是很精确,并且受温度影响较大。如果使用外部晶振,应该如何切换呢?

1. 启用编辑受保护的寄存器;

1 EALLOW;

2. 将CLKCTL[XTALOSCOFF]设置为0,启用外部晶振;并将CLKCTL[XCLKINOFF]设置为1,禁用外部时钟输入;
参考操作:

2 SysCtrlRegs.CLKCTL.all = 0x2400;

3. 将CLKCTL[OSCCLKSRCSEL] 设置为1,使用外部晶振作为系统时钟源;此时,系统时钟无分频和倍频,需要重新设置PLLCR;
参考操作:

3 SysCtrlRegs.CLKCTL.all = 0x2401;

4. 重新设置PLLCR,并等待设置完毕;
参考操作:

456789101112131415161718192021 if (SysCtrlRegs.PLLSTS.bit.MCLKSTS != 1){    SysCtrlRegs.PLLSTS.bit.MCLKOFF = 1;    SysCtrlRegs.PLLSTS.bit.DIVSEL = 0;    SysCtrlRegs.PLLCR.bit.DIV = 0x000C;    while(SysCtrlRegs.PLLSTS.bit.PLLLOCKS != 1)    {        SysCtrlRegs.WDKEY = 0x0055;        SysCtrlRegs.WDKEY = 0x00AA;    }    SysCtrlRegs.PLLSTS.bit.MCLKOFF = 0;    DelayUs(20/2);    SysCtrlRegs.PLLSTS.bit.DIVSEL = 0x2;}else{    asm(" ESTOP0");}

5. 关闭内部晶振INTOSC1;
参考操作:

22 SysCtrlRegs.CLKCTL.all = 0x2501;

6. 禁止编辑受保护的寄存器;

23 EDIS;

这样DSP可以工作在一个相对稳定和精确地时钟基准下。

0
回复
wf1988
LV.2
4
2012-07-04 21:50
看了下28035的手册么上说还是有时序要求的,除非是用内部的调整器,如果用外部调整期的话IO口电源1.8V需先上,这个东西就是相当于一个保险,没它也行,有他更可靠
0
回复
bdzn
LV.9
5
2012-07-05 09:25
CCS仿真器支持上我认为做的比较烂。如果你的复位电路选的某个典型电路的话我认为你不用怀疑你复位电路的问题。看一下jtag口的电路有没有问题。排除了原理的问题,我认为你首先要看仿真器是不是有问题,比如连一下开发板看是否正常。

我用CCS+合众达的开发板仿真器经常连不上去。我的经验是
1、查驱动版本对不对,设置对不对,有的支持usb 和pci。
2、片内有程序上电运行那要同步复位才行。
0
回复
bdzn
LV.9
6
2012-07-06 15:48
@电源照宝
片内时钟振荡器为独立的 INTOSC1:片内时钟振荡器1(10MHz),可以为看门狗、系统内核、CPU定时器2提供时钟基准。INTOSC2:片内时钟振荡器2(10MHz),可以为看门狗、系统内核、CPU定时器2提供时钟基准。Crystal/Resonator:采用外部晶振作为时钟基准(XTAL),硬件上连接在X1/X2脚。ExternalClockSource:外部时钟源(XCLK–GPIO19/GPIO38),如果没有使用外部晶振,那么可以使用一个外部的时钟源接入到XCLKIN管脚上,提供时钟基准。默认情况下,系统内核时钟是由INTOSC1提供的,经过实际使用下来,片内的INTOSC1和INTOSC2并不是很精确,并且受温度影响较大。如果使用外部晶振,应该如何切换呢?1.启用编辑受保护的寄存器;1EALLOW;2.将CLKCTL[XTALOSCOFF]设置为0,启用外部晶振;并将CLKCTL[XCLKINOFF]设置为1,禁用外部时钟输入;参考操作:2SysCtrlRegs.CLKCTL.all=0x2400;3.将CLKCTL[OSCCLKSRCSEL]设置为1,使用外部晶振作为系统时钟源;此时,系统时钟无分频和倍频,需要重新设置PLLCR;参考操作:3SysCtrlRegs.CLKCTL.all=0x2401;4.重新设置PLLCR,并等待设置完毕;参考操作:456789101112131415161718192021if(SysCtrlRegs.PLLSTS.bit.MCLKSTS!=1){   SysCtrlRegs.PLLSTS.bit.MCLKOFF=1;   SysCtrlRegs.PLLSTS.bit.DIVSEL=0;   SysCtrlRegs.PLLCR.bit.DIV=0x000C;   while(SysCtrlRegs.PLLSTS.bit.PLLLOCKS!=1)   {       SysCtrlRegs.WDKEY=0x0055;       SysCtrlRegs.WDKEY=0x00AA;   }   SysCtrlRegs.PLLSTS.bit.MCLKOFF=0;   DelayUs(20/2);   SysCtrlRegs.PLLSTS.bit.DIVSEL=0x2;}else{   asm("ESTOP0");}5.关闭内部晶振INTOSC1;参考操作:22SysCtrlRegs.CLKCTL.all=0x2501;6.禁止编辑受保护的寄存器;23EDIS;这样DSP可以工作在一个相对稳定和精确地时钟基准下。

0
回复