找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 14483|回復(fù): 10
打印 上一主題 下一主題
收起左側(cè)

HW3000射頻芯片應(yīng)用筆記(編程配置與原理圖PCB設(shè)計教程)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:36649 發(fā)表于 2018-8-30 08:39 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
HW3000射頻芯片資料

目錄
內(nèi)容目錄
第 1 章 原理圖參考設(shè)計4
11 兩種結(jié)構(gòu)電路的原理圖 4
12 兩種結(jié)構(gòu)電路外圍元件 BOM5
13 不同頻率下的射頻元件 BOM6
第 2 章 PCB 參考設(shè)計 7
第 3 章 制版工藝9
第 4 章 性能測試10
41 功率測試10
42 靈敏度測試 10
圖目錄
圖 1-1 Direct Tie 結(jié)構(gòu) SCH 4
圖 1-2 Split TX/RX 結(jié)構(gòu) SCH 4
圖 2-1 L 形 Direct Tie 結(jié)構(gòu) PCB 7
圖 2-2 一字形 Direct Tie 結(jié)構(gòu) PCB8
圖 2-3 一字形 Split TX/RX 結(jié)構(gòu) PCB8
表目錄
表 1-1 兩種結(jié)構(gòu)電路外圍元件 BOM 5
表 1-2 不同頻率下的射頻元件 BOM 6
表 1-3 不同頻率下 L4 的微調(diào)值6
表 3-1 PCB 制版工藝參數(shù) 9
表 4-1 不同頻率下兩種結(jié)構(gòu)的最大發(fā)射功率10
表 4-2 不同頻率下 Direct Tie 結(jié)構(gòu)的接收靈敏度 10
表 4-3 不同頻率下 Split TX/RX 結(jié)構(gòu)的接收靈敏度 11


第 1 章 原理圖參考設(shè)計
1.1 兩種結(jié)構(gòu)電路的原理圖
HW3000 EVB 原理圖參考設(shè)計有兩個方案,圖 1-1 采用的是 Direct Tie 結(jié)構(gòu),收發(fā)射頻匹配網(wǎng)絡(luò)之間直連,其優(yōu)點是電路簡單。圖 1-2 采用的是 Split TX/RX 結(jié)構(gòu),收發(fā)射頻匹配網(wǎng)絡(luò)和射頻開關(guān)芯片連接,通過開關(guān)來切換收發(fā)模式,其優(yōu)點是性能較好,但增加了元器件,成本稍高。



這兩種結(jié)構(gòu)的共同電路包括:晶體振蕩電路、TX/RX 匹配網(wǎng)絡(luò)、低通濾波器和電源濾波電路。
Direct Tie 結(jié)構(gòu)與 Split TX/RX 結(jié)構(gòu)的最大不同之處在于,去除了射頻開關(guān)電路,減少了電路的復(fù)雜度。
振蕩電路支持 20MHz、26MHz 無源晶體,C1、C2 是晶體負載電容,其參數(shù)將影響晶體振蕩頻率,請參考晶體具體規(guī)格來選擇。根據(jù)應(yīng)用需求的不同,推薦用戶選擇頻率穩(wěn)定度≥±10ppm 的晶振。選取原則如下:無源晶體精度越高,無線設(shè)備之間載波頻偏將越小,遠距離通信成功率將顯著提高。因此遠距離應(yīng)用請盡量選用高精度無源晶體。
射頻網(wǎng)絡(luò)包括阻抗匹配網(wǎng)絡(luò)(Matching Network)和低通濾波器(Low Pass Filter)兩部分。
其中低通濾波器是發(fā)射(TX)和接收(RX)共用,阻抗匹配網(wǎng)絡(luò)則分成 TX 和 RX 兩部分。對于Direct Tie 結(jié)構(gòu),TX 和 RX 阻抗匹配網(wǎng)絡(luò)直接通過 C15 電容連接。而對于 Split TX/RX 結(jié)構(gòu),TX 和RX 阻抗匹配網(wǎng)絡(luò)與射頻開關(guān)芯片的兩個端子連接,第三端和低通濾波器網(wǎng)絡(luò)相連。阻抗匹配網(wǎng)絡(luò)實現(xiàn)射頻收發(fā)器芯片內(nèi)部阻抗到外圍 50 歐姆阻抗的變換。低通濾波器采用 LC 低通濾波電路,用于濾除有用信號以外的高頻干擾雜波。射頻網(wǎng)絡(luò)的元件選型對通信將產(chǎn)生很大影響,推薦選用高頻器件。需要注意的是,不同收發(fā)頻率下的射頻網(wǎng)絡(luò)元件的取值是不同的(具體參考表 1-2)。外圍電源濾波電路均為 HW3000 射頻收發(fā)器芯片電源的濾波,不同大小值的電容用于濾除電源上不同頻率的干擾雜波,以保證芯片能夠穩(wěn)定的工作。
1.2 兩種結(jié)構(gòu)電路外圍元件BOM
兩種結(jié)構(gòu) EVB 板的外圍元件基本相同,下面給出外圍元件的 BOM。

