[BlueNRG] 通过 BlueNRG-LP 驱动外部 RF 前端

[复制链接]
3853|41
 楼主| hdahd 发表于 2024-7-14 21:27 | 显示全部楼层
2. 中断模式,即内部 TX_SEQUENCE 和 RX_SEQUENCE 信号产生中断请求,使固件能够按照前端需要的控制 逻辑采取动作
 楼主| hdahd 发表于 2024-7-14 21:27 | 显示全部楼层
2.1    自动控制模式

        在自动模式下,可以在部分 BlueNRG-LP GPIO 上启用 TX_SEQUENCE 和 RX_SEQUENCE 信号。
 楼主| hdahd 发表于 2024-7-14 21:28 | 显示全部楼层
 楼主| hdahd 发表于 2024-7-14 21:28 | 显示全部楼层
该模式的优点是,TX/RX 序列信号是自动生成的,无需来自固件的任何操作。灵活性方面的缺点:前端的控制逻辑 必须与无线电定序器产生的信号兼容。
 楼主| hdahd 发表于 2024-7-14 21:28 | 显示全部楼层
例如,一个具有下表所示控制逻辑的前端直接兼容 TX_SEQUENCE 和 RX_SEQUENCE 信号。
 楼主| hdahd 发表于 2024-7-14 21:28 | 显示全部楼层
 楼主| hdahd 发表于 2024-7-14 21:29 | 显示全部楼层
2.2    中断控制模式
        在中断模式下,能够产生中断的系统控制器可以检测到来自定序器的 TX_SEQUENCE 和 RX_SEQUENCE 信号。 要启用 TX/RX 序列中断,可以使用以下代码。
 楼主| hdahd 发表于 2024-7-14 21:29 | 显示全部楼层
 楼主| hdahd 发表于 2024-7-14 21:30 | 显示全部楼层
BLE_RXTX_SEQ_IRQHandler 可以定义如下:

 楼主| hdahd 发表于 2024-7-14 21:30 | 显示全部楼层
 楼主| hdahd 发表于 2024-7-14 21:30 | 显示全部楼层
在中断服务程序内部,任何 GPIO 都可以用于驱动 RF 前端。
 楼主| hdahd 发表于 2024-7-14 21:30 | 显示全部楼层
与自动控制模式相比,该操作模式可实现任何控制逻辑,因而更具灵活性。
 楼主| hdahd 发表于 2024-7-14 21:30 | 显示全部楼层
但这种方法的缺点是,如果在此期间有 更高优先级的中断出现,则控制信号可能被延迟。
 楼主| hdahd 发表于 2024-7-14 21:31 | 显示全部楼层
建议使用比 BLE_TX_RX_IRQHandler 低但比其他中断高的优先 级。即使将最高优先级分配给 BLE_TX_RX_IRQHandler,也不会对 BLE_RXTX_SEQ_IRQHandler 造成干扰。
 楼主| hdahd 发表于 2024-7-14 21:31 | 显示全部楼层
事 实上,BLE_TX_RX_IRQHandler 只在 TX/RX 序列的末尾执行。
 楼主| hdahd 发表于 2024-7-14 21:31 | 显示全部楼层
因此,在应当驱动外部前端退出 RX 或 TX 模式 时,BLE_RXTX_SEQ_IRQHandler 仅在 TX/RX 序列末尾处会因执行 BLE_TX_RX_IRQHandler 而被延迟,此操作 不属于关键操作。
ksjdisa 发表于 2024-7-14 21:32 | 显示全部楼层
芯片上电(或复位)后,芯片内部的 ROM 代码会先运行,当检测到 PA10 脚为低电平时,会直接跑进 FLASH 开始运行 用户固件(运行失败会停在 while(1) )。
ksjdisa 发表于 2024-7-14 21:32 | 显示全部楼层
当检测到 PA10 脚为高电平时,会运行 UART BOOTLOADER 流程。UART BOOTLOADER 可通过串口接收用户指令,执行一系列的操作。
xionghaoyun 发表于 2024-7-15 09:11 | 显示全部楼层
兄弟 这个广告打的太明显了
xch 发表于 2024-7-15 16:29 | 显示全部楼层
拉羊屎
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部