透传方式造成的DAC毛刺现象

  最近画了块板子来产生任意波形信号,方案是STM32+DAC8822,电路图如下显示,设计成双极性输出。

  因为设计的更新频率是20KHz,所以就没有采用等长线连接DAC的并口。焊好板子下好程序后很顺利的就出来预期的波形了,但是仔细观察信号是有很多毛刺的,而且是存在于每次更新数据的时候,这毛刺还挺大,约有200mV。我想想这不太应该啊,DAC在切换不同数据时因为DAC内部的切换开关并不是精确同步确实会造成毛刺现象,这现象在中值转换时由为明显,但是我这这么大的毛刺明显超出了正常范围,查看了数据手册如下图

  DAC8822的数据手册说明在code从7FFFh到8000h时会产生约50mV的毛刺,在code从8000h到7FFFh时会产生约10mV的毛刺,所有在其他数值转换应该远小于这个值,所以并不是芯片本身问题。之后我再检查了电路图和PCB布局,似乎都没有问题,难道是玄学问题?

  经过一些徒劳的挣扎,可能突然开了窍,想起我在写程序的时候使用的是透传模式,即并口的数据一改变就立刻更新DAC,那会不会因为我画的不是等长线,或者本身stm32IO输出并不同步,所以造成DAC接收的数据并不是同步的,所以在更新正确数据前会更新一次甚至多次其他未知的错误值。DAC8822的功能控制如下图

  然后修改了时序,不用透传方式,而是在每次改变数据后再用LDAC装载,下载程序,毛刺瞬间消失,还是有一点点毛刺,但是很小,添加一些补偿电容或者滤波可以减小到可接受范围。

 

  所以如果有同学出现类似的情况,可以参考一下是不是像我一样犯下简单的错误

 

转载于:https://www.cnblogs.com/xiaohuimao/p/9267792.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值