ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:831.11KB ,
资源ID:10971752      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-10971752.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Si4463芯片使用小结.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Si4463芯片使用小结.docx

1、Si4463芯片使用小结Si4463芯片使用小结Si4463芯片使用小结一、芯片介绍 Silicon Labs 的 Si4463芯片是高性能的低电流收发器,其覆盖了 119MHz 至 1050 MHz 的 Sub-1GHz频段。还是 EZRadioPRO 系列的一部分,该系列包含覆盖各种应用的完整发射器、接收器和收发器产品线。所有器件都具有杰出的灵敏度 -126 dBm,同时实现了极低的活动和休眠电流消耗。二、功能实现1、引脚说明Si4463有20个引脚,主要引脚功能可以分为两大类:硬件引脚和软件引脚。硬件引脚主要由电源、射频部分组成,软件引脚主要分为SPI、CTS也是其中一种命令。命令内容详

2、情可参阅Siliconlabs官方文档“AN633.pdf”读数据流程如下:图 读数据有部分命令是读取命令,写完命令后可读出该命令规定的相应字节数据,如上图,SDI在写完0x44读取到CTS信号后,写入0x00(空操作命令)来读取回复字,切忌用有效命令操作(会导致数据异常)!2)初始化Si4463不支持上电自动复位功能,因此每次上电后都需认为给出初始化操作,具体可参见下述代码:void SI446X_RESET( void ) /Si4463复位函数 SI_SDN_HIGH( ); /SDN引脚拉高,芯片关断 waitus(10); /延时10us SI_SDN_LOW( ); /SDN引脚拉

3、低,芯片使能 SI_nSEL_HIGH( ); /nSEL引脚拉高,禁止SPI片选,释放SPI waitms(5); /延时5ms,芯片自动复位在芯片重新复位后可以对芯片进行相应的配置。写配置信息有两种方式,其一查询器件手册,对每一个寄存器进行直接配置;其二,按顺序写入配置信息数组,该数组在头文件中进行定义,而头文件可由Siliconlabs公司的配置软件WDS生成。我们选择方法二,具体操作后面细述。uint8 Si4463_init( void ) SI446X_RESET( ); /SI446X 模块复位 SI446X_CONFIG_INIT( ); /SI446X 模块初始化配置函数 S

4、I446X_INT_STATUS( Si446x_CMD_Buf ); /清除中断状态 SI446X_EN_INT(SI446X_INT_STAUS); /使能中断 SI446X_START_RX( Rx_channel, 0, PACKET_LENGTH,0,0,3 ); /开接收 return (Si4463_diagnose(); /读取芯片状态,返回芯片信息3)发送模式发送函数比较简单,在初始化结束后只需填数据至TXFIFO,并使能发送,Si4463会自动完成发送功能,在发送完成后产生中断信号(nIRQ引脚)或置位中断状态寄存器,因此在程序实现中可以采用查询方式或中断方式实现发送,具体

5、流程如下:发送函数流程图4)接收模式 接收模式与发送类似也有两种方式可以实现,从产品角度或MCU资源方面考虑,一般不选用查询方式,5)休眠模式Si4463低功耗有两种方式:休眠模式以及关断模式,两者的功耗分别为30nA和50nA。休眠模式以关断模式之间的主要区别在于寄存器状态,关断后所有寄存器数据丢失,重新上电需要再次初始化,而休眠模式能够保持,具体使用可根据实际需求自行选择。至于程序操作,这两种方式都较为简单:关断只需将SDN引脚拉高;休眠需执行寄存器操作: void SI446X_CHANGE_STATE( uint8 state) /改变芯片状态 uint8 cmd2; cmd0 = C

6、HANGE_STATE; /芯片状态 cmd1 = state&0x0F; SI446X_CMD( cmd, 2 );三、配置说明 Si4463的参数配置主要采用WDS软件进行配置,设置好相应的内容后生成一个参数宏定义的头文件,在程序中只需将该头文件中的参数以相应的命令写入射频芯片即可完成配置。 第一步 选择模拟方式 第二步 选择芯片 第三步 选择配置模式 第四步 配置界面 1、频率和功率 图中标注的几处为必须配置的参数,具体参数芯片数据手册。2、RF参数接收端的调制方式、速率、频偏以及带宽必须与发射端匹配,否则无法接收3、数据包参数数据包主要有引导码、同步字、数据域以及CRC构成,每项都可选

7、可去,为保证数据可靠接收,同时减少不必要的数据接收,引导码和同步字就十分必要,这两部分中的内容可以自由配置,此处就不细述,具体可参见芯片数据手册以及WDS使用指南。数据域有几种模式,可单域也可多域,一般选用变长发送模式时采用双域,前一域帧长,后一域数据。CRC模式也可采用分域校验和整体校验,一般选用整体,最后两个直接为CRC结果校验由硬件完成,校验通过标志可通过配置设定在这两个直接中任意直接的高位或低位。4、中断配置芯片有一个中断引脚,可对应3个中断寄存器,共计22中不同中断状态。在正常发送、接收中一般只用以下3个中断:发送完成、接收、CRC异常,其余中断对应的具体说明可参见芯片用户指导。5、

8、GPIO和快速寄存器配置 Si4463有4个GPIO引脚外加一个NIRQ和SDO引脚可进行自由配置,具体功能参见用户指导,一般会选用两个引脚作为射频开关的控制引脚,如下图:快速寄存器主要用于快速读出芯片的某些状态或寄存器值,相对于直接操作普通寄存器,速度要更快,更节省MCU资源,具体配置可根据实际使用进行配置,如RSSI、芯片工作状态等都是比较常用的。四、问题总结1、发送功率与功耗 Si4463的发送功率可调,功率越大功耗自然越大,尤其是超过15dBm后发射功率每增加一点,功耗会增加很多,下图是理论参数(横坐标是电流):实际使用中发现模块功率很难达到20dBm,经过测试排查,发现发射功率受供电

9、电压影响也较大,下图是最大发射功率与供电电压之间的关系:这也就是造成我们传感器电源波动测试中发射功率不足的主要原因。2、发射死机问题2.1现象无线模块(加天线)在以20dBm发送时出现发送失败现象,程序死在等待发送完成处,接收端无法收到数据;去除天线,以任何功率、速率都能成功发射;降低发送功率,低于10dBm时也能正常发射;模块选用的是32M晶振,程序配置成30M时能发射且不死(中心频率有一定偏移)出现假死现象概率很高,最频繁时能达到每45个包就挂一次!2.2、测试1)不加天线20dBm发送时SPI波形2)加天线时20dBm发射SPI波形(异常) 读取CTS时每次都回复 0x00。2.3 问题分析加上天线后射频芯片处于大功率工作状态,发送数据时采用查询方式进行扫描发送完成,及易导致射频芯片操作异常,尤其是还存在中断操作,故芯片死机概率较高。2.4 解决方案:方案一:整个程序中在写操作Si4463时不允许被中断(禁止中断),并且增加异常监测,连续发射异常或超时后需重新初始化射频芯片。此方案能够解决这以问题,但是对整个产品来说牺牲是很大的,禁止中断完全有可能导致各种异常,故不是最佳方案。方案二:采用中断方式监测发送完成、接收等状态,产生相应中断后再读取状态,尽量避免持续操作射频芯片,但同时也需要增加芯片异常监测。实测该方案完全避免了模块死机问题,属于较为理想的方案。3、其他 后续补充

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2