现在的位置: 首页 > 综合 > 正文

STM8L芯片启动时钟分频问题及发现

2014年04月12日 ⁄ 综合 ⁄ 共 1093字 ⁄ 字号 评论关闭

 

近日正在研究STM8L低功耗单片机,发现实际启动复位后的单片机时钟主频是16MHz(内部高速时钟源),可是其参考手册上所说明的却是“复位时钟为16MHz/8”即8分频后的时钟频率。也就是说理论上应该是2MHz。实践和资料发生了冲突,下一步就是试探着寻找原因。

1,在STM8L参考手册上,可以找到如下图片的说明。

上面写着分频器的几种设置方法,其中写有“复位默认:0x03”即8分频。理论上说,启动时钟后的时钟应该是2MHz。可是实际在单片机上下载程序发现,启动时为16MHz。

2,首先我是怀疑自己的实验平台存在问题,于是改用仿真调试,再加上对分频器进行多种设置后,发现单片机是正常的,程序设计也没问题。

3,怀疑是参考手册文档的版本问题,可能我下载的文档是旧版本的。于是在ST官网下载新版型号完全对应的新手册,发现手册上的说明依然是复位后8分频。

4,怀疑可能是文档编写错误,于是在网上搜索“STM8L 分频 默认”等相关信息,看看别人是否遇见同样的问题,或是ST官方有没有对错误的通知。无果。

5,只能认定存在上不可知的问题,并因为芯片复位设置是有效的,所以不影响芯片正常的使用。只要记住上电复位后默认的是“不分频”即可。

6,后来经网友“小松鼠老师”的提示,发现在单片机引导程序(bootloader)中,不同版本的引导程序对分频器有对应的设置。引导程序是单片机内部自带的,用于单片机启动和串口下载的厂商内置的程序。在其说明手册中,可以找到如下图的说明。其中版本1.0和1.1中对分频器做了不分频的设置,在1.2版本中则改回了默认的8分频设置。

http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/USER_MANUAL/CD00201192.pdf (bootloader说明文档)

 

6,因此的假设只能是我正在测试的芯片版本是V1.0或V1.1的,才会导致这一问题。不过ST公司没有在芯片参考文档中标注这个问题,本身也是不细致的。如果其他用户没有关心到bootloader版本的问题,而是以芯片参考手册上的说明行事,将会导致他们与我相同的问题。

7,但是新的问题又出现了,如何了解自己手上的芯片的bootloader版本号呢?我需要进一步研究,并写成文档与大家分享。

8,这一事情的警示是:ST公司对同一系列的芯片有着各种类型的细分技术手册,而不是统一在一个手册中。所以在日后遇到问题时,需要在相关的所有手册上进行指定内容的搜索。

9,也请ST公司将文档整合,系统全面的说明书对于初学STM8的用户是有益的。

抱歉!评论已关闭.