最近有个项目要用到cc430f5137和cc1101模块通信。
根据TI的例程可以很容易的将cc430f5137两个模块通信,cc1101两个模块通信,但是如何将cc430f5137与cc1101成功通信花了我不少时间很精力也感谢TI的工作人员的耐心解答。
首先我手头所拥有的硬件工具:2块cc1101模块,2块cc430f5137开发板,2个smartrf04eb,MSP-FET430UIF下载器,cc1110开发板。
软件工具:IAR,smart rf studio, packet sniffer,TI的例程。
首先你要根据TI的例程将cc430f5137相互通信,cc1101相互通信,在此不再赘述。
然后使用cc1110+smartrf04eb与PC机的packet sniffer 一起使用分别来抓cc1101和cc430f5137射频发送的包。
配置使用smart rf studio 这个软件导出配置表到packet sniffer。
在调试的过程中遇到一个问题始终不解:就是在smart rf studio中有个参数设置是 Data rate,按照我的理解就是数据存储的速度,但是实际测试发现如果cc1110和cc430f5137的Data rate如果不同那么 packet sniffer 就无法抓到包不知道是何原因,希望求解。
Viki Shi:
感谢分享经验。data rate是数据传输速率,应该设置为一致
youyang feng:
回复 Viki Shi:
您好,我的packet sniffer+cc1110可以同时抓到cc1101和cc430f5137的数据包,并且对于cc1110的寄存器没有改变,抓到的包也完全相同都是长度为2,payload为2个字节,但是cc1101和cc430就是无法相互接收到对方的数据。
Nutcracker:
Data Rate 不是数据储存的速度,而是基带上面调制出来的的数据发送速率。所以接收和发送端必须完全一样才能正确解调。这就跟在一个通信接口上面接收和发送端必须时钟相同才能通信是类似的。
youyang feng:
回复 Nutcracker:
您好,我将发送速率调成一致,使用packet sniffer+cc1110抓包,能够抓到cc1101和cc430f5137发送的无线包,并且这两个包完全相同,但是cc1101和cc430f5137就是无法接收对方的无线包不知道为何。
Nutcracker:
回复 youyang feng:
终于能抓到包了。抓到的包都一样,说明 Tx 的设置是一样的! 两块板子是不是放得太近, Rx Saturation 了? 接收端Rx 的设置可能有问题,再检查一下。Rx BW 对不对? 再设大一点试试。
youyang feng:
回复 Nutcracker:
谢谢您的耐心解答。
我将Rx BW设置到最大812,现在cc430f5137发送数据包cc1101偶尔能够正确的接收,cc1101发送的数据包cc430f5137无法正确接收,有时只能够接收几个包的数据,丢包数在百分之60以上。
问题1:
我cc1101和cc430f5137的通信频段在433.999969Mhz,cc1101和cc430f5137的data rate都设置为1.19948。当cc1101的Deviation参数设置为5.15时cc430f5137的Deviation参数设置成5.9接收cc1101发送的数据包丢包率最小,大约在百分之50左右。
而当cc1101发,cc430收是Deviation参数都设置为5.15时可以接收包。
问题2:
我不断地调整Devation、RXBW、DataRate这几个参数,这几个参数的关系是什么,有没有相应的公式可供借鉴。
PS:cc430的AD是否的确能够达到2M的采样速度。
xiaofeng lu:
回复 youyang feng:
您好,请问您调通了CC1101和cc430f5137间的433M通讯了么?能否仔细说说么?