因本人项目原因,故系统学习了TI CC1101这款芯片的运行机制和开发流程。但因项目的工程性、繁琐性与部分内容的保密性,所以,若有相和我交流CC1101的小伙伴,欢迎私聊我知乎 。在此,本人提供一些个人项目通信方式的部分精简模型。
通常来说,一对多通信在物联网领域十分常见的通信方式,比如几个采集器,一个汇集单元这种方式。如何做到他们之前的通信畅通稳定呢。分时复用是一个很好的办法,当然还有频分复用,载波监听/碰撞检测与退避算法相结合的方法等。同时,在开发过程中,运用SmartRF Studio软件,往往会取到事半功倍的效果。
分时复用
一、定义:主机、从机A、从机B、从机C构成一个无线通信网络,考虑采样的同步性,需要时间同步。
二、明确:对于任何一台CC1101,知道哪些数据应该接受,哪些数据应该忽略,哪些数据应该发送。
三、对于主机:
1.有两种接收数据
(1)自己网络中从机发送来的数据;(√)地址滤波,字长滤波
(2)其他非本网络中发射的数据及同信道干扰数据;
2.有两种发出数据
(1)接收数据后的回传数据;(√)解析从机地址,指定发送确认接收成功
(2)对时数据;(√)考虑间隔100ms发送一次同步信号
四、对于从机:
1.有三种接收数据
(1)自己网络其他从机发送的数据;
(2)主机发送的回传数据;(√)收到回传数据产生指定延时函数
(3)主机发送的对时数据;(√)倘若2秒收不到,主机出现故障
(4)其他非本网络中发射的数据及同信道干扰数据;
2.有一种发出的数据
(1)要传输的数据。(√)指定主机地址发射
五、三种传输情况
1.第一种情况:从机发送数据,发送结束后,处于接收状态,主机接收后,接收主机的应答回传,从机收到。完成一次数据的收发。
2.第二种情况:从机发送数据,发送结束后,处于接收状态,但主机并未接到数据,此刻从机便一直处于接收等待。
考虑引入超时概念,从机在一定时间内没有收到回传信号,重新发。
3.第三种情况:从机发送数据,发送结束后,处于接收状态,主机收到后并发出回传,但从机并未收到回传信号,此刻从机便一直处于接收等待。这种情况还有一个问题,同一个数据,主机很有可能接收多次,但对主机来说无法分辨这是新数据,还是重发数据,容易造成错乱。
考虑引入标志变化量,可采用00,01,11,10四种轮换标志,如果标志位相同,则为数据重发,如果不同则为新数据。
六、仍需考虑的因素
功耗原因,是否需要引入无线唤醒方式。
同步时间信号如何获取?中断方式还是查询方式。
如何合理的安排好整个系统的时序。
自定义协议还是采用官方的SimpliciTI协议,各有什么利弊。
数据包内部协议定义,传输长度?
未完待续。。。。。。。