【经验】8位单片机EFM8LB中DAC初始化输出值为0的解决方法


SILICON LABS公司推出的EFM8LB系列8位单片机,主频高达72MHz,最多集成4路DAC功能,具有体积小,集成度高的特点,在各行业得到广泛应用。特别是在光模块产品上,大部分产品都采用EFM8LB系列作为控制MCU。
EFM8LB系列的DAC功能是常用的功能。在使用时,细心的工程师会发现,DAC在上电时,输出电压为VIO电压,然后会有变为0V输出,最后输出DAC初始化值。如图一所示:
图1 DAC上电时序
这是因为在DAC接口初始化之前,IO口为开漏模式,输出高电平。当DAC输出对应的IO口配置为模拟接口时,端口电压变为0V。DAC使能并赋值后,则输出配置电压。
为了减小DAC输出值变动大对外部设备的影响,希望DAC输出值直接从VIO变为DAC初始化值。这可以通过修改初始化流程解决。实现步骤如下:
第一步:DAC赋初始值再使能DAC,如果先使能再赋值,任然会出现0V输出。
图2 DAC初始化代码
第二步:将DAC输出接口配置为模拟端口。
图3 DAC输出IO口配置代码
如果在IO口配置为模拟端口之前先使能DAC功能,会不会没有DAC电平输出?这个不用担心,Silicon Labs的DAC例程中,就是采用的数字接口输出DAC电平。那为什么又需要设置为模拟接口呢?因为配置为模拟接口时,其弱上拉上,数字驱动器和数字接收器被禁用, 可以节省功率,并减少模拟信号上的噪声。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由东方的风提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】8位单片机EFM8系列的SFR Page操作
Silicon Labs的8位单片机EFM8系列,集成丰富的外设,高性能,小封装。软件开发时,由于外设多,寄存器操作引入了SFR Page机制,注意SFR Page设置,防止程序错误,让EFM8系列芯片设计出稳定的优质产品。
【经验】8位单片机EFM8LB在光模块应用中硬件电路设计注意事项
Silicon Labs推出的8位单片机EFM8LB,为方便光模块工程师快速掌握EFM8LB设计要点、少走弯路,本文以带调顶功能的25G SFP28 LANWDM为例,详细总结了与EFM8LB相关的硬件设计注意事项,可供大家参考。
【经验】如何计算8位单片机EFM8LB系列PWM最高输出频率?
在电机驱动、电源发生、可调电压发生等应用中,经常需要PWM波,Silicon Labs推出的高性能、高集成度、小体积、高性价比的EFM8LB系列8位单片机,可广泛应用光模块、电机控制等领域,它支持输出PWM波。本文将详细讲解如何计算EFM8LB系列8位单片机PWM最高输出频率。
SILICON LABS 8-bit Microcontroller选型表
SILICON LABS 8位MCU选型,MCU Core 8051,频率20MHz~100MHz,Flash存储2kB~120kB,RAM存储0.25kB~8kB。
产品型号
|
品类
|
系列
|
Frequency(MHz)
|
Flash (kB)
|
RAM (kB)
|
Vdd min(V)
|
Vdd max(V)
|
Package Type
|
Package Size (mm)
|
Internal Osc.
|
Dig I/O Pins
|
ADC 1
|
Temp Sensor
|
Timers (16-bit)
|
PCA Channels
|
DAC
|
Comparators
|
UART
|
SPI
|
I2C
|
HS I2C Slave
|
EMIF
|
CAN
|
LIN
|
VREF
|
Debug Interface
|
C8051F392-A-GM
|
8位MCU
|
C8051F39x Small Form Factor
|
50
|
16
|
1
|
1.8
|
3.6
|
QFN20
|
4x4
|
±2
|
17
|
10-bit, 16-ch., 500 ksps
|
Temp Sensor
|
6
|
3
|
10-bit, 2-ch.
|
1
|
1
|
1
|
2
|
0
|
0
|
0
|
0
|
VREF
|
C2
|
选型表 - SILICON LABS 立即选型
请问带SMUBUS方式下载接口,Silicon Labs的8位单片机EFM8LB12是否通过SMBUS BOOTLOADER直接下载.hex固件程序?
目前ilicon Labs的8位单片机EFM8LB系列带SMBUS接口的MCU不支持直接通过SMBUS下载.hex固件,需要先通hex2boot.exe将.hex文件转成.efm8文件然后通过efm8_load_smbus.exe将.efm8下载到EFM8LB单片机中。
【经验】如何给8位单片机EFM8LB的外设CLU配置逻辑运算函数?
Silicon Labs推出的8位单片机EFM8LB有个外设叫CLU,不占用MCU带宽、可单独使用也可级联,能实现较为复杂的逻辑运算,对需要调顶功能的光模块有很大的作用。那么,该如何给CLU外设配置逻辑运算函数呢?有本文将为你详细解读。
Silicon Labs的8位单片机EFM8LB10的I2C slave是否可以配置P1.2,P1.3?
Silicon Labs的8位单片机EFM8LB10的I2C slave是固定pin脚的,为P1.3,P1.4,如果需要使用永健I2C slave,那么pin脚不可以使用 crossbar, 如果是否模拟I2C,可以使用任意pin脚。
【经验】如何给EFM8LB系列8位单片机的外设CLU分配管脚?
CLU,是Configurable Logic Units英文缩写,即“可编程逻辑单元”,基于它,可以实现复杂的逻辑运算,且不占用MCU运算资源。它是Silicon Labs推出的EFM8LB系列8位单片机重要、先进的外设,在光模块等产品中,有着典型的应用。而管脚分配,是CLU重要的配置步骤,本文将为你详细讲解CLU的管脚分配。
关于基于8位单片机EFM8LB外设CLU进行曼彻斯特解码,Silicon Labs原厂提供了相应的例程,请问,在例程中,解码出来的信号,哪个是数据输出?哪个是时钟输出?
Silicon Labs原厂给出了8位单片机EFM8LB外设CLU进行曼彻斯特解码相应的例程,在例程中,CLU3输出的是数字信号,CLU1的输出的是时钟信号。
Silicon Labs 8位单片机EFM8LB使用最新的“efm8_load_smbus.exe” GUI软件通过SMBUS下载更新固件时,只能下载.efm8格式 的固件吗?
“efm8_load_smbus.exe” GUI软件配合SMBUS接口下载更新Silicon Labs 8位单片机EFM8LB固件时目前只支持.efm8格式文件下载,需要通过 “hex2boot.exe”将.hex文件转成.efm8格式再下载。
使用Silicon Labs的8位单片机EFM8LB12F32ES1芯片,通过C2接口烧写程序,C2CK引脚使用10K电阻上拉到VDD,偶尔可以识别芯片,如何解 决?
Silicon Labs的8位单片机EFM8LB12F32ES1使用C2接口进行程序烧写,C2D直接连接到烧写器,无需上拉。C2CK直接连接到烧写器,同时需要接上拉电阻,电阻值为 1KΩ~10KΩ。采用10KΩ的上拉电阻,识别成功率低,可以减少上拉电阻值(比如4.7KΩ电阻),提高上拉能力,增强C2CK的稳定性,可以解决问题。
用了8位单片机EFM8LB,并使用了原厂提供的bootloader功能,现功能要增加,32K FLASH要变为64K,请问,BootLoader的地址要改变吗?如果要变,怎么变?
对于Silicon Labs 8位单片机EFM8LB,可出厂支持BootLoader功能,对于不同的FLASH,它BootLoader的起始地址都是0xFBFF。因此,EFM8LB的FLASH改变后,BootLoader的地址不要改变。
【经验】如何计算8位单片机EFM8LB系列在“频率输出模式”下的输出频率?
在电路或现实应用中,经常需要输出频率可调的方波。Silicon Labs推出的高性能、高集成度、小体积、高性价比的EFM8LB系列8位单片机,被广泛应用光模块、电机控制等领域,它可以支持输出频率可调的方波。本文将详细讲解如何计算EFM8LB系列8位单片机在频率输出模式下的输出频率。
选用Silicon Labs8位单片机EFM8LB做光模块,请问,EFM8LB的SMBus的低电平延展功能,可以通过寄存器关闭吗?
对于包括EFM8LB在内的Silicon Labs8位单片机,为了实现同更高速的SMBus外设通信,它具备SCL低电平延展功能。该功能是通过进入数据中断时,通过清楚中断标志来实现,无法通过配置寄存器来操作。EFM8LB的SMBus的低电平延展功能不可以通过寄存器来关闭。
【经验】如何基于8位单片机EFM8LB实现SMBus多机通信?
SMBus总线(兼容I2C),具有占用端口资源少、可以多机通信等优点,自推出以来,便被广泛应用。世界著名精密混合器件供应商Silicon Labs推出的EFM8LBLB系列单片机,具有速度快、性能好、体积小、集成度高等鲜明特征,被广泛应用在光模块、电机控制等产品上,深受广大用户喜爱。当然,该芯片也支持SMBus协议,本文将详细讲解如何基于EFM8LB实现SMBus多机通信,供大家参考。
电子商城
现货市场
服务

提供7~27寸工控机定制,支持嵌⼊式/ 壁挂式 /桌⾯式/悬挂式等安装方式,采用纯平⾯板IP65防尘防⽔等级,莫⽒7级硬度触摸屏,兼容多种操作系统:组态软件/安卓/XP/win7/8/10/Linux等,支持主板、接⼝、外观、⽀架、刷卡器、⾝份证阅读器、LOGO、⻨克⻛、系统、电池、蓝⽛、4G/5G、摄像头、GPS系统、⼆维码扫描器、指纹等特殊应⽤场景定制
最小起订量: 1台 提交需求>

可定制导热胶的导热系数1~6W、粘度范围3000~250000cps、固化方式可加热、仅室温、可UV;施胶方式:点胶机、手工、喷胶、转印;支持颜色、硬度、固化时间等参数的个性化定制。
最小起订量: 1支 提交需求>
登录 | 立即注册
提交评论