gdrc 发表于 2013-12-6 18:57:11

请教LGT内部RC振荡器的用法及程序加密

用LGT8F08A官方的评估小板测试时,发现内部RC文档中提到的16M,经两分频后由OC0输出,用频率计测量只有7.1M,因为用内部RC做串口通讯,一直没成功,在4800bps也不能正常通讯,所以用上面的方法测量它的振荡实际频率。
请问版主和诸位,用RC振荡器是否有类似的问题,是否要自己核准?
用外置7.3728M晶振,串口通讯很好用的。
还有1个问题,用仿真器通过SWD接口对芯片烧写程序后,是否能加密?AVR Studio烧写界面的熔丝位配置是否有效,加密是用AVR Studio的编程加密页面来完成的吗?
先谢谢大家!

测试代码如下:
//初始化为CTC模式,输出2分频系统时钟
void Init_Timer0(void)
{
        TCCR0A = 0x42;                //CTC模式,输出翻转
        OCR0A= 0x00;
        TCCR0B = 0x01;                //
}


DDRA = 0x8F;        //PA7/OC0设置为输出,PA0-3为输出

goodcode 发表于 2013-12-6 23:52:39

我手里的片子16M做软usb还是ok的
第二个问题需要使用官方的isp软件进行加密

LGT 发表于 2013-12-7 10:39:06

请问是SOP24还是SOP8的小板? 这个应该是没有校准过的,你向OSCCAL(地址:0x66),写一个0x0a, 看看时钟的变化,然后根据变化在调整下这个值

gdrc 发表于 2013-12-7 16:56:59

谢谢楼上两位,我用的板子图片如下:
attach://157245.jpeg

gdrc 发表于 2013-12-7 17:00:12

再请教一下GoodCode网友,只用仿真器,官方的那个PC上运行的ISP软件检测不到硬件,我怎么能加密呢?难度仿真器只有仿真调试功能吗?
还有这个芯片的SWD仿真接口和ISP编程接口好象不是一个接口,引脚都不一样,我这样理解是对的吗?

LGT 发表于 2013-12-7 17:59:04

08A是这样的, 调试器和ISP工具是两个接口,两种工具的, 调试器不能用于加锁和解锁;
对于08A, ISP工具只有和08A的ISP下载器配合使用才可以识别到设备。

这样用起来是不方便,因此我们在88A上就完全统一了接口和硬件,以后的芯片也都会这样做。

LGT 发表于 2013-12-7 18:01:19

不过如果是你量产,我们有提供脱机烧写器,下载完后自动加锁,也非常方便。

gdrc 发表于 2013-12-7 20:37:34

谢谢版主的指导,又翻了一下文档,基本上搞明白了RC振荡器的特性了。

文档中关于RC校准的描述如下:
默认设置下系统时钟为16MHz晶振输出时钟的二分频,并且晶振的可调参数RCCAL = 0x0;

上电默认是最低振荡频率,设置成RCCAL= 6时,大概在7.6M左右,在15时,为8.2M左右,最后选了个RCCAL= 2,输出频率是7.3M左右,此时内部RC振荡为14.6左右,这个与晶振7.3728M很接近,所以19200通讯时误差比较小。

关于找到合适的校准值 ,文档中有详细地介绍如下:

片内16MHz晶振的精调过程:
1) 测量16MHz晶振的输出时钟频率Fm,可通过测量PWM波形的频率来计算系统时钟的频率,默认设置下系统时钟为16MHz晶振输出时钟的二分频,并且晶振的可调参数RCCAL = 0x0;
2) 比较Fm和目标时钟频率Ft(如16MHz),若相等则晶振参数不用调整即保持RCCAL值不变,若Fm > Ft进入步骤3),若Fm < Ft进入步骤4);
3) 当Fm > Ft,取FLSB = 1% * Fm,Y = (Fm – Ft)/FLSB,Z = 64 – ROUND(Y);
4) 当Fm < Ft,取FLSB = 1% * Fm,Y = (Ft – Fm)/FLSB,Z = ROUND(Y);
5) 计算出的Z值即为晶振精调参数,把Z值写入RCCAL即可。

如果一批芯片特性差不多,取相同的RCCAL都能用还行,如果每个芯片都有较大的差异性,那调起来就比较麻烦了,

gdrc 发表于 2013-12-7 20:40:13

最好能出厂里将芯片校准到16M,上电后自动读取校准值到RCAL中,这样就比较好用了,16M是能用19200以下波特率稳定串口通讯的。

gdrc 发表于 2013-12-7 20:44:55

国产的STC单片机15系列,他的RC振荡器通过串口下载程序时同时改变成22.1184,24M等好多档自已认为合适的频率,这个做流就非常值得学习,这样用户用起来就比较简单省事,能低成本(省外部晶振),低人工支出的生产电子产品。
呵呵,为了省个晶振,要校准很多次才能用,有时真不划算的。{:titter:}

LGT 发表于 2013-12-7 21:12:30

这个我们批量供货都一定是已经校准到1%的,用户不用管。你拿到的这个小板应该是早期没有校准的
页: [1]
查看完整版本: 请教LGT内部RC振荡器的用法及程序加密