搜索
bottom↓
回复: 10

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

[复制链接]

出0入0汤圆

发表于 2013-12-6 18:57:11 | 显示全部楼层 |阅读模式
用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为输出

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2013-12-6 23:52:39 | 显示全部楼层
我手里的片子16M做软usb还是ok的
第二个问题需要使用官方的isp软件进行加密

出0入0汤圆

发表于 2013-12-7 10:39:06 | 显示全部楼层
请问是SOP24还是SOP8的小板? 这个应该是没有校准过的,你向OSCCAL(地址:0x66),写一个0x0a, 看看时钟的变化,然后根据变化在调整下这个值

出0入0汤圆

 楼主| 发表于 2013-12-7 16:56:59 | 显示全部楼层
谢谢楼上两位,我用的板子图片如下:
attach://157245.jpeg

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2013-12-7 17:00:12 | 显示全部楼层
再请教一下GoodCode网友,只用仿真器,官方的那个PC上运行的ISP软件检测不到硬件,我怎么能加密呢?难度仿真器只有仿真调试功能吗?
还有这个芯片的SWD仿真接口和ISP编程接口好象不是一个接口,引脚都不一样,我这样理解是对的吗?

出0入0汤圆

发表于 2013-12-7 17:59:04 | 显示全部楼层
08A是这样的, 调试器和ISP工具是两个接口,两种工具的, 调试器不能用于加锁和解锁;
对于08A, ISP工具只有和08A的ISP下载器配合使用才可以识别到设备。

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

出0入0汤圆

发表于 2013-12-7 18:01:19 | 显示全部楼层
不过如果是你量产,我们有提供脱机烧写器,下载完后自动加锁,也非常方便。

出0入0汤圆

 楼主| 发表于 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都能用还行,如果每个芯片都有较大的差异性,那调起来就比较麻烦了,

出0入0汤圆

 楼主| 发表于 2013-12-7 20:40:13 | 显示全部楼层
最好能出厂里将芯片校准到16M,上电后自动读取校准值到RCAL中,这样就比较好用了,16M是能用19200以下波特率稳定串口通讯的。

出0入0汤圆

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

出0入0汤圆

发表于 2013-12-7 21:12:30 来自手机 | 显示全部楼层
这个我们批量供货都一定是已经校准到1%的,用户不用管。你拿到的这个小板应该是早期没有校准的
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-25 15:07

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表