CMT2300A超低功耗Sub-1GHz射频收发器CopyrightByCMOSTEK特性频率范围:127至1020MHz调制解调方式:OOK,(G)FSK和(G)MSK数据率:0.
5至300kbps灵敏度:-121dBm2.
0kbps,FRF=433.
92MHz-111dBm50kbps,FRF=433.
92MHz电压范围:1.
8至3.
6V发射电流:23mA@13dBm,433.
92MHz,FSK72mA@20dBm,433.
92MHz,FSK,接收电流:8.
5mA@433.
92MHz,FSK支持超低功耗接收模式睡眠电流300nA,DutyCycle=OFF800nA,DutyCycle=ON3-wireSPI接口支持直通及包模式可配置包处理机及64-ByteFIFO不归零,曼切斯特,数据白化编解码支持前向纠错16管脚QFN3x3封装应用自动抄表家居安防及楼宇自动化ISM波段数据通讯工业监控及控制遥控及安防系统遥控钥匙进入无线传感器节点标签读写器订购信息型号频率封装最小启订量CMT2300A-EQR433.
92MHzQFN163,000pcs更多订购信息:见第33页表29描述CMT2300A是一款超低功耗,高性能,适用于各种127至1020MHz无线应用的OOK,(G)FSK射频收发器.
它是CMOSTEKNextGenRFTM射频产品线的一部分,这条产品线包含完整的发射器,接收器和收发器.
CMT2300A的高集成度,简化了系统设计中所需的外围物料.
高达+20dBm及-121dBm的灵敏度优化了应用的链路性能.
它支持多种数据包格式及编解码方式,使得它可以灵活的满足各种应用对不同数据包格式及编解码的需求.
另外,CMT2300A还支持64-byteTx/RxFIFO,丰富的GPIO及中断配置,Duty-Cycle运行模式,信道侦听,高精度RSSI,低电压检测,上电复位,低频时钟输出,手动快速跳频,静噪输出等功能,使得应用设计更加灵活,实现产品差异化设计.
CMT2300A工作于1.
8V至3.
6V.
当达到-121dBm灵敏度的时候仅消耗8.
5mA电流,超低功耗接收模式可以进一步降低芯片的接收功耗;以13dBm输出是仅消耗23mA发射电流.
QFN16(3X3)CMT2300A顶视图CMT2300ARev0.
8|Page2/44www.
cmostek.
com目录1.
电气特性41.
1推荐运行条件.
41.
2绝对最大额定值.
41.
3功耗.
51.
4接收机61.
5发射机71.
6稳定时间.
81.
7频率综合器81.
8晶体.
91.
9低频振荡器91.
10低电压检测91.
11数字接口.
91.
12典型参数图表.
112.
管脚描述163.
典型应用原理图173.
1直接(DirectTie)原理图.
173.
2射频开关(SwitchType)原理图.
184.
功能描述204.
1发射器204.
2接收机214.
3辅助模块.
214.
3.
1晶体振荡器.
214.
3.
2睡眠计时器.
214.
3.
3低电压检测.
214.
3.
4接收信号强度指示器(RSSI)214.
3.
5相位跳变检测(PJD)224.
3.
6快速手动跳频225.
芯片运行235.
1SPI接口235.
2FIFO.
235.
2.
1FIFO读操作.
245.
2.
2FIFO写操作.
245.
2.
3FIFO相关中断.
245.
3工作状态,时序及功耗255.
3.
1启动时序255.
3.
2工作状态265.
4GPIO和中断276.
数据包及包处理机.
306.
1数据包格式30CMT2300ARev0.
8|Page3/44www.
cmostek.
com6.
2数据模式.
306.
2.
1直通模式316.
2.
2包模式.
317.
低功耗运行.
337.
1DutyCycle运转模式.
337.
2超低功耗(SLP)接收模式.
338.
用户寄存器.
358.
1CMT区.
358.
2系统区368.
3频率区368.
4数据率区.
368.
5基带区378.
6发射区378.
7控制1区.
378.
8控制2区.
389.
订购信息3910.
封装信息4011.
顶部丝印4111.
1CMT2300A顶部丝印.
4112.
其它文档4213.
文档变更记录.
4314.
联系信息44CMT2300ARev0.
8|Page4/44www.
cmostek.
com1.
电气特性VDD=3.
3V,TOP=25°C,FRF=433.
92MHz,灵敏度是通过接收一个PN9序列及匹配至50Ω阻抗下,0.
1%BER的标准下测得.
除非另行声明,所有结果都是在评估板CMT2300A-EM上测试得到.
1.
1推荐运行条件表1.
推荐运行条件参数符号条件最小典型最大单位运行电源电压VDD1.
83.
6V运行温度TOP-4085℃电源电压斜率1mV/us1.
2绝对最大额定值表2.
绝对最大额定值[1]参数符号条件最小最大单位电源电压VDD-0.
33.
6V接口电压VIN-0.
33.
6V结温TJ-40125℃储藏温度TSTG-50150℃焊接温度TSDR持续至少30秒255℃ESD等级[2]人体模型(HBM)-22kV栓锁电流@85℃-100100mA备注:[1].
超过"绝对最大额定参数"可能会造成设备永久性损坏.
该值为压力额定值,并不意味着在该压力条件下设备功能受影响,但如果长时间暴露在绝对最大额定值条件下,可能会影响设备可靠性.
[2].
CMT2300A是高性能射频集成电路,对本芯片的操作和装配只应该在具有良好ESD保护的工作台上进行.
警告!
ESD敏感器件.
对芯片进行操作的时候应注意做好ESD防范措施,以免芯片的性能下降或者功能丧失.
CMT2300ARev0.
8|Page5/44www.
cmostek.
com1.
3功耗表3.
功耗规格参数符号条件最小典型最大参数Sleep电流ISLEEP睡眠模式,睡眠计数器关闭300nA睡眠模式,睡眠计数器开启800nAStandby电流IStandby晶体振荡器开启1.
45mARFS电流IRFS433MHz5.
7mA868MHz5.
8mA915MHz5.
8mATFS电流ITFS433MHz5.
6mA868MHz5.
9mA915MHz5.
9mARX电流(高功耗)IRx-HPFSK,433MHz,10kbps,10kHzFDEV8.
5mAFSK,868MHz,10kbps,10kHzFDEV8.
6mAFSK,915MHz,10kbps,10kHzFDEV8.
9mARX电流(低功耗)IRx-LPFSK,433MHz,10kbps,10kHzFDEV7.
2mAFSK,868MHz,10kbps,10kHzFDEV7.
3mAFSK,915MHz,10kbps,10kHzFDEV7.
6mATX电流ITxFSK,433MHz,+20dBm(直连)72mAFSK,433MHz,+20dBm(RF开关)77mAFSK,433MHz,+13dBm(直连)23mAFSK,433MHz,+10dBm(直连)18mAFSK,433MHz,-10dBm(直连)8mAFSK,868MHz,+20dBm(直连)87mAFSK,868MHz,+20dBm(RF开关)80mAFSK,868MHz,+13dBm(直连)27mAFSK,868MHz,+10dBm(直连)19mAFSK,868MHz,-10dBm(直连)8mAFSK,915MHz,+20dBm(直连)70mAFSK,915MHz,+20dBm(RF开关)75mAFSK,915MHz,+13dBm(直连)28mAFSK,915MHz,+10dBm(直连)19mAFSK,915MHz,-10dBm(直连)8mACMT2300ARev0.
8|Page6/44www.
cmostek.
com1.
4接收机表4.
接收器规格参数符号条件最小典型最大参数数据率DROOK0.
540kbpsFSK和GFSK0.
5300kbps频偏FDEVFSK和GFSK2200kHz灵敏度@433MHzS433-HPDR=2.
0kbps,FDEV=10kHz-121dBmDR=10kbps,FDEV=10kHz-116dBmDR=10kbps,FDEV=10kHz(低功耗设置)-115dBmDR=20kbps,FDEV=20kHz-113dBmDR=20kbps,FDEV=20kHz(低功耗设置)-112dBmDR=50kbps,FDEV=25kHz-111dBmDR=100kbps,FDEV=50kHz-108dBmDR=200kbps,FDEV=100kHz-105dBmDR=300kbps,FDEV=100kHz--103dBm灵敏度@868MHzS868-HPDR=2.
0kbps,FDEV=10kHz-119dBmDR=10kbps,FDEV=10kHz-113dBmDR=10kbps,FDEV=10kHz(低功耗设置)-111dBmDR=20kbps,FDEV=20kHz-111dBmDR=20kbps,FDEV=20kHz(低功耗设置)-109dBmDR=50kbps,FDEV=25kHz-108dBmDR=100kbps,FDEV=50kHz-105dBmDR=200kbps,FDEV=100kHz-102dBmDR=300kbps,FDEV=100kHz-99dBm灵敏度@915MHzS915-HPDR=2.
0kbps,FDEV=10kHz-117dBmDR=10kbps,FDEV=10kHz-113dBmDR=10kbps,FDEV=10kHz(低功耗设置)-111dBmDR=20kbps,FDEV=20kHz-111dBmDR=20kbps,FDEV=20kHz(低功耗设置)-109dBmDR=50kbps,FDEV=25kHz-109dBmDR=100kbps,FDEV=50kHz-105dBmDR=200kbps,FDEV=100kHz-102dBmDR=300kbps,FDEV=100kHz--99dBm饱和输入电平PLVL20dBm镜像抑制比IMRFRF=433MHz35dBcFRF=868MHz33dBcFRF=915MHz33dBc接收信道带宽BW接收信道带宽50500kHz同信道干扰抑制比CCRDR=10kbps,FDEV=10kHz;带相同调制的干扰-7dBc邻信道干扰抑制比ACR-IDR=10kbps,FDEV=10kHz;BW=100kHz,200kHz信道间隔,带相同调制的干扰30dBc隔道干扰抑制比ACR-IIDR=10kbps,FDEV=10kHz;BW=100kHz,400kHz信道间隔,带相同调制的干扰45dBcCMT2300ARev0.
8|Page7/44www.
cmostek.
com参数符号条件最小典型最大参数阻塞抑制比BIDR=10kbps,FDEV=10kHz;±1MHz偏移,连续波干扰70dBcDR=10kbps,FDEV=10kHz;±2MHz偏移,连续波干扰72dBcDR=10kbps,FDEV=10kHz;±10MHz偏移,连续波干扰75dBc输入3阶交调点IIP3DR=10kbps,FDEV=10kHz;1MHz和2MHz偏移的双音测试,最大系统增益设置-25dBmRSSI测量范围RSSI-12020dBm灵敏度433.
92MHz,DR=1.
2kbps,FDEV=5kHz-122.
9dBm433.
92MHz,DR=1.
2kbps,FDEV=10kHz-121.
8dBm433.
92MHz,DR=1.
2kbps,FDEV=20kHz-119.
5dBm433.
92MHz,DR=2.
4kbps,FDEV=5kHz-120.
6dBm433.
92MHz,DR=2.
4kbps,FDEV=10kHz-120.
3dBm433.
92MHz,DR=2.
4kbps,FDEV=20kHz-119.
7dBm433.
92MHz,DR=9.
6kbps,FDEV=9.
6kHz-116.
0dBm433.
92MHz,DR=9.
6kbps,FDEV=19.
2kHz-116.
1dBm433.
92MHz,DR=20kbps,FDEV=10kHz-114.
2dBm433.
92MHz,DR=20kbps,FDEV=20kHz-113.
0dBm433.
92MHz,DR=50kbps,FDEV=25kHz-110.
6dBm433.
92MHz,DR=50kbps,FDEV=50kHz-109.
0dBm433.
92MHz,DR=100kbps,FDEV=50kHz-107.
8dBm433.
92MHz,DR=200kbps,FDEV=50kHz-103.
5dBm433.
92MHz,DR=200kbps,FDEV=100kHz-104.
3dBm433.
92MHz,DR=300kbps,FDEV=50kHz-98.
0dBm433.
92MHz,DR=300kbps,FDEV=150kHz-101.
6dBm1.
5发射机表5.
发射机规格参数符号条件最小典型最大参数输出功率POUT不同的频段需要特定的外围物料-20+20dBm输出功率步进PSTEP1dBGFSK高斯滤波系数BT0.
30.
51.
0-不同温度下输出功率变化POUT-TOP温度从-40至+85C1dB发射杂散辐射POUT=+13dBm,433MHz,FRF=1000,Addr=0x61)阶段,等待MCU通过SPI发送让芯片切换到SLEEP或Standby模式的命令.
4.
3.
4接收信号强度指示器(RSSI)RSSI用于评估调谐的信道内的信号的强度的.
级联I/Q对数放大器在信号送入解调器之前将其放大.
I路和Q路的对数放大器内部包含了接收信号指示器,其产生的DC电压与输入信号强度成正比.
RSSI的输出结果是两路信号值的和,从灵敏度附近延伸80dB动态范围.
信号强度通过ADC采样以后,经过平滑滤波得到较为平滑的RSSI值.
滤波阶数可以通过RSSI_AVG_MODE(Addr=0x16)来设定.
滤波之后将码值转化为dBm值,用户可以通过读取寄存器获得相应的RSSI码值(RSSI_CODE,CMT2300ARev0.
8|Page22/44www.
cmostek.
comAddr=0x6F)或dBm值(RSSI_DBM,Addr=0x70).
CMT2300A芯片所提供的RSSI可以满足用户一般情况下的定性分析需求,,若需要定量分析,需要更精准的RSSI测量结果,用户需要在实际的方案中做生产校准,具体使用方法请用户参照相关的AN文档.
4.
3.
5相位跳变检测(PJD)PJD是指PhaseJumpDetector.
在芯片进行FSK解调的时候,可用通过观察接收信号的跳变特性,来决定进来的是噪声还是有用信号.
PJD认为输入信号从0到1或者从1到0切换就是一次相位跳变,用户仅仅需要去配置PJD_WIN_SEL(Addr=0x17),来告诉PJD需要检测多少次信号跳变才能输出判断结果.
图5.
接收信号跳变图如果上图所示,一共接收了8个symbol,但是跳变只出现了6次,因此跳变数并不能等同于symbol数量.
只有在接收preamble时,跳变数才等同于symbol数.
用户需要注意这一点.
PJD可以用于实现超低功耗(SLP)接收模式.
总的来说,PJD跳变次数越多,判断结果越可靠;越少,就越快完成.
如果接收的时间窗口很小,那么就需要将检测次数减少来满足窗口设置的要求.
一般来说,跳变次数是4次就已经可以达到比较可靠的检测效果,即不会将噪声误判为有用信号,有用信号来的时候不会检测不到.
4.
3.
6快速手动跳频在需要多信道的应用当中,用户不需要每次改变频率就配置复杂的寄存器,而只需要在基础频率上配置一个寄存器就可以实现.
基础频点一般来说,用户可以先在上电初始化配置的阶段,将FH_OFFSET(Addr=0x64)设置好,然后在应用中通过不停地改动FH_CHANNEL(Addr=0x63)来切换频道就可以.
CMT2300ARev0.
8|Page23/44www.
cmostek.
com5.
芯片运行5.
1SPI接口MCU和芯片之间的通讯是通过4线SPI接口进行的.
低有效的CSB意味着MCU要访问芯片的寄存器.
低有效的FCSB意味着MCU要访问芯片的FIFO.
CSB和FCSB不能同时为低.
SCLK是串口时钟.
对于MCU和芯片,数据总是在SCLK的下降沿发射,上升沿采样.
SDIO是一个双向的数据管脚.
地址和数据总是从MSB开始发送.
当访问寄存器的时候,需要发一个R/W(读/写)位,随后是7位寄存器地址.
在送入R/W位之前,MCU必须将CSB拉低至少半个SCLK周期.
当发送最后一个SCLK下降沿以后,MCU必须至少等待半个SCLK周期才能再将CSB拉高.
图6.
SPI读寄存器时序图7.
SPI写寄存器时序5.
2FIFOFIFO用来在Rx模式中存储接收数据,在Tx模式中存储即将发射的数据.
FIFO可以通过SPI接口读取.
用户可以通过设置FIFO_CLR_TX/RX(Addr=0x6C)位来清空FIFO.
并且,用户可以通过设置FIFO_RESTORE来重复发射之前填入的数据,无需重新填入数据.
通过设置寄存器FIFO_MERGE_EN(Addr=0x69),用户可以选择是使用一个32字节FIFO专门用于Rx模式和另一个32字节FIFO专门用于Tx模式,还是通过合并2个32字节FIFO成为1个64字节FIFO后用于Tx或者Rx模式.
当FIFO是64字节的时候,它表示能存入芯片的最大字节数为64字节.
如果没有使用合并,当32字节RXFIFO被填入时,用户可以同时为下一次发射填入32字节的TxFIFO,以节省系统操作时间.
CMT2300ARev0.
8|Page24/44www.
cmostek.
com5.
2.
1FIFO读操作当从FIFO读取数据时,每读一个字节,内部读指针就会自动增加1.
MCU必须将FCSB拉低一个SCLK周期才能释放第一个SCLK的上升沿.
在发出最后一个SCLK下降沿以后,MCU必须等待至少2us才能将FCSB拉回高电平.
并且,在读取FIFO的下一个字节之前,FCSB需要拉高至少4us.
它使得芯片可以根据现状产生相应的FIFO中断.
图8.
SPI读取FIFO时序5.
2.
2FIFO写操作当写入FIFO的时候,每写入一个字节,内部读指针就会自动增加1.
SDIO上的数据在SCLK的上升沿采集.
MCU必须将FCSB拉低一个SCLK周期才能释放第一个SCLK的上升沿.
在发出最后一个SCLK下降沿以后,MCU必须等待至少2us才能将FCSB拉回高电平.
并且,在写入FIFO的下一个字节之前,FCSB需要拉高至少4us.
它使得芯片可以根据现状产生相应的FIFO中断.
图9.
SPI写入FIFO时序5.
2.
3FIFO相关中断CMT2300A提供了丰富的与FIFO相关的中断源,作为芯片高效的运作的辅助手段,其中Rx和Tx相关的FIFO中断时序如下图所示.
CMT2300ARev0.
8|Page25/44www.
cmostek.
com图10.
CMT2300ARXFIFO中断时序示意图图11.
CMT2300ATXFIFO中断时序示意图5.
3工作状态,时序及功耗5.
3.
1启动时序芯片在VDD上电后,通常需要等待大概1ms的时间,POR才会释放.
POR释放之后,晶体也会启动,启动时间默认为Nms,根据晶体本身特性而定;启动后需要等待晶体稳定系统才能开始工作,默认设置的稳定时间是2.
48ms,这个时间在后面可以通过写入XTAL_STB_TIME(Addr=0x0E)进行修改.
在晶体稳定之前,芯片都会停留在IDLE状态.
在晶体的稳定之后,芯片就会离开IDLE,开始做各个模块的校正.
芯片完成校正后就会停留在SLEEP,等待用户进行初始化配置.
在任何时候,只要进行复位,芯片就会回到IDLE并重新进行一次上电流程.
图12.
上电时序当校准完成后芯片进入SLEEP模式,从这时开始,MCU可以通过设置寄存器CHIP_MODE_SWT(Addr=0x60)将芯片切换至不同的运行状态.
CMT2300ARev0.
8|Page26/44www.
cmostek.
com5.
3.
2工作状态CMT2300A一共有7种工作状态:IDLE,SLEEP,STBY,RFS,RX,TFS和TX,如下表所列表16.
CMT2300A状态和模块开启表状态二进制码切换命令开启模块可选择开启模块IDLE0000soft_rstSPI,POR无SLEEP0001go_sleepSPI,POR,FIFOLFOSC,SleepTimerSTBY0010go_stbySPI,POR,XTAL,FIFOCLKORFS0011go_rfsSPI,POR,XTAL,PLL,FIFOCLKOTFS0100go_tfsSPI,POR,XTAL,PLL,FIFOCLKORX0101go_rxSPI,POR,XTAL,PLL,LNA+MIXER+IF,FIFOCLKO,RXTimerTX0110go_txSPI,POR,XTAL,PLL,PA,FIFOCLKO图13.
状态切换图SLEEP状态在SLEEP下芯片的功耗是最低的,几乎所有的模块都关闭了.
SPI是开启的,配置区和控制区1的寄存器可以被访问,FIFO之前被填入的内容,也会保持不变,但是FIFO不能被操作.
如果用户打开了定时唤醒的功能,那么LFOSC和睡眠计数器就会开启并工作.
从IDLE切换到SLEEP所需要的时间就是上面介绍的上电流程时间.
从其余状态切换到SLEEP都会立即完成.
STBY状态在STBY下,晶体开启了,数字电路的LDO也会开启,电流会稍微增加,FIFO可以被操作.
用户可以选择是否输出CLKO(系统时钟)到GPIOn引脚上.
由于晶体以及开启,所以相比起SLEEP,从STBY切换到发射或者接收所需要的时间都会比较短.
从SLEEP切换到STBY需要等待晶体开启和稳定的时间后才能完成.
从其他状态切换到STBY会立即完成.
CMT2300ARev0.
8|Page27/44www.
cmostek.
comRFS状态RFS是切换到RX之前的一个过渡状态,除了接收机的RF模块是关闭之外,其它模块都开启了,电流会比STBY大.
由于在RFS的时候,PLL已经锁定在RX的频点了,所以不能切换到TX.
从STBY切换到RFS大概需要350us的PLL校正和稳定时间,从SLEEP切换到RFS就需要加上晶体启动和稳定的时间,从其它状态切换到RFS会立即完成.
TFS状态TFS是切换到TX之前的一个过渡状态,除了发射机的RF模块是关闭之外,其它模块都开启了,电流会比STBY大.
由于在TFS的时候,PLL已经锁定在TX的频点了,所以不能切换到RX.
从STBY切换到TFS大概需要350us的PLL校正和稳定时间,从SLEEP切换到TFS就需要加上晶体启动和稳定的时间,从其它状态切换到TFS会立即完成.
RX状态在RX所有关于接收机的模块都会打开.
从RFS切换到RX只需要20us.
从STBY切换到RX需要加上350us的PLL校正和稳定时间.
从SLEEP切换到RX需要加上晶体启动和稳定的时间.
在TX可以通过发送go_switch命令来快速切换到RX,无论TX和RX设置的频点是否相同,都需要等待350us的PLL重新校正和稳定时间才能切换成功.
TX状态在TX所有关于发射机的模块都会打开.
从TFS切换到TX只需要20us.
从STBY切换到TX需要加上350us的PLL校正和稳定时间.
从SLEEP切换到TX需要加上晶体启动和稳定的时间.
在RX可以通过发送go_switch命令来快速切换到TX,无论RX和TX设置的频点是否相同,都需要等待350us的PLL重新校正和稳定时间才能切换成功.
需要注意的是,RX和TX状态之间的直接切换只能用go_switch.
5.
4GPIO和中断CMT2300A有3个GPIO,每个GPIO都可以配置成不同的输入或者输出;CMT2300A有2个中断口,可以配置到不同的GPIO输出.
表17.
CMT2300AGPIO管脚号名字I/O功能16GPIO1IO可配置为:DOUT/DIN,INT1,INT2,DCLK(TX/RX),RF_SWT15GPIO2IO可配置为:INT1,INT2,DOUT/DIN,DCLK(TX/RX),RF_SWT8GPIO3IO可配置为:CLKO,DOUT/DIN,INT2,DCLK(TX/RX)下面给出中断映射表,INT1和INT2的映射是一样的,下面以INT1为例说明CMT2300ARev0.
8|Page28/44www.
cmostek.
com表18.
CMT2300A中断映射表名称INT1_SEL描述清除方式RX_ACTIVE00000指示准备进入RX和已经进入RX的中断,在PLL校正和RX状态下为1,其余时候为0.
AutoTX_ACTIVE00001指示准备进入TX和已经进入TX的中断,在PLL校正和TX状态下为1,其余时候为0.
AutoRSSI_VLD00010指示RSSI是否有效的中断AutoPREAM_OK00011指示成功收到Preamble的中断byMCUSYNC_OK00100指示成功收到SyncWord的中断byMCUNODE_OK00101指示成功收到NodeID的中断byMCUCRC_OK00110指示成功收到并通过CRC校验的中断byMCUPKT_OK00111指示完整收到一个数据包的中断byMCUSL_TMO01000指示SLEEP计数器超时的中断byMCURX_TMO01001指示RX计数器超时的中断byMCUTX_DONE01010指示TX完成的中断byMCURX_FIFO_NMTY01011指示RXFIFO非空的中断AutoRX_FIFO_TH01100指示RXFIFO未读内容超过FIFOTH的中断AutoRX_FIFO_FULL01101指示RXFIFO填满的中断AutoRX_FIFO_WBYTE01110指示RXFIFO每写入一个BYTE的中断,是脉冲AutoRX_FIFO_OVF01111指示RXFIFO溢出的中断AutoTX_FIFO_NMTY10000指示TXFIFO非空的中断AutoTX_FIFO_TH10001指示TXFIFO未读内容超过FIFOTH的中断AutoTX_FIFO_FULL10010指示TXFIFO满的中断AutoSTATE_IS_STBY10011指示当前状态是STBY的中断AutoSTATE_IS_FS10100指示当前状态是RFS或TFS的中断AutoSTATE_IS_RX10101指示当前状态是RX的中断AutoSTATE_IS_TX10110指示当前状态是TX的中断AutoLBD10111指示低电压检测有效(VDD低于设置的TH)的中断AutoTRX_ACTIVE11000指示准备进入RX或者RX和已经进入RX或者TX的中断,在PLL校正,RX状态,或TX状态下为1,其余时候为0.
AutoPKT_DONE11001指示当前的数据包已经接收完成,会有下面4种情况:1.
完整地接收到整个数据包2.
曼切斯特解码错误,解码电路自动重启3.
NODEID接收错误,解码电路自动重启4.
发现信号冲突,解码电路不自动重启,等待MCU处理byMCU中断默认是1有效,但是可以通过将INT_POLAR(Addr=0x66)这个寄存器比特设置成1,使所有中断都变成0有效.
下面还是以INT1为例,画出了所有中断源的控制和选择图.
对于控制和映射来说,INT1和INT2也是一样的.
CMT2300ARev0.
8|Page29/44www.
cmostek.
com图14.
CMT2300AINT1中断映射图CMT2300ARev0.
8|Page30/44www.
cmostek.
com6.
数据包及包处理机6.
1数据包格式CMT2300A采用了TX和RX统一配置,比较典型,比较灵活的包格式,可以分为可变包(Length在NodeID前面),可变包(Length在NodeID后面)和固定包三种,分别如下:图15.
可变包(Length在NodeID前面)图16.
可变包(Length在NodeID后面)图17.
固定包6.
2数据模式数据模式(DataMode)指的外部MCU通过什么模式来输入发射数据或获取接收数据,CMT2300A支持直通模式和包模式两种,区别如下.
Direct–直通模式,仅支持preamble和sync检测,FIFO不工作Packet–包模式,支持所有包格式配置,FIFO工作CMT2300ARev0.
8|Page31/44www.
cmostek.
com6.
2.
1直通模式图18.
直通模式的数据通路Rx处理在直通模式中,数据从解调器的输出直接通过DOUT发送到外部MCU,DOUT可以设置为GPIO1,2或3.
典型的直通模式的Rx工作顺序如下.
1.
通过CUS_IO_SEL(Addr=0x65)寄存器配置GPIOs.
2.
配置DATA_MODE=0(Addr=0x38).
3.
发送go_rx命令.
4.
连续地从DOUT捕获接收数据.
5.
发送go_sleep/go_stby/go_rfs命令以节省功耗Tx处理直通模式下,待发射的数据直接由外部MCU通过芯片的DIN送入芯片,数据率只要在芯片使用规范内都可以由MCU指定.
而如果是用GFSK的调制方式的话,需要提前配置芯片的数据率,并且MCU发射的数据率在指定的容差范围之内.
典型的直通模式的Tx工作顺序如下.
1.
将寄存器TX_DIN_EN(Addr=0x69)设为1来使能GPIO的DIN功能.
2.
设TX_DIN_SEL(Addr=0x69)为0来配置GPIO1为DIN,或1来配置GPIO2为DIN.
3.
用逻辑0或1驱动DIN.
4.
发送go_tx命令,芯片开始发送DIN上面的数据.
5.
持续发送数据到DIN上,数据立即被发送出去.
6.
发送go_sleep/go_stby/go_rfs命令来节省功耗.
6.
2.
2包模式图19.
包模式的数据通路CMT2300ARev0.
8|Page32/44www.
cmostek.
comRx处理在包模式中,从解调器输出的数据会先被移送至包处理机中进行解码,然后填入FIFO.
包处理机提供多种解码引擎和判断数据有效性的选项,这些可以减轻用户的MCU资源.
典型的包模式的Rx工作顺序如下.
1.
通过CUS_IO_SEL(Addr=0x65)配置GPIO.
2.
通过CUS_INT1_CTL(Addr=0x66),CUS_INT2_CTL(Addr=0x67)和CUS_INT_EN(Addr=0x68)设置中断.
3.
发送go_rx命令.
4.
根据相关的中断状态读取FIFO.
5.
发送go_sleep/go_stby/go_rfs命令以节省功耗.
6.
通过CUS_INT_CLR1/2(Addr=0x6A/B)清楚包中断状态.
Tx处理在包模式中,MCU可以提前将数据在STBY和TFS的状态下填入FIFO中,或者在芯片发送数据的同时写入FIFO,或者以上两种方法的结合.
典型的包模式的Tx工作顺序如下.
1.
通过CUS_IO_SEL(Addr=0x65)配置GPIO.
2.
在有数据需要提前装入FIFO的时候发送go_stby/go_tfs命令.
3.
发送go_tx命令.
4.
在相应的中断状态中将数据写入FIFO.
5.
发送go_sleep/go_stby/go_rfs命令以节省功耗.
低功耗运行CMT2300ARev0.
8|Page33/44www.
cmostek.
com7.
低功耗运行7.
1DutyCycle运转模式CMT2300A通过配置相关寄存器使得芯片的Tx和Rx工作于dutycycle运转模式以节省芯片功耗.
其中,RX的DutyCycle模式可以分为以下5种模式.
1.
全手动控制2.
自动SLEEP唤醒3.
自动SLEEP唤醒,自动进入RX4.
自动SLEEP唤醒,自动退出RX5.
全自动接收TX的DutyCycle可以分为以下3种模式.
1.
自动退出TX2.
自动SLEEP唤醒,自动退出TX3.
全自动发射7.
2超低功耗(SLP)接收模式CMT2300A提供了一系列的选项,能够帮助用户在不同的应用需求下实现超低功耗(SLP–SupperLowPower)的接收.
这些选项都必须在RX_TIMER_EN被设置为1,即RX计时器有效的时候才会生效.
SLP接收的核心内容是如何让接收机在无信号的时候尽量缩短RX的时间,在有信号的时候又能够恰当地延长RX的时间进行接收,最终达到功耗最小化并稳定接收的效果.
传统的短距离无线收发系统,一般都会以下面这种基本的方案实现低功耗收发.
CMT2300A同样兼容这种方案,并且在这个基础上扩展出13种更加节省功耗的方案.
下面先介绍一下最基本的方案,即将RX_EXTEND_MODE设置为0时就可以实现的方案.
图20.
基本的低功耗收发方案传统低功耗收发方案以及在此基础上延伸的13种低功耗方案罗列如下表.
CMT2300ARev0.
8|Page34/44www.
cmostek.
com表19.
低功耗收发模式编号RX的延长方式RX的延长条件0如果配置成0,就不做任何延长,T1计时结束就离开RX无1T1内一旦满足检测条件,就离开T1,将控制权交给MCURSSI_VLD有效2PREAM_OK有效3RSSI_VLD与PREAM_OK同时有效4T1内只要检测到RSSI有效,就退出T1并一直处于RX,直到RSSI不满足就退出RXRSSI_VLD有效5T1内一旦满足检测条件,就切换到T2,T2计时结束后就退出RXRSSI_VLD有效6PREAM_OK有效7RSSI_VLD与PREAM_OK同时有效8PREAM_OK或SYNC_OK任意一个有效9PREAM_OK或NODE_OK任意一个有效10PREAM_OK或SYNC_OK或NODE_OK任意一个有效11T1内一旦满足检测条件,就切换到T2,T2内一旦检测到SYNC就退出T2并将控制权交给MCU,否则T2计时结束后就退出RXRSSI_VLD有效12PREAM_OK有效13RSSI_VLD与PREAM_OK同时有效表格里面提到的T1和T2分别是指可用寄存器设定的RXT1和T2时间窗口.
具体的低功耗方案的设置方法请参照相关的技术文档.
CMT2300ARev0.
8|Page35/44www.
cmostek.
com8.
用户寄存器下面给出寄存器的列表,关于寄存器的具体使用,请参照AN146CMT2300A使用手册.
这些寄存器分区中,除了控制2区不可再SLEEP下访问以外,其他皆可以在SLEEP底下访问.
表20.
寄存器分区地址范围名称RFPDK备注0x00~0x0B配置区(该区配置值可以通过RFPDK软件的Export功能导出)内部参数区CMTBank由RFPDK导出,不建议客户修改0x0C~0x17系统运作区SystemBank该区域主要牵涉DutyCycle工作配置0x18~0x1F频率配置区FrequencyBank该区域是配置收发工作频率0x20~0x37数据率区DataRateBank该区域是关联通讯速率以及针对该速率和发射频偏对应的接收配置(即接收解调/带宽关联)0x38~0x54基带区BasebandBank该区域主要涉及数据包结构(编码格式、报文结构、校验、纠错、同步字等)0x55~0x5F发射参数区TXBank该区域主要牵涉发射频偏和发射功率部分0x60~0x6A控制区1(根据MCU需求配置,不由RFPDK生成)--工作状态、跳频配置、GPO配置、中断源开关等0x6B~0x71控制区2(根据MCU需求配置,不由RFPDK生成)--中断源标志、FIFO控制、RSSI测量等8.
1CMT区CMT区主要存放产品相关的信息和其他的功能寄存器,并且还包含一些芯片内部使用的寄存器.
digital-vm怎么样?digital-vm在今年1月份就新增了日本、新加坡独立服务器业务,但是不知为何,期间终止了销售日本服务器和新加坡服务器,今天无意中在webhostingtalk论坛看到Digital-VM在发日本和新加坡独立服务器销售信息。服务器硬件是 Supermicro、采用最新一代 Intel CPU、DDR4 RAM 和 Enterprise Samsung SSD内存,默认...
触摸云触摸云(cmzi.com),国人商家,有IDC/ISP正规资质,主营香港线路VPS、物理机等产品。本次为大家带上的是美国高防2区的套餐。去程普通线路,回程cn2 gia,均衡防御速度与防御,防御值为200G,无视UDP攻击,可选择性是否开启CC防御策略,超过峰值黑洞1-2小时。最低套餐20M起,多数套餐为50M,适合有防御型建站需求使用。美国高防2区 弹性云[大宽带]· 配置:1-16核· ...
无忧云官网无忧云怎么样 无忧云服务器好不好 无忧云值不值得购买 无忧云,无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免北岸建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高...