打印

求助NRF24L01一发多收(广播)的问题

[复制链接]
10988|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
skywhiteeagle|  楼主 | 2011-11-8 12:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人现在在用NRF24L01这款模块,用单片机(avr)控制无线模块,想法是通过单片机I/O口来控制无线模块的SPI口,想实现主机发送音频数据,并且有多个接收方(接收方也是通过单片机来控制无线模块)可以实现同步接收。

现在的问题主要是:1.我看了文档,NRF在接收模式时,可以接收六个信道的,不过这是多对一的。我现在想让多个接收方同步接收发送方发来的数据(一对多的),怎么来实现?在程序里控制吗?
2.发送方发送数据和本机地址,那多个接收方除了频率设置一样之外,地址需要设置成一样的还是根本就不用设置地址?才能实现同步接收。接收方收到数据后,应该给发送方响应一下吧,这样会影响同步这一问题吗?如果有影响可不可以设置成不让其响应,怎么设置呢
3.语音信号的读入,语音信号如何当做数据读入呢?我在想如果是数字信号就应该可以读入了,模拟信号通过AD变换,读入,之后再DA一下,不知可否实现呢?

不好意思,各位大侠,本人菜鸟,还没有到入门地步,可能上述的问题有不严谨的,请指教,多谢你们在百忙之中可以帮助我。多谢:)

相关帖子

沙发
chunyang| | 2011-11-10 10:51 | 只看该作者
使用同样的频率即可,地址配置也相同,不过你的音频信号不能简单AD后就直接传输,还要生成通讯协议,最好使用音频编解码器。即是初学者,首先要多收集资料,看看别人是怎么做的,Nordic本身有专用的无线音频输出芯片,你可以去分析一下它的结构。

使用特权

评论回复
板凳
skywhiteeagle|  楼主 | 2011-11-10 17:09 | 只看该作者
2# chunyang
春阳老师,谢谢您在百忙之中的回复。
多个接收方设置一样的频率和地址,当各个接收方收到发送方的数据时,都给给发送方ACK响应,这样的话会不会造成冲突,不能实现广播,一发,多个同时接收呢?

使用特权

评论回复
地板
chunyang| | 2011-11-11 23:25 | 只看该作者
已经说了广播是单向的,不存在应答的问题,而你在3楼所言说明根本不是什么广播,双向通讯要使用一主多从轮询的模式,从机的地址是不同且唯一的,然后点对点轮询,从机收到非本机的信息直接放弃且不回应。

使用特权

评论回复
5
skywhiteeagle|  楼主 | 2011-11-12 11:29 | 只看该作者
4# chunyang
好的,谢谢您~

使用特权

评论回复
6
yjiamokuai| | 2011-11-14 10:55 | 只看该作者
先查资料把,你这个很多都没有清楚~~

使用特权

评论回复
7
skywhiteeagle|  楼主 | 2011-11-14 22:55 | 只看该作者
6# yjiamokuai
查了不少资料,好多不太懂。从未接触过这些,希望能得到您的指点:)

使用特权

评论回复
8
yanfang712| | 2011-11-15 16:21 | 只看该作者
已经说了广播是单向的,不存在应答的问题,而你在3楼所言说明根本不是什么广播,双向通讯要使用一主多从轮询的模式,从机的地址是不同且唯一的,然后点对点轮询,从机收到非本机的信息直接放弃且不回应。 ...
chunyang 发表于 2011-11-11 23:25
请问

使用特权