1.3 不同頻率下的射頻元件BOM
由于 HW3000 支持多個頻率,不同頻率下的射頻元件(包括低通濾波網(wǎng)絡(luò)元件和匹配網(wǎng)絡(luò)元件)的值是不相同的。下面給出不同頻率下的射頻元件 BOM。




注:L4 的取值,會因為 PCB 布局布線的影響,其最佳值會發(fā)生變化,可以根據(jù)情況細微調(diào)整,推薦的 L4 調(diào)整值列表如下:


一般情況下,對于射頻元件比較緊湊的 L 形布局(如圖 2-1 的布局方式),建議按照 L4 取值(第一列)。相對比較分散的一字形布局(如圖 2-2 和圖 2-3 的布局方式),建議取值為 L4*(第二列)。

第 2 章 PCB參考設(shè)計
PCB 設(shè)計采用低成本雙面板即可滿足設(shè)計要求,下面給出兩類不同類型的 PCB 布局參考設(shè)計。對于 PCB 空間比較緊張的情況,射頻元件可以采用 L 形布局,如圖 2-1 的 L 形 Direct Tie 結(jié)構(gòu)。對于 PCB 空間比較充足的應(yīng)用,射頻元件可以采用一字形布局,如圖 2-2 的一字形 Direct Tie 結(jié)構(gòu)和
2-3 的一字形 Split TX/RX 結(jié)構(gòu)。PCB 設(shè)計的注意事項如下:
所有元器件均布局在雙面板正面,背面盡量提供完整的參考地平面;射頻走線應(yīng)盡可能短;
兩個電感互連推薦采用 L 形布局,減小互感;其它的射頻元件,最優(yōu)采用一字形布局,次優(yōu)采用 L 形布局,不推薦 U 形或者 Z 形布局。
L5 連接芯片管腳 RFP、RFN 的走線是差分線,請盡量平行、等長布線,以保證差分性能;
所有射頻電路應(yīng)該“包地”,接地鋪銅要通過盡量多的過孔與底層參考地平面連接,以降低接地阻抗;
數(shù)字電路和晶振電路請盡量遠離射頻前端電路;
若電源與數(shù)字部分需走背面,需盡量減小分割地平面,并且盡量遠離射頻前端;
去耦電容需要盡可能靠近芯片電源管腳,以獲得更好的濾波效果。
射頻走線寬度和鋪銅間距,可參考第 3 章《制版工藝》。
下面給出三種 PCB 參考設(shè)計,一種 L 形布局,兩種一字形布局。


第 3 章 制版工藝
由于高頻信號的存在,在 RF PCB 制版過程中需要考慮 PCB 工廠的阻抗控制參數(shù)。下面給出
的是本參考設(shè)計的制版工藝參數(shù)。

注:為保證射頻走線為 50 歐姆,可以根據(jù)不同板厚,按照如下參數(shù)進行調(diào)整。以下結(jié)果為 Si9000仿真值,僅供參考。仿真假設(shè) FR4 的介電常數(shù)為 4.3、綠油介電常數(shù)為 4.2,這些參數(shù)對仿真結(jié)果影響較大,具體參數(shù)請與 PCB 廠家確認(rèn)后自行仿真。如果需要更加準(zhǔn)確的結(jié)果,則需要 PCB 廠家進行阻抗控制。(1)若射頻走線采用 20mil 線寬:板厚為 1.0mm 時,接地鋪銅與走線間距為 5.3mil板厚為 1.2mm 時,接地鋪銅與走線間距為 5.1mil板厚為 1.6mm 時,接地鋪銅與走線間距為 5mil(3)若射頻走線采用 25mil 線寬:板厚為 1.0mm 時,接地鋪銅與走線間距為 6.3mil板厚為 1.2mm 時,接地鋪銅與走線間距為 6mil板厚為 1.6mm 時,接地鋪銅與走線間距為 5.7mil(3)若射頻走線采用 30mil 線寬:板厚為 1.0mm 時,接地鋪銅與走線間距為 7.6mil板厚為 1.2mm 時,接地鋪銅與走線間距為 7.1mil板厚為 1.6mm 時,接地鋪銅與走線間距為 6.6mil

