TI中文支持网
TI专业的中文技术问题搜集分享网站

我使用CC1110发现奇怪的问题

我最近制作了4个CC1110的模块,第一阶段焊接了两块,后来又焊接了两块,用的器件都是同一批次的。现在发现一个问题:四个模块的firmware都是一样的,可是发现后来焊接的两块有时候有点不正常,表现的现象如下:

正常的程序上电后,搜索空中的广播信号,然后跟主机进行握手加入队列。如果加入不成功,则驱动蜂鸣器发出声音(无源蜂鸣器,程序上使用for循环输出方波驱动)。

可是后来焊接的两个有时候会出现不能跟主机交互,并且发出的蜂鸣器声音比正常的明显频率偏低了很多。故障发生时测量26MHz的晶振型号正常。

似乎是由于某种原因,CC1110的实际工作频率降低了。但是我的程序初始化的时候是设置26MHz XTAL作为时钟源的。

该现象为偶发现像,发生的情况比较随机,没有发现特定的规律。

求帮助。

Shu Davin:

建议你设置一个IO口一直输出固定频率的方波,在不正常的时候使用示波器测试,波形有无变化?

开门狗是否打开,是否是软件复位造成?

jacky jacky:

我的软件中没有开启看门狗,按照你的建议,某个IO口一直输出固定频率的方波,发现,正常时,输出方波频率为2.6kHz,不正常时输出频率为1.3kHz,恰好频率降低了一半。请帮忙继续分析一下。26MHz振荡信号正常。

WZ:

回复 jacky jacky:

你看看CLKCON的寄存器和CLKSTA的是不是一样,有可能是切换到内部13M去了

jacky jacky:

回复 WZ:

下面是我的始终初始化程序,请参看有没有问题?

    // Power up unused oscillator (HS XOSC).    SLEEP &= ~SLEEP_OSC_PD;    // Wait until the HS XOSC is stable.    while( !(SLEEP & SLEEP_XOSC_S) );        // Change the system clock source to HS XOSC and set the clock speed to 26 MHz.    CLKCON = (CLKCON & ~(CLKCON_CLKSPD | CLKCON_OSC|CLKCON_TICKSPD)) | CLKSPD_DIV_1|TICKSPD_DIV_1;        // Wait until system clock source has changed to HS XOSC (CLKCON.OSC = 0).    while (CLKCON & CLKCON_OSC);        // Power down the HS RCOSC, since it is not beeing used.    // Note that the HS RCOSC should not be powered down before the applied    // system clock source is stable (SLEEP.XOSC_STB = 1).    SLEEP |= SLEEP_OSC_PD;    /* Now everything is setup */ 

赞(0)
未经允许不得转载:TI中文支持网 » 我使用CC1110发现奇怪的问题
分享到: 更多 (0)