OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4863|回复: 12

求助,战舰板 fcms刷新4.3屏幕时 会干扰到adc采集信号

[复制链接]

1

主题

6

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2014-11-2
在线时间
0 小时
发表于 2014-11-2 10:25:44 | 显示全部楼层 |阅读模式
5金钱
  用战舰实验板配上4.3寸触摸屏。
 两个定时器:
 TIM3以200HZ(5ms)定时中端采集adc1的pc3口
 TIM5以20hz 在显示屏上以画点的方式显示TIM3采集来的数据
 lcd部分采用开发板配套代码,fcms驱动通信

 问题,显示屏上按照TIM5的周期出现毛刺噪声,用示波器测pc3口有噪声,毛刺噪声幅值有2v,十分不能理解。
 于是关闭了TIM5中断,继续打开TIM3采样,用示波器观察无噪声。
 检查TIM5中的代码,屏蔽了所有跟lcd相关代码后,示波器无噪声。

 猜想,lcd用的是fcms,在大量读写操作时,是不是干扰到了adc的电源,还是说有参数设置不对,望大家指点。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-11-2 17:21:09 | 显示全部楼层
你放在TIM5的中断里面?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2014-11-2
在线时间
0 小时
 楼主| 发表于 2014-11-2 21:06:07 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
对的 中断执行里面只要有 lcdshow()的函数就会有噪声。
 tim3里就是 adcget的函数
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-11-3 18:53:46 | 显示全部楼层
回复【3楼】wplabc:
---------------------------------
那应该是你这个函数影响导致的,想办法放外面去吧,中断本来就是应该越短越好。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2014-11-2
在线时间
0 小时
 楼主| 发表于 2014-11-3 19:30:39 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
那怎么定时刷新屏幕?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-11-3 20:32:16 | 显示全部楼层
回复【5楼】wplabc:
---------------------------------
放到其他定时器(不产生PWM的)
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-11-3 20:32:33 | 显示全部楼层
或者用OS写一个任务,专门处理。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2014-11-2
在线时间
0 小时
 楼主| 发表于 2014-11-3 20:43:40 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
   还是没理解。 不应该是 刷新显示屏的函数导致了噪声么, 为什么是定时器导致的。
   中断初始设置里 设置的tim3是 0 3优先级  tim5是 1 0 优先级,采样优先打断刷新屏幕。
回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2014-11-4 08:42:24 | 显示全部楼层
回复【8楼】wplabc:
---------------------------------
跟打不打断关系不大,主要是刷新过程中会有比较强烈的电磁干扰,会干扰你的采样信号。
屏幕的刷新过程不应该跟ADC采样同时进行,先AD,处理好采样结果再显示。
不知道你是在TIM3的中断函数里面采样AD还是通过TIM3触发ADC采样

刷屏很耗时,不应该放在TIM中断里面
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2014-11-2
在线时间
0 小时
 楼主| 发表于 2014-11-4 08:47:14 | 显示全部楼层
回复【9楼】ricefat:
---------------------------------
 tim3 里直接就是采样函数,还没做触发+dma。
 只是想做一个简单的示波器,我觉得也是一种刷新过程中的电磁干扰,但是不知道是从单片机内部传过来的干扰,
还是说走线上的干扰。如果是前者,我在考虑用一块51采集ad 然后spi或者串口发到stm32上画屏幕
回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2014-11-4 14:50:17 | 显示全部楼层
回复【10楼】wplabc:
---------------------------------
应该是代码编写上的问题,即使是8bit AVR单片机,精确采样也要求使用睡眠采样模式,尽量避免单片机内部对采样过程的干扰
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2014-11-2
在线时间
0 小时
 楼主| 发表于 2014-11-4 19:38:05 | 显示全部楼层
回复【11楼】ricefat:
---------------------------------
那请问。。能拿这个板子做一个示波器么。。 干扰我知道,但是有2v多的噪声是不是也太恐怖了
回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2014-11-5 08:55:16 | 显示全部楼层
回复【12楼】wplabc:
---------------------------------
肯定可以,2V多的噪声从你的电路着手看看,用示波器看看噪声出在哪一级。另外建议先不要这么高速更新屏幕,先试试看1s刷新屏幕,尽量减少屏幕干扰
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-29 19:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表