基于nRF24Z1的无线数字/模拟音频传输系统

发布者:angelbaby最新更新时间:2007-05-22 来源: 电子技术应用关键字:跳频  地址  寄存  延时 手机看文章 扫描二维码
随时随地手机看文章

当前,随着居住和办公环境空间的增长,音频的布线在大型会议室、汽车等场所越来越难以实现,成本越来越高,迫切需要无线传输高质量的音频。CD音质音频的传输速率就达到1.5Mbps以上,因此对无线系统提出了更高的带宽和距离要求。

ISM 2.4GHz (Industrial Scientific Medical 2.4GHz-2.4835GHz)频段是全球开放的公用频段,具有高带宽和低成本实现的优势。选用具备高带宽特点的ISM2.4GHz的传输系统更能适应CD音质音频的传输。而2.4GHz的其他系统,如监牙、WLAN等存在成本过高或距离受限等缺点,所以本系统使用了专用的ISM音频无线收发芯片nRF24Z1。nRF24Z1提供了标准的工业音频I2S接口以及S/PDIF数字音频接口,使得音频的传输成本大大降低。而且通信速率高达4Mbps,实际数据传输率为1.536Mbps,保证了48kbps采样率16bit采样的音频无损传输。

1 芯片介绍

nRF24Z1是挪威Nordic公司推出的CD音质无线数字音频传输收发芯片,工作于ISM 2.4GHz频段。该芯片最大输出功率为+0dBm,接收灵敏度为-83dBm。片内集成了PLL、时钟控制和恢复模块、TDM QoS模块、GFSK模块、I2C接口、SPI接口,RF的LNA和PA等等,并且片内集成了I2S和S/PDIF两种工业音频标准接口。I2S接口可以与各种音频A/D、D/A直接相连,S/PDIF则可以与各种环绕立体声设备直接相连。

芯片的射频工作方式是GFSK,高斯频率偏移键控,在点对点的无线通信中,这种方式被广泛采用,误码率较低。

为保证通信低误码率,芯片还采用了QoS的服务质量策略。策略包括双向通信机制和应答策略(时分双工)、数据完整性策略和CRC检错、自适应跳频、掉线搜索重连策略。

双向通信机制和应答策略可见图1,ATX到ARX的通信为音频信道,而ARX到ATX的通信是控制信道。控制信道的信息包括同送信息、寄存器信息以及管脚状态信息等。

QoS部分包括数据完整性策略和CRC检错,完全通过硬件实现,在音频信道发送的帧里面包括多个包,每个包由RF地址、有效音频数据、若干CRC位组成,当接收端收到的Packel的CRC得到检验后,将会通过控制信道给ATX回送信息。若CRC检验不正确,则发送端将不正确的一个或若干个包在下一个帧内重传。

自适应跳频是抗干扰的重要手段,本文2.4节中有详细论述。

掉线搜索重连是保障连接可靠性的措施,当连接丢失时发射器自动按照射频图案搜索,每个频道卜搜索一段时间,同理接收器也在每个频道上监听,一旦建立连接则锁定该频道,同时依次按跳频图案顺序跳频。

芯片的初始配置町以由EEPROM或者MCU通过SPI、I2C接口完成。芯片处于发送模式还是接收模式南MODE管脚电平决定。

nRF24Zl采用QFN36封装,全部管脚列表可以参考芯片文档,与操作芯片相关的管脚如表1所示。

2 系统组成

2.1 系统组成图

本系统保证数字/模拟音频的“透明”无线传输,即接收板输出到音箱/耳机等的音频信号和音源输人到发射板的音频信号相比无失真。对于数字音频,为满足S/PDIF标准的串行数字信号;对于模拟音频,为双声道模拟信号。

本系统组成主要由nRF24Zl、AD/DA、MCU、RFPA等组成,发送端组成如图2。

接收端组成图如图3。

2.2 系统说明

