请教,用单片机采集800个数字信号
1平米的平面上,我有800个数据点,每个点都是3.3V和0V这样的数字信号,单片机要在100毫秒内读取这800个点,大家能推荐个硬件方案吗? 本帖最后由 Himem 于 2023-11-30 10:00 编辑
一平米… 大号矩阵键盘?
得描述下是怎么个连接方式还是都只是开关 我想到的是用那种键盘扫描芯片,多用几片,单片机IIC或SPI读取。 用16口的SPI扩展IO如何,用一个64口的MCU去驱动
或32口的并口扩展IO,如CH351,这样MCU的口可以少一点 并转串芯片74HC165,100个,每10个再加个74HC245缓冲一下,应该差不多了 key按键还是啥
干扰处理需要进行吗 2个围棋盘吗?用30 * 30的矩阵键盘来做吧,找个100PIN的单片机,只需要60个IO口就够了。 楼主把具体的场景描述一下吧,没有具体的画面很难想象。 lb0857 发表于 2023-11-30 10:33
key按键还是啥
干扰处理需要进行吗
(引用自6楼)
霍尔开关输出的高低电平 honami520 发表于 2023-11-30 10:38
2个围棋盘吗?用30 * 30的矩阵键盘来做吧,找个100PIN的单片机,只需要60个IO口就够了。 ...
(引用自7楼)
亲,不是键盘,是N多个霍尔开关,我要去检测高低电平 lb0857 发表于 2023-11-30 10:33
key按键还是啥
干扰处理需要进行吗
(引用自6楼)
霍尔传感器输出的高低电平
不是按键 当成读800个数字IO,小case autolog 发表于 2023-11-30 14:02
当成读800个数字IO,小case
(引用自12楼)
能进一步指点一下吗 当成800个IO,然后用并入串出IC读取IO,例如74HC165或其他更多IO的IO扩展IC。 sdlqzql 发表于 2023-11-30 14:09
能进一步指点一下吗
(引用自13楼)
100片74HC165级联{:titter:} ,
理论上完全可行,实际操作注意信号完整性,或者拆分多组级联 用74hc165
参考稚晖君的机械键盘项目,非常牛B
https://github.com/peng-zhihui/HelloWord-Keyboard 最直接肯定是 165 级联,但实际时序问题、缓冲问题需要注意;
常用点的是 CPLD,一片能有几十或者上百个 io,十片之内搞定;
再就是上逻辑复用器,N选1开关用时序扫描来采集;
最后还有模拟编码的方案,不同 io 编码成模拟量用 adc 采,好处是电路简单,坏处是多点支持差 很多16路的I/O扩展芯片,用50片这种I/O扩展芯片变成50路I2C通讯,4个芯片挂到一个I2C上,需要12.5路I2C接口,单片机模拟I2C,1个I2C两个GPIO,也就需要26个CPU管脚,也就是说50个I/O扩展芯片加一个48脚的STM32,就搞定了 sdlqzql 发表于 2023-11-30 13:47
亲,不是键盘,是N多个霍尔开关,我要去检测高低电平
(引用自10楼)
高低电平串了二极管后也可以变成通断信号,然后等效成按键,按30x30的按键矩阵来扫描处理,一个100脚的STM32也可以搞 矩阵,MT8816或者更多接囗的矩陈模拟开关。 本帖最后由 autolog 于 2023-11-30 15:55 编辑
罗小蘑菇 发表于 2023-11-30 15:19
高低电平串了二极管后也可以变成通断信号,然后等效成按键,按30x30的按键矩阵来扫描处理,一个100脚的ST ...
(引用自19楼)
矩阵不行的,多键按下会有键位冲突。
当然,多加800个二极管也可以无冲突 感觉还是74hc165级联,而后DMA方式spi读,165速度可以到56M,就算跑到10M,时间也够的 t3486784401 发表于 2023-11-30 14:58
最直接肯定是 165 级联,但实际时序问题、缓冲问题需要注意;
常用点的是 CPLD,一片能有几十或者上百个 i ...
(引用自17楼)
请教 165 级联,有什么时序问题、缓冲问题需要注意,之前用过8片级联。不过都是低速的。spi速率500k t3486784401 发表于 2023-11-30 14:58
最直接肯定是 165 级联,但实际时序问题、缓冲问题需要注意;
常用点的是 CPLD,一片能有几十或者上百个 i ...
(引用自17楼)
FPGA/CPLD有不少上千pin的吧, 可能一两片就解决了, 不过估计还是比165级联贵得多... 了无 发表于 2023-11-30 16:10
请教 165 级联,有什么时序问题、缓冲问题需要注意,之前用过8片级联。不过都是低速的。spi速率500k ...
(引用自23楼)
SCK脚和LATCH脚需要缓存, MCU肯定驱动不了100片. 若干片并联, 加个随便什么HC244之类缓冲一下就好.
HC165应该不会慢吧, 记得以前玩光立方, HC595可以驱动到几M的spi时钟, HC165应该类似. tomzbj 发表于 2023-11-30 16:15
FPGA/CPLD有不少上千pin的吧, 可能一两片就解决了, 不过估计还是比165级联贵得多... ...
(引用自24楼)
所以 FPGA/CPLD 也得折中下,尤其某些供货可能还有问题。
另外目标区域似乎有 1m^2, 这么长距离究竟怎么安排,也是个麻烦 改成视觉,加个摄像头拍照片。 t3486784401 发表于 2023-11-30 16:31
所以 FPGA/CPLD 也得折中下,尤其某些供货可能还有问题。
另外目标区域似乎有 1m^2, 这么长距离究竟怎 ...
(引用自26楼)
问题不大, 读取的速度又不快, SPI的几条线如果长了可以用SP3485, 75176之类转成差分再转回来, 距离再长点也没事. tomzbj 发表于 2023-11-30 16:18
SCK脚和LATCH脚需要缓存, MCU肯定驱动不了100片. 若干片并联, 加个随便什么HC244之类缓冲一下就好.
HC1 ...
(引用自25楼)
我 595 串过 48 片,跑 1Mbps 也没啥问题;
主要是考虑好跨片子的延迟问题,数据和时钟的延迟得配套 要是我就搞个单片机主从结构,主机+can,从机就采集这玩意,比如找个腿多的单从机采集100路,不用啥并转串芯片,直接连。8个从机+1个主机就搞定了。喜欢的话也可以以太网~爽歪歪~随便折腾。 t3486784401 发表于 2023-11-30 16:43
我 595 串过 48 片,跑 1Mbps 也没啥问题;
主要是考虑好跨片子的延迟问题,数据和时钟的延迟得配套 ...
(引用自29楼)
每个595的前面有施密特驱动吧 lb0857 发表于 2023-11-30 16:54
每个595的前面有施密特驱动吧
(引用自31楼)
具体是分组了的,若干 595 一组,用施密特缓冲输入+输出 直接用10几个64脚单片机,芯片之间通过UART或其他通讯方式,这样最稳定。 前面有人提到74ls595,这个是串行转并行,并行转串行是74x165
用825个三极管,组成32x25阵列 如能找到100pin便宜的单片机,是最理想的 楼主这是要做 打靶方面的么 我觉得方式错了,, 这个不就是一个电阻触摸屏吗?
就是大一点而已。
页:
[1]