[STM32F1] 采集到的数据不连续

[复制链接]
687|20
 楼主| chenjunt 发表于 2020-3-15 13:12 | 显示全部楼层 |阅读模式
在用stm32F103做ad采集项目,采用内置的ad转换器,使用dma(传输过半,传输完成方式)中断发送数据给STm32的usb模块(使用了环形队列缓存数据),然后在上位机上显示并记录数据。
功能基本都实现了,就是采集到的数据不连续
chenho 发表于 2020-3-15 13:16 | 显示全部楼层
有掉数据的情况?
 楼主| chenjunt 发表于 2020-3-15 13:19 | 显示全部楼层
在上位机上查看数据可以明显看到,本来连续的正弦波会突然不连续了,相位突然就变了,,
pengf 发表于 2020-3-15 13:22 | 显示全部楼层
有点怀疑是不是芯片设计问题
supernan 发表于 2020-3-15 13:25 | 显示全部楼层
程序可以公开吗?
 楼主| chenjunt 发表于 2020-3-15 13:29 | 显示全部楼层
程序文件比较多,就不贴出来了,,都是参照官方例程做的。   使用tim触发ad转换,使用dma保存到缓存中,当传输过半,或者传输完成时,触发dma相应中断,在中断中根据是传输过半还是传输完成复制相应数据到环形队列中,并提供数据供usb模块使用。     
zyf部长 发表于 2020-3-15 13:32 | 显示全部楼层
所有情况都考虑到了?
 楼主| chenjunt 发表于 2020-3-15 13:36 | 显示全部楼层
嗯,但就是出来数据(波形)偶尔会突然跳变。感觉是丢了数据
wangpe 发表于 2020-3-15 13:40 | 显示全部楼层
怀疑芯片从tim触发到dma传输过程中,时序不是严格的
 楼主| chenjunt 发表于 2020-3-15 13:43 | 显示全部楼层
bqyj 发表于 2020-3-15 13:46 | 显示全部楼层
你发送一个数据个数过来就能看出迷端.
juventus9554 发表于 2020-3-15 13:58 | 显示全部楼层
也有可能是出在usb传输的过程上,你怎么usb的设备.
llljh 发表于 2020-3-15 14:01 | 显示全部楼层

不懂,永固oADC的FIFO没出过这个错。
 楼主| chenjunt 发表于 2020-3-15 14:09 | 显示全部楼层
usb驱动采用官方的virtualcom 修改而成,采用双缓冲方式。。
yinxiangh 发表于 2020-3-15 14:14 | 显示全部楼层
我也碰一了类似楼主这种情况,有出现下图数据不连续的问题.一直没找到原因.求大神指点,现在一点儿头绪都没有!
xxmmi 发表于 2020-3-15 14:17 | 显示全部楼层

有可能是USB的通讯造成的数据溢出
langgq 发表于 2020-3-15 14:19 | 显示全部楼层

使用到了 模拟开关切换了吗?

很有可能是 不同步 造成的!
zhanglli 发表于 2020-3-15 14:22 | 显示全部楼层
DMA 的速率太快
zhuhuis 发表于 2020-3-15 14:25 | 显示全部楼层
问题很有可能出现在USB上传数据的过程中。
 楼主| chenjunt 发表于 2020-3-15 14:29 | 显示全部楼层

明白了,多谢大家讨论这么多哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

718

主题

7868

帖子

5

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