2499|0

162

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

【FRDM-KW41Z】 三:细细梳理,有的放矢,取舍有度 [复制链接]

本帖最后由 watershade 于 2017-7-9 14:11 编辑

FRDM-KW41Z的核心MCU是Freescale这可CM0+内核的MKW41Z512.翻开它的参考手册你会发现是2369页。这个数字让人恐怖。
要了解它可能真要下一番功夫。我的策略是细细梳理板子的硬件设计,并有的放矢的了解我关注的地方。
起初我也按照官方的入门文档搭建了环境,用熟悉的MDK做几个简单的测试,尝试用官方的手机app连接两个班子。因为没有深入的了解整个MCU,心里总有些胆怯,因此感觉这些尝试都不足为外人道也。
那咱不妨开始,先从宏观上细细梳理一遍。
(之一)细细梳理 (KW41Z的技术概况,条分缕析)
如果你进到KW41Z这颗MCU的官网,你就会看到
KW41Z: Kinetis® KW41Z-2.4 GHz双模式:BLE和802.15.4无线连接微控制器(MCU),基于ARM® Cortex®-M0+内核这几个大字。简单明了的告诉了你这货是双模式的2.4G。或者不妨说,在一个2.4G的射频模块里面搞了两套硬件协议。另一点
是这货是MCU+射频的结构。而这可MCU是低功耗的M0+内核。按照参考手册中更详细的介绍是这样的:
The KW41Z SoC integrates a radio transceiver operating in the 2.36GHz to 2.48GHz range supporting a range of FSK/GFSK and O-QPSK modulations, an ARM Cortex-M0+ CPU, up to 512 KB Flash and up to 128 KB SRAM, BLE Link Layer hardware, 802.15.4 packet processor hardware, Generic FSK Link layer controller hardware and peripherals optimized to meet the requirements of the target applications.
粗糙的翻译一下:
KW41Z片上系统(SoC)集成了一个操作范围在2.36GHZ到2.48GHZ范围内,支持一些列FSK/GFSK和O-QPSK调制方式的无线收发器,一个ARM Cortex-M+的CPU,高达512KB Flash和高达128KBSRAM,低功耗蓝牙(BLE)链路层硬件,802.15.4数据包处理器硬件,通用FSK链路层控制硬件和外围优化以满足目标应用的需求。
再参考外围配置,所以关于KW41Z其实可以抽象成如下几条:
1、M0+ MCU (48MHZ, -40~105℃)
2、BLE
3、802.15.4
4、Generic FSK
5、<= 512 KB Flash,<= 128 KB SRAM
6、各种外围下图是整个芯片功能框图:

但是说实话,这个功能框图大部分内容我还是没有理解。比如从框图上看除了GPIO之外的所有外设似乎只能通过与DMA相连的总线与M0核心间接通讯。而GPIO可以通过XBS总线矩阵。后面继续学习的时候再继续了解。
如果你看RM手册的最后一章,你讲看到这张图:
是不是很复杂,自求多福吧。啃起来...

A:BLE ~~~~~~~~~~~~~~~~~~~
蓝牙低功耗是这两年很火的方向,但是BLE到底是什么呐。
EEWORLD大课堂有相关的课程,尽管是TI制作的,但是你只看BLE部分的话我这篇帖子也对得住NXP.(谁让NXP没课程呐)
BLE介绍课程

如果你不想看课程,呐听我聊一聊也可以。但是我不能保证我说的都是对的,很有可能我说的是片面的甚至错误的。
首先BLE 协议栈分为三个部分:最底层是控制器(Controller),中间是主机(Host),最上面是应用(Applications)。
控制器分为三个层次:物理层(Physical Layer),链路层(Link Layer)和主机控制接口(HCI)。
控制器的基础的两个层次,对于KW41Z来说,是由硬件来实现的。

这一部分视频讲解的比较简单,如果需要详细了解可查询相关资料。


主机则比较复杂,但也可以说分为四个层次。底层是Logical Link Control and Adaption Layer,翻译成逻辑链路控制和适配层。
中间一层有两个模块负责。Security Manager负责配对和数据加密等安全类工作;Attribute Protocol简称ATT,是BLE中非常重要的角色。所有的数据传输都要经过ATT这一层。其上的Generic Attribute Profile,简称GATT。这个是不是很熟悉。Profile愿意是轮廓的意思,通常翻译为配置文件。描述了一种使用ATT的服务框架。该框架定义了服务(Service)和服务属性(characteristic)的过程(Procedure)及格式。注意Service和characteristic,之后还会见到。再上一层是Generic Access Profile,简称GAP。在搜索资料的时候看到有人讲GATT简称为GAP,应该是一种误读。主要用于设备查找,连接建立和广播发送、接受的控制。

最上面是应用,应用比较复杂。主要是一些profile和基于这些profile的应用组成。
那么怎么使用BLE呐?


B: 802.15.4 ~~~~~~~~~~~~~~~~~
对于802.15.4,我起初是一点都不懂的。后来搜索了很多资料,觉得依然似懂非懂。但是还是将自己的认识分享出来。
802.15.4当然是802.15的子集。大家都知道或者听说过802.11,这个协议名称叫做无线局域网协议,简称WLAN。严格的说WLAN并不完全等价于wifi。应该说wifi是WLAN的子集。好了说说801.15。这个协议簇叫做个人无线局域网,简称WPAN。下面有10个任务组,详细信息可以了解这个协议簇的官网。粗略的看了一下,包含蓝牙、高速WPAN、低速WPAN、可见光通讯、网状网络(MESH NETWORK)等等。
其中801.15。4便是低速WPAN网络的一种。
这是不是越说越糊涂,我自己就是这种感觉。不过这篇文章也许能提神醒脑。这个又是TI的,NXP我真不是不想用你的,只是没找到。抱歉...

(之二)有的放矢
好了,来进行这次至关重要的一部分。 BLE,其实如果是Bluetooth双模的我可能会开心一点。只有BLE,我担心可能会连不上xbox one s手柄。终于找到NXP官方关于BLE的整体描述网页。 这个网页分了及部分来描述蓝牙BLE的情况。
1、Bluetooth® Low Energy Applications Developer’s Guide
BLE应用开发向导
2、Bluetooth® Low Energy Demo Applications User’s Guide
BLE示例应用向导
3、Bluetooth® Low Energy Host Stack FSCI Reference Manual
BLE主机栈FSCI参考手册
4、Bluetooth® Low Energy Transport for IPv6 Datagrams User's Guide
BLE传输IPV6数据包用户手册

从目录整体看似乎还是比较全面的。
但是要看完所有的内容需要花些耐心。我决定大致浏览一遍,然后就自己感兴趣的着重了解。做到有的放矢。

这里就不带大家过一遍了

(之三)取舍有度
API是整个开发的重点,环境配置是开发的基础。基础早就打好了,API之前一直没找到。后来和nmg交流,忽然想到应该是在SDK安装目录的docs下,一查果真如此。
这里就不上传了



(预告:风扇换牙记)
此内容由EEWORLD论坛网友watershade原创,如需转载或用于商业用途需征得作者同意并注明出处








此帖出自NXP MCU论坛
点赞 关注
个人签名望大家不吝赐教
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表