第 4 章 性能測試下面以一字形布局的 HW3000 EVB 模塊為例,給出實際性能測試結(jié)果。
4.1 功率測試測試儀器:信號分析儀 EXA Signal Analyzer N9010A (10Hz-7GHz)測試條件:SPAN=10MHz、RBW=1MHz、VBW=10MHz下表是兩種結(jié)
構(gòu)在不同頻率下的最大發(fā)射功率(典型值)。


4.2 靈敏度測試
測試儀器:矢量信號發(fā)生器 MXG Vector Signal Generator N5182A(100KHz-3GHz)
測試數(shù)據(jù)包格式:數(shù)據(jù)包的幀格式為增強型幀結(jié)構(gòu),具體格式如表 4-3 所示。

測試方法:通過調(diào)節(jié)信號發(fā)生器的輸出功率?刂瓢逋ㄟ^外部觸發(fā)接口,控制每次發(fā)送 100 個數(shù)據(jù)包。接收板能接收到的數(shù)據(jù)包(>90 個包)時,記錄信號發(fā)生器的輸出功率最小值,即為接收靈敏度。下面兩個表格,分別是兩種結(jié)構(gòu),在不同頻率、不同速率下的接收靈敏度。

目 錄
內(nèi)容目錄
第 1 章 編程說明4
11 工作模式4
12 初始化4
13 數(shù)據(jù)包收發(fā) 4
131 增強型幀結(jié)構(gòu)模式 4
132 直接 FIFO 幀結(jié)構(gòu)模式8
14 ACK 功能應(yīng)用12
15 單載波發(fā)送 CW 模式 14
16 直接收發(fā) DIRECT 模式 14
第 2 章 寄存器初始化15
21 12kbps 速率配置 15
22 10kbps 速率配置 16
23 50kbps 速率配置 17
24 100kbps 速率配置 18
25 頻段設(shè)置說明19
26 26MHz 晶振使用說明 20
第 3 章 RF 測試說明 21
31 PA 功率21
32 RSSI 22
第 4 章 芯片故障分析23
第 5 章 常見問題24


第 1 章 編程說明
1.1 工作模式
HW3000 芯片主要有 POWER DOWN、DEEP SLEEP、SLEEP、IDLE、TX、RX 六個工作模式,各個工作模式之間的切換見芯片數(shù)據(jù)手冊的“芯片狀態(tài)控制”章節(jié)內(nèi)容。
1.2 初始化
芯片上電等待時間約 2ms
全芯片復(fù)位(0x61)
寄存器初始化配置(以下配置不分先后)
射頻前端寄存器初始化,詳見本文“寄存器初始化設(shè)置”章節(jié)
速率 SYMBOL_RATE 設(shè)置(0x32、0x33),默認(rèn) 10Kbps
外部晶振參考頻率 CFG_XTCS(0x25)設(shè)置,默認(rèn)為選擇 26MHz 晶振
頻點 RF_FREQ_BASE、CH_SPACE 設(shè)置(0x2F)
幀結(jié)構(gòu)配置 PACK_LENGTH_EN(0x02)
Preamble 長度、Syncword 長度、編碼方式、是否支持 FEC、是否支持白化功能等設(shè)置(0x02、0x03)
若選擇直接 FIFO 幀結(jié)構(gòu)模式,配置發(fā)送完成 LEN0_TXMODE 與接收完成模式LEN0_RXMODE(0x02)
使能通訊使用的 PIPE、設(shè)置 PIPE 地址、以及該 PIPE 是否支持 ACK 功能(0x13、0x15~0x1A)
若支持 ACK 模式,設(shè)置重發(fā)次數(shù) RE_TX_TIMES(0x45,設(shè)置值需大于‘0’ )注:直接 FIFO 幀結(jié)構(gòu)模式不支持 ACK、FEC 功能,可忽略相應(yīng)寄存器配置步驟。

1.3 數(shù)據(jù)包收發(fā)
HW3000 收發(fā)支持增強型與直接 FIFO 兩種幀結(jié)構(gòu)模式,可通過寄存器 PACK_LENGTH_EN
配置。
1.3.1 增強型幀結(jié)構(gòu)模式
增強型幀結(jié)構(gòu)模式需設(shè)置 PACK_LENGTH_EN 為‘1’,該模式幀結(jié)構(gòu)如圖 1-1 所示。



