新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 來電解碼器及其在客戶關系管理中的應用

來電解碼器及其在客戶關系管理中的應用

作者: 時間:2012-01-07 來源:網絡 收藏

引言

來電顯示業(yè)務給廣大的電話用戶帶來了很大的方便,在企業(yè)的系統中,當有客戶打來電話時,若能在接聽電話前將來電客戶的詳細資料在計算機上自動顯示出來,使企業(yè)能夠有針對性地對客戶提供服務,這將拉近企業(yè)與客戶之間的距離,提高客戶對企業(yè)的忠誠度。為實現此功能,應在接聽電話前將來電號碼識別出來并自動傳入計算機,再利用數據庫查詢技術將與該來電號碼相關聯的客戶資料顯示在計算機上。

將來電號碼傳入計算機的方法一般有兩種,一是利用具有來電顯示功能的MODEM[1],二是通過自行設計來電傳送。采用自行設計的來電,由于其功能單一,從造價上來講比購買MODEM便宜許多,更適合在中小企業(yè)的系統中應用。

本文介紹了一種利用單片機AT89C2051和FSK解碼芯片HT9032C設計的FSK來電,該解碼器與計算機的串口相連,由串口供電,可將FSK制式傳送的來電信息傳入計算機,向計算機傳送數據的格式與MODEM的傳送格式盡可能保持了一致。

1 FSK主叫信息的傳送

1.1 我國FSK制式來電顯示標準簡介

我國目前現行的來電顯示標準有FSK制式和DTMF制式兩種,從實際應用情況看采用FSK制式的比較多。根據我國FSK制式來電顯示標準[2],在掛機狀態(tài)下,主叫信息數據的傳送是在第一次鈴流與第二次鈴流間傳送的,一個完整的消息幀由信道占用信號、標志信號、數據信息和校驗字組成。所傳數據的格式分為單數據消息格式(SDMF)和復合數據消息格式(MDMF),其中單數據消息格式所傳數據內容簡單,只有日期、時間、來電號碼,在我國普遍使用,其數據信息由以下字段組成:消息類型、消息長度、消息字(包括月、日、時、分和主叫號碼)。每個消息字的傳送由1個起始位、8個數據位、1個停止位構成,相當于異步串行傳輸方式,傳輸速率為1200bps。關于更詳細的規(guī)定可參考文獻[2],在此不再贅述。

1.2向計算機傳送來電信息的格式

若采用具有來電顯示功能的MODEM將來電信息傳送到計算機,應事先利用AT命令設置CID=1或VCID=1啟動該功能。當有來電時,MODEM會向計算機串口發(fā)送以下格式的ASCII碼信息(CR>表示換行):

RING CR>

DATE=MMDD CR>

TIME=HHMM CR>

NMBR=******** CR>

這里RING表示有振鈴; DATE后面的是來電的日期(月和日);TIME后面的是來電的時間(小時和分鐘);NMBR后面的是來電號碼。

本文的來電解碼器與計算機通信的數據傳送格式與上面介紹的MODEM的格式相同,盡量保持了與MODEM的兼容性。計算機方軟件可通過分析從串口傳來的數據串得到客戶來電時間和號碼。

2 FSK來電解碼器的設計原理

2.1 HT9032C的功能簡介

來電解碼器的核心器件是單片機AT89C2051和FSK解碼芯片HT9032C。HT9032C是Holtek半導體公司的一款FSK解碼芯片[3],其可自動識別出消息幀中的信道占用信號和標志信號,并將數據信息和校驗字通過DOUTC引腳輸出,其解碼時序如圖1所示,圖中的Cooked DATA即為去掉信道占用信號和標志信號后的數據信息和校驗字。

圖1. HT9032C的解碼時序

2.2 系統結構與工作原理

來電解碼器的電路原理圖如圖2所示。

圖2. 來電解碼器電路原理圖

2.2.1 振鈴檢測

電路中利用光耦TLP521進行振鈴檢測, AT89C2051設置定時器T0的定時時間為1ms,在定時中斷服務程序中對P3.5的電平高低進行檢查,當有振鈴信號時P3.5為低電平,否則為高電平。為去除干擾的影響,振鈴檢測規(guī)則可定義為:無振鈴時若連續(xù)2次檢測到低電平認為是振鈴開始,已振鈴時若連續(xù)50次(相當于50ms)檢測到高電平認為是一次振鈴結束。

