OnSemi Sub-1G AX5043 (2) 配置工具介紹

一. 介紹Introduction

AX-RadioLAB 是一款基於 AxCode::Blocks 針對 AX5043 的配置工具,可以透過設定選項進行快速開發,減少開發耗時,本文旨在介紹介面中各項參數的意義以及各個按鈕的作用。

二. 建立一個 Project

請參考上一篇 <環境架設流程> 說明,以下是連結

https://www.wpgdadatong.com/tw/blog/detail/71227

三. 介面的使用



1)  TX 端的設定:

  • TX periodic ( LPOSC = MCU Internal RC ),根據內部 RC 振盪器週期性傳送 packet
  • TX periodic ( LPOSC = External XTAL ),根據外部 crystal 振盪器週期性傳送 packet
  • every 後的數字代表兩次傳送之間的間隔
  • TX on demand ( press button at PINB2 , south ),每次按下按鈕時傳送 packet
2)  RX 端的設定:
  • RX Continuous ( RX always on ),維持在開啟的狀態,隨時可持續接收 packet
  • Wake On Radio ( WOR ),根據內部 RC 振盪器週期性的 Wake 嘗試接收 packet,如果沒接收到信號則回到 Sleep 狀態,只有在接收到有效的 packet 後才會喚醒 MCU
  • RX Synchronized with TX,基於外部 crystal 振盪器週期性接收 packet,MCU 需要持續處於 Wake 狀態,同時 TX 端需要設定為 TX periodic ( LPXOSC )
  • Send acknowledge,RX 端成功接收 packet 時會回傳一個 acknowledge packet 給 TX 端
1) 跟 2) 可以整理成下列的表格

Mode

Describe

TX periodic ( LPOSC )

MCU 根據內部 Clock ( 640Hz OSC ) 週期性 Wake up TX 來發送 packet

TX periodic ( LPXOSC )

MCU 根據外部 Clock ( 32KHz OSC ) 週期性 Wake up TX 來發送 packet

TX on demand

MCU 根據外部輸入 ( 如按鈕等等 ) 啟動 TX 發送 packet

RX Continuous

RX 維持在 Wake up 的狀態,並在接收到 packet 時喚醒 MCU

Wake on Radio

RX 根據內部 Clock ( 640Hz OSC ) 週期性 Wake up,並在接收到 packet 時產生 Interrupt 喚醒 MCU

RX Synchronized with TX

MCU根據外部 Clock ( 32KHz OSC ) 週期性 Wake up RX 嘗試接收 packet

3)  Configure

a. Kit Options:
 
  • Output on LCD display : 將資訊顯示在 LCD 上,不適用於 MINI 型號的開發板
  • Output Debug Info : 將資訊同時顯示在 LCD 上和透過 UART0 傳出
  • Extra debug messages on debug window : 額外發出有關廣播狀態變化的資訊,僅在有使用Output Debug Info 時能夠勾選使用,否則會跳出錯誤訊息
  • MCU sleep instead of Stdby : 決定 MCU 是否要進入 Sleep Mode
  • Output via UART0 : 將資訊透過 UART0 傳出,適用於所有型號的開發板 ( UART 規格:115200 / 8N1 )

b. Kit Options:

  • VCO Cal Config:電壓校準,要使用的話需要額外的增加硬體線路
  • Ref Osc Config:選擇要使用外部 Clock 或是內部 Clock
  • Loop Filter Config:選擇要使用內部或是外部鎖相迴路
  • PA Config:選擇使用單端 ( 放大電壓 )、差分 ( 放大電壓差 )、雙源 ( 負電壓 )
  • VCO Config:選擇使用 VCO1 ( 內部 )、VCO2 ( 外部 )、entirely external VCO
  • ANTSEL Config:輸出 OSC enable 信號,預設為 No Output
  • PWRAMP Config:輸出 integrated DAC、Power Amplifier Control、TCXO enable 三種參考訊號
  • SYSCLK config:系統 Clock 的選擇,包含內部、外部、除頻
  • DCLK Config & DATA Config:輸出測試訊號供外部量測,詳見 三.- 10)
  • IRQ Config:輸出 IRQ 信號,如果有連接主板則綁定選項 IRQ