幀長配置
發(fā)送端可通過 AUTO_LEN_CALC(0x09)寄存器配置發(fā)送幀長信息由硬件自動生成或由軟件填寫。若設(shè)置 AUTO_LEN_CALC 為‘1’,硬件自動依據(jù)發(fā)送 FIFO 內(nèi)所填寫的 PSDU 字節(jié)數(shù)加上 3(即加上信道索引、標(biāo)準(zhǔn)識別號、幀頭校驗碼所占的 3 個字節(jié))作為發(fā)送幀的幀長信息。若設(shè)置 AUTO_LEN_CALC 為‘0’,芯片在發(fā)送之前需由軟件將 PSDU 的長度信息填寫至TXPSDU_LEN(0x09)寄存器,硬件依據(jù) TXPSDU_LEN 寄存器的值加上 3(即加上信道索引、標(biāo)準(zhǔn)識別號、幀頭校驗碼所占的 3 個字節(jié))作為發(fā)送幀的幀長信息。接收端將成功接收的數(shù)據(jù)幀幀長信息存放于 RX_PHR_PSDU_LEN(0x0A)寄存器。

信道索引發(fā)送端需在發(fā)送之前將信道索引填寫至 TX_PHR_CHANNEL_INDEX(0x08)寄存器。接收端將成功接收的數(shù)據(jù)幀信道索引存放于 RX_PHR_CHANNEL_INDEX(0x0A)寄存器。

標(biāo)準(zhǔn)識別號發(fā)送端需在發(fā)送之前將標(biāo)準(zhǔn)識別號填寫至 TX_PHR_STD_IDEF(0x08)寄存器。接收端將成功接收的數(shù)據(jù)幀標(biāo)準(zhǔn)識別號存放于 RX_PHR_STD_IDEF(0x0B)寄存器。

幀頭校驗發(fā)送端可通過 AUTO_PHR_VERIFY(0x07)寄存器配置幀頭校驗信息由硬件自動生成或由軟件生成。若設(shè)置 AUTO_PHR_VERIFY 為‘1’,硬件依據(jù)發(fā)送幀長、信道索引、標(biāo)準(zhǔn)識別號 3 個字節(jié)自動生成校驗碼作為發(fā)送幀的幀頭校驗信息。若設(shè)置 AUTO_PHR_VERIFY 為‘0’,芯片在發(fā)送之前需由軟件填寫 TX_PHR_VERIFY(0x07)寄存器,硬件依據(jù) TX_PHR_VERIFY 寄存器的填寫值作為發(fā)送幀的幀頭校驗。接收端將成功接收的數(shù)據(jù)幀幀頭校驗信息存放于 RX_PHR_VERIFY(0x0B)寄存器。

物理層載荷(PSDU)PSDU 部分存放于 FIFO 中,增強型幀結(jié)構(gòu)模式下最大長度支持 252bytes。

幀校驗序列(FCS)發(fā)送端可通過 LEN1_CRCSEL(0x02)寄存器配置幀校驗序列由硬件自動生成或由軟件生成。若設(shè)置 LEN1_CRCSEL 為‘0’,硬件自動生成幀校驗序列。若設(shè)置 LEN1_CRCSEL 為‘1’,芯片在發(fā)送之前需由軟件填寫 CRCVAL(0x12)寄存器,硬件依據(jù) CRCVAL 寄存器的填寫值作為發(fā)送幀的幀校驗序列。接收端將成功接收的數(shù)據(jù)幀幀校驗序列存放于 CRCVAL 寄存器。

注:ACK 功能使能時不支持幀頭校驗軟件生成模式與幀校驗序列軟件生成模式。


芯片支持 FIFO 數(shù)據(jù)包重復(fù)發(fā)送功能,以滿足某些數(shù)據(jù)包重復(fù)發(fā)送或快速跳頻等應(yīng)用場合,可以有效減少主控 MCU 的軟件開銷(如圖 1-3 所示)。用戶可在再次使能發(fā)送之前插入延時控制重發(fā)時間間隔或更改發(fā)送頻點。

1.3.2 直接FIFO幀結(jié)構(gòu)模式
直接 FIFO 幀結(jié)構(gòu)模式需設(shè)置 PACK_LENGTH_EN 為‘0’,該模式幀結(jié)構(gòu)如圖 1-4 所示。此模式不支持 ACK、硬件 CRC 校驗與 FEC 功能。發(fā)送除 PREAMBLE 與 SFD 部分都需軟件填寫至 FIFO 內(nèi),填寫內(nèi)容與順序可依據(jù)收發(fā)雙方的約定靈活設(shè)置。直接 FIFO 模式下發(fā)送可依據(jù) LEN0_TXMODE 控制位配置發(fā)送完成模式,接收可依據(jù)LEN0_RXMODE 控制位配置接收完成模式,詳見 0x02 寄存器相關(guān)說明。

直接 FIFO 幀結(jié)構(gòu)模式下芯片提供接收長度自動識別功能,設(shè)置詳見《HW3000_Datasheet_C》

