最近在做一个项目,按键板上要实现的主要功能是读取16个数字输入信号,检测40个机械按键,驱动40个LED灯,硬件上采用的方案是2颗IS3980S芯片用于检测16个数字输入信号,1颗CH452A芯片用于检测按键阵列和驱动LED阵列,如下图所示:
并且为了节约MCU引脚资源,采用一主多从设计,即2颗芯片共用时钟信号,MISO信号和MOSI信号,有各种独立的片选信号,通过使能或禁止片选信号来实现一对一的通信。
但是调试期间发现,CH452A的按键检测是先通过MISO引脚触发下降沿按键中断,然后MCU去读取按键值的,这样就没办法实现共用MISO信号了,硬件就飞线了一个MCU的GPIO来调试了。
后面调试又遇到问题了,即同时开启了CH452A的显示功能和按键功能后,有部分按键无法正常触发,与硬件一起测试波形分析,也没找到原因。
单独开启按键功能时,所有按键都是正常的。原理图如下:
然后看了竞品的按键板设计,用了4颗TI的芯片和6颗NXP的芯片来实现以上功能,实现简单又稳定,不过成本不低呀。
由于MCU芯片引脚资源够用,后经沟通,我们也打算换方案了,即用2颗CH452来做,1颗只开显示功能,专门驱动LED阵列,1颗只开按键功能,专门用来检测按键阵列。
我们也是用在工业自动化领域,希望能扛过抗干扰测试。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|