c. Phy Configuration:

  • Carrier Frequency [MHz]:載波頻率
  • Symbol rate (air) [ kS/s ] & Bitrate ( wire ) [ kBit/s ]:Bitrate 會根據 Symbol rate 自動生成,使用 Manchester encoding 時 Bitrate = 0.5 * Symbol rate;使用 4-FSK 時 Bitrate = 2 * Symbol rate;其餘時候 Bitrate = Symbol rate
  • Modulation:選擇調變信號的方式
  • Channel spacing [ kHz ]:Channel 之間的間隔,推薦使用 25 KHz
  • Number of channels & Freq topmost channel [ MHz ]:選擇想要使用的 Channel,Freq topmost channel 為該頻道可達到的最高頻率
  • Fxtal [ MHz ]:振盪器 ( XTAL / TCXO ) 的頻率
  • XTALCAP 3.0pF:調整 on-chip XTAL 負載電容值,使用 TCXO 時調整為 0
  • Max AFC range +/- & TCXO precision:AFC 的最大支援距離,設為 0 時會停用,計算公式:AFC / ( 2 * Carrier Frequency ),可以校正 TX 和 RX 的 TXCO 在相反方向上的偏離
  • Modulation factor:調變參數,通常表示為 h
  • Deviation:調變的偏差值,計算公式如下:FSK deviation = 0.5 * modulation factor * Symbol rate = ( f_mark - f_space ) / 2
  • RX Bandwidth:決定 RX 的頻寬,上欄為想要的值,下欄為實際的值
  • Listen Before Talk ( LBT ):TX 透過確認 Channel 的 RSSI 強度判斷 Channel 是否可用,如果 RSSI 強度高過 Busy 的閾值,TX 會重新嘗試幾次,如果 Channel 持續 Busy,TX 可以選擇放棄或是繼續傳送
  • Encoding:編碼方式,總共有以下四種:manchester ( 曼徹斯特編碼 )、scrambler ( 加擾器 )、differential ( 微分編碼 )、inversion ( 反轉編碼 )

d. Frame Configuration:

Framing mode:HDLC ( High-Level Data Link Control )、Raw Pattern Match、PN9 Compatibility、SNVS Compatibility

PREAMBLE:Default 設定是根據選擇的配置、編碼、參考 Clock 所產生,並且不管是否勾選 send MSB first 選項,character 總是以 MSB 的形式傳送

  • Length [Bits]:指定 preamble 的長度,一個 byte character 會重複 length / 8 次,如果 length 無法被 8 整除,則會在最後補上 fractional byte
  • unencoded:勾選時會導致 phy 設定中的四種編碼 Encoding方式失效
  • WOR PA:在 WOR ( Wake on Radio ) 模式中,會傳送額外的 WOR preamble,設定的間隔應大於 WOR 的週期
  • Append additional encoded bits:需要特殊的結尾 bits 時,可以設定長度 ( Number of bits )、內容 ( Pattern )

SYNC WORD:在 Raw mode 可以選擇任意的 Sync Word 作為 frame 的起始符,並且不管是否勾選 send MSB first 選項,SYNC WORD 總是以 MSB 的形式傳送

  • Syncword length [Bits]:sycn word 的資料長度
  • Sync word:資料內容,總是最先傳送最高位
  • unencoded:勾選時會導致 phy 設定中的四種編碼 Encoding方式失效,相應的 RX 端會在解碼前檢測 SYNC WORD
  • Quality:DC content 造成的誤差參數,會影響頻率和時間的校正,由系統自動生成,無法進行修改
  • enable SFD callback:選項勾起後,在每次起始符被接收時,AXRadioAPI 會通知 APP