8.2 章節(jié)描述。
若收發(fā)長度小于等于 256bytes,且設(shè)置 LEN0_TXMODE 及 LEN0_RXMODE 為芯片自動識別接發(fā)長度,其收發(fā)流程如圖 1-5 所示。


若收發(fā)長度小于等于 256bytes,且 LEN0_RXMODE 設(shè)置為軟件設(shè)置接收長度,假設(shè)收發(fā)約定FIFO 內(nèi)第一個 byte 代表包長度信息,其接收流程如圖 1-6 所示。接收使能之前,先設(shè)定一較小的半滿閾值,確保半滿中斷置起時可從 FIFO 內(nèi)指定位置讀取接收長度,軟件獲取接收長度后需配置 LEN0_PKLEN 寄存器,硬件依據(jù) LEN0_PKLEN 寄存器的設(shè)定值自動完成接收。
建議在接收使能之前配置 LEN0_PKLEN 為一較大值,防止軟件處理過慢出現(xiàn) FIFO0_INT 誤中斷。


圖 1-6 直接 FIFO 幀結(jié)構(gòu)軟件設(shè)置包長接收流程示意圖

若收發(fā)長度大于 256bytes 時,軟件需依據(jù) FIFO 的半空或半滿中斷標(biāo)志,完成對 FIFO 的寫入與讀取操作,配合物理層硬件完成對 FIFO 內(nèi)數(shù)據(jù)的發(fā)送與接收。假設(shè)收發(fā)約定 FIFO 內(nèi)第一個 byte 代表包長度信息,LEN0_RXMODE 設(shè)置為接收自動識別包長信息,其收發(fā)流程如圖 1-7 所示。

PRX 在接收使能之前可設(shè)定一較小的半滿閾值 FULL_THRES,保證響應(yīng) HALF_FULL_INT 中斷時軟件可從 FIFO 內(nèi)即時獲取接收包長信息,根據(jù)接收包長信息再由軟件調(diào)整半滿閾值FULL_THRES 以簡化接收操作流程。
注:可通過 EMPTY_THRES,F(xiàn)ULL_THRES 寄存器設(shè)置半空半滿閾值,設(shè)置值需考慮 SPI 接口的訪問速度與芯片配置的數(shù)據(jù)速率。

1.4 ACK功能應(yīng)用
ACK 應(yīng)用僅針對增強型幀結(jié)構(gòu)模式,功能介紹詳見《HW3000_Datasheet_C》第 5 章說明,
ACK 使能情況下收發(fā)流程如圖 1-8 所示。
若使能 PIPE0 ACK 功能(P0_ACKEN = ‘1’),PTX 在接收 ACK 等待時間 AUTO_RXACK_TIME(0x45)內(nèi)沒有成功接收到 PRX 發(fā)送的 ACK 幀,PTX 將自動重傳上一幀數(shù)據(jù)包。PTX 讀取中斷 FIFO0_INT 之后需檢查 FIFO0_MAX_RETX(0x0F)標(biāo)志位,以判斷中斷源為 PTX 接收ACK 成功或是重傳超時。
PRX 在 ACK 使能情況下接收 PHR 校驗出錯或 CRC 出錯將進入自動重收流程,F(xiàn)IFO0_INT 中斷標(biāo)志位置起后軟件無需再檢測 PRX_PHR_ERR 與 PRX_CRC_ERR 標(biāo)志位。

第 4 章 芯片故障分析
如果兩顆芯片不能進行正常收發(fā)通訊,首先應(yīng)該將這兩顆芯片分別與已測試過的正常芯片進行收發(fā)通訊,確定發(fā)射芯片還是接收芯片出現(xiàn)問題。在此前提下,可參照以下內(nèi)容分析芯片發(fā)送或接收故障的原因。
檢查芯片供電是否正常
上電后芯片默認(rèn)進入 IDLE 模式,芯片 VDR 引腳輸出電壓 1.8V 左右。
檢查晶振是否正常工作
上電后測試晶振 XTALP 或 XTALN 引腳,觀察是否有信號,信號頻率是否正確,若有異?赡
是晶振損壞或使用的起振電容不合適。
檢查 SPI 讀寫是否正常
對寄存器進行讀寫操作檢查 SPI 驅(qū)動程序是否正確。如果寄存器寫入與讀取值不一致,利用示波器抓取 SPI 讀寫波形,檢查 SPI 四根線的電平是否正確,波形時序是否和產(chǎn)品手冊一致;檢查 SPI 通訊速率是否小于給定的最大通訊速率。
軟件檢查
檢查軟件對 HW3000 芯片的寄存器初始化配置是否與參考代碼有差異,軟件收發(fā)流程是否與操
作例程有差異。
檢查通訊頻段有無干擾
將 Sub-1GHz 天線連接到頻譜儀,直接測空間輻射的信號,如在通訊頻點有較大空間干擾,建議避開此頻點通訊。
單載波發(fā)送模式
使能單載波發(fā)送模式,觀察發(fā)射頻點是否鎖定,與設(shè)置值是否一致。
檢查收發(fā)頻偏
檢查兩顆芯片的收發(fā)頻偏值是否小于 30kHz(測量值頻率與理論值頻率之間的偏差),頻偏補償方法詳見 HW3000 芯片數(shù)據(jù)手冊的“AFC 及晶振校準(zhǔn)功能”章節(jié)。
檢查接收本振是否鎖定
判斷接收本振是否鎖定需要使用頻譜儀觀察,設(shè)置頻譜儀 Span=250kHz,Ref
Amplitude=-50dBm。使能接收,如果接收頻點一直停留在接收設(shè)定頻點*8 位置不跳動,就說
明已鎖定。

