2334|1

9790

帖子

24

TA的资源

版主

楼主
 

通过 BlueNRG-LP 驱动外部 RF 前端 [复制链接]

 

        BlueNRG-LP 是一款超低功耗的蓝牙低功耗 SoC 器件,在天线连接器处可达到+8 dBm 输出功率。然而,蓝牙标准允许的最大输 出功率为+20 dbm(当地法规仍然可以将输出功率限制在较低的值)。 由于该原因,BlueNRG-LP 提供了控制外部 RF 前端的可能性,可以通过使用集成的功率放大器来增加输出功率。 除了功率放大器(PA), RF 前端通常还可以集成一个低噪声放大器(用于提高灵敏度)、TX/RX 开关电路、匹配网络和谐波滤 波器。

一、RF 控制信号            

        通常来说,一个外部前端至少要有 2 个引脚来控制,从而选择性地将天线连接到 PA 的输出或 LNA 的输入(LNA 可能不存在)。在 LNA 不存在的情况下,射频开关可以直接将 TX/RX 引脚与天线连接。 下面显示了一个外部前端的简单框图示例。前端内部可能有其他功能块(例如 PA 上的谐波滤波器),或 TX/RX 端 口和天线之间的旁路路径。

        

        为了控制外部前端,需要从 SoC 生成一些信号。通常只需两个信号即可:前者控制 TX 路径,后者控制 RX 路径。 这些信号控制前端的方式会因制造商而存在差别。 此外,在无线电处于传输或接收状态之前,总是需要预测 TX_EN/RX_EN 信号。这是因为功率放大器稳定功率需要 一定的时间,同时也会消耗大量的电流,由此便会导致 BueNRG-LP PLL 不稳定。 因此,无线电定序器会产生两种信号:

• TX_SEQUENCE,当无线电定序器将要启动传输时,此信号将升高;当内部 PA 被关闭时,此信号则降低。

• RX_SEQUENCE,当无线电定序器准备开始接收时,此信号将升高;当无线电离开 RX 状态时,此信号则降 低。

        TX_SEQUENCE 从低到高的转变发生在无线传输首个比特之前。同样,RX_SEQUENCE 从低到高的转变发生在 无线电处于接收状态之前。以上时间控制取决于状态(TX 或 RX)和 PLL 校准是否完成。每次使用不同的射频通 道时都要进行 PLL 校准。时间控制见表 1. 射频控制信号和 TX/RX 状态之间的延迟。这些时间控制基于硬件需求, 并由固件相应地设置。  

         下图中的框图显示了 BlueNRG-LP 与外部前端之间的必要连接。TX_CTRL 和 RX_CTRL 是用于控制前端的引脚, 可因所用的控制模式而异。如果前端已经集成了阻抗匹配和合适的谐波滤波器,则无需外加匹配网络和谐 波滤波 器。

           图 2. BlueNRG-LP 与射频前端的连接框图

 

二、RF 控制模式

        BlueNRG-LP 中有两种选项用于使用由无线电定序器产生的 TX/RX 序列信号。 1. 自动模式,即内部 TX_SEQUENCE 和 RX_SEQUENCE 信号被路由到 SoC GPIO。这些信号可能与前端的控 制逻辑不兼容 2. 中断模式,即内部 TX_SEQUENCE 和 RX_SEQUENCE 信号产生中断请求,使固件能够按照前端需要的控制 逻辑采取动作

2.1    自动控制模式

        在自动模式下,可以在部分 BlueNRG-LP GPIO 上启用 TX_SEQUENCE 和 RX_SEQUENCE 信号。

 该模式的优点是,TX/RX 序列信号是自动生成的,无需来自固件的任何操作。灵活性方面的缺点:前端的控制逻辑 必须与无线电定序器产生的信号兼容。例如,一个具有下表所示控制逻辑的前端直接兼容 TX_SEQUENCE 和 RX_SEQUENCE 信号。

 

  2.2    中断控制模式

        在中断模式下,能够产生中断的系统控制器可以检测到来自定序器的 TX_SEQUENCE 和 RX_SEQUENCE 信号。 要启用 TX/RX 序列中断,可以使用以下代码。

