任务介绍
该设计包含一个旋转编码器、三个按键以及点阵LED(10*9)的HMI模块(Charlieplexing),为方便搭配不同的核心板,这个HMI模块需支持对核心板进行信息输入控制及核心板输出信息控制点阵LED的显示。为了尽可能少占用MCU核心板的IO管脚,在支持单片机直接控制的基础上,外加IO拓展器,可以直接使用I2C来控制板上所有外设。
设计的模块介绍
板子主要元件并不多,主要是一个LED矩阵。为了方便手工焊接,我是用的是0805封装的LED。矩阵使用的是Charlieplexing的技术进行的设计,这样可以使用尽可能少的管脚控制尽可能多的LED。这个依赖于单片机输出引脚的三态特性,也就是说每个引脚都需要可以配置为:
输出:逻辑低
输出:逻辑高
输入:高阻抗
那么自然在选择IO拓展器的时候,就不能使用常见的TCA9555,因为TCA9555的输入模式自带了弱上拉。这个项目中我们使用另一款产品TCA9535.
下面是得捷对应的物料链接:
0805 LED: https://www.digikey.cn/zh/products/detail/ams-osram-usa-inc/LG-R971-KN-1-0-20-R18/1227925?s=N4IgTCBcDaICwHYCsBaAMgcQEoE4EEYUBpAORXwGEAVFEgERAF0BfIA
TCA9535: https://www.digikey.cn/zh/products/detail/texas-instruments/TCA9535PWR/2139128
原理图和PCB模块设计介绍
这里使用了10个引脚控制了90个LED。
除了直接输入的R0-10以及按键SW1-3, 编码器ABS以外,一般使用更推荐使用板上的I2C来进行通讯。TCA9535的INT引脚用来做中断识别,方便对编码器进行控制。
由于TCA9535最高支持电压是5V,因此VCC端口不要使用超过5V的电源进行供电。
eZ-PLM上新建物料和项目的截图
在物料页面可以添加对应的物料,方便在设计过程中对成本进行控制。我这个项目芯片只有这一款,剩余都是通用的阻容开关,没有具体型号且价格忽略不计。
项目页面可以方便的添加多个版本的PCB,像我这个项目就已经更新到v2.0版本。
心得体会
时隔一年再次参加电子森林的活动,活动依旧创意十足,诚意满满!