一、前言
在有些时候产品需要做到更远的距离在原来的基础上加上PA放大芯片来实现广播或者连接距离上的提升。
PA是Power Amplifier的简称,中文名称为功率放大器,简称“功放”,指在给定失真率条件下,能产生最大功率输出以驱动某一负载的放大器。对于射频通信系统,PA负责发射通道的信号放大,实现增加无线通讯距离的目的。
二、PA芯片使用
常用的有AT2401C,RFX2401C,CB2401C等
库中已经封装好了对应的函数
/* BLE pa control config struct */ typedef struct tag_ble_pa_control_config { uint32_t txEnableGPIO; // tx enable gpio register uint32_t txDisableGPIO; // tx disable gpio register uint32_t tx_pin; // tx pin define uint32_t rxEnableGPIO; // rx enable gpio register uint32_t rxDisableGPIO; // rx disable gpio register uint32_t rx_pin; // tx pin define } blePaControlConfig_t;
/**
* @brief pa control init
*
* @note Can't be called until role Init
*
* @param paControl - pa control parameters(global variable)
*
* @return Command Status.
*/
#define BLE_PAControlInit (( void (*) ( blePaControlConfig_t *paControl )) BLE_LIB_JT(109) )
代码实现
GPIOB_ModeCfg(GPIO_Pin_13|GPIO_Pin_14,GPIO_ModeOut_PP_5mA);//任意两个IO都可 blePaControlConfig_t pa_config;//全局变量 pa_config.txEnableGPIO=(uint32_t)&R32_PB_OUT; pa_config.txDisableGPIO=(uint32_t)&R32_PB_CLR; pa_config.tx_pin=GPIO_Pin_13; pa_config.rxEnableGPIO=(uint32_t)&R32_PB_OUT; pa_config.rxDisableGPIO=(uint32_t)&R32_PB_CLR; pa_config.rx_pin=GPIO_Pin_14; BLE_PAControlInit(&pa_config);加在角色初始化之后
原理图参考
仅用于个人学习分享;
如有错漏请指正。
标签:CH57X,PA,tx,CH59X,pa,CH58X,pin,config,uint32 From: https://www.cnblogs.com/frontier/p/18452362