1 系統工作原理 當需要遙控家用電器時,撥打相應的座機電話號碼,振鈴檢測電路檢測鈴流信號。如果有人接聽電話或振鈴次數少于5次,對程控電話的使用不造成影響;當振鈴次數達到5次后(次數可以通過軟件任意設定),單片機啟動語音提示電路并發出提示音,詢問是否進入家電控制模式。按“O”鍵否,掛機退出,按“1”鍵是,摘掛機電路自動摘機進入控制狀態并將摘機信號輸入到單片機中。單片機接收到摘機信號后,啟動語音提示電路發出提示音,提示操作者輸入密碼(系統支持在線修改密碼)。輸入的密碼經DTMF接收,轉換成二進制數并與事先存儲在單片機中的密碼比較。如果不相符,則語音提示密碼錯誤,可再次重新輸入,若三次密碼錯誤則發提示音并自動掛機;如果密碼相符,則語音提示選擇控制通道(按鍵l、2分別表示1、2號通道)。通道選擇后,按下“1”鍵表示開啟該路電器,并有語音提示“該路電器已經開啟”;按下“O”鍵表示關斷該路電器,有提示音“該路電器已經關閉”;再按“O”鍵則可掛機退出。若超時則自動掛機(超時時間由軟件設定)。 2 系統組成 本系統由5部分組成,即振鈴檢測電路、模擬摘機電路、DTMF解碼電路、通道控制電路和語音提示電路。其中振鈴檢測和解碼均采用外部中斷來實現,系統組成原理框圖如圖1所示。 3 系統硬件電路設計 3.1 振鈴檢測電路 3.1.1 原理分析 公用電話網的傳輸線路為二線模擬線路,采用直流環路信號方式,能向模擬話機提供直流饋電、振鈴信號、話音數據、音頻數據、雙音頻數據等。我國規定的標準為,話機在不通話時,電話線中的直流電壓是48 V。當有電話呼入時,同時還有(25±15)V、25 Hz的正弦信號加在電話線上,所以向用戶振鈴的鈴流電壓為(75±15)V、25 Hz的交流電壓。振鈴以5 s為周期,即1 s送,4 s斷。根據振鈴信號電壓比較高的特點,可以先使用高壓穩壓二極管進行降壓,然后輸入至光電耦合器。經過光耦的隔離轉換,從光電耦合器輸出的波形是頻率較高的方波信號,然后再將該方波信號轉化成便于LPC932計數的低頻方波信號。 3.1.2 方案設計 采用穩壓管、光電耦合器和反向器(晶體管9018),將一個周期的振鈴信號轉化成一個周期的方波信號,送入LPC932的INTO進行計數,其電路如圖2 所示。 當有振鈴信號時,電話線上的鈴流信號為(75±15)V、25 Hz的交流信號。其中直流電壓為48 V左右,交流電壓為(25±15)V、25 Hz的正弦信號。當該信號進入振鈴檢測電路后,首先用高壓電容C1進行隔直,電阻R1起限流作用。交流信號經過R1后通過穩壓管D1降壓,然后輸入到光電耦合器進行轉換。轉換后的信號經C2和R2濾波整流后,會變成標準低電平和帶紋波高電平的長周期脈沖信號;但是輸出的波形不好,且高電平的狀態還與交換機有關,所以在后面加上了一個晶體管反向器作為整形,這樣就可以得到很完整的波形了,即電話每振鈴一次就產生一個周期的方波信號。將該信號輸入LPC932 的中斷口進行計數,方便、可靠。 3.2 模擬摘機電路 3.2.1 原理分析 在設計該電路之前,首先介紹一下電話摘機的工作原理。用戶話機的摘掛機狀態,是通過對直流環路上電流的通斷來實現的。用戶掛機空閑時,直流環路斷開,饋電電流為0;反之,用戶摘機后,直流環路接通,饋電電流在20mA以上。因為程控電話交換機對電話摘機的響應,會使電話線回路電流突然變大約30 mA,所以交換機檢測到回路電流變大就認為電話機已經摘機。 3.2.2 電路設計 通過單片機控制晶體管9013的通斷,進而控制繼電器的通斷來實現模擬摘機。其電路如圖3所示。 晶體管開關電路控制繼電器的開關,繼電器控制音頻信號輸入到解碼電路進行解碼。當掛機時,P1.3的電平通過CPU控制為低電平,T1截止,電路無法形成回路,沒有電流(理想狀態),交換機則認為電話線處于掛機狀態。摘掛機信令由單片機通過使P1.3口變為高電平實現。改變晶體管T1的基極電壓,使T1處于導通狀態,從而吸合繼電器K1,使音頻信號通過K1輸入到解碼電路進行解碼。這時電話線回路電流突然變大約30 mA,所以交換機檢測到回路電流變大就認為電話機已經摘機,整個電路完成自動模擬摘機過程。 3.3 DTMF解碼電路 3.3.1 原理分析 當用戶在電話機的鍵盤上輸入密碼或按下控制按鈕后,這些信息均采用雙音頻方式通過電話線發出。DTMF解碼電路的主要作用是接收從TELO、TEL1輸入的雙音多頻信號,并將其轉換成二進制編碼,然后輸至單片機進行數據處理,進而實現控制功能。本方案采用雙音多頻(DTMF)解碼芯片MT8870來對雙音頻信號進行解碼,將其轉化成二進制數據并輸入CPU進行數據處理。 3.3.2 電路設計 由MT8870組成的解碼電路如圖4所示。 本電路采用的是MT8870雙音多頻解碼芯片,能實現雙音多頻信號(DTMF)的解碼。當接收DTMF信號時,模擬摘機后從TEL0、TELl進入的雙音多頻信號經過耦合隔離變壓器耦合入MT8870的輸入腳IN一;DTMF信號經運放、撥號音濾波器、高頻組及低頻組分離帶通濾波器送到數字算法與編碼變換器進行確認,譯成相應的4位二進制碼,存入接收數據寄存器,需要時通過數據總線Q1~Q4輸出,送入LPC932的PO口。其中輸入腳IN-和增益選擇端 GS之間的反饋電阻可以調節運放的增益。 3.4 語音提示電路 3.4.1 原理分析 APR9600 語音錄放芯片,是繼美國ISD公司以后采用模擬存儲技術的又一款音質好、噪音低、不怕斷電、可反復錄放的新型語音電路。單片電路可錄放32~60 s,串行控制時可分256段以上,并行控制時最大可分8段。與ISD公司同類芯片相比,它具有價格便宜,有多種手動控制方式,分段管理方便,多段控制時電路簡單,采樣速度及錄放音時間可調,每個單鍵均有開始、停止、循環多種功能等特點。 在APR9600芯片的內部,錄音時外部音頻信號通過話筒輸入和線路輸入方式進入。話筒可采用普通的駐極體話筒。在芯片內話筒放大器中帶有自動增益調節 (AGC),可由外接阻容件設定響應速度和增益范圍。如果信號幅度在100 mV左右即可直接進入線路輸入端,音頻信號由內部濾波器、采樣電路處理后以模擬量方式存入專用快閃存儲器Flash中。由于Flash是非易失器件,斷電等因素不會使存儲的語音丟失。 放音時芯片內讀邏輯電路從Flash中取出信號,經過一個低通濾波器送到功率放大器中,然后直接推動外部的喇叭放音。廠家要求外接喇叭為16 Ω,實際實驗用8~16Ω均可。一般音量下輸出功率為12.2 mW(16 Ω)。 3.4.2 電路設計 (1) 錄音電路設計 在語音提示電路的設計過程中,首先要對APR9600進行語音的錄入,把系統所需要的語音信息錄入到芯片中。根據需要,系統只需要8段語音提示信息,所以本電路選擇APR9600的并行工作模式。APR9600芯片的并行工作模式十分簡單,每段都有對應的鍵控制,按哪一鍵就錄/放哪一段,可以方便地對任意一段重新錄音而不影響其他段,而且可對任意一段循環放音等。每段錄音的最長時間是等分的,最多可以分8段,剛好可以滿足本系統的需要。其錄音電路原理如圖 5所示。 并行8段控制需要將芯片的MSEL1端置1(高電平)、MSEL2端置1(高電平)、M8端置1。模式置好后開始錄音,置RE端為O,按住M1即聽到 “嘀”一聲,BUSY指示燈亮即開始錄音第l段,松開鍵時又聽到“嘀”一聲,BUSY指示燈熄滅即錄音停止。M2~M8分別錄其他7段。錄音時可以不按順序,先錄任意一段均可,不滿意可重新錄音。每段的最長時間為7.5 s(以全片60 s錄音計),錄滿時指示燈熄滅并響“嘀嘀”兩聲。當然,實際每段錄音可以長短不一。置RE端為1即是放音狀態,按一下M1即放音第1段,放音期間再按一下 M1即停止放音,如果壓住M1鍵不放即循環放音第1段直到松開鍵。M2~M8分別控制另外7段。CE鍵為停止鍵,放音期間按一下該鍵也能停止放音。 (2)放音電路設計 在語音芯片APR9600的錄音工作完成之后,接下來的任務就是把語音芯片接入系統中,通過CPU控制它的放音,根據需要適時地將提示音經過功率放大器 LM324放大后反饋到電話線上,最終到達用戶的話機,起到語音提示的作用。其電路原理如圖6所示。 因為系統總共有8段提示音,而單片機LPC932并沒有8個多余的I/O口,所以本單元電路使用LPC932的3個I/O口來實現語音提示功能。筆者選用 3-8譯碼器74LSl38將現有的3個I/0口擴展成8個I/O口,用來控制8段提示音的放音,即P1.4、P1.5、P1.6分別連接3—8譯碼器的 A、B、C,根據需要選通系統所需要發出的那段提示音(控制M1~M8中的某一個為低),被選通的提示音信號從SP+和SP一發出。將該語音信號輸入到 LM324進行功率放大,再將放大后的語音信號輸入到電橋電路,通過橋堆反饋到電話線上,并最終到達用戶的話機上,從而實現語音提示的功能。 3.5 通道控制電路 3.5.1 原理分析 電話遠程控制系統對受控設備的控制,要通過單片機對繼電器的閉合才能實現。在繼電器驅動時,繼電器控制端線圈工作電流比較大,不能直接用CPU的I/0口驅動繼電器,因此,在CPU與繼電器之間必須設置一個繼電器驅動電路。 3.5.2 方案設計 本方案采用晶體管9013作為開關電路來控制繼電器的關閉與開啟,從而實現對通道的控制,電路如圖7所示。 當CPU的P1.5腳輸出高電平時,晶體管導通,繼電器吸合,通道開啟;當P1.5腳輸出低電平時,晶體管截止,繼電器斷開,該路通道關閉。這樣就實現了對通道的控制,其中二極管D1的作用是保護晶體管9013,避免被繼電器吸合、關斷時產生的瞬時高壓擊穿。 其工作原理為:繼電器K在晶體管T導通時,上面電壓為上正下負,電流方向由上向下。在T關斷時,K中線圈電流突然中斷,線圈會產生感應電勢,其方向是力圖保持電流不變,即總想保持K電流方向為由上至下。這個感應電勢與電源電壓迭加后加在T兩端,容易使T擊穿。為此加上D1,將K產生的感應電勢短路掉,讓電流沿順時針方向在二極管和繼電器的小回路里面流動,從而保護T和繼電器本身。 4 系統軟件設計 系統包括振鈴檢測電路、模擬摘掛機電路、雙音頻信號(DTMF)解碼電路、語音提示電路及通道控制電路等多個模塊。這些模塊都是通過中央控制器 LPC932來協調控制的,這使得各個模塊的聯系非常緊密,它們之間是相互聯系、影響的,而不是完全獨立互不影響的獨立模塊。所以LPC932的功能引腳要合理的安排,才能使各個模塊之間相互協調的工作。系統主要模塊的軟件設計如下: 該系統軟件主程序的內容主要包括:對中斷方式和中斷優先級的設置,對LPC932的控制I/O口的初始化,各種標志的初始化,以及解碼芯片MT8870的初始化,原始密碼設置,密碼接收存儲區清零,模擬摘機之前振鈴次數的初始化等。其程序流程如圖8所示。 5 結論 本系統是將公眾電話網與單片機系統有機結合的綜合設計,有效地利用了現有的電信網絡資源,通過單片機LPC932實現了遠程控制,突破了傳統的無線遙控技術。電話遙控作為一個較新的課題與常規的遙控方式相比,顯示出一定的優越性,不需進行專門的布線,不占用無線電頻率資源,避免了電磁污染。 參考文獻 1. 周立功 LPC900 系列Flash單片機應用技術 2004 2. 李傳南.王劍剛.李寶華 單片機與DTMF信號收發芯片MT8870的直接接口設計 1999(2) 3. Pearce G J Telecommunication Switching 1981 作者:桂林電子科技大學 李君懿 來源:單片機與嵌入式系統應用 2008 (12) |