




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、東北大學畢業設計(論文) 第1章 緒論 基于GSM家庭防盜報警系統的設計摘要:隨著超大規模集成電路、通信技術、單片機技術的迅猛發展和人們保安意識的日漸增強,利用單片機及其它外圍芯片實現自動報警已成為可能,而且是一種發展趨勢。它不僅有體積小、安裝方便、功能較齊全等優點,而且有很高的性價比,因此應用前景廣泛。但是現有市場上的家用報警器都有一些不足之處,所以在現行產品的基礎之上研制一種新型的家用智能防盜報警器,進一步完善報警器的功能,提高它的可靠性,具有實際意義。這對于保障居民的生命財產安全,提高公安、消防、醫療、保安等部門的快速反應能力,有著重要的價值。本文在現有的家庭報警器基礎之上,將無線通信模
2、塊引入報警系統,使系統可通過固定電話線和無線通信模塊向外界報警,這樣就克服了報警器因電話線被惡意剪斷而失去報警功能的問題。采用模塊化的設計思想,系統功能劃分為三個部分:主模塊、移動通信模塊、警情采集模塊。用戶可以根據自己的需要和經濟承受能力,購買相應的模塊組合成滿意的家庭報警器。主模塊是系統的核心模塊,其它部分作為功能模塊。在主模塊中預先留有各個功能模塊的接口,并且將它們相應的軟件驅動程序存入主模塊之中,可以實現即插即用。本文對以上三個部分的軟硬件設計作了詳細的闡述,詳細介紹了核心芯片的選擇,外圍電路的連接,芯片與芯片之間的連接電路,程序設計方法和相應的軟件,并給出了關鍵軟件的程序源代碼。根據
3、項目的要求研制了一款家庭報警器,滿足用戶要求。本文在最后指出了家庭報警器的發展方向。關鍵詞:報警器,雙音多頻,GSM 第1章 緒論1.1 課題來源及研究意義隨著超大規模集成電路、通信技術、單片機技術的迅猛發展和人們保安意識的日漸增強,利用單片機及其它外圍芯片實現自動報警已成為可能,且是一種發展趨勢。它不僅有體積小、安裝方便、功能較齊全等優點,而且有很高的性價比,因此應用前景廣泛。但是現在市場上的家用報警器都有明顯的不足之處,所以在現行產品的基礎之上研制一種新型的家用防盜報警器,進一步完善報警器的功能,提高它的可靠性,具有實際意義。這對于保障居民的生命財產安全,提高公安、消防、醫療、保安等部門的
4、快速反應能力,有著重要的價值。1.2 報警器發展歷程和研究現狀報警器的發展與微電子技術的發展息息相關,它大致可分為三個發展階段,對應著三代產品1:第一代是利用純分離元件組成的產品,其特點是電路組成復雜,功能單一,可靠性較差,體積較大。 第二代是利用集成芯片(IC)和分離元件組成的產品,其特點是電路組成較復雜,但是可以實現多種功能,可靠性比第一代產品高。第三代是以單片機為核心,外加其它集成芯片和分離元件組成的產品,其特點是功能齊全,可靠性高,具備一定的智能化功能,但電路組成較復雜。現在市場上主要以第三代產品為主,前兩代產品由于功能單一的原因基本己經被淘汰。第三代報警產品又可分為兩類,一類是適合單
5、個家庭應用的獨立報警器,另一類是適合小區聯防報警的聯網報警系統。作為單個家庭用的報警器,產品己經比較成熟,而且功能也比較齊全。多數產品采用單片機作為控制核心部分,通過電話線實現向外界報警功能。但是這種報警器有著自身的不足之處,作為一個獨立的系統,它缺乏與外界聯系的有效手段,雖然它可以通過固定電話與外界聯系,但是一旦電話線被惡意剪斷,則將失去電話報警功能。- 38 -東北大學畢業設計(論文) 第2章 總體方案設計第2章 總體方案設計現行家用報警器的功能雖然己經比較齊全,但是并不完善。一個明顯的不足之處是:因為它們是通過電話線實現向外界報警功能,所以當電話線被惡意剪斷時則失去向外界報警的功能。因此
6、,本文將提出一種整體設計方案,以求解決原有家用報警器的不足,完善其功能,提高其可靠性。根據產品功能要求和產品的性價比,決定采用單片機技術與移動通信技術進行總體方案設計。2.1 報警器的功能要求根據用戶提出的實際要求,本文所研制的報警器的功能要求如下2-3:(1)可實現非法侵入、火災、煤氣和家庭緊急情況多種報警。(2)可通過固定電話與電話網絡聯接,報警時能迅速撥打存儲的號碼。(3)可通過移動電話與移動電話網絡連接,實現向外界報警。(4)可預先存儲10組號碼,且掉電不丟失。(5)可錄下20s報警資料,可以更改,且掉電不丟失。(6)傳感器采用無線數據通信。(7)有報警記憶功能。(8)可實現異常情況的
7、自動復位。2.2 總體設計方案根據系統功能的要求和系統構成的需要來設計報警器,其總體設計方案如圖2.1所示。采用單片機作為控制中心,配有雙音多頻(DTMF)收發電路、移動通信模塊、語音錄放電路、警情采集電路、看門狗電路、聲光報警電路4-6。當警情采集電路采集到警情信號時,單片機立即接通報警驅動電路實現聲光報警,與此同時單片機測試雙音多頻收發電路,如果該電路正常,則通過該電路撥打預先設置好的電話號碼,向外界報警,如果該電路不正常(例如電話線被惡意剪斷),則單片機接通移動通信模塊,通過無線調制解調器接入數字移動通信系統(GSM)向外界報警,通過以上任何一種方式,當檢測到呼叫方摘機后,單片機接通語音
8、電路,告知呼叫方與警情相關的信息,完成自動報警。 圖2.1報警器總體設計方案框圖看門狗電路用來實現三種功能,第一是低壓報警,第二是防止系統的程序跑飛,第三是存儲電話號碼。2.3 雙音多頻收發電路雙音多頻收發電路采用雙音多頻(DTMF )傳輸技術。DTMF可實現電話號碼快速可靠地傳輸,具有很強的抗干擾能力和較高的傳輸速度,在電話通信系統得以可廣泛的應用。但絕大部分是用作電話的音頻撥號,也可以在數據通信系統中用來實現各種數據流和語音等信息的遠程傳輸7-8。DTMF是用兩個特定的單音頻組合信號來代表數字信號以實現其功能的一種編碼技術。兩個單音頻的頻率不同,代表的數字或實現的功能也不同。這種電話機中通
9、常有16個按鍵,其中有10個數字鍵09和6個功能鍵 *,#,A,B,C,D。由于按照組合原理,一般應有8種不同的單音頻信號。因此可采用的頻率也有8種,故稱之為多頻,又因它采用從8種頻率中任意抽出2種進行組合來進行編碼,所以又稱之為“8中取2”的編碼技術。根據CCITT的建議,國際上采用的多種頻率為697Hz,770Hz,852Hz, 941Hz,1209Hz,1336Hz,1477Hz和1633Hz等8種。用這8種頻率可形成16種不同的組合,從而代表16種不同的數字鍵和功能鍵,具體組合如表2.1所示。表2.1 雙音多頻組合功能 低頻群 (Hz)高頻群 (Hz)1209 1336 1477 16
10、33 697 1 2 3 A 770 4 5 6 B 852 7 8 9 C 941 * 0 # D2.4 GSM數字移動通信系統移動通信模塊采用的是基于GSM數字移動通信系統的通信模塊9。通信就是信息交流。隨著社會的發展,人們對通信的要求越來越高,希望無論何時何地都能及時可靠地實現與任何人之間的通信。因此,傳統的固定通信手段已不能滿足人們的需要,移動通信就是在這種要求下發展起來的。移動通信就是指通信的雙方,至少有一方是在移動中進行的通信。例如,固定點與移動體(車輛、船舶、飛機)之間、移動體之間、活動的人與人之間以及人與移動體之間的通信都屬于移動通信的范疇。要使通信的一方或雙方在移動中實現通信
11、,就必須采用無線方式。當前所使用的無線頻段主要為VHF頻段的150MHz和UHP頻段的450MHz,800MHz,900MHz。最近已經出現使用1.8GHz頻段的GSM數字蜂窩移動電話系統。GSM數字移動通信系統是由歐洲主要電信運營者和制造廠家組成的標準化委員會設計出來,并在蜂窩系統的基礎上發展而成。GSM系統是1982年歐洲電信主管部門會議為開發第二代數字蜂窩移動系統而成立的機構,后來,歐洲的專家們將GSM有關的技術職能交給了歐洲電信標準協會。同時,為維護GSM網絡運營者、設備制造商和用戶的共同利益,各國的運營者和制造商共同發起并成立了GSM MOU(諒解備忘錄)組織。MOU組織1991年在
12、歐洲開通了第一個系統,同時為該系統設計和注冊了市場商標,將GSM更名為“全球移動通信系統”( Global System for Mobile Communications )。從此移動通信跨入了第二代數字移動通信系統。同年,移動特別小組還制定了1.8GHz頻段的公共歐洲電信業務的規范,名為DCSI800系統。該系統與GSM900具有同樣的基本功能特性,它只占GSM協議的很小一部分,僅將GSM900和DCSI800之間的差別加以描述,二者絕大部分是通用的,均可通稱為GSM系統。1992年,大多數歐洲GSM運營者開始商用業務。到1994年5月已有50個GSM網在世界上運營,10月總客戶數已超過4
13、00萬,國際漫游客戶每月呼叫次數超過500萬,客戶平均增長超過50% 。l993年,歐洲第一個DCSI800系統投入運營。到1994年已有6個運營者采用了該系統。GSM系統技術規范中只對功能和接口制定了詳細規范,而未對硬件做出規定。這樣做的目的是盡可能減少對設計者的限制,并使各運營者有可能購買不同廠家的設備。1991年中國在嘉興市建立和開通了我國第一個GSM引示系統,并于1993年9月正式開放業務。目前,我國GSM用戶數量已超過1億,成為世界上GSM手機量最多的國家。GSM系統的主要技術有以下6個特點:(1)由于采用了高效調制器、信道編碼、交織、均衡等技術,使系統的頻譜效率高。(2)具有靈活和
14、方便的組網結構,頻率重復利用率高,容量加大。(3)除開放話音業務外,還可開放承載業務、補充業務和與ISDN相關的業務。(4)提供開放性接口,可與各種公用通信網互連互通,任何廠家提供的GSM系統都能互連。(5)通過鑒權、加密和臨時移動用戶識別號碼(TMSI),可以達到安全的目的。(6)在SIM卡基礎上實現自動漫游功能,全部GSM移動用戶都進入GSM系統而與國別無關。2.5 單片機的軟件開發工具C51語言本報警器的主機采用AT89C51單片機來實現。采用高級語言工具C51來進行軟件設計。美國Archimedes公司和Franklin Software公司在20世紀90年代初專門為基于51系列單片機
15、開發了高級語言工具C51。利用該工具編寫的代碼簡單高效、結構清晰,尤其是后來不同類型的微處理器及其更新產品的開發工具基本上都支持C語言,因此用C語言編寫的程序容易移植和維護。現在C51主要有兩個版本:一個是Archimedes公司的C51 V4.05A,另一個是Franklin Software公司的C51 V3.20。兩個版本都支持ANSI標準,同時為滿足MCS51單片機的特殊需要又擴展了一些關鍵字,如 bit,code,data, idata,sfr,reentrant等。但是對于單片機89C51的應用,只有Franklin Software C51 V3.20編譯器提供C語言編程的方法。
16、該編譯器對局部變量及傳遞參數使用RAM覆蓋技術,使其內部RAM的利用效率提高,因此C51完全可以和匯編語言相比擬。同時,該編譯器還可以產生Intel格式的目標文件。 FranklinC51 V3.20有以下5個特點10:(1) 存儲模式上FranklinC51支持SMALL,COMPACT,LARGE模式。當缺省存儲類型時,存儲模式將自動決定變量的默認存儲類型,不能位于RAM中的參數、傳遞變量和無明確存儲類型說明的局部過程變量也將保存在默認的RAM區域。(2) 存儲類型FranklinC51支持89C51微處理器及結構,可完全訪問其硬件系統的所有部分,每個變量可準確地賦予不同的存儲類型,如表2
17、.2所示。表2.2 C51存儲類型與89C51存儲空間的對應關系 存儲類型 對應存儲空間 data 直接尋址片內數據存儲區,訪問速度快(128字節) pdata 分頁尋址片外數據區(256字節)MOVXR0訪問 xdata 片外數據存儲區(64k)MOVXDPTR訪問 code 代碼存儲區(64k)MOVCDPTR訪問 (3) 數據類型。FranklinC51支持的數據類型為bit,signed char,unsigned char, signed int,unsigned int,long,unsigned long,float指針等。變量可以組合為結構和聯合,也可定義為多維數組,同時還可以
18、通過指針訪問變量。另外,FranklinC51還有兩個特殊的數據類型sbit和sfr,用來簡化對89C51微處理器的特殊功能寄存器(SFR)的訪問,如表2.3所示。表2.3 C51的特殊數據類型 數據類型 長度 范圍 sbit 1位 1 or 0 sfr 1 字節 0255 sfr16 2 字節 065535(4)指針。FranklinC51支持一般三字節指針和基于存儲器的指針,其中基于存儲器的指針由C源代碼中存儲類型決定并在編譯時確定,用這種指針可以高效訪問對象并且只需一至二字節。例如,用于訪問內部RAM或外部PRAM的字節指針和用于訪問外部RAM或ROM的二字節指針(指針之間可以相互轉換)
19、,從而實現對存儲器的高效訪問,如表2.4所示。 表2.4 C51的指針類型指針說明 長度 指向 float*p3 3字節 所有89C51存儲空間的“float” chardata*dp 1字節 “data”存儲區中的“char”longpdata*pp 1字節 “pdata”存儲區中的“long”charxdata*xp 2字節 “xdata”存儲區中的“char”(5)中斷和重入。FranklinC51支持對中斷的所有方面的控制和存儲器組的使用,從而創建高效的中斷服務程序,產生最合適的代碼,它使用關鍵字interrupt聲明中斷過程,用using聲明使用的存儲器區,函數的重入需要使用關鍵字r
20、eentrant(重入函數的使用效率要低得多)。使用C源程序直接開發中斷過程的函數語法如下:返回值 函數名 (參數) 模式 再入 Interruptvector usingbankinterrupt后的數值vector為89C51控制器的多中斷。中斷及入口地址如表2.5所示。表2.5 C51的中斷向量表 中斷類型 中斷向量0:外部中斷 0003H1:定時器/計數器0中斷 000BH2:外部中斷1 0013H3:定時器/計數器1中斷 001BH4:串行端口中斷 0023H東北大學畢業設計(論文) 第3章 主模塊設計第3章 主模塊設計本章詳細介紹主模塊的硬件和軟件設計。主模塊包括主機、雙音多頻(D
21、TMF)收發電路、語音電路、看門狗電路和聲光報警驅動電路。詳細闡明芯片選擇的比較,所選用芯片的內部組成、功能特點、外圍電路及其接口電路,并設計出具體的硬件電路。根據硬件連接和模塊的功能要求,提出軟件的設計方法并編程。3.1 主機報警器的主機采用AT89C51單片機來實現。單片機是將中央處理器(CPU)、隨機存取存儲器(RAM )、只讀存儲器(ROM)、定時/計數器及輸入輸出接口電路等計算機主要部件集成在一塊集成電路芯片上的微型計算機。現在世界上已經有很多大公司能夠生產單片機,隨著超大規模集成電路的迅猛發展,單片機的功能也日漸強大,運算速度日益提高,相繼出現了32位和64位單片機,但根據實際系統
22、的需要和產品的性價比,本文選用ATMEL公司生產的8位單片機AT89C51作為系統的主機。3.1.1 AT89C51特點AT89C51是ATMEL公司采用CMOS工藝生產的低功耗、單片機,與MCS-51單片機兼容,其功能特點為:(1)4k字節閃爍存儲器(FLASH ),可進行1000次寫、擦除操作。(2)靜態操作,外接0Hz24MHz晶振。(3)三層程序存儲器。(4) 128字節內部數據存儲器(RAM )。(5) 32根可編程輸入/輸出線。(6)兩個6位定時/計數器。(7)六個中斷源。(8)一個可編程串口。(9)支持低功耗模式和掉電模式。3.1.2 主機硬件電路設計根據系統設計的需要,本報警器
23、的主機由一片AT89C51單片機和一片U0擴展芯片8255A組成11,主機電路如圖3.1所示。圖3.1 主機電路圖圖3.1中,電容:C1=30pF,C2=30pF,C3=22 µF,晶振:F=12MHz,電阻:R1=1k。這里只給出了AT89C51單片機的主要外圍電路和輸入輸出口的擴展電路,有關單片機其他引腳的連接,將在以后的相應章節中給出。3.1.3 主機軟件設計對于單片機編程語言主要有:匯編語言、PL/M語言、BASIC語言和C5l語言。本文的軟件設計采用C51語言。C51語言的兼顧了C語言的特點,很適合程序的模塊化設計,本文充分利用這一特點,將軟件劃分為功能相對獨立的模塊,與相
24、應的硬件電路一起設計。這一節介紹主程序和8255A初始化程序。所謂主程序就是C語言中的main()函數。根據系統實現的功能,本文的主程序其流程圖如圖3.2所示,其主要完成以下功能:(1)程序初始化,包括AT89C51兩個內部定時/計數器、雙音多頻電路和移動通訊模塊的初始化。(2)循環檢測警情。(3)警情處理包括警情紀錄,聲光報警,固定電話報警或移動電話報警。8255A是INTEL公司生產的單片機輸入/輸出(I/0)擴展芯片,8255A內部有一個控制寄存器和三個數據寄存器即:PA,PB,PC口。本系統將PA,PB,PC都規定為一般的輸入輸出方式,其中PC接鍵盤輸入,PA接警情采集電路。 圖3.2
25、 主程序流程圖在圖3.1所示的主機硬件電路設計中,8255A的控制寄存器、PA口、PB口、PC口的基地址分別為:0003H,0000H,0001H,0002H。因為三個數據寄存器都工作在方式0,且PC的高四位用于輸出,低四位用于輸入,PA,PB口用于輸出,所以控制命令字為:81H。8255A的初始化程序見附錄源程序1。3.2 雙音多頻收發電路雙音多頻是一種電話的撥號方式,它用8種頻率組成電話的16個鍵。現在市場上己經有多種芯片可以完成雙音多頻信號的收發功能,例如:WE9188,UM91215, MT8880。其中MT8880以其功能齊全,外圍電路簡單,與單片機接口方便而受到了用戶的青睞。本文研
26、制的報警器選用MT8880芯片來設計雙音多頻收發電路12-13。3.2.1 MT8880特點MT8880是MITEL公司生產的DTMF發送與接收芯片,它是一種功能較強的DTMF發送與接收器。它的內部寄存器和控制接口、數據總線器,便于實現與微處理器的直接接口和對電路進行工作模式控制,獲得更多的功能和靈活性。通過微機接口可以由2, RSO,R/,D0D3等信號選擇內部寄存器,并控制電路的工作狀態或工作模式。MT8880的管腳如圖3.3所示。圖3.3 MT8880管腳圖圖3.3中,OSC1,OSC2是時鐘或振蕩器輸入和輸出端。通常兩端外接3.579545MHz晶振,與片內振蕩器產生基準時鐘信號。IN
27、+,IN-是運放的同相和反相輸入。GS是增益選擇端,VREF是基準電壓輸出端,它由VDD, VSS產生,通常為VDD/2,作為運放輸入的偏置。TONE是發送DTMF信號的輸出。R/是讀寫控制信號輸入,與TTL 電平兼容。是片選信號輸入,若為TTL低電平,則此電路被選中。RSO是寄存器選擇輸入,與TTL電平兼容。CLK2是系統時鐘輸入,與TTL電平兼容。DOD3是控制DTMF信號發送和DTMF譯碼的4位數據輸入/輸出,與TTL電平兼容,當=0H時,DOD3呈高阻。/CALL-對微處理器的中斷請求信號,為開漏輸出。若控制寄存器數據設定電路處于CALL模式和中斷使能狀態,則該端輸出代表運放輸入的方波
28、信號音。EST是初始控制輸出,ST/GT是控制輸入/時間監測輸出,VCC是電源正極,MT8880的工作電壓為+5V,VDD是地。MT8880內部包含5個工作寄存器,它們是發送數據寄存器(TDR)、接收數據寄存器(RDR)、狀態寄存器(SR)、控制寄存器A和B。用戶可以分別通過RSO,R/的不同時序組合將數據寫入TDR或A, B,來控制選擇MT8880的不同工作模式和數據讀寫。MT8880共有6種工作模式。(1) DTMF模式。電路發送或接收DTMF信號。數據通過TDR,RDR以及狀態寄存器SR,可以完成DTMF信號的發送與接收。(2)呼叫處理(CALL)模式。電路可以從輸入信號中檢測電話呼叫過
29、程中的各種信號音,并由/CALL端方波輸出。(3)突發(BURST)模式。該模式下只能發送DTMF信號而不能接收。(4)單/雙(S/D)音產生模式。電路可產生單音或DTMF信號,用于測試和監測。(5)測試(TEST)模式。使電路從DTMF接收部分得到延遲監測信號,并從/CALL端輸出。(6)中斷模式。該模式可工作在DTMF狀態條件下或BURST模式條件下,一旦有信號出現,則/CALL端輸出低電平。六種工作模式的選擇,主要通過兩個控制寄存器A,B的不同賦值來得到,具體見表3.1和表3.2 。表3.1 控制寄存器A的功能比特位置 名稱 符號 功能B0 信號音輸出 TOUT 低電平有效,突發與非突發
30、模式均可B1 模式輸出 MC 低電平時為DTMF方式,高電平時為CALL模式B2 中斷允許 IRQ 高電平有效,使電路工作于中斷模式B3 控制寄存器選擇 RS 高電平時,下一個寫周期選控制寄存器B,繼而寫周期返回選A表3.2 控制寄存器B的功能比特位置 名稱 符號 功能B0 突發模式 BURST 低電平有效B1 測試模式 TEST 高電平有效B2 單/雙音產生 S/D 低電平設定電路產生DTMF信號;高電平設定行或列(由b3決定)單音信號輸出B3 列/行單音產生 C/R 在b2為高電平的情況下,若b3為高則選擇列單音頻率,為低則選擇行單音頻率。有關RSI, R/的時序組合來選擇不通的內部寄存器
31、如表3.3所得到不同的工作模式。此時,狀態寄存器(SR)的作用尤為重要,因為有關數據讀寫的狀態標志要從SR中得到。SR每一位的定義見表3.4。表3.3 RSI與R/時序控制 RSI R/W 功能 0 0 數據寫入TDR 0 1 數據從RDR讀出 1 0 數據寫入控制寄存器A,B 1 1 數據從SR讀出表3.4 狀態寄存器SR的功能比特位置 名稱 狀態標志設定 狀態標志清除 B0 中斷模式 中斷發生,b1,b2被 中斷禁止,SR讀出數據后 設定 清除 B1 突發模式下 暫停時間已完,準備發 SR讀完數據后或當非突發 TDR為空 生新的數據 模式下進行清除 B2 RDR滿 RDR中已有有效數據 S
32、R讀完數據后清除清除 B3 延遲控制 設定無DTMF信號進行 有效DTMF信號檢測功能 有效檢測功能3.2.2 MT8880與單片機接口電路設計MT8880與AT89C51的接口電路相對比較簡單,并且加上相應外圍電路就可以實現DTMF信號的收發功能。但是MT8880是專門為MOTOROLA公司的68系列單片機設計的,所以,它們的時序配合能通過硬件完成,而AT89C51沒有硬件電路來滿足MT8880的工作時序,需要通過軟件實現,實現過程將在軟件設計中介紹,其接口電路和外圍電路如圖3.4所示12。 圖3.4 MT8880與單片機的接口MT8880的CP引腳和AT89C51的T0連接,用以完成對電話
33、線上各種信號引得判斷。因為本系統采取循環檢測的方式,所以MT8880的中斷引腳不需要與AT89C51的中斷引腳相連。由MT8880產生的DTMF信號不能直接與電話線相連,因為該信號與電話線所傳輸的信號不匹配,我國電話線上所傳輸的信號遵守GB7732標準,按照該標準規定,MT8880產生的DTMF信號先要經過放大,然后才能與電話線連接。放大電路如圖3.5 。圖3.5 信號放大電路圖3.5中,電阻:R1=100k, R2=2.4M ,R3=82k ,R4=300,電容:C1=1µF ,C2=4.7µF,A1為LM324 。電話線與信號音接口如圖3.6所示。圖3.6 電話線與信號
34、接口3.2.3 雙音多頻收發電路的軟件設計對MT8880的操作無論是寫控制寄存器A或B,還是讀狀態寄存器,都有著嚴格的時序要求。MT8880的CLK2腳本應和68系列單片機中的E信號相連,當芯片MT8880的內部寄存器(CRA,CRH,SR,TDR和RDR) 被訪問時,CLK2腳應出現一次帶上升沿的高電平,其周期應為1µs1000µs,這是關鍵信號,其它信號均以此信號作為依據。而單片機AT89C51無此信號線。因此,我們采用I/0口P2模擬產生CLK2及其它信號的時序。圖3.7給出了單片機AT89C51寫內部寄存器CRA,CRB的時序圖。 圖3.7 MT8880寫控制寄存器
35、時序根據時序圖可以通過軟件編程來滿足MT8880的讀寫時序,即在一定的時刻將P2口的相應口線置1或清0。對MT8880的操作主要有:初始化,判斷信號音,撥打電話號碼。初始化包括:讀狀態寄存器;0寫入控制寄存器A;0寫入控制寄存器B。據表3.3和硬件連接圖,具體初始化子程序如附錄程序2。報警子程序流程圖如圖3.8所示,其主要完成以下功能:判別信號音、自動撥號、啟動語音提示。信號音識別實現的原理是:首先將MT8880設置為呼叫處理(CP)模式,由于MT8880的IN一端經過多路模擬開關與電話線相連,因此呼叫過程中的各種信號音經MT8880濾波限幅后得到方波,從MT888的IRQ/CP端輸出。電話系
36、統的撥號音、回鈴音和忙音的音頻頻率均為450Hz±25Hz的正弦波,只是斷續比不同。撥號音為連續信號,回鈴音為1s通4s斷,忙音為3s通3s斷。AT89C51的內部定時器T1設置為定時器方式,T0設置為計數器方式。在T1的定時時間內,T0對MT8880的IRQ/CP端輸出的信號音計數,根據計數值的不同就可以將各種信號音識別出來。本文將T1定時時間設為50µs,T0在4S內計數。因為89C51晶振頻率是12MHz,又定時器的計數周期是單片機晶振頻率的1/12即l µs,所以T1的計數初值計算見公式3.1。T_COUNTER=-(50 ×1000)/1=-5
37、0000 (3.1)T0的4s定時通過T1實現,在T1的中斷服務程序中設置計數標志t_flag,在每次執行T1中斷服務程序時,t_flag加1,因為T1中斷服務程序每50µs執行一次,所以當t_flag等于80時,正好就是4s的時間。詳細程序如附錄源程序3。 圖3.8 報警子系統的流程圖3.3 語音電路語音電路的作用是警情提示,即當系統通過固定電話網或移動電話網,接通呼叫用戶時,語音電路將告知呼叫方有關警情的具體信息,如發生何種警情,報警者所處位置等8。因此,語音電路所選用的芯片必須具備三種功能:分段錄音、放音、可尋址,根據這些功能要求,本系統選用ISD1420作為語音電路的核心芯片
38、。 3.3.1 ISD1420特點ISD1420語音芯片是美國ISD(INFROMATION STORAGE)公司的新型產品,ISD 1420是ISD1400系列中錄音時間為20s的語音芯片ISD1400系列語音芯片采用直接存儲模擬信號,自動待機省電,可編程電擦除只讀存儲和總線技術,是一種具有高保真、錄音數據永久保存、省電、適用于單片機接口特點的新一代語音芯片系列。ISD1420語音芯片具有以下特點:采用直接模擬量存儲技術(DAST ),重現優質原音,零功率信息存儲,無需備用電池,存儲的信息可保留10年以上,易于使用,無需編程,可隨意改變錄音內容,錄放次數達10萬次以上,具有自動省電功能,錄音
39、和回放后即刻進入等待模式,僅需0.5µs維持電流,可分段存儲多段信息。自帶時鐘源,高抗干擾性能。+5V標準電源供電。可直接驅動816喇叭工作,輸出不失真功率大于50mW,也可作激勵信號單端輸出,外接功率放大器,輸出功率為額定輸出功率的l/4,約為12mW左右;采用總線技術,適于不同單片機接口。ISD1420錄音時間為20s,它最多可錄160個語音段,語音段最短時間可達到0.125s,其管腳排列如圖3.9所示。圖3.9 ISD1420管腳圖圖中,A0A7是地址輸入端,當A6和A7不全為高電平時,A0A7為分段錄音信息地址線,不同的地址對應不同的錄音片斷,A6和A7全為高平時,A0A5用
40、于選擇操作模式。MIC是話筒輸入端,話筒輸入信號通過電容交流禍合至此引腳并傳給片上預放大器,片上自動增益控制(AGC)電路控制預放大器的增益在1524DB之間。禍合電容值和該端內阻決定語音信號通頻帶下限頻率;MIC REF是話筒參考輸入端,MIC REF 是預放大器的反相輸入端,配合外電路可使片上預放大器具有較高的噪聲抑制比和共模抑制比。ANA IN是模擬信號輸入端,對于話筒輸入,ANA IN引腳應通過外部電容與ANA OUT引腳連接,若為外部輸入信號,則要直接通過電容禍合到此端。偶合電容決定片上控制預放大器通頻帶的下限頻率。ANA OUT是預放大器的輸出端,預放大器的電壓增益取決于AGC電平
41、,對于小信號輸入電平,其增益最大為24DB,對于強信號,增益較低。AGC是自動增益控制端,AGC動態地調整預放大器增益,使加至MIC輸入端的非失真信號的范圍擴展。內阻抗(5k)和外部電容決定AGC的響應時間,外部電容和外部電阻的RC時間常數決定AGC的釋放時間。SP+,SP-是喇叭輸出端,該端可直接驅動16喇叭。可采用雙端輸出驅動喇叭,也可采用單端輸出驅動喇叭,不過雙端輸出信號的功率是單端的四倍,單端輸出需要該腳與喇叭之間串接100µF的交流禍合電容,錄音期間該輸出端保持高阻狀態。XCLK是外接時鐘輸入端,ISD1420具有內部時鐘,一旦接入外部時鐘,內部時鐘會自動失去作用。如果不用
42、外部時鐘該引腳應當接地,一般不推薦使用外部時鐘,除非要求時鐘信號特別精確。RECLED是工作狀態指示端,在錄音或放音時該端輸出低電平,可驅動一個LED來指示狀態。PLAYE是邊沿觸發放音控制端,該端輸入一低脈沖,芯片即進入放音狀態,直至遇到信息結束標記(EOM)或到存儲空間的末尾時回放過程結束,電路自動進入準備狀態。回放過程中PLAYE變化不會影響回放過程。PLAYL是電平觸發放音控制端,該端電平變為低電平并保持,芯片進入放音狀態,放音過程持續到該端電平由低變高或遇到信息結束標記(EOM ),結束后電路進入準備狀態。REC是錄音觸發端,REC一旦變為低電平,芯片就進入錄音狀態,REC的權限優先
43、于PLAYE和PLAYL,在放音期間若遇REC接低電平時,放音就會立即停止并轉入錄音狀態開始錄音。錄音期間REC應始終保持低電平,REC變高或存儲空間變滿時錄音過程結束,這時在錄音截止的地方會記錄一個信息結束標記(CEOM)。VCCD,VCCA是數字電源正端和模擬電源正端,為了減小片內噪聲,芯片中模擬電路和數字電路在內部是分開的,應用時兩個電源引腳應離電源盡可能的近,而且電源的去藕電容應離引腳越近越好。VSSD,VSS是數字地和模擬地。3.3.2 ISD1420與單片機接口電路設計ISD1420與AT89C51的接口電路主要考慮地址線A0A7以及REC和PLAYE的連接。本系統中采用AT89C
44、51的P1口的五根I/O線與其相連,具體接口電路如圖3.10所示。圖3.10 ISD1420與單片機的接口電路ISD1420可以實現分段錄音,分段錄音時A0A7用作地址輸入線,A6,A7不可同時為高電平,所以地址范圍為00000000100111111,即為十進制碼0159共160個數值,這表明ISD1420的EEPROM最多可被劃分為160個存貯單元,可錄放多達160段語音信息。由A0A7決定:T=0.125 ×(128×A7+64×A6+32×A5+16×A4+8×A3+4k×A2+2×A1+1×A0
45、)例如選擇從5s處開始錄音,則所需的地址為00l0l000B,因此只要將上述地址配置給A0A7即可。在本報警器的設計中將20s的存儲時間分為3段,第一段為7s,錄放起始地址為00000000B,用于存儲有關非法入室的報警信息;第二段為7s,錄放起始地址為00111000B,用于存儲有關火災的報警信息;第三段為6s,錄放起始地址為01110000B,用于存儲有關煤氣泄漏的報警信息。由這3段地址可以看出,A7,A2,A1和A0均為0,因此可以將它們接地,只用AT89C51的4根口線進行控制即可。ISD1420在14,15將語音輸出,它可以直接驅動8的喇叭,設計系統要求將語音信號通過電話線傳送,因為
46、ISD1420的輸出信號與電話線上傳送的信號不匹配,所以先要經過放大電路才能與電話線連接,電路如圖3.11所示。將SP+輸出的信號放大,而SP-引腳懸空。語音信號放大后通過電話線接口電路與電話線相連即可實現語音信號的傳送。圖 3.11 ISD1420的語音信號放大電路3.3.3 語音電路的軟件設計ISD1420的編程相對較簡單,主要考慮不同警情的錄音尋址和語音信息的播放。具體程序如附錄源程序4。3.4 看門狗電路在系統的軟件運行過程中,由于外界干擾等意外的因素很可能使程序指針指向非程序區域,使系統程序陷入死循環,系統不能正常工作,稱之為程序跑飛。出于系統穩定性的考慮,本文采用硬件看門狗電路,以
47、解決因程序跑飛而使系統不能正常工作的問題,以提高系統的可靠性。系統選用X5045作為看門狗電路的核心芯片。X5045除了具有看門狗作用外,還有512字節的電可擦除只讀存儲器(EEPROM),本文將其用來存儲預制電話號碼。3.4.1 X5045的特點 X5045是XICOR公司生產的看門狗芯片,它有三種常見的功能:看門狗定時器、電壓監控、EEPROM。以下對這三種功能加以簡單介紹14-15。(1) 看門狗定時器看門狗定時器對微控制器提供了獨立的保護系統。他提供了三種定時時間,可用編程選擇200ms,600ms,6.4s。在設定時間內如果沒有對X5045進行訪問,則看門狗以RESET信號做輸出響應
48、,即變為高電平,延時約200ms以后RESET由高電平變為低電平。(2) 電壓監控上電時,電源電壓超過4.5V后,經過約200ms的穩定時間后RESET信號由高電平變為低電平。掉電時,電源電壓低于4.5V時,RESET信號立刻變為高電平并一直保持到電源恢復到穩定為止。(3)EEPROM存儲器X5045的存儲部分是CMOS的40%位串行EEPROM,他在內部按512×8來組織。采用三總線工作的串行接口一次最多可寫四個字節。X5045的引腳排列如圖3.12所示。圖3.12 X5045管腳圖圖中,SO是串行輸出。數據由此引腳移出,串行時鐘(SCK)的下降沿同步輸出數據。SI是串行輸入。所有
49、操作碼、字節地址及寫入的數據在此引腳上輸入。數據在串行時鐘的上升沿鎖存,SCK是串行時鐘,面是片選。當CS為低電平時X5045能工作,CS電平變化將復位看門狗定時器,WP是寫保護;當WP為低電平時向X5045的非易失性寫操作被禁止,但是器件的其它功能仍正常。WP為高電平時所有功能正常,RESET是復位,WP是寫保護;當WP為低電平時向X5045的非易失性寫操作被禁止,但是器件的其它功能仍正常。WP為高電平時所有功能正常,RESET是復位,高電平有效,漏極開路輸出方式,用于電源的監測和看門狗超時輸出。VSS是地,VCC是電源電壓。有兩種電壓規格的芯片,一種是4.55.5V,另一種是2.75.5
50、V。以下介紹X5045的工作原理。X504S共有6條操作指令如表3.5。X5045由這6條指令指揮工作。因為X5045遵循SPI串行總線標準,所以AT89C51由X5045的SI引腳將命令字或數據從高到低逐位傳入X5045,并從X5045的SO逐位讀出X5045的數據或狀態。具體的實現過程將在軟件編程中詳細闡述。表3.5 X25045的指令集指令名 指令格式 操作 WREN 0000 0100 設置寫時能鎖存器允許寫 WRDI 0000 0100 設置寫使能鎖存器禁止寫 RDSR 0000 0101 讀狀態寄存器 WRSR 0000 0001 寫狀態寄存器 READ 0000 A8011 讀
51、WRITE 0000 A8010 寫X5045內部有一個8位狀態寄存器,其每一位的定義如表3.6所示。表3.6 狀態寄存器的定義WD1WD0BL1BL0WELWIPWIP位由WREN指令設為1,在下列情況之一可使WIP復位為0。(1)執行WRDI。(2)上電時。(3)字節、頁或狀態寄存器寫周期完成后。(4)WP腳變為低電平。BL0,BL1是對EEPROM塊進行保護,對被保護的段只能寫。保護地址與BL0, BL 1的關系見表3.8。表3.8 狀態寄存器被保護的陣列地址 狀態寄存器被保護的陣列地址 BL1 BL0 0 0 無寫保護 0 1 $180$1FF 1 0 $100$1FF 1 1 $00$1FF3.4.2 X5045與單片機的接口電路設計X5045遵循串行總線,與單片機的連接簡單,只占用單片的4根I/O口線,具體連接如圖3.13所示。 圖3.13 X5045與單片機的接口電路3.4
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車維修服務抵押擔保合同范本
- 老人進食護理課件
- 空間智能技術賦能交通基礎設施數字化轉型升級
- 老人壓瘡預防技術課件
- 清廉越城考試題庫及答案
- 美術老人與兒童課件
- 安全生產標準化管理體系模板
- 測繪安全生產規范
- 小學實驗室突發安全事故應急預案
- 常州市安全生產管理信息系統
- 電機振動測定方法及限值振動測定方法
- 各類給水管材水力計算表
- 濟南遙墻機場擴建工程航站樓建設監理大綱
- 七年級上冊數學知識點總結及精編例題1
- 往生薦亡功德文疏
- 員工上下班路線規劃圖
- 心內科高危藥物安全管理與指引
- XFD-系列單槽說明書-印稿
- UCLA肩關節評分系統
- 分支型室速的導管消融術ppt課件
- (完整word版)《關于同意申辦出入境證件的函》
評論
0/150
提交評論