查看: 2909|回复: 1

[分享] 搞定KEA串口波特率配置,外部时钟

[复制链接]

该用户从未签到

7

主题

14

帖子

0

新手上路

Rank: 1

积分
41
最后登录
2018-4-24
发表于 2016-1-12 13:09:00 | 显示全部楼层 |阅读模式

这几天在使用CW调试KEA的串口波特率,一波三折。

仍然不是很清楚,CW的PE配置之后该怎么调用以确保所需配置是自己要的。是不是都是要在Main函数中再次调用后,然后才生效?暂时先继续下面的串口调试。

最先使用的是内部时钟,通过PLL锁频到40MHz。
开始没有使能slow trim value,后来使能后也没有用——波特率始终不是我通过PE配置的;是否需要在哪里合适调用一直没有看到相关的文档介绍;
然后使用通过PE使能外部时钟(8M),此时内部时钟仍然使用推荐值:32.798KHz——结果无效,甚至无时钟导致芯片无法运行;
然后使用这里推荐的FEI切换到FEE函数,切换有效!但是波特率设置仍然超偏无效;

有意思的是,因为32.798KHz不是40MHz的整数倍,因此,后续的PE配置参数中看到小数点很多。
既然40MHz是PLL的目标值,干脆,就将该值改为31.25KHz,于是大家皆大欢喜——128/1280都不亦乐乎地实现整数倍地处理8MHz,编译后重新下载,19200bps终于实现了!

——因为PE的缘故,看不到内部计算波特率的过程,因此很有可能,在其中的一些环节由于PLL需要锁频到40MHz的缘故,但是推荐值32.798KHz的存在,导致有些数值明显偏出也不做调整,结果导致使用这些数值进行波特率的运算时也超偏了。如果需要验证,可以不使用PLL,而是直接bypass掉,然后使用外部时钟的方式进行波特率设置。

原作者: Reuterking

回复

使用道具 举报

该用户从未签到

7

主题

67

帖子

0

中级会员

Rank: 3Rank: 3

积分
218
最后登录
2021-12-12
发表于 2016-2-17 08:21:21 | 显示全部楼层
In FEE mode, FLL output frequency = OSC/RDIV *1280. Select the OSC and RDIV carefully to keep the FLL output
frequency within the limits.

8 MHz ~ 10 MHz RDIV = 256
16 MHz ~ 20 MHz RDIV = 512
如选择8 MHz 外部晶振,FLL output frequency = 40MHz
呵呵,仅供参考。


回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-22 19:53 , Processed in 0.147992 second(s), 22 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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