STM32F100C8T6B的HSI实测只有6.5M?

[复制链接]
2575|8
 楼主| lmserver 发表于 2013-7-7 20:21 | 显示全部楼层 |阅读模式
F100和F103类似,从官方手册看是出厂25度下HSI校到8M的1%了。
F100C8T6B用MCO输出HSI,测试了3片发现HSI都只有6.4M左右,很奇怪。

基本排除软件问题,况且默认就是HSI,硬件上也没装晶震。
IAR6.3+ST3.5库,库里有个测试工程,型号设置成F100X8或F100XB都测了。自己建的工程移植3.5库测试,HSI也只有6.4M左右。
读RCC->CR,为0X03000F83,读了几片F100均如此,说明HSICAL的值全是0X0F。而读了几片F103发现这个HSICAL各不相同。

开始以为要手动载入HSICAL,查了手册发现HSICAL在芯片复位自动写入,用户只能读。
不要说用HSITRIM,这个是微调的,范围只有不1M左右,6.4M的最高调到6.8M而已,仍然到不了8M。

HSICAL都是相同的,莫非这批货的HSI出厂未校准?
 楼主| lmserver 发表于 2013-7-7 21:07 | 显示全部楼层
补充几个测试值:
HSITRIM写0X10时候,也就是上电默认的时候,HSI为6.40M,读HSICAL为0X0F
HSITRIM写0X1F时候,HSI为6.85M,读HSICAL为0X1E,
HSITRIM写0X01时候,HSI为5.90M,读HSICAL为0X00,
HSITRIM写0X00时候,HSI为13.24M,读HSICAL为0XFF,

就是说HSITRIM写0X00的时候HSI高到13M,写0X01的时候突变到5.9M,陆续增大则时钟陆续增大到6.8M
这个HSICAL虽然是在复位的时候只载入一次,但改HSITRIM的值时HSICAL会跟着变,但并不连续,而且HSITRIM是微调。
 楼主| lmserver 发表于 2013-7-7 21:09 | 显示全部楼层
排除示波器频率不准的问题,飞线接一个8M晶体并切换到HSE,并让MCO输出HSE,就可以得到8M了。
28182900 发表于 2013-10-15 14:31 | 显示全部楼层
本帖最后由 28182900 于 2013-10-15 14:51 编辑

我知道了
shdjdq 发表于 2013-10-15 14:43 | 显示全部楼层
有这么回事?和外面串口通讯好象一点问题都没有。
jjjkkk00 发表于 2013-10-19 16:39 | 显示全部楼层
本帖最后由 jjjkkk00 于 2013-10-19 16:47 编辑

100C8T6的以前用的时候也测过,没什么问题。
现在手头只有discovery。
刚才测试了一下STM32F100RBT6, HSI是 8.00~8.032MHz。
图拍的可能不太清楚。
照片 002.jpg 照片 001.jpg

trumpxp 发表于 2013-10-19 19:54 | 显示全部楼层
需要学一学  谢谢了  楼主  比较有意思  
 楼主| lmserver 发表于 2014-2-15 23:50 | 显示全部楼层
更新一下吧,换了一个销售商,又买了若干样品,8M终于来了。。。
批次的问题吧。
shdjdq 发表于 2014-2-16 18:54 | 显示全部楼层
不会吧?如果是这样,串口通讯怎么用?我用串口正常啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

32

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部