sdlqzql 发表于 2023-11-30 09:47:35

请教,用单片机采集800个数字信号

1平米的平面上,我有800个数据点,每个点都是3.3V和0V这样的数字信号,单片机要在100毫秒内读取这800个点,

大家能推荐个硬件方案吗?

Himem 发表于 2023-11-30 09:58:49

本帖最后由 Himem 于 2023-11-30 10:00 编辑

一平米… 大号矩阵键盘?
得描述下是怎么个连接方式还是都只是开关

令狐冲 发表于 2023-11-30 09:59:09

我想到的是用那种键盘扫描芯片,多用几片,单片机IIC或SPI读取。

ajfan 发表于 2023-11-30 10:10:23

用16口的SPI扩展IO如何,用一个64口的MCU去驱动
或32口的并口扩展IO,如CH351,这样MCU的口可以少一点

zqf441775525 发表于 2023-11-30 10:21:04

并转串芯片74HC165,100个,每10个再加个74HC245缓冲一下,应该差不多了

lb0857 发表于 2023-11-30 10:33:50

key按键还是啥
干扰处理需要进行吗

honami520 发表于 2023-11-30 10:38:13

2个围棋盘吗?用30 * 30的矩阵键盘来做吧,找个100PIN的单片机,只需要60个IO口就够了。

hexenzhou 发表于 2023-11-30 10:44:54

楼主把具体的场景描述一下吧,没有具体的画面很难想象。

sdlqzql 发表于 2023-11-30 13:46:26

lb0857 发表于 2023-11-30 10:33
key按键还是啥
干扰处理需要进行吗
(引用自6楼)

霍尔开关输出的高低电平

sdlqzql 发表于 2023-11-30 13:47:44

honami520 发表于 2023-11-30 10:38
2个围棋盘吗?用30 * 30的矩阵键盘来做吧,找个100PIN的单片机,只需要60个IO口就够了。 ...
(引用自7楼)

亲,不是键盘,是N多个霍尔开关,我要去检测高低电平

sdlqzql 发表于 2023-11-30 13:57:57

lb0857 发表于 2023-11-30 10:33
key按键还是啥
干扰处理需要进行吗
(引用自6楼)

霍尔传感器输出的高低电平

不是按键

autolog 发表于 2023-11-30 14:02:03

当成读800个数字IO,小case

sdlqzql 发表于 2023-11-30 14:09:43

autolog 发表于 2023-11-30 14:02
当成读800个数字IO,小case
(引用自12楼)

能进一步指点一下吗

lizengmao 发表于 2023-11-30 14:10:05

当成800个IO,然后用并入串出IC读取IO,例如74HC165或其他更多IO的IO扩展IC。

autolog 发表于 2023-11-30 14:28:37

sdlqzql 发表于 2023-11-30 14:09
能进一步指点一下吗
(引用自13楼)

100片74HC165级联{:titter:} ,
理论上完全可行,实际操作注意信号完整性,或者拆分多组级联

asj1989 发表于 2023-11-30 14:48:30

用74hc165

参考稚晖君的机械键盘项目,非常牛B

https://github.com/peng-zhihui/HelloWord-Keyboard

t3486784401 发表于 2023-11-30 14:58:58

最直接肯定是 165 级联,但实际时序问题、缓冲问题需要注意;

常用点的是 CPLD,一片能有几十或者上百个 io,十片之内搞定;

再就是上逻辑复用器,N选1开关用时序扫描来采集;

最后还有模拟编码的方案,不同 io 编码成模拟量用 adc 采,好处是电路简单,坏处是多点支持差

罗小蘑菇 发表于 2023-11-30 15:13:51

很多16路的I/O扩展芯片,用50片这种I/O扩展芯片变成50路I2C通讯,4个芯片挂到一个I2C上,需要12.5路I2C接口,单片机模拟I2C,1个I2C两个GPIO,也就需要26个CPU管脚,也就是说50个I/O扩展芯片加一个48脚的STM32,就搞定了

罗小蘑菇 发表于 2023-11-30 15:19:07

sdlqzql 发表于 2023-11-30 13:47
亲,不是键盘,是N多个霍尔开关,我要去检测高低电平
(引用自10楼)

高低电平串了二极管后也可以变成通断信号,然后等效成按键,按30x30的按键矩阵来扫描处理,一个100脚的STM32也可以搞

Firman 发表于 2023-11-30 15:36:29

矩阵,MT8816或者更多接囗的矩陈模拟开关。

autolog 发表于 2023-11-30 15:53:24

本帖最后由 autolog 于 2023-11-30 15:55 编辑

罗小蘑菇 发表于 2023-11-30 15:19
高低电平串了二极管后也可以变成通断信号,然后等效成按键,按30x30的按键矩阵来扫描处理,一个100脚的ST ...
(引用自19楼)