LEN & MAC:

  • MAC header length:決定 packet 的長度,包含長度、序列編號、Address
  • enable len byte:勾選代表length byte 作為 packet 的長度傳送給 RX,沒勾選則傳送固定的長度給 RX
  • Position:length byte 在 packet 中的位置,例如 0 代表緊隨在 SYNC Word 之後
  • Significant bits:在 RX 端解碼 packet length 時,其中用於 length byte 的 bit 數
  • Len offset:假設 RX packet 的長度為 len + len offset,則 len offset 用作調節 packet 的實際長度 ( 不包含 SYNC 和 CRC ),例如:使用者的 protocol 長度計算包含 1byte 的 length byte 則將 len offset 設為 0;如果使用者的 protocol 長度計算不包含length byte 則將 len offset 設為 1;len offset 允許設為負數,傳送固定長度的時候可以減少傳送的長度
  • Max packet length:設定最大長度以限制 length byte 中的 bit errors 的影響
  • ACK uses sequence number:可以選擇配置 acknowledge 與否及擺放的位址,若無配置,複數 RX packet 傳送但 ACK packet 丟失時,Slave 會無法進行辨識回應,造成 Master 重新傳送
  • enable address matching:指定最多 4 Byte 的 device address 和相應的 address mask,以限制接收包含配對 address 的 packet
  • Address position:指定在 packet 中的起始位址,例如設為 0 代表在 SYNC WORD / HDLC flag 後的第一個 Byte
  • Address length [bytes]:address 資料的長度
  • TX sender’s address:可以將發送者的 Address 加入 header

DATA:可以指定一組用於 demo 的 sample payload,格式為兩碼的 hex,不用加 0x

  • insert 16 bit counter:可以在 Data 中的指定位置插入一個 16 bit 的 counter,讓 RX 可以算出遺失了多少個 packet,保留的這 2 byte 初始表示為“ 00、00 ”
  • send MSB first:勾選會讓 Data 以 MSB 的形式傳送,否則會採用 LSB 的形式傳送
  • CRC SKIP FIRST:勾選會導致 packet 的第一個 byte 被排除在 CRC 的計算之外

CRC:由 RF chip 自動計算並附在 packet 中,在 HDLC  mode 中 RX 會接收包含 CRC 的 packet;在 Raw Packet Match mode 中 RX 會排除 CRC,除非手動調整PKTSTOREFLAGS  register 中的 bit 5,錯誤的 packet 會默認丟棄,除非手動調整 PKTSTOREFLAGS  register 中的 bit 2

  • 選擇 CRC 的計算方式:off、CCITT ( 16bit )、CRC-16、DNP ( 16bit )、CRC-32
  • 設定 CRC 的初始值
4)  Calculate Registers:

根據 Pin Configuration、PHY、Framing selections 自動計算修改 registers 的值

5)  Edit Registers ( Advanced ):

步驟 4) 之後可以在此手動修改 Register 的值,此修改具有很高的優先級,在別處再次修改也會在此處被覆寫,有手動修改的值會顯示為黃色,如果修改的值剛好等於 Default 值會顯示綠色,按下 Reset Changes 按鈕可以重置所有的修改

6)  Save & Write Output:

在 project 的根目錄生成 Master 跟 Slave 的 firmware project 資料夾

7)  Edit MASTER & Edit SLAVE:

透過 AXCode::Blocks IDE 開啟對應的 Master / Slave firmware project,進行 coding

8)  Compile & Download MASTER 及 Compile & Download SLAVE:

compile、download 對應的 firmware 到連接著 EVB 中,完成後會跳出代表成功的  “ Download Successful ”或代表失敗的“ Download  Failed ”,開啟 AXCode::Blocks 期間此按鈕無法作用

9)  Open Project Folder:

開啟 project 的根目錄

10)  Basic & Regulatory Tests:

開啟測試面板,見下圖

  • Transmit CW:讓 RF Chip 進入 CW mode
  • Transmit Pattern:不停傳送指定的 8 byte pattern
  • Transmit Random:不停傳送隨機的資料
  • TX 1010 & RX 1010:TX 不停發送內容為 1010 的 Data給 RX 接收,藉以測試 bit error rate ( BER )
  • RX PN9 及 TX PN9、RX PN15 及 TX PN15、RX PN17 及 TX PN17:類似於 TX 1010 & RX 1010,透過傳送偽隨機資料測試 BER,
    • PN9 mode:資料透過公式 X9+X5+1產生
    • PN15 mode:資料透過公式 X15+X14+1產生
    • PN17 mode:資料透過公式 X17+X12+1產生
  • Output RX via DATA pin:透過 Data & DCLK Pin 輸出 RX data,以利使用外部儀器測量 BER,允許使用任意類型的輸出資料
  • Edit TESTS:透過 AXCode::Blocks IDE 編輯 Test firmware

參考資料:

AX-RadioLAB_AX5043_user_manual.pdf

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論