新聞中心

EEPW首頁 > 模擬技術(shù) > 設計應用 > USB接口小區(qū)電話報警平臺在VC++下的實現(xiàn)

USB接口小區(qū)電話報警平臺在VC++下的實現(xiàn)

作者:溫佳 南京大學 電子科學與工程系 時間:2008-10-31 來源:電子產(chǎn)品世界 收藏

摘要:本文介紹了一種由單片機、FSK解碼芯片、USB總線和PC機組成的電話報警管理平臺在VC++下的實現(xiàn)。

本文引用地址:http://2s4d.com/article/89125.htm

關(guān)鍵詞:單片機;USB總線;EZ—USB FX2;ADO數(shù)據(jù)庫

引言

  在現(xiàn)今社會中,電話網(wǎng)絡報警以其快捷有效的優(yōu)點得到普遍的應用。已逐步成為計算機的主流接口的通用串行總線USB很好地適應了現(xiàn)代計算機多媒體功能的拓展。目前通用的的接口是采用PCI卡價格貴,且不能即插即用。采用USB接口代替PCI卡,不僅降低了成本,而且可以提高管理平臺的易用性和可維護性。本文在VC++下實現(xiàn)的小區(qū)報警管理平臺的主要功能為:接收從用戶報警系統(tǒng)通過電話網(wǎng)絡傳輸來的報警信息(包括用戶信息以及具體警報類型等),再將報警信息通過USB接口傳入監(jiān)控主機,與預先存入ADO(Activex Data Objects)數(shù)據(jù)庫的用戶信息進行查找,確定具體用戶信息,以便及時對小區(qū)內(nèi)警情進行處理。系統(tǒng)主要由接收報警信息預處理電路與PC機組成(如圖1)。報警信息接收預處理電路通過接收電話網(wǎng)絡傳來的報警信息,并將報警信息格式化,再通過USB接口將信息傳送給PC機。PC機接收傳送回來的格式化信息,進行信息分析和差錯處理,確認格式正確后再與數(shù)據(jù)庫(ADO)中的用戶數(shù)據(jù)進行比對,將報警用戶的信息通過報警對話框彈出顯示。


圖1 系統(tǒng)結(jié)構(gòu)框圖

系統(tǒng)硬件

  前端電路主要由HT9032(FSK解調(diào)電路)、單片機AT89C81、模擬摘掛機電路、線路異常監(jiān)測電路和EZ-USB FX2(CY7C68013)(USB接口電路)組成,見圖2。HT9032是一種FSK解碼芯片,引腳及功能與Freescale公司的MC145447及EMC公司的EM92547A相兼容。圖3為其外圍電路以及與單片機的連接。


圖2 系統(tǒng)的前端電路


圖3  HT9032的電路連接圖

  主叫識別信息數(shù)據(jù)的格式有二種:單數(shù)據(jù)消息格式(SDMF)和復合數(shù)據(jù)消息格式(MDMF),前者結(jié)構(gòu)簡單,也比較常用,具體格式如圖4。


圖4  FSK的數(shù)據(jù)格式

信道占用信號:由一組300個連續(xù)的“0”和“1”交替組成,第一個比特為“0”,最后一個為“1”。在通話狀態(tài)下,信道占用信號不發(fā)送。接收端只在正確收到這個信號后才認為后面緊跟的為有效信號。

標志信號:由180個(掛機狀態(tài)下)或80個(通話狀態(tài)下)標志位(邏輯1)組成,即持續(xù)的高電平消息類型字:單數(shù)據(jù)格式情況下為“04H”,表示為主叫號碼傳送信息。

消息長度字:占一個字節(jié),為消息字的數(shù)目。

消息內(nèi)容:單數(shù)據(jù)消息格式。消息字內(nèi)容如下:日期、時間(月、日、時、分),共8個字節(jié);主叫號碼(如果允許顯示);如果不允許顯示主叫號碼,將傳送字符“P”;當終端交換機無法得到主機號碼時,將傳送字“O”。

校驗和:校驗字的算法是將消息數(shù)據(jù)(即單數(shù)據(jù)格式的消息類型字、消息長度字和消息數(shù)據(jù)字)按256的模求和取補來得到校驗字。解碼后的數(shù)據(jù)經(jīng)過AT89C51的提取、整理,通過CYC68013的IO口傳送給68013的內(nèi)部RAM后再經(jīng)過USB總線傳送給PC機。

  電話線上的直流和交流電壓都高于報警主機的電壓,需要在接口處加光耦,將程控交換機和報警器的電源隔離。要避免戶外斷線或戶外非法并機,并且報警器沒有摘機的情況下才報警。出現(xiàn)異常,光耦導通,集電極輸出低電平給單片機,進行異常報警中斷處理。

  用PNP的三極管控制繼電器常開端的吸合和打開。當單片機發(fā)出摘機信號時,給三極管的基極低電平,三極管導通,繼電器閉合,電話線兩端的電阻降至300 nΩ左右,從而實現(xiàn)模擬摘機。當單片機發(fā)出掛機信號時,給三極管的基極高電平,三極管截止,繼電器常開端打開,電阻上升至無窮,從而實現(xiàn)模擬掛機。

  Cypress公司的EZ-USB FX2芯片,將USB外圍接口設備所需的各種功能包裝成一個簡潔的集成電路。集成的USB收發(fā)器連接到USB總線中的D+和D-;串行接口引擎(SIE)進行譯碼、編碼、錯誤糾正和位填充,變換USB所需的信號電平;最終,從USB接口SIE發(fā)送和接收數(shù)據(jù)。CPU采用增強8051,提高了運行速度,增強了功能。同時,該芯片采用內(nèi)部RAM用于程序和數(shù)據(jù)存取。

