micro虾米

micro虾米

0个粉丝

5

问答

0

专栏

0

资料

micro虾米  发布于  2017-03-30 17:42:56
采纳率 0%
5个问答
4513

Hi3518EV200平台ADC问题请教

 
请问Hi3518EV200的ADC怎么实现两个通道的采样,以前用的Hi3518E,现在代码移植到V200平台后,ADC部分不太一样,不知道V200的ADC单次扫描模式是不是不支持多通道采样?还有如果需要多通道采样是不是必须采用连续Scan扫描模式采样?请知道的不知道的朋友给点指导,谢谢!
我来回答
回答14个
时间排序
认可量排序

cfgrpg

0个粉丝

7

问答

0

专栏

1

资料

cfgrpg 2017-03-31 14:43:02
认可0
v200驱动,四通道都支持,单次扫描不错的驱动

micro虾米

0个粉丝

5

问答

0

专栏

0

资料

micro虾米 2017-03-31 19:36:02
认可0
请问ADC的单次扫描,两个通道同时使用可以不?和你说的四通道都支持不太一样吧?

micro虾米

0个粉丝

5

问答

0

专栏

0

资料

micro虾米 2017-03-31 19:36:45
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=47556&ptid=14706]cfgrpg 发表于 2017-3-31 14:43[/url]
v200驱动,四通道都支持,单次扫描不错的驱动[/quote]


请问ADC的单次扫描,两个通道同时使用可以不?和你说的四通道都支持不太一样吧?

micro虾米

0个粉丝

5

问答

0

专栏

0

资料

micro虾米 2017-04-02 16:08:17
认可0
问题已解决,前来结贴!
Hi3518EV200平台的ADC模块支持4个通道,分两种模式采样:
第一种是单次扫描模式,支持多通道扫描;第二种是连续Scan扫描模式,支持多通道扫描(测试验证未成功,在此处就不多说了)
简单说下单次扫描模式的工作实现方法:
1. 打开ADC时钟
2. 各个控制寄存器配置(参考手册流程配置,含采样值位数,通道使能,单次扫描,不支持powerdown等)
3. 使用request_irq注册ADC中断,中断号19
以上我封装成Init函数,模块加载时初始化ADC模块使用
ADC开始采样函数设置为ADC_Start()
包含以下工作:
1. 判断需要采样的通道和上次工作的通道是否为同一个通道
2. Disable中断,停止ADC,清空所有通道中断,清空通道使能,使能需要采样的通道,备份该通道等下次采样判断
3. 如果1中的判断是同一个通道,就忽略2中操作
4. 开始ADC采样,使能ADC中断
中断处理函数工作内容:
1. 判断使能的是哪个通道
2. 判断该使能的通道的中断标志是否置位(即该通道转换是否完成,一般都会完成)
3. 获取该通道转换后的值
4. 如果注册了其他对该数据操作的函数,就执行
5. 清空该通道的中断标志位

需要在中断处理函数中设置ADC转换状态,在调用ADC转换的地方,如果ADC中断正在使用,就延时等待该中断完成之后再开启ADC转换。

以上是ADC转换的简要工作流程,测试可以实现两个通道的采样工作,也可以继续扩展ADC采样通道,最多支持四通道。

guoys5165

0个粉丝

3

问答

0

专栏

0

资料

guoys5165 2017-04-07 18:46:20
认可0
群主,发来看看,为什么我们只能出一个通道的数据

micro虾米

0个粉丝

5

问答

0

专栏

0

资料

micro虾米 2017-04-07 21:29:33
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=47913&ptid=14706]guoys5165 发表于 2017-4-7 18:46[/url]
群主,发来看看,为什么我们只能出一个通道的数据[/quote]

我这边代码不在一个文件中,比较混乱,还没有整理,你要是方便的话,可以把你的控制流程说一下,大家分析下,共同讨论

hanfei69882

2个粉丝

26

问答

0

专栏

2

资料

hanfei69882 2017-04-08 10:56:19
认可0
本帖最后由 hanfei69882 于 2017-4-8 10:58 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=47648&ptid=14706]micro虾米 发表于 2017-4-2 16:08[/url]
问题已解决,前来结贴!
Hi3518EV200平台的ADC模块支持4个通道,分两种模式采样:
第一种是单次扫描模式 ...[/quote]

支持分享:victory::victory:

有个小问题:这个主要问题是中断处理,类似GPIO的共享中断,就是多个设备(通道)共用一个中断源
理论上讲自己通道负责自己通道的初始化、中断检测、数据处理,比如说中断的处理主要是判断一下是不是自己的,不是的话就返回IRQ_NONE,给别人处理,是的话自己处理,难道是不通的?
怎么还要 [quote]判断需要采样的通道和上次工作的通道是否为同一个通道[/quote]

micro虾米

0个粉丝

5

问答

0

专栏

0

资料

micro虾米 2017-04-10 08:31:45
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=47932&ptid=14706]hanfei69882 发表于 2017-4-8 10:56[/url]
支持分享

有个小问题:这个主要问题是中断处理,类似GPIO的共享中断,就是多个设 ...[/quote]

感谢你的回复,你说的对,自己通道负责自己的初始化、中断检测...,这种流程对ADC操作完全没有问题,可以正常工作。
我这边ADC采样的是光照、温度,在采样时间间隔不多的时候,比如光敏一秒一次,温度三秒一次,这样的情况是没有什么差别的,但是如果时间间隔查的很多,比如光敏一秒一次,温度30秒一次,这样的情况,在两次温度采样间隔内的30秒,光敏要采样30次,就要初始化30次,我觉得这是没有必要的。所以就加上了这个判断逻辑,如果需要采样的通道和上次采样的通道为一个通道,就免去了重复初始化同一个通道的操作。基本上就是这样的。

hanfei69882

2个粉丝

26

问答

0

专栏

2

资料

hanfei69882 2017-04-10 10:52:23
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=47969&ptid=14706]micro虾米 发表于 2017-4-10 08:31[/url]
感谢你的回复,你说的对,自己通道负责自己的初始化、中断检测...,这种流程对ADC操作完全没有问题,可以 ...[/quote]

明白 多谢啦:handshake:handshake

micro虾米

0个粉丝

5

问答

0

专栏

0

资料

micro虾米 2017-04-11 12:20:37
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=47985&ptid=14706]hanfei69882 发表于 2017-4-10 10:52[/url]
明白 多谢啦[/quote]

不客气,相互学习,共同进步!:handshake

micro虾米

0个粉丝

5

问答

0

专栏

0

资料

micro虾米 2017-07-06 08:56:08
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=47985&ptid=14706]hanfei69882 发表于 2017-4-10 10:52[/url]
明白 多谢啦[/quote]

朋友,请求帮忙,多谢
[url]http://www.ebaina.com/bbs/forum.php?mod=viewthread&tid=18020&extra=[/url]

Steve

0个粉丝

4

问答

0

专栏

0

资料

Steve 2017-09-22 11:17:08
认可0
楼主,这个驱动可以发出来吗,感谢

wu0

0个粉丝

7

问答

0

专栏

1

资料

wu0 2017-10-31 18:00:01
认可0
可以分享个驱动出来吗

fengzheng822

0个粉丝

5

问答

0

专栏

0

资料

fengzheng822 2017-11-21 10:58:51
认可0
可以分享个驱动出来吗
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区