FSK信息解碼的電話(huà)網(wǎng)數據通信
關(guān)鍵詞:單片機 電話(huà)主叫信息識別 FSK 數據通信
電話(huà)主叫識別信息發(fā)送及接收(俗稱(chēng)來(lái)電顯示),簡(jiǎn)稱(chēng)CID(Calling Identify Delivery),是電信局向被叫電話(huà)用戶(hù)提供的一種服務(wù)項目,是指在被叫用戶(hù)終端設備上顯示主叫電話(huà)號碼、主叫用戶(hù)姓名、呼叫日期和時(shí)間等主叫識別信息并進(jìn)行存儲,以供用戶(hù)查閱的服務(wù)項目。被叫用戶(hù)根據顯示的主叫識別信息而決定是否接聽(tīng)電話(huà),可以避開(kāi)一些不愿接聽(tīng)或不友好的電話(huà)。利用這個(gè)功能可以進(jìn)行FSK信息解碼的電話(huà)網(wǎng)數據通信,應用于實(shí)際生活中。
1 電話(huà)主叫識別原理和傳送協(xié)議
實(shí)現電話(huà)主叫信息識別業(yè)務(wù)的基本方法是,發(fā)端程序交換機將主叫電話(huà)號碼等信息通過(guò)局間指令系統傳磅給終端交換機,終端交換機再將主叫識別信息以移頻鍵控FSK(Frequency-Shift Keying)或雙音多頻DTMF(DualToneMulti-Frequency)方式,在第一次振鈴或第二次振鈴間隔期前傳送給被叫用戶(hù)終端設備。我國的通信行業(yè)標準明確規定,統一采用FSK方式提供主叫電話(huà)來(lái)顯示服務(wù)。在一次呼叫中,若被叫用戶(hù)申請了CID業(yè)務(wù),則電信局的終端交換機就會(huì )向該被叫用戶(hù)傳送主叫識別信息數據。傳送流程與時(shí)序如圖1所示。
其中A、B、C、D、E為數據傳送時(shí)的狀態(tài)持續時(shí)間,各段時(shí)間值如表1所列。在數據傳送前或傳送過(guò)程中,如果用戶(hù)摘機,則傳送停止,但呼叫處理正常進(jìn)行。
表1 CID信號傳送各段時(shí)間值
符 號 | 時(shí) 間 值 | 說(shuō) 明 |
tA | 1s | 第一次鈴流信號 |
tB | 0.5stB1.5s | 第一次振鈴結束與數據傳送開(kāi)始之間的時(shí)間間隔 |
tC | ≤2.9s | 傳送數據的時(shí)間,包括信道占用信號和標志信號 |
tD | ≥200ms | 數據傳送結束與第二次振鈴開(kāi)始的時(shí)間間隔 |
tE | 1s | 第二次鈴流信號 |
tB+C+D | ≤3.6s | 各時(shí)段可根據具體情況確定 |
2 主叫識別信息數據格式
FSK主叫識別信息數據的傳輸格式有兩種:?jiǎn)螖祿⒏袷絊DMF(Single Data Message Format)和復合數據消息格式MDMF(Multiple Data Message Format)。前者的結構簡(jiǎn)單,可容納的信息內容較少,如主叫號碼、日期和時(shí)間;后者的結構比較復雜,可容納的信息長(cháng)度較長(cháng),除單數據格式內容以外還可以主叫用戶(hù)的姓名等。本文主要介紹FSK主叫信息數據格式的接收。
單數據消息格式由消息頭和消息體組合,消息頭由消息類(lèi)型和消息長(cháng)度組成,它們均為8位字。消息類(lèi)型的值來(lái)識別消息的特征;消息長(cháng)度指明后面所跟消息字的長(cháng)度。消息體包括交換機需傳給終端用戶(hù)的消息。消息體可容納1~255個(gè)8位的消息字。每個(gè)字用8位帶校驗位的7位ASCII編碼字符集表示。
一個(gè)完事的消息幀由信道占用信號、標志信號、數據信息和校驗字組成。信道占用信號和標志信號用來(lái)提示電話(huà)終端準備接收數據;校驗字用來(lái)作差錯檢查,如圖2所示。
①信道占用信號。這是發(fā)送主叫信息時(shí)要首先發(fā)出的頭標志,由一組300個(gè)連續的“0”和“1”交替地組成。其第一個(gè)位為“0”,最后一個(gè)位為“1”。在通話(huà)狀態(tài)下,此信號不發(fā)送。
②標志信號。在掛機狀態(tài)下,程控交換機向用戶(hù)發(fā)送主叫信息時(shí)要先發(fā)送的第二個(gè)標志信號,由180個(gè)標志位(邏輯“1”)組成。在通話(huà)狀態(tài)下,此信號不發(fā)送。
③標志位。程控交換機根據線(xiàn)路使用情況隨機插入的標志位,由0~10個(gè)邏輯“1”組成。
④數據字。主叫信息,每個(gè)數據字之前先行一次“0”作起始位,在最后加一位“1”作結束位,每個(gè)數字的最低位先發(fā)送。這樣,實(shí)際每個(gè)字為10位,即1PXXXXXXX0,其中P為奇偶校驗位。
電話(huà)主叫信息數據傳送時(shí),信道占用信號首先發(fā)送,后接標志信號,最后連續發(fā)送數據字。根據數據傳送情況,間隔地插入一些標志位。一般標志位會(huì )加在如下字的傳送之間:
a. 消息類(lèi)型字與消息長(cháng)度之間;
b. 消息長(cháng)度字與第一個(gè)參考數字或消息字之間;
c. 參數類(lèi)型字與相應的參數長(cháng)度字之間;
d. 參考長(cháng)度字與第一個(gè)參考字之間;
e. 最后一個(gè)參數字與下一個(gè)參數類(lèi)型字之間;
f. 最后一個(gè)參考字或消息字與校驗字之間。
單數據消息格式數據傳送按消息類(lèi)型(04H)、消息長(cháng)度、消息字、月、日、時(shí)、分、主叫號碼(或“O”或“P”)的順序排列組成消息進(jìn)行傳送。所有的消息字和參數字都有奇數偶校驗位,采用奇偶校驗的方式傳送。
3 電話(huà)FSK信息通信電路設計
本文以FSK信息解調器SM8220P芯片與單片機及外電路接口為例,介紹FSK信息的通信接收方法。SM8220P解調器是日本NPC公司生產(chǎn)的雙列直插、低功耗CMOS集成電路FSK解調芯片,其解調器的引腳功能如表2所列。
表2 SM8220P引腳功能
符 號 | 引 腳 | 功 能 |
TIP-RING | 1,2 | 電話(huà)信號輸入端。信號輸入必須隔直流 |
AGND | 3 | 模擬地,要通過(guò)一個(gè)電容接地 |
RDIN | 4 | 振鈴檢測輸入。要把振鈴信號經(jīng)衰減后連接到此引腳 |
RDRC | 5 | 振鈴檢測RC延時(shí)電路,低電平有效 |
RDET | 6 | 振鈴檢測輸出,內部接施密特觸發(fā)電路。當為低電平時(shí),表明檢測到振鈴信號輸入;不用時(shí)應接地 |
PWDN | 7 | 掉電控制,平時(shí)應保持為低電平。若為高電平,進(jìn)入掉電工作模式,COSCOUT、CDET和DOUT自動(dòng)被設置成高電平,AGND、FOUT被設置成高阻抗狀態(tài) |
GND | 8 | 器件地 |
OSCIN/CLKIN | 9 | 振蕩放大器輸入,外部振蕩放入器信號經(jīng)此引腳輸入 |
OSCOUT | 10 | 振蕩放大器輸出,使用外部振蕩信號時(shí)必須開(kāi)路 |
CDET | 11 | 載波檢測輸出端,低電平有效。為低電平時(shí),表明此時(shí)有FSK載波信號輸入 |
NC | 12 | 空腳 |
DOUT | 13 | 數據輸出,平時(shí)為高電平。當CDET=0時(shí),表明此時(shí)電話(huà)經(jīng)上有一個(gè)有效的FSK信號輸入,經(jīng)解調后由該腳輸出 |
DMIN | 14 | 解調器輸入端 |
FOUT | 15 | FSK帶通濾波器輸出端,通過(guò)一個(gè)電容耦合連接到DMIN |
VDD | 16 | 電源正極(3~5.5V) |
SM8220P遵循Bell 202和ITU-T V.23協(xié)議標準,以連續二進(jìn)制脈沖頻移鍵控信號的方式傳輸,傳輸速率為1200bps。支持FSK號碼顯示和姓名顯示等多種功能;芯片內部包含電源掉電檢測電路、振鈴檢測電路和載波檢測電路;信號輸入檢測靈敏度高,電源工作電壓較寬(3~5.5V),是進(jìn)行電話(huà)FSK信息解碼通信的較好的集成芯片。
為實(shí)現電話(huà)FSK信息的接收,采用P87LPC764單片機控制SM8220P電路,以完成電話(huà)FSK信息解碼通信的工作。電話(huà)FK信息通信具體電路如圖3所示。
從圖3中可知,對于從電話(huà)線(xiàn)上傳輸來(lái)的FSK信號,信號傳送在第一次振鈴和第二次振鈴之間。振鈴信號經(jīng)過(guò)整流、分壓,加到TIL113光電耦合器件的發(fā)射管上,使發(fā)射管有電流通過(guò)而發(fā)光,照射到光敏三極管的基極,臻使光敏三極管飽和導通。在R6上得到大于1V的脈沖信號,輸入到單片機外部中斷0,喚醒單片機準備接收。0.5s后FSK信號經(jīng)過(guò)C3、C4、R1、C2的隔直和衰減,輸入到FSK接收器SM8220P的差分輸入端TIP和RING腳,將FSK信號讀取解調后從DOUT腳輸出ASCII碼的串行序列,由P87LPC764單片機接收處理,提取出相應的電話(huà)FSK信息,發(fā)到多功能LED顯示模塊MAX7219驅動(dòng)數碼顯示和24C64保存。
4 FSK信息接收通信軟件設計
單片機對SM8220P輸出的ASCII碼串行序列的識別過(guò)程,由接收和數據整合兩部分組成。由于FSK信號波特率為1200bps,每發(fā)1位的時(shí)間是833us,因此,可以設定定時(shí)器每833us接收1位,每10位提取出1個(gè)數字。如此反復循環(huán),直到接收完全FSK信息。當有電話(huà)來(lái)時(shí),在第一聲振鈴后,單片機開(kāi)始準備檢測接收信號,SM8220P開(kāi)始接收300個(gè)由0、1組成的頻率為1200Hz的信道占用信號和180個(gè)“1”標志信號,緊接著(zhù)接收主叫號碼和時(shí)間。每收到1個(gè)數字,SM8220P都把它變換成10位(1PXXXXXXXX0)的串行序列,由13腳輸出傳送給P87LPC764單片機,P87LPC764經(jīng)過(guò)精確的定時(shí)編程將其檢測整合出相應的FSK號碼、時(shí)間等數據,完成FSK信息解碼、接收通信、接收到的電話(huà)號碼可以保存在24C64串行E2PROM中,也可以輸出到LCD上顯示。SM8220P的11腳用來(lái)提示電話(huà)線(xiàn)上是否有新的FSK信息的輸入。若有新的FSK信息輸入,此引腳將產(chǎn)生低電平。單片機接收FSK主叫信息可以采用定時(shí)中斷方式,也可以采用延時(shí)查詢(xún)的辦法進(jìn)行。電話(huà)FSK信息接收通信程序流程如圖4所示。
結語(yǔ)
近幾年來(lái),我國電信網(wǎng)絡(luò )基礎建設發(fā)展很快,電話(huà)普及率逐年提高。通過(guò)調查顯示,用戶(hù)迫切需要利用電話(huà)來(lái)傳遞更多的信息。利用SM8220P與單片機的結合,可以很方便地實(shí)現電話(huà)FSK信息的解碼、接收通信,實(shí)現用電話(huà)網(wǎng)進(jìn)行用戶(hù)遠程自動(dòng)抄表等功能。
注:調試通過(guò)的FSK信息的解碼、接收通信的匯編程序見(jiàn)網(wǎng)站www.dpj.com.cn。
評論