27892|87

78

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于STM32ADC用DMA采多通道时数据错位的问题New [复制链接]

关于STM32 ADC用DMA采多通道时数据错位的问题,之前的错误现象是4.5A变成9A或0.5A,后来对ADC的参数配置加了定时配置后,有很大的改善,但客户现场又用了20多天后,又出现数据错误的现象,电流110A的变30多A?   急!急!急!



此帖出自stm32/stm8论坛

最新回复

                                 楼主需要自己冷静,自己解决。就算st承认芯片有bug。你怎么办?对客户说我的ic有bug。 还是要解决的。 怎样解决问题是你目前的重点,这个要靠自己。就算st的工程师解决不了了,你能把所有的产品召回重新设计吗? 感觉楼主还是年轻,我遇到过好多原厂解决不了,最后靠自己解决的事情了。原厂工程师也是工程师,也不是万能的。  详情 回复 发表于 2010-10-24 20:40
点赞 关注
 

回复
举报

70

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

关于STM32 ADC用DMA采多通道时数据错位的问题New

我们现在用到STM32的两种CPU STM32F101C8T6 和 STM32F103都出现相同的问题,ADC采样用DMA方式采集多个通道时出现数据通道错位的问题,一般情况下都是正常的,我们在实验室测试也没有问题,但是在客户现场用上一个多月后就会出现这种现象,我们的产品主要是电力测控,出现这种问题就很严重了,可能出现很大的事故,希望ST公司的的技术人员能及时给予我们帮助.

DMA错位问题:
关于采样处理:
1.    小表采ADC1的三个通道CH1/ CH2/ CH3,用DMA1传送到缓冲区ADCRegValue [3] 中;
2.    然后用定进器Tim1定时中断(50*128 Hz)从ADCRegValue [3]读数据到数组ADC_ConvertedTEMP[3*128]中;
3.    当128次采完时启用DMA2将ADC_ConvertedTEMP[3*128]传到ADC_ConvertedValue[3*128]数组中用于计算;
4.    正常情况下,ADCRegValue [3]内的数据应为CH1/ CH2/ CH3
ADC_ConvertedTEMP[3*128] 内的数据应为CH1/ CH2/ CH3 / CH1/ CH2/ CH3…….
ADC_ ConvertedValue [3*128] 内的数据应为CH1/ CH2/ CH3 / CH1/ CH2/ CH3…….
此帖出自stm32/stm8论坛
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

关于STM32 ADC用DMA采多通道时数据错位的问题New

客户现场主要的有90KW的电机干拢信号不时的启动/停止,应该是干拢使ADC的数据发生错误!!!
此帖出自stm32/stm8论坛
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

4
 

你这个问题不是一时半会儿可以解决的

                                 估计需要改变你的硬软件设计,甚至要改变软件的架构,所以说不是一时半会儿可以解决的。
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

5
 

我也遇到过这个问题

                                 哈哈,你遇到的问题我也遇到过,而且使用的方法也差不多,只不过我检测的AD通道比你多几个,也许我能帮你解决,这个问题不是stm32的问题,这么问他们也不会搞明白,哈哈,我已经把ST的人折腾的差不多了,都烦我了,嘿嘿,最后只好自己琢磨了。
此帖出自stm32/stm8论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

6
 

请5楼的帮帮忙!!!

                                 请5楼的帮帮忙!留个联系方式行吗,你是怎么解决的,诚谢!
此帖出自stm32/stm8论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

7
 

你有冒泡了,上次 大家都说你的程序有问题。

                                 你死都不承认,也就下文了,现在有冒泡来了~
此帖出自stm32/stm8论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

8
 

楼主太为难ST了

                                 稍微考虑一下楼主描述的问题,就知道是楼主的设计有问题,而不是ST的芯片有问题
此帖出自stm32/stm8论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

9
 

描述问题

                                 我感觉是楼主描述的问题,如果按照楼主描述的,dma会非常忙碌的,不停地存取数据,哈哈,不过我想应该不是这个样子。
此帖出自stm32/stm8论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

10
 

ST MCU 真麻烦

                                 ST的工程师都哪去了,没人给我解决问题呀
此帖出自stm32/stm8论坛
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

11
 

我们的工程师不是给你打电话联系了吗?

我前面不是说了吗,你这个问题不是一时半会儿可以解决的,估计需要改变你的硬软件设计,甚至要改变软件的架构。

 
此帖出自stm32/stm8论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

12
 

香水城说的比较委婉,其实一看您的描述就知道主要是软件

2.    然后用定进器Tim1定时中断(50*128 Hz)从ADCRegValue [3]读数据到数组ADC_ConvertedTEMP[3*128]中;
------这么用很烦琐,又是定时器,又是dma,软件解决,根本不用什么定时器,定时器还有个和dma同步的问题。

3.    当128次采完时启用DMA2将ADC_ConvertedTEMP[3*128]传到ADC_ConvertedValue[3*128]数组中用于计算;
---同样是可以用软件解决的问题,又用一个dma。

大家对您的具体设计不了解,也只能说道这个程度。好好规划一下您的整个的软硬件架构吧。
此帖出自stm32/stm8论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

13
 

某人开始耍无赖了。

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

14
 

上次好像香水有给一些建议

                                 印象中我还跟贴了来着
此帖出自stm32/stm8论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

15
 

程序的鲁棒性差

                                   楼主的程序,数据的正确性太依赖于硬件的正常工作,如果现场工作环境很恶劣,有比较严重的电源或者电磁辐射干扰,ADC1的三个通道的转换顺序被打乱,或者DMA1的某次传送没有成功把数据送到ADCRegValue [3],或者TIMER1某次的定时中断响应慢了,都有可能造成三个通道的数据错位。个人觉得把三个通道的数据存在不同的缓冲区里,比较保险。
此帖出自stm32/stm8论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

16
 

咋就不行呢?为啥不试试别人家的MCU?

                                 咋就不行呢?为啥不试试别人家的MCU?
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

17
 

我也是那么做的

                                 目前用着还算稳定,并不是楼主所说的那样,关键还是哪里设置的不是很到位,思路是没什么问题的。
此帖出自stm32/stm8论坛
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

18
 

看明白了,真烂!

                                 别误会,我说的不是说MCU!
此帖出自stm32/stm8论坛
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

19
 

那是在说人吗

                                 我觉得很有想法,充分利用硬件资源
此帖出自stm32/stm8论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

20
 

呵呵!说他爹啊

                                  
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表