你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Nucleo-L4R5ZI评测6 DAC+OPAMP_PGA

[复制链接]
wenyangzeng 提问时间:2018-1-12 11:37 /
本帖最后由 wenyangzeng 于 2018-1-12 11:46 编辑

Nucleo-L4R5ZI评测6 DAC+OPAMP_PGA

    STM32L4R5具有2通道12Bit的DAC和2通道可编程运算放大器,在STM32Cube_FW_L4_V1.10.0\Projects\STM32L4R5ZI-Nucleo-Nucleo演示包里没有DAC和OPAMP的演示代码。本次评测移植了STM32Cube_FW_L4_V1.10.0\Projects\STM32L4R9I_EVAL\Examples\OPAMP的代码到STM32L4R5ZI-Nucleo上来评测。

   移植后的例子使用了内置的PGA模式(OPAMP可编程增益)。
1、DMA为DAC提供正弦波数据。
2、在DAC_OUT2 (PA5)上产生一个正弦波信号。内部连接到由OPAMP2运放输入。
3、OPAMP2的输出在PB0上,增益为2或4。当OPAMP仍然启用时,OPAMP增益被改变。
4、OPAMP应用了正常和低功率模式(采样和保持模式)。
5、OPAMP(和DAC)的低功耗模式也可以在内核为睡眠模式停留期间使用。。
6、内核设置为睡眠模式,没有直接存储器存取中断处理。
7、配置开发板上的"USER"按键在外部中断模式,在按键中断中改变不同的运行模式:
模式0:
              DAC:     normal power mode
              OPAMP:   normal power mode - gain = 2
              DMA:     circular mode - DMA half transfer IT handled by Cortex
              Cortex:  run mode
模式1:
              DAC:     normal power mode
              OPAMP:   normal power mode - gain = 4
              DMA:     circular mode - DMA half transfer IT handled by Cortex
              Cortex:  run mode
模式2:
              DAC:     Low power mode
              OPAMP:   normal power mode - gain = 4
              DMA:     circular mode - DMA half transfer - no IT handled by Cortex
              Cortex:  run mode
模式3:
              DAC:     Low power mode
              OPAMP:   Low power mode - gain = 4
              DMA:     circular mode - DMA half transfer - no IT handled by Cortex
              Cortex:  sleep mode
模式4:
              DAC:     Low power mode
              OPAMP:   Low power mode - gain = 2
              DMA:     circular mode - DMA half transfer - no IT handled by Cortex
              Cortex:  sleep mode

    评测中发现官方代码中的正弦波数据有误,不能生成正确的正弦波波形,修改后工作正常。
   从评测结果可知,由于采用DMA传送正弦波数据,运行中没有消耗MCU系统资源,充分发挥了STM32L4+的低功耗特性。

运行结果,测试点在PA5(DAC)和PB0(OPAMG_PGA),从图中可以看出正弦波的波形底部有点压缩,判断应该是DAC输出数据0x00的时候输出端无法达到真正0V的缘故,这通过修改正弦波数据应该可以得到改善。

2.png
2倍增益

4.png
4倍增益

1.png
错误的正弦波数据的波形

OPAMP.rar (73.23 KB, 下载次数: 97)
1 收藏 评论3 发布时间:2018-1-12 11:37

举报

3个回答
kylongmu 回答时间:2018-1-12 17:31:37
你频率这么低,输出的阶梯居然这么明显,增加DAC速度并增加插值。输出加RC低通。
wenyangzeng 回答时间:2018-1-12 18:01:30
本帖最后由 wenyangzeng 于 2018-1-12 18:02 编辑
kylongmu 发表于 2018-1-12 17:31
你频率这么低,输出的阶梯居然这么明显,增加DAC速度并增加插值。输出加RC低通。 ...

ST的这个演示中正弦波只使用32个数据,我们完全可以自己增加数据位数得到圆滑的波形的,比如用的1024个数据。由于是DMA在搬运数据,只要DMA够快,输出频率可以高不少的。
zero99 回答时间:2018-1-15 09:35:27

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版