OpenEdv-开源电子网

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

请问下如何扩展GPIO收集传感器数据

[复制链接]

25

主题

103

帖子

0

精华

初级会员

Rank: 2

积分
118
金钱
118
注册时间
2018-3-10
在线时间
66 小时
发表于 2018-7-3 22:21:40 | 显示全部楼层 |阅读模式
20金钱
现有一个项目需要用到300来个传感器,输出的是模拟信号,需要用到ADC,能否利用扩展GPIO的方式来达到目的?有没有其他的方案可以实施?谢谢

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

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4520
金钱
4520
注册时间
2018-5-11
在线时间
946 小时
发表于 2018-7-3 22:26:51 | 显示全部楼层
不可能,对于STM32来说,
ADC是有对应引脚的,不过也可以映射到其它引脚
但你这300多个,一个CPU搞不定,需要多机联合工作的。
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

25

主题

103

帖子

0

精华

初级会员

Rank: 2

积分
118
金钱
118
注册时间
2018-3-10
在线时间
66 小时
 楼主| 发表于 2018-7-3 22:42:54 | 显示全部楼层
warship 发表于 2018-7-3 22:26
不可能,对于STM32来说,
ADC是有对应引脚的,不过也可以映射到其它引脚
但你这300多个,一个CPU搞不定, ...

如果对采样频率没有太高要求的话可以实现吗
回复

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4520
金钱
4520
注册时间
2018-5-11
在线时间
946 小时
发表于 2018-7-3 22:54:48 | 显示全部楼层
ljw285 发表于 2018-7-3 22:42
如果对采样频率没有太高要求的话可以实现吗

一个CPU搞不定,
不是因为频率的关系,
主要是没有这么多的引脚。
除非你的频率很低,
外围可以采用矩阵切换,类似于电话交换机的功能,
将这300多条线分时切换连接到CPU进行采样。
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

1

主题

882

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3071
金钱
3071
注册时间
2018-2-7
在线时间
285 小时
发表于 2018-7-4 08:49:50 | 显示全部楼层
300个模拟信号,就算单片机所有口都有AD功能,那么也得300个IO口,这明显是不切实际的。所以可以考虑用多路ADC芯片,多路采集然后串口传回,也可以用多路模拟开关,通过模拟开关切换,一个IO口可以采集多路信号。但是这样需要将300个传感器的信号线都集中在一个地方,那么有的传感器的线就会很长,线路上衰减会影响结果。而且后期维护很麻烦。比较可行的办法就是,用多个采集板,根据位置就近采集,最后将控制板组网。方便维护也方便以后项目扩展。
回复

使用道具 举报

31

主题

265

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
413
金钱
413
注册时间
2018-1-9
在线时间
65 小时
发表于 2018-7-4 09:29:03 | 显示全部楼层
300多个ADC什么工程啊??这么庞大!!!。一般的MCU肯定时不行的。可以采用多路输入的ADC芯片,一般这种ADC与MCU通过spi或者IIC与MCU通信。根据各个ADC的地址或者片选不同,进行选择。(这样下来会比较慢)。即便如此300个还是太庞大了。能扩展到50个就感觉很厉害了。然后做6个。再加一个主控的。还是要看看你的具体使用场景。
回复

使用道具 举报

20

主题

227

帖子

0

精华

高级会员

Rank: 4

积分
605
金钱
605
注册时间
2017-7-14
在线时间
116 小时
发表于 2018-7-4 09:31:40 | 显示全部楼层
HXYDJ 发表于 2018-7-4 08:49
300个模拟信号,就算单片机所有口都有AD功能,那么也得300个IO口,这明显是不切实际的。所以可以考虑用多路 ...

那么有的传感器的线就会很长,线路上衰减会影响结果。
说的很对呀
回复

使用道具 举报

6

主题

359

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1604
金钱
1604
注册时间
2017-12-18
在线时间
173 小时
发表于 2018-7-4 09:55:16 | 显示全部楼层
这么多传感器即使能做也是效果非常不好,效率非常低,成本非常高
回复

使用道具 举报

25

主题

103

帖子

0

精华

初级会员

Rank: 2

积分
118
金钱
118
注册时间
2018-3-10
在线时间
66 小时
 楼主| 发表于 2018-7-4 09:56:23 | 显示全部楼层
jinfeihan57 发表于 2018-7-4 09:29
300多个ADC什么工程啊??这么庞大!!!。一般的MCU肯定时不行的。可以采用多路输入的ADC芯片,一般这种AD ...

就像传感器阵列一样,主要是要求分辨率高
回复

使用道具 举报

25

主题

103

帖子

0

精华

初级会员

Rank: 2

积分
118
金钱
118
注册时间
2018-3-10
在线时间
66 小时
 楼主| 发表于 2018-7-4 09:58:45 | 显示全部楼层
HXYDJ 发表于 2018-7-4 08:49
300个模拟信号,就算单片机所有口都有AD功能,那么也得300个IO口,这明显是不切实际的。所以可以考虑用多路 ...

什么是控制板组网?每个采集板对应一个主控芯片吗
回复

使用道具 举报

25

主题

103

帖子

0

精华

初级会员

Rank: 2

积分
118
金钱
118
注册时间
2018-3-10
在线时间
66 小时
 楼主| 发表于 2018-7-4 10:08:30 | 显示全部楼层
warship 发表于 2018-7-3 22:54
一个CPU搞不定,
不是因为频率的关系,
主要是没有这么多的引脚。

对,我的想法就是这样,利用多路模拟开关,
回复

使用道具 举报

1

主题

882

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3071
金钱
3071
注册时间
2018-2-7
在线时间
285 小时
发表于 2018-7-4 10:48:17 | 显示全部楼层
ljw285 发表于 2018-7-4 09:58
什么是控制板组网?每个采集板对应一个主控芯片吗

比如一个板子采集10路传感器信号,用30个板子去采集传感器数据,最后通过485或者can总线将30个控制板连起来给上位机发送采集的结果。
回复

使用道具 举报

31

主题

265

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
413
金钱
413
注册时间
2018-1-9
在线时间
65 小时
发表于 2018-7-6 09:27:00 | 显示全部楼层
HXYDJ 发表于 2018-7-4 10:48
比如一个板子采集10路传感器信号,用30个板子去采集传感器数据,最后通过485或者can总线将30个控制板连起 ...

正解!
回复

使用道具 举报

31

主题

265

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
413
金钱
413
注册时间
2018-1-9
在线时间
65 小时
发表于 2018-7-6 09:29:45 | 显示全部楼层
ljw285 发表于 2018-7-4 09:56
就像传感器阵列一样,主要是要求分辨率高

你要做什么?需求说出来。分辨率高,不是传感器多久解决了的。没有人会用300个ADC传感器,除非你做变形金刚!!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-15 23:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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