[STM32L0] STM32L051的SPI接口问题求助

[复制链接]
2867|20
 楼主| songchenping 发表于 2015-10-28 11:05 | 显示全部楼层 |阅读模式
我用的是STM32L051进行项目设计,现在在调试软件,关于SPI接口的。出现一些问题。
我用SPI采集ADC输入数据,处理后通过SPI接口的DAC输出。采样率50ksps. 软件上我用的是50khz的定时器中断,DAC输出代码在中断服务程序里执行的。
我将IAR中的优化配置才high(speed),看下图。

4.GIF

但是当我通过SPI输出给DAC芯片时,出现下列问题。如下图所示,通道2为SCLK。通道3为DAC输出,通道4为CS信号。我每次要发3个字节,但是我测得波形在发完2个字节后CS信号就变为高电平了。理论上是发完3个字节后CS才置为高电平的。
是什么原因啊。优化等级配置成high的时候需要注意什么啊?

还有就是下图中的红圈内的CS信号出现杂波,是什么原因产生的?

5.GIF

 楼主| songchenping 发表于 2015-10-28 11:07 | 显示全部楼层
占楼。
尤彼卡 发表于 2015-10-28 19:14 | 显示全部楼层
顶起来,让大神们帮忙
 楼主| songchenping 发表于 2015-10-28 20:01 | 显示全部楼层
第二个自己已经解决了。阻抗匹配的问题。
 楼主| songchenping 发表于 2015-10-28 20:02 | 显示全部楼层
第一个估计没有人太注意这个的。因为我们追求的是低功耗。所以采用寄存器直接操作的方式。
huangcunxiake 发表于 2015-10-28 22:08 | 显示全部楼层
楼主研究的是超低功耗啊,跟楼主学习
蜕变吧 发表于 2015-10-29 18:45 | 显示全部楼层
注意看有什么变量被优化掉了,单独调试看看。
王大熊 发表于 2015-10-29 19:28 | 显示全部楼层
songchenping 发表于 2015-10-28 20:01
第二个自己已经解决了。阻抗匹配的问题。

原来是阻抗匹配的问题,学习了!
734774645 发表于 2015-10-29 19:50 | 显示全部楼层
寄存机直接操作确实可以实现更低的功耗。
可可球 发表于 2015-10-29 20:32 | 显示全部楼层
第二个自己已经解决了。阻抗匹配的问题。

楼主能详细说下么
冰河w 发表于 2015-10-29 21:14 | 显示全部楼层
测得波形在发完2个字节后CS信号就变为高电平了。理论上是发完3个字节后CS才置为高电平的

会不会是时序的问题
 楼主| songchenping 发表于 2015-10-30 07:23 | 显示全部楼层
冰河w 发表于 2015-10-29 21:14
会不会是时序的问题

软件上我是发完3个字节后才将CS置高的。但是用示波器看的话还没发完就置高了。
LBJ13920 发表于 2015-11-9 14:06 | 显示全部楼层
下载不了哇。。。
 楼主| songchenping 发表于 2015-11-9 15:51 | 显示全部楼层
LBJ13920 发表于 2015-11-9 14:06
下载不了哇。。。

啥下载不了啊?
dwq175 发表于 2015-11-9 17:14 | 显示全部楼层
要等待SPI_FLAG_TXE标志,再将CS置高
 楼主| songchenping 发表于 2015-11-9 17:54 | 显示全部楼层
dwq175 发表于 2015-11-9 17:14
要等待SPI_FLAG_TXE标志,再将CS置高

我看看
Snow7 发表于 2015-11-9 20:44 | 显示全部楼层
要等待SPI_FLAG_TXE标志,再将CS置高

楼主这样行吗
 楼主| songchenping 发表于 2015-11-9 20:56 | 显示全部楼层

我还没试呢。
gmm2015 发表于 2015-11-10 10:33 | 显示全部楼层
这种情况通常是软件编写不是特别规范,有些地方被优化了
 楼主| songchenping 发表于 2015-11-10 10:39 | 显示全部楼层
gmm2015 发表于 2015-11-10 10:33
这种情况通常是软件编写不是特别规范,有些地方被优化了

正确啊。我就是选择了代码优化。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:技术合作可以通过以下方式: QQ:745995275 非技术合作恕不回复。

318

主题

12007

帖子

80

粉丝
快速回复 在线客服 返回列表 返回顶部