2.2.2 解碼控制

設置AT89C2051的串口工作模式為:1個起始位、8個數據位、1個停止位,傳輸率1200bps,使其與HT9032C的數據傳輸模式相同。 AT89C2051在檢測到第一次振鈴結束后,將P1.6(即HT9032C的PDWN)置低,使HT9032C開始解碼并傳送數據信息,AT89C2051將接收到從DOUTC引腳傳出的來電數據信息和校驗字,數據接收完畢后,將P1.6置高,完成一次解碼過程。

通過對接收到的數據進行分析,可獲得來電時間、號碼等信息,AT89C2051再將這些信息組織成一定格式,通過TxD發(fā)往計算機串口,電路中的MAX232芯片負責TTL電平與RS-232電平的轉換。

2.2.3 串口供電

解碼器電源可由計算機串口提供,通過軟件編程,可使計算機在打開串口后置RTS和DTR為正電壓,這時RTS和DTR的電壓處于+5V到+15V之間,一般在+10V左右,每根接口線可提供8mA的電流,總共可提供約16mA的電流[4]。

令AT89C2051工作在空閑模式下,其消耗的電流在5mA以下,HT9032C解碼時典型工作電流為3.2mA,因此由計算機串口提供的電源完全能夠滿足系統要求。

2.2.4 “看門狗”實現

由于系統采用計算機串口供電,串口狀態(tài)由關閉變?yōu)殚_啟時可使系統上電復位,系統的“看門狗”功能就是利用這一特點通過軟件實現的。

將單片機的主程序設計為一個循環(huán)結構,在此循環(huán)內設計一段程序每隔1s向計算機串口發(fā)送一個確認字符(本設計定義的確認字符為C5H,以免和 ASCII碼混淆)。計算機在任意2s時間間隔內沒收到確認字符,可認為單片機程序跑飛,這時可關閉串口,停止對系統的供電,1s后重新開啟串口,使系統上電復位。

2.3 軟件實現

解碼器軟件分為兩部分,一部分為單片機的控制程序,另一部分為計算機方的控制程序。

單片機程序分又為三模塊:主程序、定時器中斷服務程序、串行中斷服務程序。其中主程序負責系統初始化、向計算機發(fā)送各種數據等,定時器T0的中斷服務程序主要負責振鈴檢測和PDWN引腳電平的控制。串口中斷服務程序主要負責接收從HT9032C發(fā)送的信息并保存到緩沖區(qū)中供主程序使用,限于篇幅,本文省略了程序的流程圖。

計算機方的程序主要功能是進行“看門狗”操作和從串口接收、識別來電信息。為方便用戶進行二次開發(fā),開發(fā)了一個ActiveX控件完成這些功能。

3 在系統中的應用

該來電解碼器已被應用到某體檢中心的客戶關系管理系統中,在該系統中,每個體檢客戶與一個客戶號相對應,系統數據庫中保存有電話與客戶號對應表、客戶基本信息表及其他與業(yè)務相關的數據表,當有客戶來電時系統在對應表中查詢出與此次來電號碼相對應的客戶號,若查詢結果唯一則直接顯示該客戶的信息及工作窗口,若查詢結果不唯一(可能有多個客戶保留同一個電話號碼)則顯示所有對應客戶的簡要信息列表供操作員選擇和進一步操作。該系統數據庫采用SQL Server 2000,經過一年多的使用系統運行良好。

4 結論

該解碼器電路簡單、成本低、運行可靠,適合應用于中小企業(yè)的客戶關系管理系統或其他相關系統中。

本文作者創(chuàng)新點:實現了來電信息向計算機的傳送,采用串口供電解決了解碼器供電問題,“看門狗”功能沒有通過硬件電路而采用軟件方法實現,既簡化了電路,又降低了制造成本。

參考文獻:

[1] 李善姬. 一種簡單實用的電話報警系統的設計[J]. 微計算機信息, 2006, 5-2:89-91

[2] 電話主叫識別信息傳送及顯示功能的技術要求和測試方法. 郵電部技術規(guī)定, 1997

[3] HT9032C/HT9032D Calling Line Identification Receiver Date Sheet, Holtek Semiconductor Inc..

[4] Axelson Jan. 串行端口大全[M]. 北京:中國電力出版社. 2001



評論


相關推薦

技術專區(qū)

關閉