盛建榮
(金華廣播電視大學,浙江 金華 321022)
摘 要: 隨著微電子、計算機技術以及通信技術的迅速發展,由單片機和無線傳輸模塊組成的無線數據通信系統在安防等行業的無線控制、數據采集、故障報警等諸多領域中得到越來越廣泛的應用。針對目前市場上的家用網絡攝像機只有一個報警輸入接口,而用戶實際需要接入多種報警源(防火、防盜、防搶)的問題,設計了可以接入多種報警源且任意I/O口都可以接受無線信號進行解碼的報警接收控制器。
關鍵詞: 51單片機;報警;無線傳輸;接收控制器
0 引言
在城市快速發展的過程中,城市人口數量巨增,給社會治安帶來很大壓力。工廠、機關和居家失盜、搶劫等事件時有發生。為此,政府部門提倡采用高科技手段實現技術防范措施。針對目前市場上的家用網絡攝像機報警只有一個輸入接口,而用戶實際需要接入多種報警源(防火、防盜、防搶)的問題,開發設計可以接入種多報警源的報警接收控制器,它能配合網絡攝像機把報警現場的視頻實時傳回報警中心和業主,讓報警中心或業主根據報警現場的視頻情況及時處理,提高效率,降低成本。
1 硬件電路設計
本控制器的核心芯片采用STC11F08XE單片機,復位芯片選用美信半導體的MAX813L,無線接收芯片選用法國SYNOXO半導體公司SYN480R。系統整體功耗較小,兼容性好,穩定性高。
1.1 硬件結構
硬件的結構和可靠性直接影響著整個系統的可靠性,所以合理安排電路能提高電子產品的性能。本控制器的系統框圖如圖1所示,其中實線大框內的是本項目的原理框圖。本系統以STC11F08XE單片機為控制核心,具有在線編程、低功耗、5 V工作電壓、內置資源豐富的特點。I/O口有40個,Flash程序存儲器為8 KB,SRAM為1 280 B,內置波特率發生器,2個定時器,內置看門狗等;ASK/OOK高靈敏度超外差接收芯片SYN480R,具有低功耗3.7 mA(315 MHz,完全工作),頻率范圍為315~433.92 MHz,接收靈敏度為-107 dBm,傳輸速率10 kb/s(SWP)。復位芯片MAX813L具有四個功能:上電和掉電狀態下的復位功能、WATCHDOG輸出功能、1.25 V掉電告警門限檢測器、手動復位輸入[1]。
無線接收芯片SNY480R可以提供固定和掃頻兩種基本的工作模式,本系統采用固定模式[2]。在這種模式下,芯片內會產生固定的本振信號,僅僅需要輸入外部時鐘信號或外接一個石英晶振即可,但該接收模式下需要發射機有相對精確穩定的發射頻率,所以通常都使用聲表面濾波SAW和石英晶振。
1.2 電路設計
1.2.1 系統復位電路
在系統運行的過程中,有時可能需要對系統進行復位。為了避免對硬件系統經常加電和斷電造成的損害,設計了手動的復位電路,如下圖2所示。該電路在系統的運行過程中需要復位時,只需使開關閉合,在RESET端就會出現一定時間的高電平信號,從而使單片機實現復位。
1.2.2系統晶振電路
單片機必須在時鐘的驅動下才能進行工作。STC11FXX系列單片機內部都有一個時鐘振蕩電路,只需外接晶振源,就能產生一定頻率的時鐘信號送到單片機內部的各個單元,決定單片機的工作速度[3]。本設計采用外接晶振的方法,電路中兩個電容的作用:一是幫助振蕩器起振;二是對振蕩器的頻率起到微調的作用。
1.2.3 系統輸入電路
按輸入的方式分有線信號輸入和無線信號輸入兩種,圖3是有線信號的輸入電路設計,圖中CAR0_IN是防火探頭的輸入端,常開開關輸入;CAR1_IN是防劫持按鈕的輸入端,常開開關輸入;CAR2_IN是有線防盜探測器信號輸入,常閉開關輸入;CAR3_IN是目前市面上常用的報警主機的接入,由于這個信號是有電源電壓的輸入,為防止正負極性接錯而損壞設備,故在電路中設計了極性轉換電路;CAR4_IN、CAR5_IN為預留的外部防盜報警探頭的輸入,這兩路的輸入可以通過K1、K2這2個開關設置輸入方式是常開的還是常閉的輸入信號。K1/K2閉合,則CAR4_IN、CAR5_IN為常閉輸入,否則為常開輸入[4]。
1.2.4 無線報警接收電路
無線報警探頭及遙控器的發送信號經過無線接收電路接受后送入單片機,本電路的特點是,單片機任意I/O口都可以接受無線信號進行解碼,如圖4所示。
1.2.5 系統輸出電路
輸出電路主要是報警輸出信號和指示燈的指示信號。報警輸出端口采用光電耦合管隔離,防止外接高電壓輸入燒壞單片機。指示燈采用雙色的二極管(紅色、綠色),當有輸出時,指示燈亮綠色,無輸出則亮紅色。
2 軟件設計
軟件設計的任務是在整體設計和硬件設計的基礎上,確定程序結構,分配內存RAM資源,劃分功能模塊,然后進行主程序和各模塊程序的設計,最后與硬件相結合完成相應功能[5]。
2.1主程序設計
主程序采用模塊化設計,系統流程如圖5所示。開機進入主程序后對端口及相關寄存器、定時器等進行初始化,檢測是否需要清除以前保存的數據信息(探頭的編碼及狀態信息),若需要清除則進入清除數據子程序,若不需要清除數據,則進入讀取已保存的數據信息并保存這些信息到相應的數組和變量中;初始化定時器,開啟定時器,開啟中斷功能,用串口發送已讀取的信息(便于系統調試、測試),再判斷當前EEPROM數據是否為空且不處于工作模式,如果是則設備不工作,并提示用戶進行學習;否則按模式開關的狀態進入相關的工作模式。工作模式按工作子程序運行,學習模式按學習子程序運行。
2.2學習子程序
SYN480R與CPU的連接僅需要一條線,只要將SYN480R的DO和STC11F08XE的P4.0口連接即可。SYN480R片內自動完成所有的RF及IF調諧,輸出信號通過CPU的端口進行解碼。
PT2262編碼芯片是一種CMOS工藝制造的低功耗低價位通用編解碼電路,它每次發射時至少發射4組字碼。每組字碼之間由同步碼隔開,用單片機軟件解碼時,程序只要判斷出同步碼,然后對后面的字碼進行脈沖寬度識別即可。一個字碼由8位地址碼加4位數據碼即12位AD碼組成,地址碼和數據碼都用不同寬度的脈沖來表示,用“1”表示兩個寬脈沖;用“0”表示兩個窄脈沖;用“F”表示一個寬脈沖和一個窄脈沖,也就是地址碼的“懸空”。設置地址碼時應考慮:同一個系統地址碼須一致;不同的系統可以依靠不同的地址碼加以區分;至于設置什么樣的地址碼完全由用戶決定。
根據上述特點我們用定時器計數的方式測量電平脈沖的寬度,根據這個寬度判斷是同步碼、“0”碼、“1”碼、“F”碼和錯誤碼,然后做相應的處理完成解碼過程。為了確保接收到的碼是正確的,采用連續兩次收到相同的碼后才能確認的方式來解碼。
2.3工作子程序
在進入工作子程序時,先檢測各個外接有線輸入端口是否有有效信號輸入,如果有則根據規則輸出相應的信號,比如:火警輸入信號有效,則立刻對外輸出報警信號;如果有有線報警信號輸入,則需要檢測目前是否是布防狀態,是布防狀態則立即對外輸出報警信號,若是撤防狀態則什么也不做。有線信號檢測完畢后進入無線信號接收,無線信號接收和學習模式相同,當收到一組解碼信息后,立刻與布防數組、撤防數組、防劫數組、報警探頭1數組、報警探頭2數組的信息對比,一旦有一個數組信息與收到的解碼信息相同就執行相應的動作,比如:若收到與解碼信號的布防碼信號一致,則系統檢查當前的狀態,若是撤防狀態就修改當前狀態為布防狀態,修改相應的輸出指示及狀態標志,如果是布防狀態則什么也不做。若收到的解碼信號與防劫按鈕學習碼一致則立即對外輸出報警信號,輸出信號保存1 s后停止輸出信號。若收到的是報警探頭的解碼信號,則系統檢測當前的布防狀態標記,如果是布防狀態,則立即對外輸出報警信號,輸出信號保存1 s后停止輸出信號;如果是撤防狀態則系統什么也不做。工作子程序的流程如圖6所示。
3 結論
該控制器采用先進的微處理技術作為控制核心,集成度高,可靠性好,具有多種靈活接口??梢越邮?路無線報警探頭信號和2路有線防盜報警探頭信號的輸入;可以接入24小時布防的火警探測器、防搶劫按鈕等有線探測器的輸入;可以對接其他報警主機的報警信號輸入,實現多種探測器的輸入;通過報警輸出口和網絡攝像機報警輸入口配套使用,還可實現無線遙控布防、撤防。隨著社會的發展,相信多功能報警接收控制器必將會廣泛應用。
參考文獻
[1] 張齊.單片機應用系統設計技術[M].北京:電子工業出版社,2007.
[2] 唐德禮.單片機原理及應用[M].武漢:華中科技大學出版社,2005.
[3] 李升.單片機原理與接口技術[M].北京:北京大學出版社,2011.
[4] 蔡向東.單片機軟件模擬SPI接口的解決方案[J].信息技術,2006(6):134-136.
[5] 王曉東.用軟、硬結合的方法實現對PT2262的解碼[J].山西電子技術,2008(5):40-41.