本系统一路模拟音源从AD采样得来,通过I2S音频接门传输到nRF24Z1进行发送,接收端的nRF24Z1收到音频数据后时钟恢复出MCLK(I2S的主时钟),同时进行音频的D/A转换和放大,最后通过扬声器输出。

另一路数字音源通过DVD/CD机的同轴/光纤接口取出,并通过S/PDIF音频接口传输到nRF24Z1发送,接收端的nRF24Z1收到音频数据后将音频传输到5.1数字功放音箱。这两路都是实现音频的无损“透明”传输。

图2和图3中的BALUN结构是射频的双端转单端网络转换结构,由电容电感组成。因为天线是单端,nRF24Z1的射频接口是双端平衡输入或者输出,所以需要转换。

射频放大器(RF PA)的作用是能使发射端在处于发射状态时具有较大发射功率,实现较远的传输距离。各部分的工作方式由各自的VDD_PA信号决定。以接收端为例(如图3),当处于接收音频数据时,VDD_PA为低电平,它控制两个RF Switch都扳到下部,RF信号通过传输线直接进入nRF24Z1;当处于回送控制数据和寄存器信息时,VDD_PA为高电平,两个RF Switch都扳到上部,同时启动RF PA,以较大的功率发送,实现较远的发射距离。

发送端工作方式类似。一般情况下,接收端和发送端的PA是交替打开和关闭的。

2.3 系统配置和工作流程

系统配置方法和系统的工作流程如图4。

2.4 跳频序列和图案

本系统采用自适应跳频的方式,属于QoS策略的一部分。

跳频通信是扩频通信的一种,也是最广泛使用的一种。工作原理是收发双方传输信号的载波频率按照预定的规律进行离散变化。跳频通信具有隐蔽性好、抗干扰能力强等特点。预定规律组成的频率序列称为跳频图案。

本系统并没有采用参考设计中给出的顺序增加频率序列,而是采用了PN伪随机码序列。这种序列具有很好的抗干扰性,具有类似于白噪声一样的自相关性,难以被监听和发生串扰。

PN码特点如下:有足够多的地址码;不同码元数平衡相等;有尖锐的白相关特性,即满足下式:

m序列就是一个满足上述特性的PN序列。由于本系统有38个跳频点,所以采用了5级的m序列作为PN码,本原多项式为x5+x2+1,最后的序列图案为:16,24,28,14,7,19,9,4,2,17,8,20,10,21,26,29,30,15,23,27,13,22,11,5,18,25,12,6,3,1。为了保证频率有一定的间隔,在上述序列基础上每个都乘以2即为跳频图案。

经过测试,此跳频序列系统与其他跳频序列系统共存时,出现噪声抖动次数少于顺序序列跳频图案系统,音频噪声出现频率仅为后者的一半,抗干扰能力较强。

2.5 射频放大器设计和电路设计

设计射频放大器时,应注意以下几点:

(1) 放大器模块要满足增益要求,包括大小、稳定性、功耗等,也要满足其他的S参数要求。本系统采用的是SiGe公司的Class A放大器PA2423L,其输出峰值功率为+22.5dbm。

(2) 放大器的输入输出要尽量隔离。由于放大器的增益很高,容易造成输出回到输入的正反馈振荡,所以在输入输出端的元件要尽量靠近管脚,走线避免有尖角,防止长引线和尖角的天线效应,并且做好阻抗匹配。如图5。

(3) 出于EMI/EMC方面的考虑,需要在PCB板上每隔λ/20(或更小)的地方打孔。

(4) PA离AD/DA等模拟部分和关键数字部分必须有一定距离。控制信号和RF信号尽量不要交叉,迫不得已的情况下可以交义,但是最好正交。尽量避免破坏RF信号底面铺铜的完整性。

3 系统软件设计

本系统的软件设讣包括了传输模式选择、地址选择、地址码设计、跳频图案设计等。设计时首先需要选择系统是传输数字音频还是模拟音频,这一点可以通过MCU外部的管脚电平状态确定。其次需要选择合适的地址和地址码,写入内部寄存器,用于区别两套不同的传输系统。跳频图案设计是软件设计的重点。

