全是自己凭自己的理解写的,可能有理解或者错误错误的地方,欢迎大家指正
先废话两句,好久没有写关于无线方面的程序了,今天兴致比较高,就把前一段时间一个项目上用到的SimpliciTI协议之的心得写一下,和大家一块分享,可以帮助新手更加快速入门,废话不多说了
移植这个协议栈之前,最好有过CC1101或者CC2500等射频收发芯片的使用经验,要不然你会很头大,SimpliciTI协议栈主要针对TI的射频收发芯片,不是TI的需要修改的比较多一点,如果你是高手,可以不去用他提供的底层的,只用网络层,那样就和芯片没有关系了
1、SimpliciTI协议栈包括了四个层,BSP,MRFI,NWK,NWK_APPLICATION,其中BSP是最基础的板级硬件,包括一些MCU相关的函数以及LED、按键之类的基础器件驱动,;MRFI是属于射频接口层,提供射频芯片的选择,射频芯片的配置参数,射频芯片的驱动以及通信接口,;NWK和NWK_APPLICATION是网络层和网络应用层,真正属于SimpliciTI协议栈的内容,包括网络的建立,网络地址的分配,网络数据帧结构、数据消息队列,数据消息处理,网络通信安全加密等一系列复杂机制
2、用户一般只需要修改BSP和MRFI层即可实现SimpliciTI协议的移植和使用,BSP层要注意时钟初始化的选择,LED数目和接口,按键的数目和接口等,一般我们修改的比较多,主要是要和自己的板子相适应,MRFI层比如涵盖芯片初始化函数,发送函数,接收函数等,所以我说这里一般要有经验一点,不然很难理解的需要注意射频IC的选择,我选的是CC1101,以及射频芯片的配置,采用433MHz,配置文件需要进行修改
选择CC1101这个宏定义比较隐蔽,需要修改IAR,我这里截图一张
3、在SimpliciTI中一般有四种类型,AP,也就是AccessPointer,ED,也就是En