【经验】8位MCU C8051F350完美替换C8051F352,解决缺货烦恼
当你设计的产品在生产的过程中出现缺货怎么办?你首先想到的肯定是找一款完全兼容的芯片进行替换,这样可以不用做任何设硬件及软件上的修改。可如果芯片的内部资源有差异时,你是否还有信心去替换呢?
笔者最近就遇到了使用SILICON LABS的24位ADC的C8051F350替换16位ADC的C8051F352芯片的事情。两个芯片是同一系列的芯片,芯片的封装及引脚的分配是完全相同的,所以在硬件上我们知道可以完全替换。
但在ADC的数据处理上24位ADC的计算公式如下:
Vin=Vref×ADC0/2^24=Vref×(ADC0H:ADC0M:ADC0L)/2^24
而16位的ADC的转换公式为:
Vin=Vref×ADC0/2^16=Vref×(ADC0H:ADC0M)/2^16
二者的转换公式不同,是否会影响到ADC的转换精度?我们仔细分析一下数据手册,ADC的转换结果寄存器有两组,一组是SINC3滤波的:ADC0H,ADC0M,ADC0L;一组是快速滤波的:ADC0FH,ADC0FM,ADC0FL。在ADC的转换中只能设置一种滤波方式,所以我们以SINC3滤波的寄存器为例来分析。ADC0H,ADC0M,ADC0L这三个寄存器正好是24位,在C8051F350中需要全部用到,而在C8051F352中只用到了这三个寄存器中的高16位的数据,即只使用了ADC0H,ADC0M这两个寄存器的数据保存转换结果,低8位寄存器是保留的,不使用。所以如果我们对24位ADC的采样结果做降噪处理,滤除低8位易波动的数据,也就是将ADC0的结果右移8位,同时将分母也右移8位以保证公式的正确性,这样处理后C8051F350的ADC的转换计算公式变为:
Vin=Vref×(ADC0/256)/(2^24/256)=Vref×(ADC0H:ADC0M)/2^16
我们可以看到这时的公式与C8051F352处理ADC的公式是完全相同的。最终我们可以得出结论针对C8051F352的程序可以直接烧录到C8051F350芯片中运行,不必做任何修改。C8051F350可以完美的替换C8051F352工作。从而解决缺货烦恼!
相关技术文档:
Silicon Labs C8051F350/1/2/3 MCU数据手册 详情>>>
世强元件电商版权所有,转载请注明来源及链接。
- |
- +1 赞 0
- 收藏
- 评论 1
本网站所有内容禁止转载,否则追究法律责任!
相关推荐
【经验】如何正确使用8位MCU的PortMatch功能
Silicon Labs的8位MCU(C8051和EFM8)都具有PortMatch功能,此功能允许一个或多个端口IO引脚上的逻辑电平变化触发系统事件。
设计经验 发布时间 : 2018-02-08
【产品】小蜜蜂8位MCU助您轻松迎接物联网时代
Silicon labs推出了一款集小封装和高性价比于一身的多用途8位MCU EFM8BB1,可轻松替代普通8051家族的MCU产品。
新产品 发布时间 : 2019-07-05
【技术】预安装BOOT的新一代的8位MCU
Silicon labs的EFM8系列MCU是C8051F的升级换代产品。较C8051F不同的是,其在出厂时已经固化好BOOT程序。
技术探讨 发布时间 : 2019-07-11
EFM8LB低功耗8位MCU在使用BOOTLOADER时,如何让程序进入BOOTLOADER?
EFM8LB的芯片进入BOOTLOADER有三种方法。第一种:上电后如果0X0000地址的数据为0XFF,程序会直接进入BOOTLOADER. 第二种:在上电复 位时,如果C2D引脚保持低电平超过50uS,程序会进入BOOTLOADER.第三种: 应用程序将R0赋值为0XA5,然后执行软启动,启动后程序会自动进入 BOOTLOADER。
技术问答 发布时间 : 2017-10-10
为什么在8位MCU C8051F392上运行正常的程序增加了一个全局变量后就无法执行到主程序中?
8位MCU C8051F392芯片内部集成有看门狗功能,这个功能默认是开启的,当全局变量过多时,在C语言的程序初始化没有结束时看门狗已经复位了,所以无法执行到主程序中,解决 办法是将STARTUP.A51添加到项目中,并在STARTUP.A51文件中将看门狗关闭。
技术问答 发布时间 : 2017-10-10
C8051F350 8位MCU中未使用的模拟输入(模拟数字转换器,比较器)该如何处理?
未使用的专用模拟输入通常直接与信号地相连, 但也可以悬空。专用模拟输入是仅可用于模拟输入的引脚(例如它们不能被用于数字输入输出口)。对于多用途IO引脚,如既可以 用作模拟,也可以用作数字的I/O引脚可以悬空,或者将其配置为具有固定电平的数字输出引脚。
技术问答 发布时间 : 2017-10-10
推荐一款带ADC的小封装8位MCU,适用于对模拟性能、MCU性能以及电路板尺寸有比较高要求的场合。
推荐EFM8LB11系列8位MCU,该系列MCU内部集成了高精度ADC(14位)、4个12位DAC、内置温度传感器、模拟比较器以及丰富的数字外设和通信接口,FLASH大小为16/32KB,RAM为1.25/2.25KB,封装包括QFN24、QFN32、QFP32以及QSOP24,最小封装3x3mm,具有高性能、低功耗、小封装等特性,非常适用于高性能、低功耗、小封装,对模拟外设有更高要求的应用设计。
技术问答 发布时间 : 2017-05-05
8位MCU C8051F020使用比较大的程序进行仿真,仿真失败,怎么回事?大程序无法仿真是芯片本身特征决定的还是开发环境,或仿真器的问题?
软件断点支持数量和开发环境有关系和程序大小没有关系。可以尝试升级KEIL C51到比较新的版本,确保编译的程序能执行到断点处。可以在需要打断点的地方配置一个GPIO输出低,200ms高,200ms低,用示波器或者LED灯来测试程序。
技术问答 发布时间 : 2017-07-06
8位MCU c8051f040内部时钟振荡器是否可以用于产生波特率的时基?
8位MCU c8051f040器件的内部时钟振荡器精度为±2%,可用于产生波特率。
技术问答 发布时间 : 2017-10-10
8051系列MCU有没有单独的且能够支持中文软件的下载器?
C8051F系列和EFM8系列MCU有单独的调试下载器——USB DEBUG ADAPTER,该下载器支持中文软件。
技术问答 发布时间 : 2017-05-22
C8051的MCU中断有优先级,还可以把优先级设高,请问同时有没有设高的,它们的优先级如何确定?
C8051F系列的MCU中断优先级总共有两级,相当于两个台阶。默认的是低优先级,在低优先级的情况下所有的中断也是有中断顺序的,这个在数据手册里面中断系统部分有介绍。复位最高永远不受任何限制。在默认的情况下外部中断0中断优先级是0,定时器0溢出中断优先级是1,外部中断0的优先级是高于定时器0溢出中断优先级的。但如果设置定时器0溢出中断为高优先级,那它就相当于上了一个台阶,那他就高于外部中断0中断和其它没有设置为高优先级的中断。如把外部中断0和定时器0溢出中断都设置为高优先级中断,那么它们还是按照本来的优先级排序就是外部中断0中断优先级高于定时器0溢出中断。
技术问答 发布时间 : 2017-08-10
8位MCU EFM8UB1可以使用哪些仿真器?
EFM8系列MCU仍然使用了C2接口,所以C8051F使用的仿真器都可以与其通信。目前有如下类型: EFM8 STK 上的J-Link,这种仿真器由Segger开发 Silabs的UDA、第三方的仿真器(比如新华龙) Silabs的TOOL STICK
技术问答 发布时间 : 2017-10-10
何立民教授:8位MCU可能是永续的不死鸟
在市场多样化的背景下MCU的机遇被无限放大,最终8位、32位和64位MCU将三分天下,呈技术互补的发展趋势。本文是业内知名专家何立民教授深入地分析了8位MCU的蜕变及发展。
新技术 发布时间 : 2016-07-04
用EC5如何烧录8位MCU C8051F130的includes256-byte数据?
通过U-EC5中文下载程序软件可以实现。
技术问答 发布时间 : 2017-09-06
8位MCU EFM8LB1需要在中断服务程序中写保护 SFRPAGE 寄存器吗?
在会更改SFR分页的函数中保护 SFRPAGE 寄存器值是一个被高度推荐的做法,由此极大减少 SFR 分页代码错误。 尽管如此,对于具有一个 SFRPAGE 堆栈的器件,在中断服务程序中保护 SFRPAGE 寄存器并非必须的。这些器件中硬件会在执行 RETI指令后自动恢复 SFRPAGE寄存器值。对于诸如’F9xx器件,在切换 SFRPAGE时,中断必须被关闭。
技术问答 发布时间 : 2017-10-10
电子商城
现货市场
服务
可定制板装式压力传感器支持产品量程从5inch水柱到100 psi气压;数字输出压力传感器压力范围0.5~60inH2O,温度补偿范围-20~85ºС;模拟和数字低压传感器可以直接与微控制器通信,具备多种小型SIP和DIP封装可选择。
提交需求>
定制水冷板尺寸30*30mm~1000*1000 mm,厚度1mm~50mm,散热能力最高50KW,承压可达3MPA;液冷机箱散热能力达500W~100KW。项目单次采购额需满足1万元以上,或年需求5万元以上。
提交需求>
登录 | 立即注册
提交评论