概述
KW45是恩智浦半导体推出的一款汽车级无线通信芯片,具有低功耗,高灵敏度和较长的通信距离等特点,适用于多种汽车应用场景,如蓝牙汽车钥匙,车内无线传感器网络和车载娱乐系统等。KW45B41Z EVK是面向KW45 MCU的评估套件,支持2.4GHz低功耗蓝牙、通用FSK无线连接和CAN/LIN连接。KW45 MCU还集成了FlexCAN,有助于无缝集成到汽车的车载或工业CAN通信网络中。FlexCAN模块可以支持CAN的灵活数据传输速率(CAN FD),以实现更高带宽和更低延迟。
硬件:KW45B41Z EVK
软件:MCUXpresso IDEv11.8.0_1165
SDK v2.12.6 connectivity test freertos example
在NXP官网(https://www.nxp.com),开发者经常要用到KW45芯片相关的文档有Datasheet, User Manual, 和Reference Manual等。通过晶振电容调节时钟频率能够帮助用户匹配晶振,调整频偏。实现以芯片KW45为基础的PCB开发板应用的精益求精。关于晶振内容电容的内容在Reference Manual中。下载后发现Reference Manual竟然有2793页,这应该从哪里找呢?
方法与原理
KW45关于32KHz的时钟频率调节在ReferenceManual的724页,Clocking→Chapter27→32kHz Clock Control Module中有详细的介绍。
通过32MHz晶振的电容调节时钟频率的信息是很多开发者没有找到并且提问较多的,今天就给大家详细介绍一下。
内部电容的底层修改需要通过寄存器来完成。因此首先打开Reference Manual目录→ Radio→ RFMC→ Memory Mapand Registers。RM中详细说明了不同寄存器的作用以及在寄存器中不同位存储的数据的说明。在XO Test Register中, 第4位到第9位这个CDAC的区域,介绍了On-chipLoad Capacitor Trim的调整范围。KW45 32MHz晶振的内部电容可以通过软件的调整范围是6pF-11pF。这里,6pF-11pF有5个间隔,对应的差值为63,因此间隔步进为12.6。修改电容可以选取较近的那个值。如7pF可以修改为 00 1101。
来看看SDK中软件是如何进行应用的。IDE这里用的是NXP官方的MCUXpressoIDE v11.8.0_1165. 导入的SDK Example以connectivity test为例。
晶振内部电容设置的值在寄存器中,所以搜索的逻辑应该是搜索关键词RFMC或者CDAC。在结果中发现有一个对于RFMC_XO_TEST_CDAC_MASK的定义吸引了注意。这里赋值为0x3F0U, 即0011 1111 0000,这里就可以与上图中Reference Manual对CDAC的介绍联系起来了。
紧接着,对RFMC_XO_TEST_CDAC_MASK进行搜索。通常,名为MASK的变量定义均是1。
在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)。
Press[1]进入Continuous test.
通过d和f按钮可以调整偏移,同时可以通过进入MCUXpresso的Debugger模式查看寄存器的值对比验证。
小结本文主要分享了恩智浦KW45芯片的应用以及基于KW45B41Z EVK介绍了如何通过32MHz晶振的内部电容调节时钟频率,分析了KW45 Reference Manual中对应的寄存器的解释,SDK中connectivity test示例代码的应用,以及他们之间的联系。希望对读者有所帮助~
全部0条评论
快来发表一下你的评论吧 !