【经验】浅析将射频发射器Si4010保存数据到内部EEPROM的方法
我们在使用SILICON LABS的Si4010芯片开发产品的时候,有时候需要将某些数据保存到Si4010芯片内部的EEPROM里面,以便实现掉电保存数据的功能。Si4010芯片内部有128 bits的EEPROM空间可以用来保存用户的数据。本文以Si4010芯片的keyfob_demo_2工程为例,介绍射频发射器Si4010保存数据到内部EEPROM的方法。
1、在main()函数创建两个变量,bTestData用来存放测试的数据,*pbRData用来指向XRAM阵列中MTP内容副本的指针。
BYTE xdata bTestData = 0;
BYTE xdata *pbRData; //pointer to the copy of the MTP content in XRAM array
2、在main()函数的合适位置,增加如下代码。其中vSys_BandGapLdo(2); 用来设置Bandgap On, LDO 1.24v。pbRData = pbMtp_Read(); 将MTP读入XRAM阵列,注意一定要加这行代码,否则无法实现EEPROM读写功能。
vSys_BandGapLdo(2); //set bandgap/ldo for MTP use
pbRData = pbMtp_Read(); //read MTP into XRAM array
// manipulate data in the XRAM array:
bTestData = pbRData[0]; //read byte
3、在main()函数的合适位置,增加如下代码。主要实现的功能是将数据108写入到pbRData[0],并把这个数据存到EEPROM中。注意在调用bMtp_Write()函数之前得把中断给关了,不然在给EEPROM写数据的时候可能会出现问题。另外bMtp_Write()函数的形参用来设置用户允许的最大MTP编程周期数,防止在写EEPROM不成功时程序一直在尝试写EEPROM,推荐值是40。
pbRData[0] = 108; //write byte
// write XRAM array to MTP memory
EA=0;
PCON = PCON; /* Dummy instruction required after EA setting */
bMtp_Write(40);
EA=1;
4、代码已经修改完成,接下来进行功能测试。编译程序,链接设备,下载固件,鼠标点击选中pbRData[0] = 108;这一行代码,然后点击菜单栏的设置断点图标。我们在pbRData[0] = 108;这一行代码设置断点,方便在仿真时查看bTestData变量的数据。
5、点击bTestData变量,点击鼠标右键,将鼠标移到Add bTeatData to Watch->Default,然后点击Default Type,我们把bTestData变量放在观察窗口。
6、点击菜单栏的运行图标,程序运行到pbRData[0] = 108;前面的断点时,可以看到bTestData的数据为0(如果EEPROM之前存过其他数据,读出来的数据可能不是0)。
7、再次点击运行图标,让程序运行pbRData[0] = 108;后面的代码,把pbRData[0]的数据写入到EEPROM;
点击停止运行图标,
点击RESET图标,让Si4010芯片执行复位。
再次点击运行图标,当程序停止在pbRData[0] = 108;这行代码时,可以看到bTestData的数据变成了108,证明我们已经成功将数据108写入到EEPROM中,并且在Si4010芯片复位之后,这个数据不会丢失。
8、关于Si4010芯片的EEPROM操作说明,可以查看AN370 Si4010 SOFTWARE PROGRAMMING GUIDE文档的7.8. Multi-time Programmable (MTP) Memory Module。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由潮汕小菜提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】如何测试无线收发器的发射功率和频偏?
在设计好Sub-GHz无线收发器si446x 或者si4438的PCB板,完成元器件贴板和焊接之后,就可以开始测试PCB板的射频性能了。
【经验】手把手教你将HEX 文件烧录进无线收发器Si4010
Silicon Labs射频发射器Si4010广泛使用于汽车遥控器、家居安防、车库门等应用场合,本文介绍了其烧录工具和烧录步骤。
【选型】Si4010无线发射SoC芯片用在充电枪与新能源汽车充电口通信, 为客户带来智能化的使用体验
Silicon Labs的Si4010无线发射SoC芯片具有业界领先的射频性能、高集成度、高可靠性、灵活性、低BOM成本、PCB面积小和易于设计等特点,非常适合应用于充电枪上,从而轻松实现充电枪和新能源汽车充电口的通信。
拆解汽车无线钥匙发现Silicon Labs 单芯片遥控IC
通过拆解发现,Silicon Labs射频发射器Si4010作为一款设计简单、成本低廉的单芯片遥控IC被工程师们广泛使用于无线钥匙射频发送系统中。
Silicon Labs(芯科科技) Si4010刻录工具包
型号- SI4010-C2-AS,SI4010-C2-GTR,SI4010,SI4010-C2-GSR,SI4010-C2-GT,SI401X,SI4010-C2-GS,SI4010-C2-ATR
SI4010 程序是不是烧录一次,以后就不能重新烧录了?在线调试怎么操作,多谢朋友解答
Silicon Labs公司的Si4010发射器是一个SoC芯片,集成了MCU和无线发射器,是OTP的芯片,只能烧录一次。烧录过的芯片,不能再次烧录了。片内有4KB的RAM,可以实现在线仿真调试。也就是说,板子上焊接一片未烧录过的空白片,使用Silicon labs公司的8bit IDE编译器调试,Si4010的调试接口是C2接口。Silicon Labs(芯科科技) Si4010-C2 无线发射器 数据手册
【经验】Si4010 KEY FOB开发套件4010-DKKF_434、4010-DKKF_868的使用指导
Silicon Labs Si4010 Key Fob开发平台是一个灵活的平台,可以使用Silicon Laboratories软件开发IDE轻松开发软件并测试整个系统。 该平台还允许在芯片上编程NVM。 该套件有两个版本:一个用于434 MHz频段(P/N 4010-DKKF_434),另一个用于868 MHz频段(P/N 4010-DKKF_868)。
Silicon Labs(芯科科技) Si4010参考例程
型号- SI4010-C2-AS,SI4010-C2-GTR,SI4010,SI4010-C2-GSR,SI4010-C2-GT,SI401X,SI4010-C2-GS,SI4010-C2-ATR
【经验】无线发射器NVM的烧录方法
Si4010是Silicon Labs公司推出的一款完全集成无晶体CMOS SoC射频发射器,包含一个8KB的NVM用于存储用户程序,12KB的ROM存储的是出厂的API函数,该函数可由用户程序调用
Si4010 有三种 NVM 烧写模式 - 工厂模式、用户模式和运行模式。什么是用户模式,如果选择用户模式,可以在 NVM 中更改我的代码吗?
这些模式决定烧写文件如何组成。在 Factory(工厂)模式下,在 NVM 中以及 NVM 中的其余部分,仅 Silicon Labs 工厂设置对用户开放以便用户可以输入他们的代码。在 USER(用户)模式下,客户可以写入到 NVM 中,并仍然使用 IDE 做进一步的补充。NVM 是一次可编程器件 (OTP),所以被写入的区域不能再次写入。未写入的 NVM 区域仍然可以编程。在此模式下,Si4010 不会自动将 NVM 用户代码复制到 RAM 并开始执行。用户必须进行启动以执行代码。C2 接口仍然可用,因此可以使用 Silabs IDE 调试代码。在 RUN(运行)模式下,C2 接口被禁用,代码将在启动时从 NVM 复制到 RAM 并立即执行。进行此操作之后将无法进行修改,该设备将不连接到 IDE 或 NVM 烧写工具。
电子商城
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥8.1764
现货: 103,878
品牌:SILICON LABS
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥27.0929
现货: 90,767
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
可定制均温板VC最薄0.4mm,有效导热系数超5,000 W / m·K(纯铜(401 W/m·K ,石墨烯1,200 W/m·K)。工作温度范围同时满足低于-250℃和高于2000℃的应用,定制最低要求,项目年采购额大于10万人民币,或采购台套数大于2000套。
提交需求>
支持微型计算机 、便携式计算机显示设备、投影仪、打印设备、绘图仪、多用途打印复印机、扫描仪、计算机内置电源、电源适配器、充电器、服务器、收款机等产品中国强制性产品认证。
提交需求>
登录 | 立即注册
提交评论