查看: 243|回复: 0

[分享] KW45通过32MHz晶振电容调节时钟频率

[复制链接]
  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3300

    主题

    6547

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32035
    最后登录
    2024-4-26
    发表于 2023-12-25 10:17:42 | 显示全部楼层 |阅读模式
    KW45通过32MHz晶振电容调节时钟频率


    概述
    KW45是恩智浦半导体推出的一款汽车级无线通信芯片,具有低功耗,高灵敏度和较长的通信距离等特点,适用于多种汽车应用场景,如蓝牙汽车钥匙,车内无线传感器网络和车载娱乐系统等。KW45B41Z EVK是面向KW45 MCU的评估套件,支持2.4GHz低功耗蓝牙、通用FSK无线连接和CAN/LIN连接。KW45 MCU还集成了FlexCAN,有助于无缝集成到汽车的车载或工业CAN通信网络中。FlexCAN模块可以支持CAN的灵活数据传输速率(CAN FD),以实现更高带宽和更低延迟。


    硬件:KW45B41Z EVK
    软件:MCUXpresso IDE v11.8.0_1165
    SDK v2.12.6 connectivity test freertos example
    14.png
    在NXP官网(https://www.nxp.com),开发者经常要用到KW45芯片相关的文档有Datasheet, User Manual, 和Reference Manual等。通过晶振电容调节时钟频率能够帮助用户匹配晶振,调整频偏。实现以芯片KW45为基础的PCB开发板应用的精益求精。关于晶振内容电容的内容在Reference Manual中。下载后发现Reference Manual竟然有2793页,这应该从哪里找呢?


    方法与原理
    KW45关于32KHz的时钟频率调节在Reference Manual的724页,Clocking→Chapter 27→32kHz Clock Control Module中有详细的介绍。
    15.png
    通过32MHz晶振的电容调节时钟频率的信息是很多开发者没有找到并且提问较多的,今天就给大家详细介绍一下。


    内部电容的底层修改需要通过寄存器来完成。因此首先打开Reference Manual目录→ Radio→ RFMC→ Memory Map and Registers。RM中详细说明了不同寄存器的作用以及在寄存器中不同位存储的数据的说明。在XO Test Register中, 第4位到第9位这个CDAC的区域,介绍了On-chip Load Capacitor Trim的调整范围。KW45 32MHz晶振的内部电容可以通过软件的调整范围是6pF-11pF。这里,6pF-11pF有5个间隔,对应的差值为63,因此间隔步进为12.6。修改电容可以选取较近的那个值。如7pF可以修改为 00 1101。
    16.png
    来看看SDK中软件是如何进行应用的。IDE这里用的是NXP官方的MCUXpresso IDE v11.8.0_1165. 导入的SDK Example以connectivity test为例。


    晶振内部电容设置的值在寄存器中,所以搜索的逻辑应该是搜索关键词RFMC或者CDAC。在结果中发现有一个对于RFMC_XO_TEST_CDAC_MASK的定义吸引了注意。这里赋值为0x3F0U, 即0011 1111 0000,这里就可以与上图中Reference Manual对CDAC的介绍联系起来了。
    17.png
    紧接着,对RFMC_XO_TEST_CDAC_MASK进行搜索。通常,名为MASK的变量定义均是1。
    18.png
    在RFMC_SetXtalTrim函数中发现了对于RFMC_XO_TEST_CDAC_MASK的使用。通过分析,对于代码202行的逻辑是,对于RFMC_XO_TEST_CDAC_MASK进行取反(~指令),和变量temp进行与门(&=)操作,使得temp为0,对应的即是参考手册中的00_0000b-6pF。


    补充与验证
    Connectivity test example中集成了验证程序,这里以putty为例。通过Device Manager找到KW45的COM口(23)。
    19.png
    Press[1]进入Continuous test.
    20.png
    通过d和f按钮可以调整偏移,同时可以通过进入MCUXpresso的Debugger模式查看寄存器的值对比验证。

    小结
    本文主要分享了恩智浦KW45芯片的应用以及基于KW45B41Z EVK介绍了如何通过32MHz晶振的内部电容调节时钟频率,分析了KW45 Reference Manual中对应的寄存器的解释,SDK中connectivity test示例代码的应用,以及他们之间的联系。希望对读者有所帮助~

    签到签到
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-28 05:37 , Processed in 0.116167 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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