LL_APB0_EnableClock(LL_APB0_PERIPH_SYSCFG);
LL_SYSCFG_BLERXTX_SetTrigger(LL_SYSCFG_BLERXTX_TRIGGER_BOTH_EDGE, LL_SYSCFG_BLE_TX_EVENT);
LL_SYSCFG_BLERXTX_SetTrigger(LL_SYSCFG_BLERXTX_TRIGGER_BOTH_EDGE, LL_SYSCFG_BLE_RX_EVENT);
LL_SYSCFG_BLERXTX_SetType(LL_SYSCFG_BLERXTX_DET_TYPE_EDGE, LL_SYSCFG_BLE_TX_EVENT);
LL_SYSCFG_BLERXTX_SetType(LL_SYSCFG_BLERXTX_DET_TYPE_EDGE, LL_SYSCFG_BLE_RX_EVENT);
LL_SYSCFG_BLERXTX_EnableIT(LL_SYSCFG_BLE_TX_EVENT|LL_SYSCFG_BLE_RX_EVENT);

BLE_RXTX_SEQ_IRQHandler 可以定义如下:

void BLE_RXTX_SEQ_IRQHandler(void)
{
 if(LL_SYSCFG_BLERXTX_IsInterruptPending(LL_SYSCFG_BLE_TX_EVENT))
 {
 // Set GPIOs to make RF Front End enter TX mode 
 LL_SYSCFG_BLERXTX_ClearInterrupt(LL_SYSCFG_BLE_TX_EVENT);
 }
 else if(LL_SYSCFG_BLERXTX_IsInterruptPending(LL_SYSCFG_BLE_RX_EVENT))
 {
 // 设置 GPIO,让 RF 前端进入 RX 模式。
 LL_SYSCFG_BLERXTX_ClearInterrupt(LL_SYSCFG_BLE_RX_EVENT);
 }
}

        在中断服务程序内部,任何 GPIO 都可以用于驱动 RF 前端。 与自动控制模式相比,该操作模式可实现任何控制逻辑,因而更具灵活性。但这种方法的缺点是,如果在此期间有 更高优先级的中断出现,则控制信号可能被延迟。建议使用比 BLE_TX_RX_IRQHandler 低但比其他中断高的优先 级。即使将最高优先级分配给 BLE_TX_RX_IRQHandler,也不会对 BLE_RXTX_SEQ_IRQHandler 造成干扰。事 实上,BLE_TX_RX_IRQHandler 只在 TX/RX 序列的末尾执行。因此,在应当驱动外部前端退出 RX 或 TX 模式 时,BLE_RXTX_SEQ_IRQHandler 仅在 TX/RX 序列末尾处会因执行 BLE_TX_RX_IRQHandler 而被延迟,此操作 不属于关键操作。

 

an5574-driving-an-external-rf-frontend-with-the-bluenrglp-bluenrglps-stmicroelec.pdf (223.77 KB, 下载次数: 1)

最新回复

芯片上电(或复位)后,芯片内部的 ROM 代码会先运行,当检测到 PA10 脚为低电平时,会直接跑进 FLASH 开始运行 用户固件(运行失败会停在 while(1) )。当检测到 PA10 脚为高电平时,会运行 UART BOOTLOADER 流程。UART BOOTLOADER 可通过串口接收用户指令,执行一系列的操作。   详情 回复 发表于 2022-8-29 23:42
点赞 关注
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 

回复
举报

31

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

芯片上电(或复位)后,芯片内部的 ROM 代码会先运行,当检测到 PA10 脚为低电平时,会直接跑进 FLASH 开始运行 用户固件(运行失败会停在 while(1) )。当检测到 PA10 脚为高电平时,会运行 UART BOOTLOADER 流程。UART BOOTLOADER 可通过串口接收用户指令,执行一系列的操作。

个人签名

电子组合仪表、传感器、显示

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表