來(lái)電解碼器及其在客戶(hù)關(guān)系管理中的應(yīng)用
引言
來(lái)電顯示業(yè)務(wù)給廣大的電話(huà)用戶(hù)帶來(lái)了很大的方便,在企業(yè)的客戶(hù)關(guān)系管理系統(tǒng)中,當(dāng)有客戶(hù)打來(lái)電話(huà)時(shí),若能在接聽(tīng)電話(huà)前將來(lái)電客戶(hù)的詳細(xì)資料在計(jì)算機(jī)上自動(dòng)顯示出來(lái),使企業(yè)能夠有針對(duì)性地對(duì)客戶(hù)提供服務(wù),這將拉近企業(yè)與客戶(hù)之間的距離,提高客戶(hù)對(duì)企業(yè)的忠誠(chéng)度。為實(shí)現(xiàn)此功能,應(yīng)在接聽(tīng)電話(huà)前將來(lái)電號(hào)碼識(shí)別出來(lái)并自動(dòng)傳入計(jì)算機(jī),再利用數(shù)據(jù)庫(kù)查詢(xún)技術(shù)將與該來(lái)電號(hào)碼相關(guān)聯(lián)的客戶(hù)資料顯示在計(jì)算機(jī)上。
將來(lái)電號(hào)碼傳入計(jì)算機(jī)的方法一般有兩種,一是利用具有來(lái)電顯示功能的MODEM[1],二是通過(guò)自行設(shè)計(jì)來(lái)電解碼器傳送。采用自行設(shè)計(jì)的來(lái)電解碼器,由于其功能單一,從造價(jià)上來(lái)講比購(gòu)買(mǎi)MODEM便宜許多,更適合在中小企業(yè)的客戶(hù)關(guān)系管理系統(tǒng)中應(yīng)用。
本文介紹了一種利用單片機(jī)AT89C2051和FSK解碼芯片HT9032C設(shè)計(jì)的FSK來(lái)電解碼器,該解碼器與計(jì)算機(jī)的串口相連,由串口供電,可將FSK制式傳送的來(lái)電信息傳入計(jì)算機(jī),向計(jì)算機(jī)傳送數(shù)據(jù)的格式與MODEM的傳送格式盡可能保持了一致。
1 FSK主叫信息的傳送
1.1 我國(guó)FSK制式來(lái)電顯示標(biāo)準(zhǔn)簡(jiǎn)介
我國(guó)目前現(xiàn)行的來(lái)電顯示標(biāo)準(zhǔn)有FSK制式和DTMF制式兩種,從實(shí)際應(yīng)用情況看采用FSK制式的比較多。根據(jù)我國(guó)FSK制式來(lái)電顯示標(biāo)準(zhǔn)[2],在掛機(jī)狀態(tài)下,主叫信息數(shù)據(jù)的傳送是在第一次鈴流與第二次鈴流間傳送的,一個(gè)完整的消息幀由信道占用信號(hào)、標(biāo)志信號(hào)、數(shù)據(jù)信息和校驗(yàn)字組成。所傳數(shù)據(jù)的格式分為單數(shù)據(jù)消息格式(SDMF)和復(fù)合數(shù)據(jù)消息格式(MDMF),其中單數(shù)據(jù)消息格式所傳數(shù)據(jù)內(nèi)容簡(jiǎn)單,只有日期、時(shí)間、來(lái)電號(hào)碼,在我國(guó)普遍使用,其數(shù)據(jù)信息由以下字段組成:消息類(lèi)型、消息長(zhǎng)度、消息字(包括月、日、時(shí)、分和主叫號(hào)碼)。每個(gè)消息字的傳送由1個(gè)起始位、8個(gè)數(shù)據(jù)位、1個(gè)停止位構(gòu)成,相當(dāng)于異步串行傳輸方式,傳輸速率為1200bps。關(guān)于更詳細(xì)的規(guī)定可參考文獻(xiàn)[2],在此不再贅述。
1.2向計(jì)算機(jī)傳送來(lái)電信息的格式
若采用具有來(lái)電顯示功能的MODEM將來(lái)電信息傳送到計(jì)算機(jī),應(yīng)事先利用AT命令設(shè)置CID=1或VCID=1啟動(dòng)該功能。當(dāng)有來(lái)電時(shí),MODEM會(huì)向計(jì)算機(jī)串口發(fā)送以下格式的ASCII碼信息(CR>表示換行):
RING CR>
DATE=MMDD CR>
TIME=HHMM CR>
NMBR=******** CR>
這里RING表示有振鈴; DATE后面的是來(lái)電的日期(月和日);TIME后面的是來(lái)電的時(shí)間(小時(shí)和分鐘);NMBR后面的是來(lái)電號(hào)碼。
本文的來(lái)電解碼器與計(jì)算機(jī)通信的數(shù)據(jù)傳送格式與上面介紹的MODEM的格式相同,盡量保持了與MODEM的兼容性。計(jì)算機(jī)方軟件可通過(guò)分析從串口傳來(lái)的數(shù)據(jù)串得到客戶(hù)來(lái)電時(shí)間和號(hào)碼。
2 FSK來(lái)電解碼器的設(shè)計(jì)原理
2.1 HT9032C的功能簡(jiǎn)介
來(lái)電解碼器的核心器件是單片機(jī)AT89C2051和FSK解碼芯片HT9032C。HT9032C是Holtek半導(dǎo)體公司的一款FSK解碼芯片[3],其可自動(dòng)識(shí)別出消息幀中的信道占用信號(hào)和標(biāo)志信號(hào),并將數(shù)據(jù)信息和校驗(yàn)字通過(guò)DOUTC引腳輸出,其解碼時(shí)序如圖1所示,圖中的Cooked DATA即為去掉信道占用信號(hào)和標(biāo)志信號(hào)后的數(shù)據(jù)信息和校驗(yàn)字。
圖1. HT9032C的解碼時(shí)序
2.2 系統(tǒng)結(jié)構(gòu)與工作原理
來(lái)電解碼器的電路原理圖如圖2所示。
圖2. 來(lái)電解碼器電路原理圖
2.2.1 振鈴檢測(cè)
電路中利用光耦TLP521進(jìn)行振鈴檢測(cè), AT89C2051設(shè)置定時(shí)器T0的定時(shí)時(shí)間為1ms,在定時(shí)中斷服務(wù)程序中對(duì)P3.5的電平高低進(jìn)行檢查,當(dāng)有振鈴信號(hào)時(shí)P3.5為低電平,否則為高電平。為去除干擾的影響,振鈴檢測(cè)規(guī)則可定義為:無(wú)振鈴時(shí)若連續(xù)2次檢測(cè)到低電平認(rèn)為是振鈴開(kāi)始,已振鈴時(shí)若連續(xù)50次(相當(dāng)于50ms)檢測(cè)到高電平認(rèn)為是一次振鈴結(jié)束。
2.2.2 解碼控制
設(shè)置AT89C2051的串口工作模式為:1個(gè)起始位、8個(gè)數(shù)據(jù)位、1個(gè)停止位,傳輸率1200bps,使其與HT9032C的數(shù)據(jù)傳輸模式相同。 AT89C2051在檢測(cè)到第一次振鈴結(jié)束后,將P1.6(即HT9032C的PDWN)置低,使HT9032C開(kāi)始解碼并傳送數(shù)據(jù)信息,AT89C2051將接收到從DOUTC引腳傳出的來(lái)電數(shù)據(jù)信息和校驗(yàn)字,數(shù)據(jù)接收完畢后,將P1.6置高,完成一次解碼過(guò)程。
通過(guò)對(duì)接收到的數(shù)據(jù)進(jìn)行分析,可獲得來(lái)電時(shí)間、號(hào)碼等信息,AT89C2051再將這些信息組織成一定格式,通過(guò)TxD發(fā)往計(jì)算機(jī)串口,電路中的MAX232芯片負(fù)責(zé)TTL電平與RS-232電平的轉(zhuǎn)換。
2.2.3 串口供電
解碼器電源可由計(jì)算機(jī)串口提供,通過(guò)軟件編程,可使計(jì)算機(jī)在打開(kāi)串口后置RTS和DTR為正電壓,這時(shí)RTS和DTR的電壓處于+5V到+15V之間,一般在+10V左右,每根接口線可提供8mA的電流,總共可提供約16mA的電流[4]。
令A(yù)T89C2051工作在空閑模式下,其消耗的電流在5mA以下,HT9032C解碼時(shí)典型工作電流為3.2mA,因此由計(jì)算機(jī)串口提供的電源完全能夠滿(mǎn)足系統(tǒng)要求。
2.2.4 “看門(mén)狗”實(shí)現(xiàn)
由于系統(tǒng)采用計(jì)算機(jī)串口供電,串口狀態(tài)由關(guān)閉變?yōu)殚_(kāi)啟時(shí)可使系統(tǒng)上電復(fù)位,系統(tǒng)的“看門(mén)狗”功能就是利用這一特點(diǎn)通過(guò)軟件實(shí)現(xiàn)的。
將單片機(jī)的主程序設(shè)計(jì)為一個(gè)循環(huán)結(jié)構(gòu),在此循環(huán)內(nèi)設(shè)計(jì)一段程序每隔1s向計(jì)算機(jī)串口發(fā)送一個(gè)確認(rèn)字符(本設(shè)計(jì)定義的確認(rèn)字符為C5H,以免和 ASCII碼混淆)。計(jì)算機(jī)在任意2s時(shí)間間隔內(nèi)沒(méi)收到確認(rèn)字符,可認(rèn)為單片機(jī)程序跑飛,這時(shí)可關(guān)閉串口,停止對(duì)系統(tǒng)的供電,1s后重新開(kāi)啟串口,使系統(tǒng)上電復(fù)位。
2.3 軟件實(shí)現(xiàn)
解碼器軟件分為兩部分,一部分為單片機(jī)的控制程序,另一部分為計(jì)算機(jī)方的控制程序。
單片機(jī)程序分又為三模塊:主程序、定時(shí)器中斷服務(wù)程序、串行中斷服務(wù)程序。其中主程序負(fù)責(zé)系統(tǒng)初始化、向計(jì)算機(jī)發(fā)送各種數(shù)據(jù)等,定時(shí)器T0的中斷服務(wù)程序主要負(fù)責(zé)振鈴檢測(cè)和PDWN引腳電平的控制。串口中斷服務(wù)程序主要負(fù)責(zé)接收從HT9032C發(fā)送的信息并保存到緩沖區(qū)中供主程序使用,限于篇幅,本文省略了程序的流程圖。
計(jì)算機(jī)方的程序主要功能是進(jìn)行“看門(mén)狗”操作和從串口接收、識(shí)別來(lái)電信息。為方便用戶(hù)進(jìn)行二次開(kāi)發(fā),開(kāi)發(fā)了一個(gè)ActiveX控件完成這些功能。
3 在客戶(hù)關(guān)系管理系統(tǒng)中的應(yīng)用
該來(lái)電解碼器已被應(yīng)用到某體檢中心的客戶(hù)關(guān)系管理系統(tǒng)中,在該系統(tǒng)中,每個(gè)體檢客戶(hù)與一個(gè)客戶(hù)號(hào)相對(duì)應(yīng),系統(tǒng)數(shù)據(jù)庫(kù)中保存有電話(huà)與客戶(hù)號(hào)對(duì)應(yīng)表、客戶(hù)基本信息表及其他與業(yè)務(wù)相關(guān)的數(shù)據(jù)表,當(dāng)有客戶(hù)來(lái)電時(shí)系統(tǒng)在對(duì)應(yīng)表中查詢(xún)出與此次來(lái)電號(hào)碼相對(duì)應(yīng)的客戶(hù)號(hào),若查詢(xún)結(jié)果唯一則直接顯示該客戶(hù)的信息及工作窗口,若查詢(xún)結(jié)果不唯一(可能有多個(gè)客戶(hù)保留同一個(gè)電話(huà)號(hào)碼)則顯示所有對(duì)應(yīng)客戶(hù)的簡(jiǎn)要信息列表供操作員選擇和進(jìn)一步操作。該系統(tǒng)數(shù)據(jù)庫(kù)采用SQL Server 2000,經(jīng)過(guò)一年多的使用系統(tǒng)運(yùn)行良好。
4 結(jié)論
該解碼器電路簡(jiǎn)單、成本低、運(yùn)行可靠,適合應(yīng)用于中小企業(yè)的客戶(hù)關(guān)系管理系統(tǒng)或其他相關(guān)系統(tǒng)中。
本文作者創(chuàng)新點(diǎn):實(shí)現(xiàn)了來(lái)電信息向計(jì)算機(jī)的傳送,采用串口供電解決了解碼器供電問(wèn)題,“看門(mén)狗”功能沒(méi)有通過(guò)硬件電路而采用軟件方法實(shí)現(xiàn),既簡(jiǎn)化了電路,又降低了制造成本。
參考文獻(xiàn):
[1] 李善姬. 一種簡(jiǎn)單實(shí)用的電話(huà)報(bào)警系統(tǒng)的設(shè)計(jì)[J]. 微計(jì)算機(jī)信息, 2006, 5-2:89-91
[2] 電話(huà)主叫識(shí)別信息傳送及顯示功能的技術(shù)要求和測(cè)試方法. 郵電部技術(shù)規(guī)定, 1997
[3] HT9032C/HT9032D Calling Line Identification Receiver Date Sheet, Holtek Semiconductor Inc..
[4] Axelson Jan. 串行端口大全[M]. 北京:中國(guó)電力出版社. 2001
評(píng)論