评论回复
9
yanfang712| | 2011-11-15 16:25 | 只看该作者
已经说了广播是单向的,不存在应答的问题,而你在3楼所言说明根本不是什么广播,双向通讯要使用一主多从轮询的模式,从机的地址是不同且唯一的,然后点对点轮询,从机收到非本机的信息直接放弃且不回应。 ...
chunyang 发表于 2011-11-11 23:25
老师,您好!我也有一样的疑问。您的意思是不是指广播应该是发送方在发送数据的时候自己定义一个协议,其中包含接收方的地址。接收方接收数据,对于地址中属于自己的则接收,否则则丢弃,是这个意思吗?那如果要将这个数据用于无线耳机,比如说音频接收方要三个人同时收听的话,那这时候设置这个地址不是就不能实现了?
还有一个问题是nRF24L01这款芯片有自动应答的功能,如果发送方没收到应答信号,是不是就不能进入正常的工作模式呢?
麻烦老师了,谢谢您!!

使用特权

评论回复
10
yanfang712| | 2011-11-15 16:25 | 只看该作者
9# yanfang712

使用特权

评论回复
11
yanfang712| | 2011-11-15 16:26 | 只看该作者
4# chunyang 老师,您好!我也有一样的疑问。您的意思是不是指广播应该是发送方在发送数据的时候自己定义一个协议,其中包含接收方的地址。接收方接收数据,对于地址中属于自己的则接收,否则则丢弃,是这个意思吗?那如果要将这个数据用于无线耳机,比如说音频接收方要三个人同时收听的话,那这时候设置这个地址不是就不能实现了?
还有一个问题是nRF24L01这款芯片有自动应答的功能,如果发送方没收到应答信号,是不是就不能进入正常的工作模式呢?
麻烦老师了,谢谢您!!

使用特权

评论回复
12
jiangzhe8525| | 2011-11-16 13:25 | 只看该作者
4# chunyang 老师,您好!我也有一样的疑问。您的意思是不是指广播应该是发送方在发送数据的时候自己定义一个协议,其中包含接收方的地址。接收方接收数据,对于地址中属于自己的则接收,否则则丢弃,是这个意思吗 ...
yanfang712 发表于 2011-11-15 16:26


呵呵,我是新来的,很少发言,这个问题,我以我的理解试着来回答你,
首先协议时发送方与接收方双方协商好的,不是单方的。你可以包括地址,数据,什么的都可以。耳机在接收的时候,你可以不管地址,直接处理接收到的数据就可以了啊,就相当于广播了,只是,一对一必须要有单独的唯一的地址,要能区别开来,广播与一对一没有明显的区别,看你协议怎么写了。
谢谢。

使用特权

评论回复
13
gfswzy1110| | 2011-11-16 13:36 | 只看该作者
我做过也是一对多

使用特权

评论回复
14
gfswzy1110| | 2011-11-16 13:36 | 只看该作者
我记得里面可以利用软件编写通道的

使用特权

评论回复
15
natertech| | 2011-11-17 18:08 | 只看该作者
这样的通信关键还是在软件

使用特权

评论回复
16
yanfang712| | 2011-11-18 10:01 | 只看该作者
是不是指如果我要用nRF24L01实现数字音频传输,然后接收端多个人同时接收是可以实现的,关键是我协议,软件之类的怎么编是吗? 15# natertech

使用特权

评论回复
17
yanfang712| | 2011-11-18 10:05 | 只看该作者
12# jiangzhe8525 我是不是可以发送方定义一个帧格式,像你那个帧起始码,数据长度,数据码,和帧结束码等,然后耳机接收就从数据码的字节开始读取,但是怎么做到让发送端的数据都能发送到多个接收端呢?

使用特权

评论回复
18
chunyang| | 2011-11-21 15:55 | 只看该作者
广播模式要么无地址,要么使用事先约定的广播地址,所以节点遇到包含广播地址的信息时都予以接收。

使用特权

评论回复
19
chunyang| | 2011-11-21 15:56 | 只看该作者
一对一则无必要引入地址,地址是针对组网型应用的。

使用特权

评论回复
20
yanfang712| | 2011-11-21 21:21 | 只看该作者
请问你做过的一对多是时分多址的吗?还是一发多个接收端同时接收呢? 13# gfswzy1110

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

19

帖子

1

粉丝