晶振頻偏調(diào)整
調(diào)整晶振外接的兩個電容,如果調(diào)整以后的晶振頻率值一致性仍很差,則需要更換晶振,提高
晶振精度 ppm。

第 5 章 常見問題
芯片發(fā)送或接收頻點為什么與設(shè)置值不一致?
頻點設(shè)置需在芯片發(fā)送或接收狀態(tài)有效之前完成,否則芯片內(nèi)部 PLL 將無法正確鎖定。

寫指針在什么時候需要軟件清‘0’?
芯片內(nèi)狀態(tài)機寫 FIFO(只出現(xiàn)在 PRX 端)的指針與 SPI 寫 FIFO(只出現(xiàn)在 PTX 端)的指針復(fù)用同一個指針。PTX 與 PRX 在正常收發(fā)不切換時,硬件在合適情況下自動清零寫指針,無需軟件參與,但在收發(fā)角色切換(PRX 切換為 PTX)寫指針主控權(quán)發(fā)生變化時,需要軟件參與在 SPI 寫 FIFO 前將寫指針清‘0’。

收發(fā) ACK 使能時為什么 PTX 發(fā)送中斷正常置起而 PRX 接收無正常中斷?
ACK 使能時,PTX 發(fā)送方中斷置起分兩種情況:
1. PTX 正常收到 ACK 幀,通訊成功。
2. PTX 重傳超時,通訊不成功。
PTX 中斷置起后可以通過 FIFO0_MAX_RETX 標(biāo)志位區(qū)分兩種情況。
ACK 使能時,PRX 在接收 PID 與 CRC 較上一次相同時將自動棄包而不置起中斷。若 PTX 出現(xiàn)重傳超時,PTX 在下一次發(fā)送幀時 PID 不累加。

為什么 PRX 接收 CRC 正確,但接收 FIFO 的讀取值與 PTX 發(fā)送 FIFO 內(nèi)填寫值不一致?
1. PTX 在寫 FIFO 時有可能 SPI 受到干擾而誤寫,按寫入 FIFO 的值硬件自動生成 CRC,PRX
收到誤寫的值將出現(xiàn)上述現(xiàn)象。
2. PRX 在讀 FIFO 時 SPI 受到干擾而可能造成誤讀。

為什么收發(fā)雙方 PIPE Address 配置一致時,會出現(xiàn) PRX 的 PIPE 指示位(PRX_FIFO0_PIPE)所指示的 PIPE 與發(fā)送使用的 PIPE 不一致的現(xiàn)象?
各 PIPE Address(0x14~0x1A)設(shè)置值之間的碼間距需大于接收同步字允許錯誤個數(shù)閾值SYNC_THRES,否則接收各 PIPE 容易出現(xiàn)誤同步。


目 錄

內(nèi)容目錄
第 1 章 SPI 接口4
11 SPI 幀格式和通訊時序4
12 SPI 讀寫函數(shù)原型4
13 HR7P 系列 MCU SPI 匯編驅(qū)動5
第 2 章 程序設(shè)計示例14
21 HW3000 復(fù)位功能區(qū)別14
22 HW3000 默認(rèn)寄存器初始化 14
23 數(shù)據(jù)載荷說明18
24 HW3000 TX 測試波形 18
25 HW3000 TX 數(shù)據(jù)20
26 HW3000 RX 數(shù)據(jù) 23
27 HW3000 RSSI 說明26
28 HW3000 狀態(tài)查詢模式特別說明26
29 HW3000 FIFO 數(shù)據(jù)在發(fā)射完成后將駐留26
210 HW3000 AFC 及晶振的校準(zhǔn)功能 26


第 2 章 程序設(shè)計示例

