M4与DAC芯片进行I2C输出正弦波,波形畸变原因

2019-03-24 10:11发布

正弦序列经过I2C通信,怎么总是断开呢?可能是什么原因啊?大家都猜猜看,赠芯币哦!!!不确定没关系,说不定可以启发我呢。
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
motodefy
1楼-- · 2019-03-24 17:20
 精彩回答 2  元偷偷看……
1301120345
2楼-- · 2019-03-24 20:19
< :TI_MSP430_内容页_SA7 -->
motodefy 发表于 2015-5-27 18:52
好吧,讲讲我的思路
首先建议你可以先固定一个值的输出,比如,你要输出2.5v,改怎么写,
确认代码ok了,再继续
其次,你这个正弦波的表是不是没问题,是不是全部是大于0v的电平,确认你的dac是否可以输出负压
再确认你的输出程序,我理解应该是这样的,初始化,然后主程序里一直调用i2c的写函数,向芯片写数据
当然你什么dac芯片我不知道,只能帮你到着了,建议一步步来

正弦序列通过MATLAB得到的,处理后全为整数,且是DAC芯片输入值范围内。刚才通过连续发送同一个数,通过示波器看发现发送间隔不一样,而且貌似是漏几个数据发一个,是不是协议什么问题呢?我问你啊,M4例子都是把某字节放入 数据寄存器,然后发送。重复这一过程实现连发。你说芯片模拟的及吗?为什么感觉实际到芯片的点比发送的少呢。
motodefy
3楼-- · 2019-03-24 20:23
1301120345 发表于 2015-5-27 19:32
正弦序列通过MATLAB得到的,处理后全为整数,且是DAC芯片输入值范围内。刚才通过连续发送同一个数,通过示波器看发现发送间隔不一样,而且貌似是漏几个数据发一个,是不是协议什么问题呢?我问你啊,M4例子都是把某字节放入 数据寄存器,然后发送。重复这一过程实现连发。你说芯片模拟的及吗?为什么感觉实际到芯片的点比发送的少呢。

建议查芯片数据手册看他的速度,或者降低i2c的速度
其实i2c很好写,i/0模拟也很方便
1301120345
4楼-- · 2019-03-24 21:39
 精彩回答 2  元偷偷看……
motodefy
5楼-- · 2019-03-25 03:32
1301120345 发表于 2015-5-27 20:42
芯片和M4所选速度一致且都支持。用库函数写的,也就是硬件形式,要求这样写啊。你写过没,你写过我把程序给你啊

ti的m4,一年前用过,库函数不好用
就别发我了,你自己研究吧

一周热门 更多>

相关问题

    相关文章