專利名稱:基于可編程控制器件的遠(yuǎn)程撥號智能預(yù)警設(shè)備的制作方法
技術(shù)領(lǐng)域:
本實用新型涉及一種預(yù)警設(shè)備,特別是一種基于可編程控制器件的遠(yuǎn)程撥號智能預(yù)警設(shè)備。
本實用新型基于硬件描述語言和可編程ASIC器件。VHDL(即高速集成電路硬件描述語言)語言、以MAX PLUSII為開發(fā)軟件、以可編程邏輯器件CPLD作為控制核心實現(xiàn)的智能撥號報警器,與傳統(tǒng)設(shè)計相比較,不僅簡化了接口和控制,提高了系統(tǒng)整體性能及工作可靠性,也為進(jìn)一步為系統(tǒng)集成創(chuàng)造了條件。
本實用新型是這樣實現(xiàn)的,一種基于可編程控制器件的遠(yuǎn)程撥號智能預(yù)警設(shè)備,包括一個報警電路,其報警信號輸出端與主控制電路報警輸入端連接,用于向主控制電路提供報警啟動信號;一個信號音檢測電路,其輸入端與電話線連接,其輸出端與主控制電路的計數(shù)端連接,用于向主控制電路提供與撥號音、回鈴音和忙音相對應(yīng)的計數(shù)信號;一個摘掛機(jī)控制電路,跨接在電話線之間,其受控端與主控制電路的摘掛機(jī)信號輸出端連接;一個發(fā)碼電路,其輸入端與主控制電路連接,其輸出端與電話線連接;一個主控制電路,分別與信號音檢測電路、摘掛機(jī)控制電路、發(fā)碼電路和報警電路連接,用于在報警電路采集到報警信號時,控制摘掛機(jī)控制電路摘機(jī),然后對信號音檢測電路送入的計數(shù)信號進(jìn)行檢測,當(dāng)檢測到撥號音時,控制發(fā)碼電路,使其發(fā)出預(yù)置的報警電話號碼。
本實用新型的優(yōu)點是,報警器具有體積小,可靠性高,靈活性強(qiáng)。
以下結(jié)合附圖
對本實用新型進(jìn)行詳細(xì)說明。
本實用新型的基本工作原理是,當(dāng)有人進(jìn)入室內(nèi)時,報警系統(tǒng)的人體傳感器通過紅外探測驗采集盜竊信號輸入,主控制電路控制自動摘掛機(jī)電路自動摘機(jī),摘機(jī)后,信號音檢測電路判斷電話線是否處于可撥號狀態(tài)。若是,主控制電路控制系統(tǒng)摘掛機(jī)電路撥預(yù)置的電話號碼。否則掛機(jī),延時后重?fù)?。在撥號后,要重新判斷電話線的狀態(tài)是否為回鈴音,若是,則掛機(jī)。否則掛機(jī)后重?fù)堋?br>
下面結(jié)合圖2說明的本實用新型的電路結(jié)構(gòu)及工作原理。
報警電路由EFP型熱釋電式紅外傳感器一個運(yùn)算放大器組成。EFP型熱釋電式紅外傳感器進(jìn)行探測。當(dāng)有人進(jìn)入其探測范圍時,傳感器輸出正向電壓,經(jīng)運(yùn)放放大后產(chǎn)生盜竊信號alarm,作為預(yù)警設(shè)備的啟動信號提供給主控電路。
信號音檢測電路主要由光電耦合器Q1和一個整形器組成,其中整形器可以由型號為74LS14的器件實現(xiàn)。
電話系統(tǒng)撥號音、回鈴音和忙音的音源頻率平均為450Hz(+/-25Hz),只是斷續(xù)比不同且在時間上有明顯差異(撥號音為450Hz+/-25Hz連續(xù)信號,忙音為0.35S通0.35S斷,回鈴音為1S通4S斷。)當(dāng)電話信號音到來后,經(jīng)光電耦合管在Q1的輸出端產(chǎn)生一個下降沿,經(jīng)74LS14滯回比較后送給主控制電路計數(shù)端count計數(shù),主控制電路則根據(jù)5秒內(nèi)計數(shù)值的不同來確定此時的電話線路是否處于可撥號狀態(tài)。
判斷信號音時,對count信號計數(shù)5秒,撥號音的計數(shù)下限為(450-25)*5=2125,計數(shù)上限為(450+25)*5=2375,即計數(shù)范圍為2125-2375。同理,忙音的計數(shù)范圍為1041-1212,回鈴音的計數(shù)范圍為425--475,無信號音的計數(shù)應(yīng)為0。在實際編程中,需考慮一定的計時計數(shù)誤差,從而使程序簡化,因此采用不同信號音相鄰計數(shù)界限的中間值來區(qū)分不同的信號音。同時,為了合理利用CPLD硬件資源,中間值應(yīng)盡量選為2N(N為整數(shù))。最后設(shè)定為計數(shù)值大于1792為撥號音,在102-1791之間為忙音,在256-1023之間為回鈴音,小于255為無信號音。在下面的主控電路中將做詳細(xì)描述。
發(fā)碼電路采用常見的雙音多頻發(fā)碼電路,主要由型號為22100和選通器件和信號為5087的發(fā)碼器件組成。由主控制電路發(fā)出選通信號en_dial使22100選通,然后把預(yù)置的電話號碼(或呼機(jī)號)以串行方式通過digit0--digit3傳送給22100,此時在5087的M端就可以把相應(yīng)的鍵值以DTMF的方式發(fā)送到運(yùn)算放大器,運(yùn)算放大器放大后經(jīng)耦合器N反饋到電話線上,從而實現(xiàn)預(yù)警撥號功能。
摘掛機(jī)控制電路包括一個晶體管、一個串接該晶體管集電極的繼電器J,以及由該繼電器控制的電感器N和電阻串聯(lián)支路。該串聯(lián)支路經(jīng)繼電器接點并接在電話線兩端,當(dāng)主控制電路摘掛機(jī)控制信號輸出端pick輸出高電位時,晶體管導(dǎo)通,使繼電器J工作,從而控制串聯(lián)支路接入電話線路,即實現(xiàn)摘機(jī)。當(dāng)主控制電路的pick端為低電位時,則斷開串聯(lián)支路的接入,從而實現(xiàn)掛機(jī)。
時鐘頻率發(fā)生電路由555芯片構(gòu)成多諧振蕩器,通過輸出CLK為主控電路提供1KHz的時鐘頻率。
系統(tǒng)電源由整流電路、穩(wěn)壓電路組成。通過整流橋和7805的穩(wěn)壓塊將220V的交流電壓變?yōu)橄到y(tǒng)所需的5V直流電壓。
主控制電路采用Altera公司的EPM7128LC84_15芯片,用MAX PLUSII軟件工具開發(fā)。設(shè)計輸入完成后,進(jìn)行整體的編譯和邏輯仿真,然后進(jìn)行轉(zhuǎn)換、布局、延時仿真生成配置文件,最后下載至CPLD器件,實現(xiàn)其硬件功能。下面結(jié)合圖3至6具體說明主控制電路的工作原理。需要說明的是,圖3至圖6用于說明該芯片工作的示意圖。
此系統(tǒng)的控制核心CPLD的功能模塊組織結(jié)構(gòu)如圖3所示。
當(dāng)有報警信號輸入(alarm=1)時,此模塊會讓系統(tǒng)自動摘機(jī),并判斷信號是否為撥號音。若為不可撥號音則關(guān)機(jī),延時一段時間后重新摘機(jī);若為可撥號音,則將內(nèi)部的電話號碼各位順次移出,通過發(fā)碼電路實現(xiàn)自動報警撥號功能。
此功能模塊分為三個子模塊,它們分別是報警摘機(jī)子模塊、信號音檢測子模塊、撥號子模塊,現(xiàn)對其分述如下報警摘掛機(jī)子模塊lyzaiji(如圖4所示),當(dāng)有熱釋電傳感器檢測到有盜竊信號(alarm=1)輸入時,系統(tǒng)能夠自動摘機(jī)。當(dāng)確認(rèn)為不可撥號狀態(tài)時自動掛機(jī),延時后重新摘機(jī);系統(tǒng)撥完號以后也應(yīng)能自動掛機(jī),上述功能是由信號音檢測子模塊lyzaiji模塊實現(xiàn)的。
如圖4所示,CLK是系統(tǒng)時鐘輸入,alarm是人體檢測傳感器采集的盜竊信號輸入,reset是系統(tǒng)復(fù)位信號輸入,stop為撥號完成且檢測為回鈴音后的掛機(jī)控制信號輸入,busy為遇忙音的信號輸入(stop、busy都由信號音檢測子模塊lyjiance送來)。當(dāng)有盜竊發(fā)生時,alarm輸入信號有效。該模塊使摘機(jī)輸出信號pick有效(pick=1),從而驅(qū)動摘掛機(jī)電路產(chǎn)生摘機(jī)動作。如果摘機(jī)后電話信號音識別模塊lyjiance送來的是系統(tǒng)忙信號,即busy=l,此模塊輸出掛機(jī)信號(pick=0),延時一秒后重新摘機(jī),直到電話信號音為可撥號狀態(tài)(busy=0),撥號完成且檢測為回鈴音后stop=l(由lyjiance送來),此模塊產(chǎn)生掛機(jī)信號。此模塊VHDL程序如下<pre listing-type="program-listing">architecture rtl of lyzaiji isbeginprocess(clk,stop,busy,alarm)variable iinteger;begin if(clk′event and clk=′1′)then if(reset=′1′or stop=′1′)then/*當(dāng)系統(tǒng)復(fù)位輸入或撥號完成時*/ pick<=′0′;/*產(chǎn)生掛機(jī)信號*/ i=0;elsif(alarm=′1′)then/*當(dāng)有盜竊信號輸入時*/<dp n="d4"/> if(busy=′0′)then/*若電話線處于可撥號狀態(tài)*/ pick<=′1′;/*系統(tǒng)摘機(jī)*/ else pick<=′0′;/*若為忙音狀態(tài)*/ i=i+1;/*延時一秒*/ if(i=1000)then pick<=′1′;/*延時后摘機(jī)*/i=0; end if; end if;end if; end if; end process;end rt1;</pre>信號音檢測子模塊lyjiance(如圖5所示)電話信號音檢測原理在前面已經(jīng)敘述,在設(shè)計中計數(shù)器的計數(shù)值大于1792認(rèn)為是可撥號狀態(tài),在1792和1024之間為忙狀態(tài),在256和1023之間為回鈴音。CLK為時鐘信號輸入端。count為計數(shù)脈沖輸入端,與信號音檢測電路的count相連。pick是摘機(jī)信號輸入端。busy為電話忙狀態(tài)標(biāo)志信號輸出端。dial是撥號使能輸出端。over為撥號結(jié)束標(biāo)志位輸入,stop為系統(tǒng)停止撥號并申請掛機(jī)的標(biāo)志位輸出(連接至lyzaiji的stop端)。
此模塊功能當(dāng)摘機(jī)信號有效時(pick=1,由lyzaiji提供),模塊中計數(shù)器開始計數(shù),程序中有一個計數(shù)停止標(biāo)志位stp。當(dāng)系統(tǒng)摘機(jī)技計數(shù)的同時,另一計數(shù)器定時5秒,到5秒時stp=true,此時將計數(shù)結(jié)果與1792比較。如果計數(shù)值大于1792,則說明電話交換機(jī)系統(tǒng)處于可撥號狀態(tài),dial置1,busy置0,以觸發(fā)撥號模塊(lydial)進(jìn)行仿真撥號;否則電話處于不可撥號狀態(tài)dial置0,busy置1,驅(qū)動報警摘掛機(jī)模塊(lyzaiji)掛機(jī)(pick=0)。當(dāng)撥號完成后,由lydial將over置高送至本模塊,此時本模塊會重新對count進(jìn)行計數(shù)。若數(shù)值在256-1023之間,則認(rèn)為是回鈴音,延時2秒后掛機(jī)(stop=1)。否則,busy為高電平輸出忙信號,使lyzaiji掛機(jī),然后重新摘機(jī)撥號。其VHDL程序如下
<pre listing-type="program-listing">architecture trl of lyjiance issignal stpboolean=false;/*5秒定時標(biāo)志位*/signal stopenstd_logic;/*掛機(jī)延時標(biāo)志位*/begin process(clk) variable jinteger;/*定時5秒的計數(shù)變量*/ variable iinteger;/*掛機(jī)延時計數(shù)變量*/ beginif(pick=′1′)then/*若系統(tǒng)處于摘機(jī)狀態(tài)*/if(j/=5000)then/*未到定時時間5秒*/ j=j(luò)+1;/*定時變量計數(shù)*/else/*5秒定時已到*/ stp<=true;/*定時標(biāo)志為真*/ j=0;end if; if(stopen=’1’)then/*系統(tǒng)檢測到回鈴音將延時掛機(jī)標(biāo)志位置高*/ i=i+1;/*掛機(jī)延時變量計數(shù)*/ if(i=2000)then/*掛機(jī)延時兩秒*/ stop<=’1’;/*產(chǎn)生掛機(jī)信號*/ i=0;end if; else stop<=’0’;/*在系統(tǒng)為摘機(jī)狀態(tài),掛機(jī)信號無效*/end if;end process;process(count)variable cntinteger;/*信號檢測計數(shù)變量*/begin if(pick=′0′)then/*若系統(tǒng)處于掛機(jī)狀態(tài)*/ dial<=′0′; busy<=′0′; again<=’0’; cnt=0;<dp n="d6"/>else/*若系統(tǒng)處于摘機(jī)狀態(tài)*/ if(stp=true)then/*5秒定時時間到*/ if(1024<cnt<=1792)then/*系統(tǒng)處于忙狀態(tài)*/ dial<=′0′;/*撥號標(biāo)志無效*/ busy<=′1′;/*忙音標(biāo)志有效*/ elsif(cnt>1792)/*系統(tǒng)處于可撥號狀態(tài)*/ dial<=′1′;/*撥號標(biāo)志有效*/ busy<=′0′;/*忙音標(biāo)志無效*/ elsif(1023>cnt>256)/*電話線上為回鈴音*/ stopen<=’1’;/*掛機(jī)延時標(biāo)志位置高*/ end if; else/*5秒定時未到*/ if(count′event and count=′1′)then cnt=cnt+1;/*信號檢測計數(shù)器計數(shù)*/ end if; end if; end if; end process;</pre>撥號模塊lydial(如圖6所示)當(dāng)dial信號有效時(dial=1時)en_dial變?yōu)楦唠娖剑琫n_dial連接到22100的撥號使能端,以驅(qū)動發(fā)碼電路。與此同時,內(nèi)置的八位電話號碼鍵值順次從digit(3-0)的四個端口移出至22100的數(shù)據(jù)輸入端,從而使發(fā)碼電路能夠順利譯碼。當(dāng)發(fā)完電話號碼后將over位置高。
此模塊中很重要的一個功能是能將預(yù)先設(shè)定的八位電話號碼鍵值串行輸出至發(fā)碼電路。為了實現(xiàn)這一功能,此模塊內(nèi)置了一個循環(huán)移位、串行輸出的計數(shù)器。如圖示。d0-7都是長度為4的位矢量,在cp脈沖的作用下能夠順次移出置4位輸出端口digit(3-0)。其VHDL程序如下<pre listing-type="program-listing">architecture rtl of lydial issignal d0,d1,d2,d3,d4,d5,d6,d7std_logic_vector(3 downto 0);/*用于存儲預(yù)置的8為電話號碼*/begin<dp n="d7"/> a1dialmove port map(d0,d1,d2,d3,d4,d5,d6,d7,cp,digit);/*循環(huán)移位串行輸出計數(shù)器管腳連接*/ d0<=″1000″;/*預(yù)置的電話號碼為”88911705”*/ d1<=″1000″; d2<=″1001″; d3<=″0001″; d4<=″0001″; d5<=″0111″; d6<=″0000″; d7<=″0l01″; process(clk) variable iinteger;/*時序控制計數(shù)變量*/ variable jinteger;/*發(fā)碼個數(shù)計數(shù)變量*/ beginif(dial=′1′)then/*當(dāng)系統(tǒng)處于可撥號狀態(tài)時*/ if(over=’0’) i=i+1; if(i=500)then/*當(dāng)時序經(jīng)過0.5秒時*/cp<=not cp;/*dialmove的時鐘取反*/en<=′1′;/*使系統(tǒng)發(fā)碼模塊選中*/i=0;/*將時序控制計數(shù)變量清零*/j=j(luò)+1;/*發(fā)碼個數(shù)計數(shù)變量加一*/ end if; end if; if(j=8)then/*當(dāng)發(fā)完8個電話號碼時*/over<=’1’;/*發(fā)碼結(jié)束*/ j=0;/*將發(fā)碼個數(shù)計數(shù)變量清零*/ end if;end if; end process;end rtl;</pre>以上介紹了報警模塊(lybaojing)的三個組成子模塊。此三個模塊連接起來系統(tǒng)的電路圖如圖3所示。
這里需要指出的是,大方框外部的管腳為可編程邏輯器件的輸出管腳。其余均為內(nèi)部互連所用。
此報警模塊的工作過程為當(dāng)有盜竊情況發(fā)生時,alarm報警信號輸入lyzaoji模塊,產(chǎn)生pick=1摘機(jī)信號,控制摘掛機(jī)電路。然后信號音檢測模塊在摘機(jī)后對count輸入信號計數(shù),判斷電話音是否為撥號音。若非撥號音,產(chǎn)生電話忙信號busy至lyzaiji模塊,輸出掛機(jī)信號pick=0,系統(tǒng)掛機(jī)。然后延時摘機(jī)后重判。若為撥號音,則lyjiance模塊輸出撥號信號dial至lydial模塊。Lydial與發(fā)碼電路進(jìn)行數(shù)據(jù)通訊,控制其按預(yù)先設(shè)置的電話進(jìn)行自動撥號。撥號后延時,由lyjiance模塊判斷電話音是否為回鈴音。若是,則延時掛機(jī);若不是,則掛機(jī)后延時重?fù)堋?br>
本系統(tǒng)的工作過程是當(dāng)有人非法進(jìn)入室內(nèi)時,報警電路的EPF人體感應(yīng)器的輸出正向電壓,經(jīng)運(yùn)放放大后使alarm管腳變?yōu)楦唠娖剑删幊炭刂破髟跈z測到alarm=1時,使摘掛機(jī)控制電路的pick變?yōu)楦唠娖?。從而將繼電器J閉合,使系統(tǒng)實現(xiàn)模擬摘機(jī),然后控制器通過信號音檢測電路(即count的計數(shù)脈沖)來判斷電話線上是否為可撥號狀態(tài),若不是則將pick=0,系統(tǒng)掛機(jī)重?fù)?;若是,則將en_dial置高,即選通發(fā)碼電路,同時將預(yù)撥的電話號碼鍵值以串行方式(四位二進(jìn)制)從digit(0-3)輸出至發(fā)碼電路,其相應(yīng)的DTMF信號從M點經(jīng)過功放LM386和變壓器饋如電話線。當(dāng)撥號完成后,繼續(xù)通過count來判斷電話線上有無回鈴音。若有則掛機(jī),若沒有則暫時掛機(jī),延時后摘機(jī)重?fù)?。?dāng)主人回來后,通過按鍵K使reset有效,使系統(tǒng)復(fù)位。
本系統(tǒng)是用CPLD實現(xiàn)的遠(yuǎn)程撥號報警系統(tǒng),全部通過編譯仿真和系統(tǒng)調(diào)試。由于系統(tǒng)的很多功能由一塊CPLD實現(xiàn),外圍器件很少,所以系統(tǒng)體積小、可靠性高,且器件的可編程性使得系統(tǒng)功能易于完善。
權(quán)利要求1.一種基于可編程控制器件的遠(yuǎn)程撥號智能預(yù)警設(shè)備,其特征在于包括一個報警電路,其報警信號輸出端與主控制電路報警輸入端連接,用于向主控制電路提供報警啟動信號;一個信號音檢測電路,其輸入端與電話線連接,其輸出端與主控制電路的計數(shù)端連接,用于向主控制電路提供與撥號音、回鈴音和忙音相對應(yīng)的計數(shù)信號;一個摘掛機(jī)控制電路,跨接在電話線之間,其受控端與主控制電路的摘掛機(jī)信號輸出端連接;一個發(fā)碼電路,其輸入端與主控制電路連接,其輸出端與電話線連接;一個主控制電路,分別與信號音檢測電路、摘掛機(jī)控制電路、發(fā)碼電路和報警電路連接,用于在報警電路采集到報警信號時,控制摘掛機(jī)控制電路摘機(jī),然后對信號音檢測電路送入的計數(shù)信號進(jìn)行檢測,當(dāng)檢測到撥號音時,控制發(fā)碼電路,使其發(fā)出預(yù)置的報警電話號碼。
2.根據(jù)權(quán)利要求1所述的遠(yuǎn)程撥號智能預(yù)警設(shè)備,其特征在于包括一個時鐘頻率發(fā)生電路,用于向主控制電路提供時鐘信號;
3.根據(jù)權(quán)利要求1所述的遠(yuǎn)程撥號智能預(yù)警設(shè)備,其特征在于報警電路由EFP型熱釋電式紅外傳感器和一個運(yùn)算放大器組成。
4.根據(jù)權(quán)利要求1所述的遠(yuǎn)程撥號智能預(yù)警設(shè)備,其特征在于主控制電路由一個可編程邏輯器件組成。
專利摘要本實用新型是一種基于可編程控制器件的遠(yuǎn)程撥號智能預(yù)警設(shè)備,包括:一個報警電路,其報警信號輸出端與主控制電路報警輸入端連接,用于向主控制電路提供報警啟動信號;一個信號音檢測電路,其輸入端與電話線連接,其輸出端與主控制電路的計數(shù)端連接,用于向主控制電路提供與撥號音、回鈴音和忙音相對應(yīng)的計數(shù)信號;一個摘掛機(jī)控制電路,跨接在電話線之間,其受控端與主控制電路的摘掛機(jī)信號輸出端連接;一個發(fā)碼電路,其輸入端與主控制電路連接,其輸出端與電話線連接;一個主控制電路,分別與信號音檢測電路、摘掛機(jī)控制電路、發(fā)碼電路和報警電路連接。本實用新型的許多功能由一塊CPLD實現(xiàn),外圍器件很少,所以系統(tǒng)體積小、可靠性高,且器件的可編程性使得系統(tǒng)功能易于完善。
文檔編號H04M11/04GK2498807SQ0123341
公開日2002年7月3日 申請日期2001年8月16日 優(yōu)先權(quán)日2001年8月16日
發(fā)明者張常年, 王振紅, 趙紅怡, 李洋, 郝承祥 申請人:張常年, 王振紅, 趙紅怡, 李洋, 郝承祥