由于MCU和nRF24Z1的SPI接口速率较高,可达到1Mbps,所以在软件中需要对时序做准确的设计。另外,本系统为了消除开机POP噪卢的影响,在开机时进行延时操作,可以检测无线连接的状态并采取相应的措施。

数字和模拟音频的无线传输是一个热点话题,本系统较好地实现了以上的系统功能,通过软件设计、跳频设计、放大器设计等,使数字/模拟音频传输系统达到了CD高音质传输指标,传输距离达到了室外80米以上,室内30米以上。辐射方面也达到了FCC的相关标准。另外,本系统具有很强的商业前景,将在PC多媒体、家庭影院、汽车电子等方面有广泛的应用。

关键字:跳频  地址  寄存  延时 引用地址:基于nRF24Z1的无线数字/模拟音频传输系统

上一篇:DRM测试接收机设计与实现
下一篇:基于嵌入式Linux的RFID信息采集与处理系统

推荐阅读最新更新时间:2024-05-07 15:58

TCON控制字及TMOD寄存
TCON:定时器控制寄存器 寄存器地址88H,位寻址8FH~88H 位地址 8F 8E 8D 8C 8B 8A 89 88 位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TF0(TF1)——计数溢出标志位,当计数器计数溢出时,该位置1。 TR0(TR1)——定时器运行控制位 当TR0(TR1)=0 停止定时器/计数器工作 当TR0(TR1)=1 启动定时器/计数器工作 IE0(IE1)——外中断请求标志位 当CPU采样到P3.2(P3.3)出现有效中断请求时,此位由硬件置1。在中断响应完成后转向中断服务时,再由硬件自动清
[单片机]
操作BASEPRI特殊功能寄存器时无效解决方法(上)
有STM32用户发现在操作BASEPRI特殊功能寄存器时,根本不起作用。比方,它目前配置了几个中断,优先级各不相同,按照STM32CubeMx里的配置分别为2、3、4不等,当他在BASEPRI寄存器里写这几个数字中的任意一个时,发现BASEPRI的数字始终是0,没有任何效果。 我们知道,通过配置BASEPRI寄存器非0值来给系统中的中断响应设置门槛,当中断优先级低于某个级别时将不会得到CPU的响应执行,也就是说只有中断优先级高于某个级别时才能得到响应。下面截图是来自ARM CORTEX M4技术手册中有关BASEPRI寄存器的描述。 从这里可以看到该寄存器的有效配置位有8位,对其写0无意义,或者说放弃设置中断响应门槛功
[单片机]
操作BASEPRI特殊功能<font color='red'>寄存</font>器时无效解决方法(上)
基于P87LPC762单片机的电子计时牌设计
0 引言 随着电子信息技术的飞速发展,电子计时牌已成为电子设备发展的一个标志性功能。顾名思义,计时牌主要用来完成计时功能,即显示实时时钟的时间,这是计时牌的首要任务。但是,现代的电子计时牌也可以集成多种功能于一身,它不仅可以实时显示当前的具体时间,而且还可以显示年、月、日、星期。此外,还有许多特殊的计时牌,它们可以把安全生产天数、倒计时天数、工作环境温度、万年历等等都设计到其中,从而大大扩展了计时牌的应用范围。 1 系统设计原理 本设计采用飞利浦公司的P87LPC762做为微处理器,温度传感器芯片选用LM70,时钟芯片采用DS1302芯片,它们与单片机全部采用串行通信方式。该电子计时牌系统的硬件原理图如图1所示。图中,数据的
[单片机]
嵌入式固件开发之二——直接操作STM32寄存器的LED点灯
2 直接操作STM32寄存器的LED点灯测试程序 2.1 创建并编译工程 双击桌面上的“Keil uVision5”图标,启动MDK。 点击“Project”- “New uVision Project…”菜单项,打开工程创建向导。 选择工程目录,设置工程名字,点击保存。 在接下来的对话框中选择对应的SoC,点击“OK”。 在接下来的对话框中选择最基本的运行时软件组件,点击“OK”。 管理工程的项目。点击如下的图标,启动管理程序。 设置目标的名字为“STM32F103”,第一个组的名字为“Sources”,这些名字都可以根据需要任意取名。如下图所示,设置好后,点击“OK”完成工程的项目管理。 设置
[单片机]
嵌入式固件开发之二——直接操作STM32<font color='red'>寄存</font>器的LED点灯
【STM32】一种基于Cortex-M内核的精确延时方法
Cortex-M内核是一种广泛应用于嵌入式系统中的32位微处理器内核,常常用于实现低功耗、高性能和高可靠性的应用程序。在某些应用场景中,需要对程序进行精确的延时控制,例如控制电机的启动时间、PWM波形的频率和占空比等。本文将介绍一种基于Cortex-M内核的精确延时方法,可以实现纳秒级别的精度。 1. 原理 Cortex-M内核中的SysTick定时器是一个24位的倒计时器,可以实现从1ms到2^24-1即16,777,215个时钟周期的定时。使用SysTick定时器可以实现微秒级别的延时控制,但是要实现纳秒级别的延时控制,则需要进行更高精度的计时方案。 通过测量实际的时钟周期数来精确计算时间,可以获得更高精度的计时结果。
[单片机]
ARM1176JZFS/S3C6410 内存地址转换
这是一份对于ARM1176JZF-S芯片上MMU内存地址转换/映射过程的整理,内容完全来自ARM官网的技术手册。 ARM1176JZF-S属于ARMv6产品系列,支持两种页表项的格式,一种是向ARMv4和ARMv5兼容的格式,另一新是ARMv6的新格式。v4/v5的格式在相应的技术手册里描述得非常清楚,但是对于v6格式的描述显得有点散,所以本文只关注ARMv6格式。 内容保持英文原文,没有翻译以免造成误解弄巧成拙。 Level 1 Translation When the CP15 Control Register c1 Bit 23 is set to 1 in the corresponding world, the
[单片机]
ARM1176JZFS/S3C6410 内存<font color='red'>地址</font>转换
一文详解电动机延时启动电路
正常情况下,电动机启动都是直接启动的,有的时候也需要延时启动,延时启动的电路是什么样的呢?接下来我们来看一下。 延时启动第一种 这个就是延时启动电路,按下启动按钮需要延时一段时间 电机 才能启动。 按下启动按钮 按下启动按钮,小型中间继电器自锁,形成自锁电路,同时时间继电器得电开始计时,这里我设置的是10秒钟,因为接触器通过了时间继电器的常开,所以接触器不会吸合,电机不会运行。 时间继电器到时间 当时间继电器时间到了的时候,常开触点会闭合,接触器得电吸合,电机运行,因为此时时间继电器一直保持得电状态,所以常开触点会保持闭合。 按下停止按钮 当需要停止的时候,按下停止按钮,继电器断电,所有 控制电路 失电,电
[嵌入式]
一文详解电动机<font color='red'>延时</font>启动电路
stm32f103pwm实现呼吸灯(寄存器)
一、思路 通过 Tim 定时器可以设置多路 PWM 实现呼吸灯,所以我们使能一个 TIM3,因为 TIM3 的通道2(CH2)正好映射到 PB5(LED) 然后配置 PB5 为复用推挽输出,50MHZ pwm通过定时器 TIM3 的计数器 CNT 从 0 到 ARR(ARR可以设置为0-65535) 进行周期的自增或自减, CNT 每自增或自减一次与 CCR2 比较一次,CCR2的值由我们自己设置,一般通过 while 循环按照我们希望的时间 比如1s增加1 如果在PWM模式1下 CNT向上计数时 CNT CCR2 则将 PB5设为高电平 如果在PWM模式2下 CNT向上计数时 CNT CCR2 则将 PB5设为低电平 通过
[单片机]
stm32f103pwm实现呼吸灯(<font color='red'>寄存</font>器)
小广播
最新网络通信文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved