配置 AFE 器件需要執(zhí)行兩個主要步驟。首先,確保正確配置 GPIO。在 AFE 器件上,設(shè)置了兩個主要 GPIO:DAC Mode Select(DAC 模式選擇)和 System Shutdown(系統(tǒng)關(guān)閉)。這兩個引腳都被拉至低電平。也可將連接的所有其他 GPIO 拉至低電平。
下一步是通過 SPI 配置器件。在軟件示例中,HAL_afe031Init() 函數(shù)配置 AFE031,該函數(shù)在 AFE03x_Config.c 中進(jìn)行定義。
以下步驟顯示了為正確配置器件,須遵循的函數(shù)順序:
- 配置 GPIO。
- 設(shè)置 AFE 器件上的 SD 和 DAC 引腳。需要將這兩個引腳拉至低電平。
- 軟件示例函數(shù):HAL_afe031_cfgGpio();
- 配置 SPI。
- 針對 16 位字符配置 SPI 模塊。更多有關(guān) SPI 要求的信息,請參閱 AFE031 電力線通信模擬前端數(shù)據(jù)表。
- 軟件示例函數(shù):HAL_spi_cfg();
- 在 AFE 器件上執(zhí)行軟復(fù)位。
- 將 0x14 寫入復(fù)位寄存器。
- 軟件示例函數(shù):HAL_afe031_softReset();
- 啟用偏置。
- 將 0x03 寫入 enable2 寄存器。
- 軟件示例函數(shù):HAL_afe031_biasEnable();
- 選擇頻帶。
- 將 1 或 0 寫入 Control1 寄存器中的 CA_CBCD 位。如果寫入 1,則 TX 和 RX 濾波器的頻率響應(yīng)將配置為 CENELEC B、C、D。如果寫入 0,則將配置 CENELEC A。
- 軟件示例函數(shù):HAL_afe031_bandSelect(1);
- 清除所有中斷。
- 將 0x00 寫入 control2 寄存器。
- 軟件示例函數(shù):HAL_afe031_clrAllInt();
- 配置所有中斷。
- 可以通過對 control2 寄存器進(jìn)行寫入來配置中斷。軟件示例函數(shù)目前僅啟用指示熱過載的 T_flag。
- 軟件示例函數(shù):HAL_afe031_cfgInt();
- 啟用 zc。
- 將 1 寫入 enable2 寄存器中的 ZC 位。
- 軟件示例函數(shù):HAL_afe031_zcEnable();
- 寫入 TX 增益 - 如果要發(fā)送
- 將 0、1、2 或 3 寫入增益選擇寄存器中的 TXG 位。增益如下所示:
- 0 =0.25V/V
- 1 = 0.5V/V
- 2 = 0.707V/V
- 3 = 1V/V
- 軟件示例函數(shù):HAL_afe031_writeTxGain(UINT16 gain);
- 請注意,軟件示例函數(shù)使用數(shù)組來寫入 0-3。因此,在使用該函數(shù)時,輸入?yún)?shù)對應(yīng)于所需的 HAL_afe031_txGainLut 數(shù)組元素的索引。例如,將 0 傳遞給函數(shù)對應(yīng)于 0.25V/V 的增益。
- 寫入 RX 增益 - 如果要接收。
- 將 0-15 寫入增益選擇寄存器中的 RXG 位。增益范圍為 0.25V/V(將 RXG 設(shè)置為 0x0 時)至 128V/V(將 RXG 設(shè)置為 0xF 時)。
- 如需了解具體的增益,請參閱表 5-1。
- 軟件示例函數(shù):HAL_afe031_writeRxGain(UINT16 gain);
- 請注意,軟件示例函數(shù)使用數(shù)組來寫入 0-15。因此,在使用該函數(shù)時,輸入?yún)?shù)對應(yīng)于所需的 HAL_afe031_rxGainLut 數(shù)組元素的索引。包含的數(shù)組僅具有用于部分 RX 增益配置的值。
完成以上步驟之后,根據(jù)該器件是用作發(fā)送器還是接收器,開始執(zhí)行所需的最后幾項(xiàng)配置。