电子说
在电子设备的设计中,一款合适的I/O伴侣芯片能极大地提升设备的性能和功能。今天我们就来深入了解一下德州仪器(TI)的LM8323,这是一款专门为减轻主机扫描矩阵键盘负担而设计的芯片,同时还具备通用I/O扩展、旋转编码器接口和PWM输出等实用功能。
文件下载:lm8323.pdf
LM8323支持最大8×12的键盘矩阵,再加上8个特殊功能(SF)键,总共能处理104个按键。SF键直接将键盘扫描输入拉到地,而不是连接到键盘扫描输出,这种设计使得按键处理更加灵活。而且,它还能将按键扫描事件存储在FIFO缓冲区中,最多可存储15个事件,方便主机后续处理。
芯片采用了与I2C兼容的ACCESS.bus接口,在从模式下支持高达400 kHz的通信速率(快速模式),能与主机进行高效稳定的通信。同时,它还具备硬件IRQ中断输出,可向主机发送键盘、旋转编码器、错误和状态等事件信号,让主机及时响应。
提供三个主机可编程的PWM输出,可用于平滑的LED亮度调制。这对于一些需要灯光控制的设备来说非常实用,比如智能手持设备的背光灯调节。
在未用于键盘或旋转编码器接口的引脚上,支持通用I/O扩展,增加了芯片的使用灵活性,能满足不同设备的多样化需求。
具备休眠模式,当检测到一段时间内没有按键按下、释放事件、旋转编码器计数器值变化或ACCESS.bus活动时,芯片会自动进入休眠模式,以降低功耗。而且,在任何矩阵按键扫描事件、SF键使用、ACCESS.bus接口活动或旋转编码器计数器值变化(如果启用)时,芯片都能从休眠模式中唤醒。
LM8323采用36引脚的csBGA封装,每个引脚都有其特定的功能。例如,KP-Xx引脚为键盘扫描输入,同时也是唤醒输入;KP-Yx引脚为键盘扫描输出;GPIO引脚则可用于通用I/O扩展。此外,还有一些特殊功能引脚,如ACB_SDA和ACB_SCL用于ACCESS.bus通信,PWM0 - PWM2用于PWM输出等。
在使用未使用的信号引脚时,需要注意正确的端接方式。比如,RESET引脚若不连接外部监控电路,应连接到VCC;CONFIG_1和PWM_2/CONFIG2引脚需通过上拉或下拉电阻连接到VCC或GND,以选择从地址;XTAL_IN引脚若未使用,必须连接到VCC或GND等。
LM8323有多种时钟源,包括约21 MHz的系统时钟(mclk),用于驱动I2C兼容的串行ACCESS总线和其他功能模块;2MHz的处理和命令执行时钟(tC),由系统时钟派生而来;内部PWM时钟是处理和命令执行时钟的固定分频(÷ 64),接近32 kHz,也可使用外部32.768 kHz时钟或晶体作为PWM的时基。
通过WRITE_CLOCK命令可以配置时钟,该命令在系统初始化时只需执行一次,用于覆盖默认设置。
芯片可以通过外部复位、RESET命令或内部产生的上电复位(POR)信号进行复位。外部RESET输入必须保持低电平至少700 ns以确保有效复位;POR电路在VCC上升到POR阈值电压(约1.2 - 1.5V)时会产生复位信号,VCC上升时间必须大于20 μs且小于10 ms。
复位后,芯片的引脚和内部配置会有相应的默认状态。例如,部分引脚处于高阻抗模式,PWM时钟源为片上时钟除以64,键盘大小默认为3×3等。
在典型应用中,LM8323可以支持8×9的标准按键和8个具有唤醒功能的SF键。通过ACCESS.bus接口与主机通信,使用硬件IRQ中断向主机发送事件信号。同时,还可以通过PWM输出驱动两个LED,并实现可编程的上升和下降斜坡,PWM_2还可用于控制第三个外部LED。旋转编码器接口与KP-Y9、KP-Y10和KP-Y11引脚共用,不过在较大的键盘配置中可能无法使用。
芯片初始化时,需要主机发送一系列命令进行配置,如WRITE_CFG、SET_KEY_SIZE、WRITE_CLK等。以一个具体的初始化示例来说,可将键盘矩阵配置为8×4,启用旋转编码器接口,设置GPIO引脚的输入输出状态和上拉下拉电阻等。通过执行READ_CONF、READ_PORT_SEL等命令可以验证这些设置。
LM8323对按键事件进行了编码,每个矩阵位置都有对应的代码。按键按下事件的编码与释放事件的编码通过最高位(MSB)区分,按下时MSB置1,释放时MSB清零。这些编码会按发生顺序加载到FIFO缓冲区中。
芯片以约4毫秒的固定时间间隔开始新的扫描周期。当检测到键盘状态变化时,会在消抖延迟后重新扫描键盘,确认状态变化后将其编码并写入FIFO缓冲区。在扫描周期内,只有一个KP-Yx输出引脚会被拉低,其他引脚为高电平或未驱动。
当同时按下多个按键时,芯片会将所有按键按下和释放事件按解码顺序存储在FIFO缓冲区中。但如果同时按下的按键位于同一输入行,可能会出现检测不准确的情况,此时主机需要采取一些措施,如发送SET_ACTIVE命令来防止芯片进入休眠模式。
芯片提供三个PWM输出,具备先进的占空比上升和下降斜坡功能,以及执行简单到复杂命令序列的能力。每个PWM通道都有独立的脚本执行引擎,主机可以通过PWM_WRITE、PWM_START和PWM_STOP三个命令与脚本执行引擎进行交互。
PWM脚本命令有固定的16位格式,与主机命令的可变长度字节格式不同。常见的脚本命令包括RAMP、SET_PWM、GO_TO_START、BRANCH、END和TRIGGER等。例如,RAMP命令可用于生成占空比斜坡,SET_PWM命令可用于设置占空比,END命令用于终止脚本执行并向主机发送中断信号。
文档中给出了多个PWM脚本示例,展示了如何使用这些脚本命令实现复杂的占空比变化和同步操作。通过合理编写脚本,可以实现各种灯光效果,如闪烁、渐变等。
LM8323通过两线的ACCESS.bus接口与主机通信,该接口与I2C总线标准兼容,芯片在400 kHz(快速模式)下作为总线从机工作。所有通信都由主机发起,通常是响应芯片发出的中断请求(IRQ低电平)。
主机可以通过一系列命令对芯片进行配置和控制,如READ_ID、WRITE_CFG、READ_INT等。这些命令涵盖了读取芯片信息、配置硬件、设置时钟、读取和写入GPIO引脚状态等功能。在使用这些命令时,需要注意命令的格式和参数设置,以确保正确操作芯片。
芯片的工作电压范围为1.62V - 1.98V,在不同工作模式下有相应的电流消耗。例如,在内部时钟工作且引脚无负载时,典型的电源电流为1.9 mA;在待机模式下,典型电流小于9 μA。同时,芯片还规定了输入输出电压、输入泄漏电流、端口输入滞后等电气参数。
LM8323提供了csBGA(NYB)封装,有不同的订购型号可供选择,如LM8323JGR8AXM/NOPB等。这些型号在包装数量、包装类型、RoHS合规性、引脚镀层/球材料、MSL评级和工作温度范围等方面基本相同,但在包装数量和包装尺寸上可能有所差异。
LM8323是一款功能丰富、性能稳定的移动I/O伴侣芯片,适用于无绳电话、智能手持设备等多种应用场景。它在按键扫描、通信接口、PWM输出、低功耗设计等方面都有出色的表现。作为电子工程师,在设计相关设备时,可以充分利用LM8323的这些特性,提高设备的性能和用户体验。但在使用过程中,也需要仔细研究芯片的引脚分配、时钟与复位、命令配置等方面的细节,确保芯片能正常工作。你在实际项目中有没有使用过类似的芯片呢?欢迎在评论区分享你的经验和见解。
全部0条评论
快来发表一下你的评论吧 !