JADU124G January 2018 – June 2024 CC1312PSIP , CC1312R , CC1352P , CC1352R , CC2642R , CC2642R-Q1 , CC2652P , CC2652PSIP , CC2652R , CC2652RB , CC2652RSIP , CC2662R-Q1
レシーバの動作中、無線 CPU はクリア チャネル評価に使用するいくつかの信号を監視します。この監視は ccaOpt によって制御されます。CCA には次の 3 つのソースがあります。RSSI レベル超過 (ccaEnergy)、相関値に基づくキャリア検知 (ccaCorr)、sync 検出に基づくキャリア検知 (ccaSync) です。これらはそれぞれ BUSY、IDLE、INVALID のいずれかの状態になります。
RSSI レベル超過は、RSSI を監視することで維持されます。RSSI が ccaRssiThr 以上の場合、ccaEnergy はビジー状態になります。RSSI が ccaRssiThr より小さい場合、ccaEnergy は IDLE になります。レシーバが開始したため RSSI 計算がまだ完了していない場合、ccaEnergy は INVALID になります。
相関値に基づくキャリア検知の監視では、レシーバの SFD 検索アルゴリズムで使用するものとして定義された相関ピークを使用します。直近の 8 シンボル周期 (32μs) で検出された相関ピークの数が ccaOpt.corrThr より大きい場合、ccaCorr は BUSY になります。それ以外の場合、ccaCorr は IDLE になります。ccaOpt.corrThr の値は 0 ~ 3 に設定できます。レシーバがフレームを受信している間、ccaCorr は、検出された相関ピークに関係なく BUSY になります。レシーバの開始から 8 シンボル周期未満であり、レシーバの開始以降に検出された相関ピークの数が ccaOpt.corrThr 以下の場合、ccaCorr は INVALID になります。
同期検出に基づくキャリア検知の監視は、無線 CPU によって次のように維持されます。レシーバで同期が取得されると、無線 CPU は PHY ヘッダをチェックしてフレーム長を確認します。無線 CPU は、このフレームの継続時間中、チャネルをビジーと見なします。このチェックは、フレーム フィルタリングによってフレームの受信が停止され、同期検索が再開された場合でも実行されます。チャネルが BUSY と見なされている間に再度 sync が検出された場合、検出されたフレーム長に従ってこれら両方のフレームが終了するまで、チャネルはビジー状態と見なされます。INVALID 状態は ccaSync には使用されません。
無線が ACK を送信している場合、または TX 動作を実行するためにサスペンドされている場合、ccaEnergy、ccaCorr、ccaSync はすべて BUSY になります。
全体の CCA 状態 ccaState は、ccaOpt の ccaEnEnergy、ccaEnCorr、ccaEnSync ビット、および ccaCorrOp、ccaSyncOp ビットによって決まります。ccaState を求めるには、次のルールが適用されます (説明では ccaTmp はヘルパー状態です)。
IEEE 802.15.4 規格に従い、全体の CCA 状態が IDLE になるには、ccaSync CCA 状態が IDLE である必要があります。したがって、準拠するには、ccaEnSync を 1、cceSyncOp を 0 にする必要があります。
IEEE 802.15.4 規格で定義されている CCA mode 1 は、ccaEnEnergy = 1 および ccaEnCorr = 0 に設定することで実装されます。CCA モード 2 は、ccaEnEnergy = 0 および ccaEnCorr = 1 に設定することで実装されます。CCA モード 3 は、ccaEnEnergy = 1 および ccaEnCorr = 1 に設定することで実装されます。CCA モード 3 では、ccaCorrOp に 0 または 1 を設定できます。これにより、IEEE 802.15.4 規格に記載されている論理演算子 AND (1) と OR (0) が区別されます。
システム CPU は、即時コマンド CMD_IEEE_CCA_REQ を発行することで、CCA 状態と現在の RSSI を読み出すことができます。CMD_IEEE_CSMA 動作がフォアグラウンドで実行されている場合、無線 CPU も CCA を自律的に監視します。