基于多路开关检测器件MC33993实现开关检测电路的设计方案


原标题:基于多路开关检测器件MC33993实现开关检测电路的设计方案
基于多路开关检测器件MC33993实现开关检测电路的设计方案
一、引言
随着汽车电子技术的飞速发展,汽车内部所用到的开关元件日益复杂而繁多。可靠实时地对这些开关量进行检测已成为汽车电子硬件设计必须解决的问题。传统的开关检测接口电路设计多采用电阻、电容等分立元件与单片机直接相连,这样往往存在整个开关系统可靠性得不到保证、开关触点容易发生氧化导致使用寿命缩短等问题。针对上述问题,本文采用飞思卡尔公司生产的多路开关检测器件MC33993设计了一款车用多路开关检测接口电路。
二、MC33993器件介绍
MC33993是一款可编程多路开关检测接口器件,由美国飞思卡尔(Freescale)公司生产。它可检测多达22路的开关量输入信号,并将检测到的开关状态通过SPI(串行外围接口)发送给单片机。此外,MC33993还具有22路模拟多路开关功能,用以读取多路模拟输入信号,模拟输入信号经缓冲器由模拟多路开关输入以供微处理器读取。除此之外,MC33993还可为传感器提供电源,作为模拟传感器的输入、控制管理系统电源等。
2.1 MC33993的主要特性
与单片机的通信接口:采用3.3V/5V SPI接口协议。
开关输入:8路可编程输入SP0~SP7,开关可接电源正极,也可接地;14路接地输入SG0~SG13,开关只能接地。
自动唤醒功能:开关状态的变化可将其从睡眠状态中随时唤醒。
中断:开关状态变化引起中断。
可编程湿性电流:16mA或20mA,湿性电流可以防止触点氧化。
工作电压范围:5.5V~26V。
开关输入电压范围:-14V~40V。
待机电流:器件主电源VPWR的典型待机电流为100μA,VDD电源的典型待机电流为20μA。
2.2 MC33993的引脚功能
MC33993采用32脚宽体SOIC封装,各引脚的功能如下:
1脚(GND):接地。
2脚(SI):SPI控制数据输入,数据来自MCU。
3脚(SCLK):SPI控制时钟输入。
4脚(CS):SPI控制片选输入,片选控制来自MCU。
5~8脚(SP0~SP3):可编程开关输入。
9~15脚(SG0~SG6):开关接地输入。
16脚(VPWR):电池电源输入。
17脚(WAKE):唤醒输出。
18~24脚(SG13~SG7):可编程开关输入。
25~28脚(SP4~SP7):开关接地输入。
29脚(INT):输入开关状态变化中断。
30脚(AMUX):模拟多路开关输出。
31脚(VDD):3.3V/5V电源。
32脚(SO):数据输出。
三、主控芯片型号及其在设计中的作用
在设计基于MC33993的多路开关检测电路时,选择合适的主控芯片(单片机)至关重要。本文选用的是Microchip公司的PIC18F2480单片机。
3.1 PIC18F2480单片机介绍
PIC18F2480是一款PIC18系列高性能MCU,采用先进的RISC架构,具有增强型内核、32级堆栈和多种内部和外部中断源。内部带有CAN控制器,可以方便地实现CAN通讯。其主要特点包括:
高性能RISC CPU:指令周期短,执行速度快。
大容量的程序存储器:足够存储复杂的控制程序。
丰富的外设接口:包括SPI、I2C、USART等,方便与其他器件通信。
多种中断源:支持外部中断、定时器中断等,提高系统的实时性。
低功耗设计:支持休眠模式,降低系统功耗。
3.2 PIC18F2480在设计中的作用
PIC18F2480作为主控芯片,在基于MC33993的多路开关检测电路设计中起到了核心作用。其主要功能包括:
初始化MC33993:通过SPI接口对MC33993进行初始化设置,设定其工作方式。
读取开关状态:当开关被按下或断开时,MC33993的输入口状态发生变化,并产生中断请求。PIC18F2480识别中断并通过SPI接口读取开关状态的变化,然后执行相应的操作。
控制其他外设:根据读取到的开关状态,控制其他外设的工作,如LED指示灯、继电器等。
四、电路设计
4.1 电路连接
多路开关中,22路按键开关分别与MC33993的SP0~SP7和SG0~SG13共22个输入引脚相连。其中,与SPn相连的开关闭合时接电源正端(通过编程实现),与SGn相连的开关闭合时接地。所有开关闭合时状态为1,断开时状态为0。
PIC18F2480单片机通过SPI通信读取MC33993的开关状态量。MC33993的SO、SI、CS、SCLK和INT引脚分别与PIC18F2480的RC4/SDI、RC5/SDO、RC2/CCP1、RC3/SCK和RB1/NT1四个引脚相连。
4.2 工作原理
电路的工作原理如下:
初始化:首先,PIC18F2480通过SPI接口对MC33993进行初始化设置,设定MC33993的工作方式。
开关检测:当开关被按下或断开时,MC33993的输入口状态发生变化,使之从睡眠模式中被唤醒,并立刻向处理器PIC18F2480发送读取开关状态量的中断请求。
中断处理:处理器PIC18F2480识别中断,并通过SPI接口读取开关状态的变化,然后执行相应的操作。
4.3 软件设计
软件设计包括初始化程序和读取开关状态的程序两部分。
初始化程序:主要完成对MC33993内部几个相关寄存器的命令字的设置,例如复位寄存器、湿性电流控制寄存器、SPn设置寄存器等。
读取开关状态:在中断服务子程序中实现。当开关状态变化时,MC33993产生中断。PIC18F2480进入中断服务程序,通过SPI接口读取MC33993的开关状态。
在软件设计过程中,MC33993读写函数在初始化程序和开关状态读取程序中都会被调用,是整个开关检测软件设计的关键。
五、电路性能分析
基于MC33993的车用多路开关检测接口电路具有以下优点:
电路简单:采用MC33993和PIC18F2480两个主要器件,电路结构简单,易于实现。
运行良好:实验证明,该电路工作性能良好,能够准确检测开关状态。
安全可靠:MC33993具有自动唤醒功能和中断功能,提高了系统的可靠性和安全性。
低功耗:MC33993具有休眠模式,可以降低系统的功耗。
此外,MC33993的可编程湿性电流功能可以防止触点氧化,延长开关的使用寿命。
六、结论
本文采用飞思卡尔公司生产的多路开关检测器件MC33993设计了一款车用多路开关检测接口电路。该电路采用PIC18F2480单片机作为主控芯片,通过SPI接口与MC33993进行通信,实现了对22路开关量的可靠实时检测。实验证明,该电路工作性能良好,安全可靠,且降低了系统的功耗,具有较强的应用价值。
在未来的研究中,可以进一步优化电路设计和软件设计,提高系统的稳定性和可靠性。同时,也可以探索将MC33993应用于其他领域,如工业控制、智能家居等,以拓展其应用范围。
责任编辑:David
【免责声明】
1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。
2、本文的引用仅供读者交流学习使用,不涉及商业目的。
3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。
4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。
拍明芯城拥有对此声明的最终解释权。