基于MC33993的車用多功能開關(guān)檢測(cè)設(shè)計(jì)的實(shí)現(xiàn)
1 引言
本文引用地址:http://www.ex-cimer.com/article/171616.htm隨著汽車電子技術(shù)的飛速發(fā)展,汽車內(nèi)部所用到的開關(guān)元件也日益復(fù)雜而繁多,因此,可靠實(shí)時(shí)地對(duì)這些開關(guān)量進(jìn)行檢測(cè)已成為汽車電子硬件設(shè)計(jì)必須解決的問題。傳統(tǒng)的開關(guān)檢測(cè)接口電路設(shè)計(jì)多采用電阻、電容等分立元件與單片機(jī)直接相連,這樣往往有如下弊端:
整個(gè)開關(guān)系統(tǒng)的可靠性得不到保證,給汽車安全帶來(lái)隱患:
由分立元件設(shè)計(jì)的開關(guān)觸點(diǎn)容易發(fā)生氧化,縮短了開關(guān)的使用壽命:
過(guò)多使用分立元件,浪費(fèi)大量的單片機(jī)I/O資源,降低了CPU的利用率。
針對(duì)上述問題,本文采用飛思卡爾公司生產(chǎn)的多路開關(guān)檢測(cè)器件MC33993設(shè)計(jì)了一款車用多路開關(guān)檢測(cè)接口電路。實(shí)驗(yàn)證明其工作性能良好。安全性高。
2 MC33993介紹
MC33993是一款可編程多路開關(guān)檢測(cè)接口器件,可檢測(cè)22路開關(guān)量輸入信號(hào),并將檢測(cè)到的開關(guān)狀態(tài)通過(guò)SPI(串行外圍接口)發(fā)送給單片機(jī)。MC33993還具有22路模擬多路開關(guān)功能,用以讀取多路模擬輸入信號(hào),模擬輸入信號(hào)經(jīng)緩沖器由模擬多路開關(guān)輸入以供微處理器讀取。除此之外,MC33993還可為傳感器提供電源。作為模擬傳感器的輸入、控制管理系統(tǒng)電源等。
MC33993的主要特性如下:
與單片機(jī)的通信接口:采用3.3V/5 v SPI接口協(xié)議:
8路可編程輸入SPO~SP7:開關(guān)可接電源正極,也可接地;
14路接地輸入SGO~SGl3:開關(guān)只能接地;
自動(dòng)喚醒功能:開關(guān)狀態(tài)的變化可將其從睡眠狀態(tài)中隨時(shí)喚醒;
中斷:開關(guān)狀態(tài)變化引起中斷;
可編程濕性電流:16 mA或20 mA。濕性電流可以防止觸點(diǎn)氧化。
MC33993的基本功能是檢測(cè)多路開關(guān)的狀態(tài)和作為多路模擬開關(guān),微處理器通過(guò)與MC33993的SPI接口通信,向MC33993發(fā)送控制命令字,開關(guān)狀態(tài)的變化引起中斷,微處理器又通過(guò)SPI接口讀取開關(guān)狀態(tài)。
MC33993有正常和休眠兩種工作模式。休眠模式可以降低系統(tǒng)的能耗,只有當(dāng)給器件發(fā)送休眠控制字時(shí),它才由正常模式進(jìn)入休眠模式。休眠模式中,開關(guān)狀態(tài)發(fā)生變化、中斷信號(hào)下降沿、片選信號(hào)下降沿、喚醒信號(hào)下降沿和定時(shí)器中斷均可以使MC33993進(jìn)入正常工作模式。正常模式在作為監(jiān)測(cè)開關(guān)狀態(tài)之用時(shí),單片機(jī)可經(jīng)SPI接口與MC33993通信對(duì)其進(jìn)行編程設(shè)定。
3 多路開關(guān)檢測(cè)接口電路設(shè)計(jì)
3.1 硬件電路設(shè)計(jì)
筆者設(shè)計(jì)的多功能開關(guān)節(jié)點(diǎn)中將開關(guān)狀態(tài)的檢測(cè)和節(jié)點(diǎn)通訊在一個(gè)模塊中實(shí)現(xiàn),微處理器采用PIC18F2480單片機(jī),這是一款PIC18系列高性能MCU,采用先進(jìn)的RISC架構(gòu),具有增強(qiáng)型內(nèi)核,32級(jí)堆棧和多種內(nèi)部和外部中斷源,內(nèi)部帶有CAN控制器,可以方便的實(shí)現(xiàn)CAN通訊[2]。多路開關(guān)中,22路按鍵開關(guān)分別與MC33993的SP0~SP7和SG0~SG13共22個(gè)輸入引腳相連,其中與SPn相連的開關(guān)閉合時(shí)接電源正端(通過(guò)編程實(shí)現(xiàn)),與SGn相連的開關(guān)閉合時(shí)接地,所有開關(guān)閉合時(shí)狀態(tài)為1,斷開時(shí)狀態(tài)為0。PIC18F2480單片機(jī)通過(guò)SPI通信讀取MC33993的開關(guān)狀態(tài)量,這兩個(gè)器件均有專門的SPI接口,因此他們之間的SPI通信實(shí)現(xiàn)起來(lái)很容易;MC33993的SO、SI、CS、SCLK和INT引腳分別與PIC18F2480的RC4/SDI、RC5/SDO、RC2/CCP1、RC3/SCK和RB1/NT1四個(gè)引腳相連。
MC33993與PIC18F2480單片機(jī)的連接電路如圖1所示。
3.2 工作原理
首先PIC18F2480通過(guò)SPI接口對(duì)MC33993進(jìn)行初始化設(shè)置,設(shè)定MC33993的工作方式,當(dāng)開關(guān)被按下或斷開時(shí),MC33993的輸入口狀態(tài)發(fā)生變化,使之從睡眠模式中被喚醒,并立刻向處理器PIC18F2480發(fā)送讀取開關(guān)狀態(tài)量的中斷請(qǐng)求,處理器識(shí)別中斷并通過(guò)SPI接口讀取開關(guān)狀態(tài)的變化,然后執(zhí)行相應(yīng)的操作。
3.3 開關(guān)檢測(cè)接口電路軟件的設(shè)計(jì)
開關(guān)檢測(cè)軟件設(shè)計(jì)包括初始化程序和讀取開關(guān)狀態(tài)的程序兩部分。
初始化程序主要完成對(duì)MC33993內(nèi)部幾個(gè)相關(guān)寄存器的命令字的設(shè)置,例如復(fù)位寄存器、濕性電流控制寄存器、SPn設(shè)置寄存器等。
評(píng)論