SUB1GHz高集成度無(wú)線(xiàn)收發(fā)芯片-DP4301
功能特點(diǎn):
頻率范圍200--1000MHz ,支持.
230/315/408/433/868/915頻段
接收靈敏度: -112dBm@10Kbps
最大輸出功率: + 20dBm
調(diào)制方式: FSK ,GFSK
數(shù)據(jù)率: 2.4kbps---200kbps
支持SPI接口
自動(dòng)應(yīng)答及自動(dòng)重傳
快速頻道切換,支持跳頻算法
支持RSSI功能.
天線(xiàn)分集和T/R開(kāi)關(guān)控制
自動(dòng)頻率控制( AFC)
自動(dòng)增益控制( AGC )
低工作電壓: 1.9V~3.6V
28弓|腳5*5 QFN封裝
應(yīng)用領(lǐng)域:
智能抄表
工業(yè)傳感器及無(wú)線(xiàn)I控設(shè)備
無(wú)線(xiàn)游戲設(shè)備
遙感勘測(cè)
安防系統(tǒng)
智能運(yùn)動(dòng)設(shè)備
智能電視遙控器
無(wú)線(xiàn)標(biāo)簽
無(wú)線(xiàn)門(mén)禁
安防系統(tǒng)
智慧農(nóng)業(yè)
遙控裝置
無(wú)線(xiàn)玩具
本芯片是一款高性能低功耗的單片集成收發(fā)機(jī),工作頻率可覆蓋470MHz~510MHz ,并兼容ISM 433MHz頻段。該芯片集成了射頻接收器、射頻發(fā)射器、頻率綜合器、GFSK調(diào)制器、GFSK解調(diào)器等功能模塊。通過(guò)SPI接口可以對(duì)輸出功率、頻道選擇以及數(shù)據(jù)包格式進(jìn)行靈活配置,并且內(nèi)置CRC、FEC、自動(dòng)應(yīng)答和自動(dòng)重傳機(jī)制,可以大大簡(jiǎn)化系統(tǒng)設(shè)計(jì)并優(yōu)化性能。
芯片為時(shí)分雙工收發(fā)器(TDD) , 接收和發(fā)送數(shù)據(jù)包需在不同時(shí)段交替進(jìn)行。該芯片先將接收到的(G)FSK調(diào)制信號(hào)通過(guò)混頻器混到IF頻率然后輸入給后續(xù)的中頻濾波器和可變?cè)鲆娣糯笃?/u>( PGA )進(jìn)行濾波和放大。處理過(guò)的中頻信號(hào)通過(guò)高性能的sigma-delta ADC轉(zhuǎn)化為數(shù)字域。內(nèi)置的DSP完成濾波、解調(diào)、自動(dòng)增益控制、RSSI檢測(cè)、 數(shù)據(jù)包處理等功能。
芯片內(nèi)部的高精度本地振蕩器LO由sigma-delta Fractional-N 頻率綜合器實(shí)現(xiàn),可同時(shí)用于接收和發(fā)射。傳輸?shù)腇SK數(shù)據(jù)直接調(diào)制進(jìn)入sigma-delta數(shù)據(jù)流,并能被內(nèi)部的高斯濾波器進(jìn)行濾波以降低多余的頻譜分量。
芯片內(nèi)部高效率的class E功率放大器( PA) , 在+ 20dBm輸出功率的條件下,約消耗100mA的電流。PA輸出功率能在-5dBm至+20dBm范圍內(nèi)進(jìn)行配置,配置精度約1dB。PA的開(kāi)啟時(shí)間可由內(nèi)部自動(dòng)傾斜.上升曲線(xiàn)控制以減小PA開(kāi)啟時(shí)刻對(duì)芯片其它模塊的干擾并降低多余的頻譜擴(kuò)展。
芯片支持TX/RX開(kāi)關(guān)控制和天線(xiàn)分集開(kāi)關(guān)控制以擴(kuò)展鏈路范圍和提高性能。芯片內(nèi)部集成低功耗的32KHz振蕩器,可實(shí)現(xiàn)自動(dòng)喚醒功能以降低整體方案的功耗。
.極限值
表2.1 參數(shù)極限值
主要電特性
表3.1 芯片主要電特性
系統(tǒng)結(jié)構(gòu)方框圖
SPI 接口
芯片的所有控制都是通 SPI 接口操作,支持的模式是時(shí)鐘極性為正,相位極性可選,當(dāng)ckpha=1 時(shí),為下降沿采樣,ckpha=0 時(shí),上升沿采樣。
芯片內(nèi)部訪(fǎng)問(wèn)都是以 SPI 讀寫(xiě)寄存器的方式,數(shù)據(jù)格式為字節(jié)方式,在訪(fǎng)問(wèn) FIFO 對(duì)應(yīng)的地址時(shí),可以在一個(gè) SPI_CS 周期內(nèi)按字節(jié)方式連續(xù)的訪(fǎng)問(wèn),SPI 接口控制器會(huì)自動(dòng)增加訪(fǎng)問(wèn)地址。
在沒(méi)有外部晶振時(shí),SPI 接口丌能寫(xiě)數(shù)據(jù),但仍然可以讀寄存器數(shù)據(jù)。
下圖為 SPI 時(shí)序圖
SPI 讀寫(xiě)位:寫(xiě)=0,讀=12,可以用一個(gè) SPI_CS 周期讀寫(xiě)多個(gè)連續(xù)寄存器,芯片會(huì)自動(dòng)增加寄存器地址
SPI 時(shí)序要求表:
1,在訪(fǎng)問(wèn) FIFO 數(shù)據(jù)時(shí),芯片需要 450ns 去找到正確的 FIFO 指針地址
2,在讀FIFO數(shù)據(jù)時(shí),芯片至少需要等450ns,再去讀數(shù)據(jù),讀其它寄存器時(shí)T4min=41.5ns
狀態(tài)機(jī)控制圖及工作模式
工作模式
芯片的主要工作模式(shutdown 模式未包含在內(nèi))
工作模式
芯片的主要工作模式(shutdown 模式未包含在內(nèi))如下表所示:
1、關(guān)斷模式(shutdown)
當(dāng) SDN 輸入為高電平時(shí),芯片迚入關(guān)斷模式,芯片內(nèi)部所有電路迚入關(guān)斷模式,此時(shí)耗電
約為 100nA。
2、空閑狀態(tài)(IDLE)
當(dāng)設(shè)備復(fù)位完成后或者發(fā)送 SIDLE 命令后,設(shè)備迚入空閑狀態(tài),等待 SPI 接口命令再執(zhí)行
其它的動(dòng)作。
3、 睡眠狀態(tài)(SLEEP)
收到 SSLEEP 命令,F(xiàn)SM 迚入 SLEEP 狀態(tài),該狀態(tài)關(guān)閉外部晶振,數(shù)字電源仍打開(kāi)。
只能通過(guò) SPI_CSN=0 來(lái)喚醒。電流消耗較低。
4、關(guān)機(jī)狀態(tài)(STANDBY)
收到 SWOR 命令且 WOR 功能使能或 SPWD 命令時(shí),芯片迚入 STANDBY 狀態(tài),關(guān)閉電源及外部晶振,迚入最低功耗模式,寄存器值仍保持。通過(guò) SPI_CSN=0 時(shí)或者 SWOR事件觸發(fā)時(shí),系統(tǒng)被喚醒,狀態(tài)機(jī)迚入 IDLE 狀態(tài),寄存器值丌丟失。
5、 頻綜打開(kāi)狀態(tài)(FSON)
讓頻綜打開(kāi)后保持在這個(gè)狀態(tài),在頻綜保持狀態(tài)當(dāng)收到 TX/RX 會(huì)馬上迚入 TX/RX 狀態(tài)。
6、發(fā)送數(shù)據(jù)包狀態(tài)(TX)
收到發(fā)射數(shù)據(jù)包命令后,芯片先打開(kāi) PLL 及 VCO,迚行校準(zhǔn),等待至 PLL 達(dá)到要求的發(fā)射頻段,如果自動(dòng)信道檢測(cè)功能打開(kāi),則在迚入發(fā)送包狀態(tài)前先迚行讀該信道的 RSSI 值,如果空閑則迚行發(fā)送數(shù)據(jù)包,如果信道忙,則下個(gè)動(dòng)作可通過(guò)寄存器設(shè)置,是直接退出發(fā)送,還是繼續(xù)檢測(cè) RSSI,直到把數(shù)據(jù)包發(fā)出。當(dāng)數(shù)據(jù)包發(fā)出后,如果自動(dòng)應(yīng)答功能開(kāi)啟則切換到 RX_ACK 狀態(tài),以確定包有沒(méi)有被接收方正確的接收,如果超出寄存器設(shè)定的時(shí)間沒(méi)有收到應(yīng)答包,則迚行重發(fā),重發(fā)最大次數(shù)可寄存器設(shè)置。
7、 接收數(shù)據(jù)包狀態(tài)(RX)
收到接收數(shù)據(jù)命令后,芯片先打開(kāi) PLL 及 VCO,迚行校準(zhǔn),等待至 PLL 達(dá)到要求接收的頻率,啟用接收器電路(LNA,混頻器、及 ADC),再啟用數(shù)字解調(diào)器的接收模式。直到收到接收到一包數(shù)據(jù)完成的指示信號(hào)或者是 SWOR 功能超時(shí)信號(hào),如果是 SWOR 功能超時(shí)信號(hào)狀態(tài),則直接迚入 STANDBY 模式;如果收到一包數(shù)據(jù)完成指示信號(hào)則會(huì)迚入 IDLE狀態(tài),當(dāng) AUTO_ACK 功能開(kāi)啟,先迚行發(fā)送 ACK 包,發(fā)完后再退到 IDLE 狀態(tài)。
8、中斷
芯片能產(chǎn)生兩個(gè)中斷信號(hào),pkt_flag 和 fifo_flag(通過(guò) GPIO_1 配置出來(lái)),該兩個(gè)中斷信號(hào)標(biāo)志位都可讀。Pkt_flag 分為 4 個(gè)功能:前導(dǎo)匹配、同步字匹配、接收或發(fā)送包完成。在 pkt_length_en=1(payload 第 1 個(gè)字節(jié)為包長(zhǎng)度)的情況下,pkt_flag 可設(shè)為同步字匹配 或包完成狀態(tài),默認(rèn)為包完成。在 pkt_length_en=0 時(shí),pkt_flag 表示前導(dǎo)匹配或同步字匹配。在發(fā)送狀態(tài)下表示包完成。
Fifo_flag 表示 FIFO full 或 empty,在發(fā)送模塊時(shí)表示 fifo empty,在接收模式時(shí)表示 fifo full。
8.功能模塊描述
以下部分對(duì)芯片內(nèi)部關(guān)鍵模塊的功能迚行描述
8.1 頻率綜合器
芯片通過(guò)內(nèi)部的頻率綜合器產(chǎn)生精準(zhǔn)的載波頻率。信道頻率由兩種方式設(shè)置:
1)信道號(hào)和組號(hào)查表選出頻率值。
2) 通過(guò)寄存器設(shè)置直接計(jì)算頻率值,計(jì)算式:
f=f0+N*step
N={reg0[6:0]};
step={reg1,reg2,reg3},其中低 20bit 為小數(shù)部分;
f0={reg74,reg75,reg76,reg77},其中低 20bit 為小數(shù)部分,單位是 MHz;
再根據(jù)是發(fā)送還是接收狀態(tài),若是接收狀態(tài)再加或減上一個(gè)中頻的頻偏值。
參考頻率也可以通過(guò)寄存器設(shè)置,默認(rèn)為 16M, ref_freq= {reg70[6:0], reg71, reg72,
reg73}, 其中低 24 位為小數(shù)部分。并且丌同晶振的偏差可通過(guò)設(shè)置參考頻率來(lái)抵消。
8.2 自動(dòng)增益控制(AGC)
對(duì) ADC 的信號(hào)峰值檢測(cè)器可實(shí)現(xiàn)對(duì) LNA 增益和 PGA 增益的最佳調(diào)整,以達(dá)到最優(yōu)化的性能。
8.3 接收信號(hào)強(qiáng)度指示(RSSI)
接收信號(hào)強(qiáng)度指示器(RSSI)是對(duì)接收器調(diào)諧信道中信號(hào)強(qiáng)度的估量。RSSI 測(cè)量必須是在迚入 RX 狀態(tài)下迚行,RSSI 值可通過(guò)寄存器直接讀取。
8.4 自動(dòng)頻率補(bǔ)償(AFC)
因晶體非精確性引起的頻率失諧可通過(guò)啟用接收模式中的數(shù)字自動(dòng)頻率控制(AFC)迚行補(bǔ)償。當(dāng) AFC 啟用時(shí),前導(dǎo)碼長(zhǎng)度需足夠長(zhǎng)以使 AFC 穩(wěn)定。8.5 數(shù)據(jù)處理
1、RX 和 TX FIFO
內(nèi)部實(shí)現(xiàn)了兩個(gè) FIFO, 每個(gè) FIFO 有 128 個(gè)字節(jié),分別作為接收和發(fā)送單獨(dú)使用;也可以用寄存器設(shè)置成兩個(gè) FIFO 連成一個(gè) FIFO,這樣 FIFO 就有 256 個(gè)字節(jié),發(fā)送和接收共用這 256 個(gè)字節(jié) FIFO,但是仍讀寫(xiě)指針仍是發(fā)送和接收分開(kāi)控制。發(fā)送 FIFO 和接收 FIFO 都可以通過(guò)寄存器設(shè)置一個(gè)閥值。當(dāng)觸發(fā)到這相閥值時(shí)會(huì)產(chǎn)生 FIFO_FLAG 標(biāo)志。
當(dāng) TX 時(shí),TX FIFO 中數(shù)據(jù)達(dá)到空閥值時(shí),會(huì)產(chǎn)生 FIFO_FLAG 標(biāo)志,如果這時(shí)有更多數(shù)據(jù)寫(xiě)入到 TX FIFO,TX FIFO 中的數(shù)據(jù)多亍閥值時(shí),F(xiàn)IFO_FLAG 又會(huì)自動(dòng)清除。當(dāng)在 RX時(shí),當(dāng)收到的數(shù)據(jù)達(dá)到滿(mǎn)閥值時(shí),也會(huì)產(chǎn)生 FIFO_FLAG 標(biāo)志,MCU 這時(shí)需要從 RX FIFO讀取數(shù)據(jù),防止 FIFO 溢出。
發(fā)送和接收的讀寫(xiě)指針都可通過(guò)對(duì)相應(yīng)的寄存器寫(xiě)‘1’迚行清零。
接收寫(xiě)指針在接收一幀數(shù)據(jù)開(kāi)始時(shí)自動(dòng)清零。
發(fā)送讀指針在發(fā)送一幀數(shù)據(jù)開(kāi)始時(shí)自動(dòng)清零。
2、數(shù)據(jù)模式
(a)、FIFO 數(shù)據(jù)模式
MCU 需要發(fā)送的數(shù)據(jù)都是通 SPI 接口寫(xiě)入到 TX FIFO 中,在發(fā)送數(shù)據(jù)時(shí)會(huì)自動(dòng)對(duì) FIFO 數(shù)據(jù)迚行打包處理,F(xiàn)IFO 中的數(shù)據(jù)只寫(xiě) payload 部分。在 FIFO 數(shù)據(jù)模式下又分以下幾種情況:
1)第一種方式最常用,payload 長(zhǎng)度由 payload 中的第一個(gè) byte 或第一個(gè) WORD 控制,當(dāng)發(fā)送數(shù)據(jù)達(dá)到時(shí),狀態(tài)機(jī)自動(dòng)退出到 IDLE 狀態(tài),preamble 和 syncword 會(huì)自動(dòng)添加。CRC 也可自動(dòng)計(jì)算然后放在數(shù)據(jù)結(jié)尾。
2)第二種方式,payload 中丌包含數(shù)據(jù)長(zhǎng)度,當(dāng)發(fā)送 FIFO 數(shù)據(jù)空時(shí),狀態(tài)機(jī)退出到 IDLE狀態(tài),發(fā)送時(shí),preamble 和 syncword 可由寄存器設(shè)置是否添加。
3)第三種方式,payload 中丌包含數(shù)據(jù)長(zhǎng)度,且 FIFO 為空時(shí)也丌停止發(fā)送,只能通過(guò)MCU 發(fā) SIDLE 命令退出到 IDLE 狀態(tài)。發(fā)送時(shí),preamble 和 syncword 可由寄存器設(shè)置是否添加。
Preamble 序列為 0101….0101 或 1010….1010。
Syncword 也可由寄存器設(shè)置。
除 preamble 外其它區(qū)域數(shù)據(jù)都是低位先發(fā)送。
Payload 中的數(shù)據(jù)支持?jǐn)?shù)據(jù)白化、FEC、交織編碼。
(b)、直接模式
直接模式即發(fā)送或接收的數(shù)據(jù)丌經(jīng)過(guò) FIFO 及數(shù)據(jù)包處理系統(tǒng),直接通過(guò)芯片引腳輸入或輸入出串行數(shù)據(jù)。
8.6 喚醒定時(shí)器
芯片包含一個(gè)集成喚醒定時(shí)器,可用來(lái)定期從 standby 狀態(tài)喚醒芯片。喚醒定時(shí)器使用內(nèi)部 32K 時(shí)鐘源運(yùn)行。
芯片睡眠的時(shí)間和喚醒后執(zhí)行命令的時(shí)間都可通過(guò)寄存器來(lái)設(shè)置定時(shí)器的值,且定時(shí)器的時(shí)鐘源設(shè)置成 32K 的 2^(0~15)分頻時(shí)鐘。喚醒后執(zhí)行的命令可以設(shè)置成 RX 或 TX。
計(jì)數(shù)器可配置一個(gè)最大值 wortimer_set 和一個(gè)中間值 wor_rxtimer_set,這樣可以方便的產(chǎn)生一個(gè)類(lèi)似 PWM 信號(hào)輸出。Wortimer_set 設(shè)置的整個(gè)的一個(gè)周期時(shí)間,wor_rxtimer_set 設(shè)置喚醒后接收的時(shí)間。
當(dāng)接收到一個(gè)有效的數(shù)據(jù)包后,芯片會(huì)退出自動(dòng)喚醒狀態(tài),同時(shí)給出 PKT_FLAG 標(biāo)志通知 MCU 處理數(shù)據(jù)。
9.典型應(yīng)用電路
審核編輯:湯梓紅
評(píng)論