以下為 HW3000 芯片常用收發(fā)程序示例。
2.1 HW3000 復(fù)位功能區(qū)別
芯片從 POWER DOWN 狀態(tài)恢復(fù)至 IDLE 狀態(tài)過程中內(nèi)部 POR 將復(fù)位全芯片(通過設(shè)置 PDN輸入引腳為高電平進入 POWER DOWN 狀態(tài))。
芯片從 DEEP SLEEP/SLEEP 恢復(fù)至 IDLE 狀態(tài),芯片除配置寄存器外將全部被復(fù)位(注意寄存器中的狀態(tài)指示位將被復(fù)位)。

芯片共提供兩種軟復(fù)位方式,分別為 SFT_RST0(0x60)和 SFT_RST1(0x61),其中:
1) SFT_RST0 復(fù)位硬件電路與 FIFO 而保留原有的寄存器設(shè)置值
2) SFT_RST1 進行全芯片復(fù)位,寄存器同時也會被復(fù)位成默認(rèn)值

2.2 HW3000 默認(rèn)寄存器初始化
HW3000 內(nèi)部寄存器分為 Bank0 和 Bank1 兩部分,其中 Bank0 是面向用戶開放功能寄存器,Bank0 寄存器由用戶根據(jù)功能進行設(shè)置;Bank1 是內(nèi)部校準(zhǔn)寄存器,Bank1 寄存器僅需用戶在寄存器復(fù)位后按照建議值初始化即可。Bank0 和 Bank1 切換方式詳見如下 HW3000 初始化流程,帶宏定義寄存器均為 Bank0 寄存器,hw3000_mode_t 結(jié)構(gòu)體用于演示各種用戶功能模式設(shè)置過程。
typedef struct {
osc_mode_t osc; //osc selection
frequency_band_t band; //freq band setting
symbol_rate_t rate; //data rate setting
frequency_mode_t freq_mode; //0 only for 433MHz 1 direct mode for all
int8_t power; //tx power set
frame_mode_t frame_mode; //0 fifo mode, 1 frame mode
uint8_t ack_mode; //0 disable, 1 enable
uint8_t tx_mode; //0 tx length by LEN0_PKLEN, 1 by fifo pointer
uint8_t rx_mode; //0 automatic 1 by LEN0_PKLEN
uint8_t lp_enable; //0 low power mode disable, 1 enable
} hw3000_mode_t;

2.3 數(shù)據(jù)載荷說明
HW3000 收發(fā)數(shù)據(jù) FIFO 深度為 256,若用戶采用增強型幀結(jié)構(gòu),用戶可用 FIFO 深度為 252字節(jié),若用戶采用直接 FIFO 模式,通過半空半滿中斷可支持用戶超過 256 字節(jié)數(shù)據(jù)傳輸。
2.4 HW3000 TX測試波形
HW3000 提供單載波、PN9、0101 等數(shù)據(jù)發(fā)送模式,以方便頻點測試與發(fā)送功率測試。

2.5 HW3000 TX 數(shù)據(jù)
Hw3000 支持增強型幀結(jié)構(gòu)發(fā)射數(shù)據(jù)和直接 FIFO 模式發(fā)射數(shù)據(jù),其中直接 FIFO 模式需要用戶自行完成數(shù)據(jù)校驗工作,直接 FIFO 模式可實現(xiàn)與市面同類無線芯片的互聯(lián)互通。

2.6 HW3000 RX 數(shù)據(jù)
Hw3000 支持增強型幀結(jié)構(gòu)發(fā)射數(shù)據(jù)和直接 FIFO 模式接收數(shù)據(jù),其中直接 FIFO 模式需要用戶自行完成數(shù)據(jù)校驗工作,直接 FIFO 模式可實現(xiàn)與市面同類無線芯片的互聯(lián)互通。

2.7 HW3000 RSSI說明
在接收模式時,芯片會評估天線端接收信號能量的大小,該數(shù)值會保存在寄存器 RSSI(0x23)中。RSSI 的讀數(shù)單位為 dBm,數(shù)據(jù)的格式為二進制補碼形式的符號數(shù)。在 RSSI 寄存器里提供兩個 RSSI 讀數(shù)值,其中 RSSI1 保存的是上一個有效數(shù)據(jù)包(SFD 正確同步)的 RSSI 計算值,而RSSI2 中保存的是實時的 RSSI 計算值,可用于 CSMA/CA 工作。若需檢測環(huán)境能量 RSSI2,建議在 RX 接收使能后至少延時 350us,再進行讀取。另外如果用戶系統(tǒng) SPI 速率較快,大于 1Mbps 以上,在讀取環(huán)境能量前,如有接收使能的關(guān)閉、打開操作,在接收使能切換中間必須有一定的延時操作,否則讀取的 RSSI2 值會有跳變現(xiàn)象;同理,如果在讀取 RSSI2 操作前,有發(fā)射、接收使能的切換操作,在狀態(tài)切換中間必須加一定的延時操作。直接 FIFO 模式下,若讀取上一個有效數(shù)據(jù)包的 RSSI1 值,必須在 SFD_INT 與 FIFO_INT 之間讀取,即在同步之后,數(shù)據(jù)接收完成之前讀取,數(shù)據(jù)接收完成之后, RSSI1 被復(fù)位成 0x81。增強型模式下,RSSI1 值會被鎖定,直到下一個有效數(shù)據(jù)包之后才會被更新,且只有在芯片復(fù)位之后,RSSI1 值才會被復(fù)位成 0x81。

