【经验】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
推荐一款带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
C8051F350 8位MCU中未使用的模拟输入(模拟数字转换器,比较器)该如何处理?
未使用的专用模拟输入通常直接与信号地相连, 但也可以悬空。专用模拟输入是仅可用于模拟输入的引脚(例如它们不能被用于数字输入输出口)。对于多用途IO引脚,如既可以 用作模拟,也可以用作数字的I/O引脚可以悬空,或者将其配置为具有固定电平的数字输出引脚。
技术问答 发布时间 : 2017-10-10
为什么在8位MCU C8051F392上运行正常的程序增加了一个全局变量后就无法执行到主程序中?
8位MCU C8051F392芯片内部集成有看门狗功能,这个功能默认是开启的,当全局变量过多时,在C语言的程序初始化没有结束时看门狗已经复位了,所以无法执行到主程序中,解决 办法是将STARTUP.A51添加到项目中,并在STARTUP.A51文件中将看门狗关闭。
技术问答 发布时间 : 2017-10-10
8位MCU C8051F020使用比较大的程序进行仿真,仿真失败,怎么回事?大程序无法仿真是芯片本身特征决定的还是开发环境,或仿真器的问题?
软件断点支持数量和开发环境有关系和程序大小没有关系。可以尝试升级KEIL C51到比较新的版本,确保编译的程序能执行到断点处。可以在需要打断点的地方配置一个GPIO输出低,200ms高,200ms低,用示波器或者LED灯来测试程序。
技术问答 发布时间 : 2017-07-06
8位MCU c8051f040内部时钟振荡器是否可以用于产生波特率的时基?
8位MCU c8051f040器件的内部时钟振荡器精度为±2%,可用于产生波特率。
技术问答 发布时间 : 2017-10-10
何立民教授:8位MCU可能是永续的不死鸟
在市场多样化的背景下MCU的机遇被无限放大,最终8位、32位和64位MCU将三分天下,呈技术互补的发展趋势。本文是业内知名专家何立民教授深入地分析了8位MCU的蜕变及发展。
新技术 发布时间 : 2016-07-04
8位MCU EFM8LB1的可编程计数阵列PCA0具有哪些功能?
8位MCU EFM8LB1的可编程计数阵列PCA0由1个16位的定时/计数器和6个16位的捕获/比较通道组成,每个通道独立配置实现以下功能:边沿捕获、软件定时、高速输出、频率输出和脉宽幅度调制PWM输出。
技术问答 发布时间 : 2016-10-25
8位MCU EFM8UB1可以使用哪些仿真器?
EFM8系列MCU仍然使用了C2接口,所以C8051F使用的仿真器都可以与其通信。目前有如下类型: EFM8 STK 上的J-Link,这种仿真器由Segger开发 Silabs的UDA、第三方的仿真器(比如新华龙) Silabs的TOOL STICK
技术问答 发布时间 : 2017-10-10
用EC5如何烧录8位MCU C8051F130的includes256-byte数据?
通过U-EC5中文下载程序软件可以实现。
技术问答 发布时间 : 2017-09-06
8位MCU EFM8BB21F16,是否可以在编译代码时指定MCU lock 字节的值 ?
在使用Keil C51工具链时,通过BL51或LX51来实现 首先,需要在代码中的某个位置初始化lock 字节的设定。如,创建”lockbyte.c”,然后加入: #include const uint8_t code lockbyte = 0x00; 这段代码将会在flash中占用一个byte,且其初始值为0。为了将这个字节放置在flash的lock字节位置,需要使用到链接器。 关于lock字节的地址,请查阅相应MCU的参考手册。例如EFM8BB1F8的lock 字节在flash的0x1FFF位置。 如果使用Simplicity Studio,链接器的指令在如下位置修改,Project -> Properties -> C/C++ Build -> Settings-> Keil 8051 Linker >Miscellaneous。然后在[Additional Flags]中添加链接器指令。 如果使用LX5(1)请在[Additional Flags]中添加如下命令: SEGMENTS(?CO?LOCKBYTE(C:0x1FFF))
技术问答 发布时间 : 2017-10-10
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万元以上。
提交需求>
登录 | 立即注册
提交评论