打印
[STM32F1]

采集到的数据不连续

[复制链接]
416|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
在用stm32F103做ad采集项目,采用内置的ad转换器,使用dma(传输过半,传输完成方式)中断发送数据给STm32的usb模块(使用了环形队列缓存数据),然后在上位机上显示并记录数据。
功能基本都实现了,就是采集到的数据不连续

使用特权

评论回复
沙发
dingy| | 2022-3-6 22:52 | 只看该作者
有掉数据的情况?

使用特权

评论回复
板凳
ousj| | 2022-3-6 22:54 | 只看该作者
在上位机上查看数据可以明显看到,本来连续的正弦波会突然不连续了,相位突然就变了,,

使用特权

评论回复
地板
dingy| | 2022-3-6 22:56 | 只看该作者
有点怀疑是不是芯片设计问题

使用特权

评论回复
5
heweibig| | 2022-3-6 22:59 | 只看该作者
程序可以公开吗?

使用特权

评论回复
6
chenjunt|  楼主 | 2022-3-6 23:01 | 只看该作者
程序文件比较多,就不贴出来了,,都是参照官方例程做的。   使用tim触发ad转换,使用dma保存到缓存中,当传输过半,或者传输完成时,触发dma相应中断,在中断中根据是传输过半还是传输完成复制相应数据到环形队列中,并提供数据供usb模块使用。  

使用特权

评论回复
7
stly| | 2022-3-6 23:04 | 只看该作者
所有情况都考虑到了?

使用特权

评论回复
8
chenjunt|  楼主 | 2022-3-6 23:06 | 只看该作者
嗯,但就是出来数据(波形)偶尔会突然跳变。感觉是丢了数据

使用特权

评论回复
9
jlyuan| | 2022-3-6 23:11 | 只看该作者
怀疑芯片从tim触发到dma传输过程中,时序不是严格的

使用特权

评论回复
10
chenjunt|  楼主 | 2022-3-6 23:15 | 只看该作者

使用特权

评论回复
11
bqyj| | 2022-3-6 23:18 | 只看该作者
你发送一个数据个数过来就能看出迷端.

使用特权

评论回复
12
juventus9554| | 2022-3-6 23:21 | 只看该作者
也有可能是出在usb传输的过程上,你怎么usb的设备.

使用特权

评论回复
13
huangchui| | 2022-3-6 23:23 | 只看该作者
不懂,永固oADC的FIFO没出过这个错。

使用特权

评论回复
14
chenjunt|  楼主 | 2022-3-6 23:27 | 只看该作者
usb驱动采用官方的virtualcom 修改而成,采用双缓冲方式。。

使用特权

评论回复
15
yszong| | 2022-3-6 23:29 | 只看该作者
我也碰一了类似楼主这种情况,有出现下图数据不连续的问题.一直没找到原因.求大神指点,现在一点儿头绪都没有!

使用特权

评论回复
16
jlyuan| | 2022-3-6 23:31 | 只看该作者
有可能是USB的通讯造成的数据溢出

使用特权

评论回复
17
llljh| | 2022-3-6 23:34 | 只看该作者

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

很有可能是 不同步 造成的!

使用特权

评论回复
18
dingy| | 2022-3-6 23:37 | 只看该作者
DMA 的速率太快

使用特权

评论回复
19
zwll| | 2022-3-6 23:40 | 只看该作者
问题很有可能出现在USB上传数据的过程中。

使用特权

评论回复
20
wyjie| | 2022-3-6 23:44 | 只看该作者
定时器触发ADC, DMA传输ADC结果. 中断将数据写到发送缓冲. 是这个流程吧.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

718

主题

7868

帖子

5

粉丝