CH57X/CH58X/CH59X 加PA應用

小舟从此逝_1發表於2024-10-08

一、前言

  在有些時候產品需要做到更遠的距離在原來的基礎上加上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);加在角色初始化之後

原理圖參考

僅用於個人學習分享;

如有錯漏請指正。

相關文章