矩阵不行的,多键按下会有键位冲突。
当然,多加800个二极管也可以无冲突

youkebing 发表于 2023-11-30 16:07:27

感觉还是74hc165级联,而后DMA方式spi读,165速度可以到56M,就算跑到10M,时间也够的

了无 发表于 2023-11-30 16:10:59

t3486784401 发表于 2023-11-30 14:58
最直接肯定是 165 级联,但实际时序问题、缓冲问题需要注意;

常用点的是 CPLD,一片能有几十或者上百个 i ...
(引用自17楼)

请教 165 级联,有什么时序问题、缓冲问题需要注意,之前用过8片级联。不过都是低速的。spi速率500k

tomzbj 发表于 2023-11-30 16:15:56

t3486784401 发表于 2023-11-30 14:58
最直接肯定是 165 级联,但实际时序问题、缓冲问题需要注意;

常用点的是 CPLD,一片能有几十或者上百个 i ...
(引用自17楼)

FPGA/CPLD有不少上千pin的吧, 可能一两片就解决了, 不过估计还是比165级联贵得多...

tomzbj 发表于 2023-11-30 16:18:12

了无 发表于 2023-11-30 16:10
请教 165 级联,有什么时序问题、缓冲问题需要注意,之前用过8片级联。不过都是低速的。spi速率500k ...
(引用自23楼)

SCK脚和LATCH脚需要缓存, MCU肯定驱动不了100片. 若干片并联, 加个随便什么HC244之类缓冲一下就好.

HC165应该不会慢吧, 记得以前玩光立方, HC595可以驱动到几M的spi时钟, HC165应该类似.

t3486784401 发表于 2023-11-30 16:31:21

tomzbj 发表于 2023-11-30 16:15
FPGA/CPLD有不少上千pin的吧, 可能一两片就解决了, 不过估计还是比165级联贵得多... ...
(引用自24楼)

所以 FPGA/CPLD 也得折中下,尤其某些供货可能还有问题。

另外目标区域似乎有 1m^2, 这么长距离究竟怎么安排,也是个麻烦

leafstamen 发表于 2023-11-30 16:41:01

改成视觉,加个摄像头拍照片。

tomzbj 发表于 2023-11-30 16:41:49

t3486784401 发表于 2023-11-30 16:31
所以 FPGA/CPLD 也得折中下,尤其某些供货可能还有问题。

另外目标区域似乎有 1m^2, 这么长距离究竟怎 ...
(引用自26楼)

问题不大, 读取的速度又不快, SPI的几条线如果长了可以用SP3485, 75176之类转成差分再转回来, 距离再长点也没事.

t3486784401 发表于 2023-11-30 16:43:54

tomzbj 发表于 2023-11-30 16:18
SCK脚和LATCH脚需要缓存, MCU肯定驱动不了100片. 若干片并联, 加个随便什么HC244之类缓冲一下就好.

HC1 ...
(引用自25楼)

我 595 串过 48 片,跑 1Mbps 也没啥问题;

主要是考虑好跨片子的延迟问题,数据和时钟的延迟得配套

天下乌鸦一般黑 发表于 2023-11-30 16:45:53

要是我就搞个单片机主从结构,主机+can,从机就采集这玩意,比如找个腿多的单从机采集100路,不用啥并转串芯片,直接连。8个从机+1个主机就搞定了。喜欢的话也可以以太网~爽歪歪~随便折腾。

lb0857 发表于 2023-11-30 16:54:09

t3486784401 发表于 2023-11-30 16:43
我 595 串过 48 片,跑 1Mbps 也没啥问题;

主要是考虑好跨片子的延迟问题,数据和时钟的延迟得配套 ...
(引用自29楼)

每个595的前面有施密特驱动吧

t3486784401 发表于 2023-11-30 17:16:28

lb0857 发表于 2023-11-30 16:54
每个595的前面有施密特驱动吧
(引用自31楼)

具体是分组了的,若干 595 一组,用施密特缓冲输入+输出

lgg88 发表于 2023-11-30 19:07:15

直接用10几个64脚单片机,芯片之间通过UART或其他通讯方式,这样最稳定。

下一页 发表于 2023-12-1 10:08:56

前面有人提到74ls595,这个是串行转并行,并行转串行是74x165

camtime 发表于 2023-12-1 10:53:40

用825个三极管,组成32x25阵列

qd118118 发表于 2023-12-1 20:56:27

如能找到100pin便宜的单片机,是最理想的

阿豪博士 发表于 2023-12-2 09:13:37

楼主这是要做 打靶方面的么

lixin91985 发表于 2023-12-2 16:41:33

我觉得方式错了,, 这个不就是一个电阻触摸屏吗?
就是大一点而已。
页: [1]
查看完整版本: 请教,用单片机采集800个数字信号