2.8 HW3000 狀態(tài)查詢模式特別說明
當(dāng)通過 SPI 輪詢方式檢測 HW3000 收發(fā)狀態(tài)是否完成時,在輪詢相關(guān)狀態(tài)寄存器時請加入適
當(dāng)延時,以避免 SPI 通信所產(chǎn)生的高次諧波可能對收發(fā)過程產(chǎn)生影響。
采用 IRQ 中斷方式實現(xiàn)收發(fā)狀態(tài)檢測則無此問題產(chǎn)生。
2.9 HW3000 FIFO數(shù)據(jù)在發(fā)射完成后將駐留
若發(fā)射相同數(shù)據(jù),可僅寫入 FIFO 一次數(shù)據(jù)通過清除 INT 中斷方式實現(xiàn)循環(huán)發(fā)送。
利用該方式可更好實現(xiàn)有源 RFID 功能。
若存在接收數(shù)據(jù),發(fā)射端 FIFO 將不再保留。
2.10 HW3000 AFC及晶振的校準(zhǔn)功能
HW3000 在接收端提供載波頻偏自動補償功能(AFC),可通過 AFC_EN(0x25)寄存器使能
晶振校準(zhǔn)寄存器為 XOSC_CAL(0x37),設(shè)置值支持 0x00 至 0xFF,步長約 15Hz。

全部資料51hei下載地址:
AN1015_應(yīng)用筆記_HW3000_Programming_Guide V1.0.pdf (323.26 KB, 下載次數(shù): 115)
AN1014_應(yīng)用筆記_HW3000_Hardware_Reference_Design V1.0.pdf (715.15 KB, 下載次數(shù): 61)
AN1013_應(yīng)用筆記_HW3000_User_Guide V1.0.pdf (296.91 KB, 下載次數(shù): 49)
HW3000_Datasheet_C V1.0.pdf (948.5 KB, 下載次數(shù): 66)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏7 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:1 發(fā)表于 2018-8-30 17:56 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報

板凳
ID:328014 發(fā)表于 2018-8-30 17:56 | 只看該作者
很詳細的資料,有機會玩玩這個芯片,是國產(chǎn)的嗎?
回復(fù)

使用道具 舉報

地板
ID:551562 發(fā)表于 2019-5-31 00:13 | 只看該作者
收藏備用,支持國產(chǎn),6塊錢一片是不貴,問題是資料比較少。。。
回復(fù)

使用道具 舉報

5#
ID:314207 發(fā)表于 2019-8-8 10:23 | 只看該作者
感覺非常有幫助,謝謝樓主
回復(fù)

使用道具 舉報

6#
ID:609322 發(fā)表于 2019-9-9 08:58 | 只看該作者
我來注冊就是為了下載文件,
結(jié)果還要我充值,
我直接到東軟公司的網(wǎng)站上下栽,一點也不須充值,不須注冊
回復(fù)

使用道具 舉報

7#
ID:388121 發(fā)表于 2019-10-24 11:33 | 只看該作者
謝謝很好的資料
回復(fù)

使用道具 舉報

8#
ID:292427 發(fā)表于 2020-3-1 15:39 | 只看該作者
CC1101和HW3000有啥區(qū)別呀
回復(fù)

使用道具 舉報

9#
ID:695275 發(fā)表于 2020-6-28 16:48 | 只看該作者
我們就需要這樣的熱心師傅
回復(fù)

使用道具 舉報

10#
ID:94371 發(fā)表于 2022-9-6 11:43 | 只看該作者
不錯, 想用來替換4463, 不知性能如何.
回復(fù)

使用道具 舉報

11#
ID:1066884 發(fā)表于 2023-3-16 17:51 | 只看該作者
不錯不錯,之前供應(yīng)商發(fā)過一個demo給我,老電腦了,收藏備用
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表