摘 要: 介紹了一種基于多路開關檢測接口芯片MC33993" title="MC33993">MC33993與單片機芯片AT89C2051" title="AT89C2051">AT89C2051的多路紅外家電集中遙控管理系統的硬件電路的設計,使用微處理器少量的I/O口資源實現了較多路用電設備的控制管理,使得整個遙控系統的硬件設計及軟件設計都更加簡潔。
關鍵詞: 多路開關檢測接口 三端雙向可控硅 MC33993 AT89C2051 HX2262/2272
紅外遙控" title="紅外遙控">紅外遙控技術由于通過光信號傳遞數據,因而不易受到電磁干擾,其頻率的使用也不象無線遙控技術那樣受到許多的限制,而且通訊的可靠性高。因此在短距離遙控領域,更多地使用紅外遙控技術,而不是無線遙控技術。本文設計的多路遙控系統主要針對的是目前家庭眾多的家用電器設備需要集中控制管理。其主要特點是一改傳統鍵盤控制電路設計往往以總線方式外接8155、8255或8279芯片來擴展并行口,而采用MOTOROLA公司最新推出的串行可編程多路開關檢測接口芯片MC33993與價格低廉的單片機芯片AT89C2051實現鍵盤控制;并且在遙控輸出控制方面,利用MC33993可以驅動MOSFET/LED之功能,再次采用MC33993與AT89C2051實現多路輸出控制,從而以CPU較少的I/O口資源滿足了較多路的輸出控制。因此,MC33993的使用大大節省了系統有限的I/O口資源,同時有利于實現系統更多的其它控制功能,而且也使系統的硬件設計和軟件設計更加簡潔。
1 多路紅外系統組成及其原理
紅外遙控本質上是利用紅外線傳遞數字編碼信號。通常紅外遙控系統是由紅外遙控發射電路、紅外遙控接收電路及其輸出控制電路兩部分組成,如圖1所示。
紅外遙控發射電路的功能是對輸入控制指令信號進行掃描、產生遙控編碼脈沖、驅動紅外發射管輸出紅外遙控信號。紅外遙控接收電路的功能是接收紅外遙控信號并將之放大、檢波、整形,解調出編碼脈沖。遙控編碼脈沖是一組組串行二進制碼,對于一般的紅外遙控系統,此串行碼輸入到微控制器,由其完成遙控指令的解碼;微控制器根據解出的控制指令輸出相應的控制信號,由輸出控制電路去執行相應的遙控功能。
2 紅外遙控發射電路的設計
整個多路紅外遙控發射電路包括遙控指令輸入電路部分和編碼發射電路部分。多路紅外發射電路如圖2所示。它主要由MC33993、AT89C2051、HX2262、LTE5208A等器件構成。
2.1 遙控指令輸入電路設計
系統的遙控指令輸入電路是基于MOTOROLA公司新近推出的可編程多路開關檢測接口集成電路MC33993設計的,它可檢測多達22路開關量輸入信號,并可將檢測到的多路開關的狀態(三態)信號通過該芯片的SPI(串行外圍接口)傳送給單片機。該器件具有22路模擬多路開關的功能,用以讀取多路模擬輸入信號,模擬輸入信號經緩沖器緩沖后由模擬多路開關輸出以供單片機讀取。除此之外,MC33993還具有許多其它靈活的應用,諸如可為傳感器提供電源、作為模擬傳感器的輸入、驅動MOSFET/LED和控制管理系統電源等。
在這里主要利用其基本的開關檢測功能。MC33993與單片機AT89C2051的接口電路設計(參見圖2)如下:22路遙控開關分別與MC33993的SP0~SP7及SG0~SG13共22個輸入端口連接,MC33993的SPI通信口的SI、SO、CS、SCLK分別與AT89C2051的P3.0、P3.1、P3.4、P3.5相連接,MC33993的中斷輸出與AT89C2051的中斷輸入
連接。MC33993的WAKE端控制電源管理芯片MC33998的5V電源輸出,平時MC33993等處于睡眠模式。遙控指令的檢測工作原理是這樣的:首先單片機通過與MC33993的SPI口的通信對MC33993進行初始化,將MC33993的22個檢測輸入口全部設置為高電平。當有鍵盤按下時,MC33993可被喚醒,即可向單片機產生中斷請求,單片機通過MC33993的SPI口讀取鍵盤的狀態變化,并將按下的按鍵指令編成一個6比特數,由AT89C2051的P1.0、P1.1、P1.2、P1.3、P1.4、P1.5輸出給編碼芯片HX2262。MC33993的應用使系統省去了CPU對鍵盤的不斷掃描,因此提高了CPU 的利用率。
2.2 編碼發射電路設計
紅外遙控編碼電路采用HX2262芯片,它的A0~A5為地址輸入,可編程三種狀態:1、0、浮空。在這里A0~A5全部設為低電平。D0~D5為數據輸入,可為1或0兩種狀態,輸入的指令編碼由AT89C2051的P1口提供。HX2262與單片機的接口參見圖2。TE為發射使能端,低電平有效,它由單片機的P3.7控制。OSC1與OSC2外接振蕩電阻,決定電路時鐘頻率,振蕩頻率 f =1000×16/Rosc(kHz),Rosc為振蕩器電阻,其值選為470kΩ。DOUT為數據串行輸出。每傳送一組編碼,編碼串都自動連發四次,編碼器用不同的占空比及組合表示不同的狀態。輸出數據調制在38kHz的載波上,非門芯片CD4011構成38kHz的振蕩器。整個編碼(地址編碼與指令編碼)脈沖調制在38kHz的載波上后由紅外發射管LTE5208A發射出去。
3 紅外接收及遙控輸出電路設計
3.1紅外接收及其解碼電路的設計
紅外接收電路如圖3所示,它由集成紅外接收管(紅外放大解調于一體的組件產品)、解碼芯片HX2272、AT89C2051組成。其中HX2272是與HX2262配對使用的解碼芯片,A0~A5是地址輸入,要求與發射端的HX2262設定的狀態一致,因此全都設置為低電平。D0~D5為數據輸出,脈沖編碼信號自Din輸入,振蕩器電阻選為1M?贅。當接收到有效信號時,VT端由低電平變為高電平。HX2272與AT89C2051的接口參見圖3,HX2272的6位數據口D0~D5分別與AT89C2051的P1口連接。當NJL41V328的感光窗接收到紅外發射器發來的紅外線調制信號時,經內部電路處理輸出給HX2272解碼芯片;在HX2272對接收的數據解碼成功后, VT端由低電平變為高電平,三極管導通,給單片機INT0中斷口一個低電平,AT89C2051立即響應中斷,通過P1口讀取HX2272的輸出數據;然后單片機根據讀取的來自發射端的控制指令編碼,通過其P3口與MC33993的SPI口的串行通信輸出相應的控制信號給MC33993,利用MC33993的22個可編程開關檢測口驅動MOSFET/LED的功能去控制三端雙向可控硅的光絕緣驅動電路MC3021。AT89C2051與MC33993的接口如圖3所示。
3.2 遙控輸出電路設計
由于本多路遙控系統主要是針對目前家庭眾多的家電設備的集中管理,所以該系統的控制對象大都是220V交流負載。首先AT89C2051對MC33993進行初始化,將MC33993的所有的開關檢測端口均設置為浮空狀態,在遙控接收電路成功解調出遙控指令后,由AT89C2051通過與MC33993的SPI口的串行通信輸出對應的控制信號給MC33993,使MC33993相應的端口為可控硅光絕緣驅動器MC3021的輸入發光二極管提供驅動電流,然后MC3021驅動三端雙向可控硅BT136導通,交流負載接通電源開始工作。當再次按下同一遙控按鍵時,AT89C2051輸出控制信號取反,使MC33993相應的端口斷開,不再為可控硅光絕緣驅動器MC3021的輸入發光二極管提供驅動電流,BT136喪失了MC3021的驅動,BT136截止,交流負載電源斷開使其停止工作。輸出控制電路參見圖3。由于篇幅限制,圖中只畫出了第一路和第22路輸出控制。
通常,需要大量開關接口和輸出控制電路的系統往往由許多分立器件組成,眾多的分立器件不僅在電路板上占據較大空間,而且必須仔細檢查焊接的完整性。而將功能靈活的MC33993應用于多路遙控的鍵盤控制與輸出控制中,減少了電路板的焊接和尺寸,同時又可提供非常靈活的接口,并且還具有睡眠工作模式,大大降低了系統的功耗。這樣,用較少的CPU資源和簡潔的電路設計,既解決了多控制按鍵的輸入問題,又解決了多控制輸出問題。MC33993是電子產品開發中非常理想的選擇。
參考文獻
1 MC33998.PDF.http://www.motorola.com
2 余永權.ATMEL89系列單片機應用技術.北京:北京航天航空大學出版社,2001
3 石東海.單片機數據通信技術從入門到精通.西安:西安電子科技大學出版社,2002