本帖最后由 mcuisp 于 2011-9-15 12:11 编辑
特别关注了一下11楼所说 “编程模式2”的问题:
提个关于SWIM通讯自适应时钟调节的看法,供参考:
在STM8 芯片内部RC振荡不是16M的时候(有的芯片偏的相当远),
编程器应该测量出SWIM的时钟,然后根据这个时钟,来精确调整后面的通讯时钟,才能保证通讯正确无误,进而保证编程的正确性。
SWIM有2种位格式:
Low Speed bit比High Speed bit慢一倍,容许更大的时钟偏差。
所以如果编程器的时钟调节能力不够,或根本就不进行自适应时钟调节,可以使用Low Speed bit,就可以适应HSI更大的偏差,代价是通讯速率降低,编程稍慢些,通讯误码率也会有提高。当然,编程正确性可以通过增多校验次数来保证。
ST-Link我分析过,是进行自适应时钟调节的。
EP968也会进行自适应时钟调节。
应该说,自适应时钟调节是STM8编程器的一个难点。我见过一个代理商的STM8编程器,估计就是这一点没做好。 |