系統(tǒng)軟件的實現(xiàn)
下位機程序

  下位機程序主要由單片機89C51的中斷接收發(fā)送程序,以及USB芯片68013的固件程序組成。89C51接收來自HT9032的中斷信號,根據(jù)解碼數(shù)據(jù)格式,獲取報警電話號碼以及報警時間。HT9032解調(diào)出的FSK基帶信號,送入單片機捕獲中斷,信號碼為1 200 b/s。由于采樣周期不可能是理想的1200 Hz,會使采樣位置漸漸偏離碼元中心,造成判決錯誤。所以,每次下降沿捕獲中斷產(chǎn)生后,單片機計數(shù)時鐘重新復位,矯正其采樣相位;然后,延時0.4 ms(2.4 kHz),取碼元中點,并開始按1.2 kHz速率采樣,由此得到0、1比特流,將其按10 bit合成字節(jié)信啟,每個字節(jié)起始位是1,結(jié)束位為0,中間8位為信息。最后根據(jù)主叫識別的單數(shù)據(jù)消息格式提取所需的消息中斷處理程序。

  USB的固件框架包含初始化、處理標準USB設備請求以及USB掛起時的電源管理等,提供了現(xiàn)成的8051程序代碼,只需簡單的提供USB描述符及編寫外設功能代碼,就可以開發(fā)出一個功能完善的USB外設。

上位機程序

  上位機程序包括USB接口驅(qū)動和客戶端管理平臺。EZ-USB系列芯片都具有通過下載固件和重枚舉的方式來動態(tài)改變設備特性的能力。我們希望最終的產(chǎn)品能自動完成固件下載,以及設備重枚舉。在這里,我們利用EZ-USB軟件開發(fā)包提供的一個固件下載驅(qū)動程序的模板,即EZ-Loader Driver。利用這個模板,并且改寫原驅(qū)動的inf文件,最后將新的VID/PID寫入串行EEPROM的前7個單元中。這樣將USB設備接入PC機時,固件就可以自動下載運行了。

  管理平臺客戶端在微軟的VC++平臺上開發(fā),主要功能有:通信線路故障自動檢測、報警用戶信息顯示、報警地圖顯示、報警類型顯示、報警事件處理狀態(tài)記錄、報警信息存儲和檢索等。當通信線路或計算機與硬件之間的USB通信發(fā)生故障,PC端監(jiān)控軟件會自動報警,保證系統(tǒng)工作可靠。當收到報警信息時,小區(qū)布局圖中報警客戶所在樓棟圖會發(fā)出紅色閃光報警。圖5所示為客戶端主界面中的小區(qū)布局圖。


a)沒有報警信號到來


b)有報警信號到來
圖5  軟件界面示意圖

  應用程序通過I/O控制訪問EZ—USB GDP。客戶端應用程序首先通過調(diào)用Win32函數(shù)CreateFile()取得訪問設備驅(qū)動程序的句柄。用戶程序使用Win32函數(shù)DeviceIoControl()提交I/O控制碼,并且為CreateFile()函數(shù)返回的設備句柄設置I/O緩沖區(qū)。用戶程序在打開USB接口后建立一個新線程來等待接收USB總線發(fā)送過的報警信息。Access數(shù)據(jù)庫中建立了兩張表,一張是用戶信息表,一張是歷史記錄表。用戶程序通過ADO方式控制Access數(shù)據(jù)庫,ADO最主要的優(yōu)點是易于使用、速度快、內(nèi)存支出少和磁盤遺跡小。并且,在前端和數(shù)據(jù)源之間使用最少的層數(shù),所有這些都是為了提供輕量、高性能的接口。當?shù)却€程接收到報警信息并進行數(shù)據(jù)整理后,通過ADO方式對用戶信息表進行比對,檢索出報警用戶信息,在平臺界面上顯示,并且自動將報警信息記錄在歷史記錄表里。

結(jié)語

  本系統(tǒng)可快速、高效的監(jiān)控家居安防狀況。通過電話網(wǎng)絡及時對小區(qū)內(nèi)的警情進行反應以及處理,并通過數(shù)據(jù)庫對住戶信息進行管理。平臺采用USB接口,安裝方便,容錯性好。監(jiān)控平臺具有價格低廉、安裝方便、操作簡便、可靠性高和誤碼率低的優(yōu)點,經(jīng)過長期測試,工作正常,性能穩(wěn)定,通訊可靠。

參考文獻:

1.  賈寶金、王寶珠、李曉玲,基于USB的數(shù)據(jù)采集系統(tǒng)的設計與研究,現(xiàn)代電子技術(shù),2007年 30卷 24期,187-190
2.  高明皓、王林斗、匡俊華,家庭報警信號處理系統(tǒng),電子測量技術(shù),2006 -02(2)143-144
3.  王建華、陳一飛、張煥生,MFC Visual C++6編程技術(shù)內(nèi)幕,機械工業(yè)出版社,2000
4.  唐諱玲、白似雪,基于嵌入式Linux的USB主控制器驅(qū)動設計,微計算機信息,2007年32期
5.  朱兆優(yōu)、周航慈,F(xiàn)SK信息解碼的電話網(wǎng)數(shù)據(jù)通信,單片機與嵌入式系統(tǒng)應用,2004-7(4)12— 14

pid控制相關(guān)文章:pid控制原理


手機電池相關(guān)文章:手機電池修復


c++相關(guān)文章:c++教程


交換機相關(guān)文章:交換機工作原理


燃氣報警器相關(guān)文章:燃氣報警器原理


關(guān)鍵詞: 報警平臺 200810

評論


技術(shù)專區(qū)

關(guān)閉