首頁(yè)>>廠(chǎng)商>>尋呼設備廠(chǎng)商>>深圳菱科實(shí)業(yè)

8路FSK主叫號碼識別電路的設計

王昌世 2002/11/25

  

關(guān)鍵字:主叫識別 BEL202協(xié)議 FSK MT88E39 單片機 巡檢
Key Words: Caller ID Protocol FSK 88E39 MCS Circle Detect

摘要:本文主要講述基于單片機硬件的8路并發(fā)的FSK主叫號碼的識別電路的設計。
該文同時(shí)涉及了BEL202 協(xié)議、FSK以及借助雙口RAM的計算機并行數據通信等技術(shù)

Abstract: The paper mainly descriped the design of eight channel hardware FSK Caller IDcircuit based on single chip microprocessor 。It simultaneously include BEL202 protocole,FSK and computer the parallel communication by dual port RAM technology,and so on.

1.主叫號碼識別協(xié)議。

  主叫號碼識別(俗稱(chēng)來(lái)電顯示)現已成為電話(huà)通信的一項重要功能,在許多的CTI
呼叫中心和交換機中也都是不可缺少的。

  主叫號碼識別(英譯為Caller ID),又稱(chēng)主叫號碼傳輸(Calling Number Delivery),
是一種按V.23或是BEL202數據流協(xié)議(在這里統稱(chēng)為Caller ID協(xié)議),把主叫電話(huà)號碼等信息在電話(huà)的呼叫階段傳給被叫客戶(hù)的一種方法。典型的Caller ID協(xié)議規范由下列三個(gè)層次組成。

1.1物理層

  通過(guò)物理層異步傳輸的所有數據都是由8位字符構成的。字符的格式如下:

S2 M B7 B6 B5 B4 B3 B2 L S1

  在這里: S1=開(kāi)始位,S2=停止位,M=最高有效位,L=最低有效位,B=第2到7數據位。

1.2數據鏈路層

  鏈路層把數據幀組合成一個(gè)帶有效驗和的數據包,以區分噪聲。這個(gè)數據包的格式如下:

通道占用 標志信號 信息類(lèi)型 信息長(cháng)度 信息 校驗和

  (1) 通道占用信號: 這是一個(gè)接續的"0"和"1"(二進(jìn)制位)交替信號(按字節,就是0x55) ,位數在96~315之間(對應80ms~262ms),以"1"開(kāi)始,以"0"結束。

  這個(gè)信號的作用在于減少與真實(shí)的載波信號類(lèi)似的信號干擾,接收端只有在正確收到這個(gè)信號,
后續的信號才會(huì )有效。

  (2)標志信號:這是一連串的停止位(即"1",就是持續的高電平),至少55位(對應45ms)。

  (3)信息類(lèi)型:占一個(gè)字節,其值取決于應用情況,多見(jiàn)為"04h"。

  (4)信息長(cháng)度 :占一個(gè)字節。是"信息"的字節長(cháng)度。其值為3--255。

  (5)信息內容:是真正的內容所在(如電話(huà)號碼等)。此字段完整的內容格式由"示意層(即presentation layer)"給出(1.3節討論)。其內容長(cháng)短隨國家地區的不同而不同,且具體的內容格式大都比完整的內容格式少許多。

  (6)校驗和:是從"信息類(lèi)型"開(kāi)始到"信息"結束的所有字節("校驗和"本身除外)的字節和,不計溢出,占一字節,然后求補碼。

1.3示意層

其完整的格式為:

參數類(lèi)型 參數長(cháng)度 參數字節 …… 參數類(lèi)型 參數長(cháng)度 參數字節

(1) 示意層的參數是可重復的 。

(2) "參數長(cháng)度"取值為0~255。

(3) "參數字節"可為0,既可以沒(méi)有。若有,其數制(指ASCII碼等)也是可變的。

(4) 在實(shí)際應用中,可以只有"參數字節"而無(wú)"參數類(lèi)型"和"參數長(cháng)度"。例如,在我國的一些電信應用中。

1.4一個(gè)實(shí)例

  下面是一個(gè)實(shí)例,是從深圳電信局接受到的FSK數據( 十六進(jìn)制數,其中電話(huà)號碼和日期是ASCII碼 )。

  1.4.1實(shí)例

  分別用手機(13662573614)和電話(huà)(3302729)撥打我公司外線(xiàn)電話(huà)3302732。

(1)用手機撥打

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,
0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x04,0x13,0x31,0x32,0x32,0x37,0x31,0x35,0x33,
0x31,0x31,0x33,0x36,0x36,0x32,0x35,0x37,x033,x036,x031,x034,x017

(2)用電話(huà)撥打

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,
0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,04,0f,0x31,0x32,0x32,0x37,0x31,0x35,0x34,
0x36,0x33,0x33,0x30,0x32,0x37,0x32,0x39,0xe7

  1.4.2數據分析

  (1)在1.4.1中,先導的28個(gè)字節"0x55",計226位(bit)的"0"和"1",即是在上述的"通道占用信號"。其位數在協(xié)議范圍內。

  (2)"標志信號"在此占約144ms(用數字示波器捕獲),即1200 BIT的"1"。接收時(shí)被芯片MT88E39屏蔽,無(wú)數據輸出。

  (3)"0x04"是信息類(lèi)型。

  (4)"0x13"是信息長(cháng)度。

  (5)緊接著(zhù)信息長(cháng)度后的8個(gè)數據是撥打電話(huà)時(shí)的月、日、時(shí)和分的ASCII碼(16進(jìn)制),即12月27日15時(shí)31分。


  (6)時(shí)間后的11個(gè)數據是手機號碼的ASCII碼,也即是13662573614。

  (7)最后一個(gè)字節是效驗和。

  (8)對1.4.2的分析同上,僅把11位的手機號改為7位電話(huà)號即可。要注意的是作為先導的"0x55"的個(gè)數比1.4.1中多一個(gè)。

  (9)很顯然,在此數據格式中省略前述的"示意層"中的"參數類(lèi)型"和"參數長(cháng)度",僅有"參數字節"。

2 FSK

  FSK即"頻移鍵控",它的英譯為"Frequency Shift Keying"。它是在電話(huà)線(xiàn)上進(jìn)行二進(jìn)制數據(當然,也包括"Caller ID"數據信號在內)調制傳輸的兩種常用的方法之一,是一種用不同的載
波頻率表示二進(jìn)制數據的"0"和"1"的調制方法。DTMF(即雙音多頻)是另一種方法。


  這個(gè)過(guò)程可用微處理器(如TI 公司的MSP430)及其程序來(lái)實(shí)現,也可由專(zhuān)門(mén)的芯片來(lái)完成(本文既是),而后者對設計者來(lái)說(shuō)則顯得很簡(jiǎn)單。

  美國MITEL 公司的MT88E39就是這樣的芯片(當然,還有其它產(chǎn)品,如,臺灣Holtek 公司的HT9032C/D(C為16腳DIP或SOP 封裝,D為8腳DIP或SOP封裝)等,但原理大同小異)。

  2.2.1 MT88E39介紹

  MT88E39為16Pin SOIC封裝。5個(gè)輸入腳,8個(gè)輸出,1對電源腳,1個(gè)內部連接腳,具體如下:

  (1) 第1、2腳,運放的模擬輸入端IN+和IN-。可差分也可作單端輸入。它通常接中繼模塊的輸出端,FSK調制信號即由此輸入。

  (2) 第6、7腳,所需晶振的連接端OSC1和OSC2。當直連外部時(shí)鐘時(shí),OSC1作輸入,OSC2則懸空。OSC2也是時(shí)鐘輸出端。

  (3) 第13腳,低功耗運行控制輸入端。高電平有效。此時(shí),運放、振蕩器及內部電路不工作。

  (4) 第14腳(MODE),工作模式選擇輸入端()。有模式0和 模式1兩種。兩鐘模式的不同僅在數據輸出與微處理器的接口方式上。模式0使用較多。

  (5) 第10腳(DATA),串行數據輸出端。在無(wú)FSK信號輸入時(shí),其為高電平。在有信號時(shí),每字節按低位在前,高為在后送出。

  (6) 第9腳(DCLK),在不同工作方式,有不同功能。在模式0,它是串行數據輸出位同步時(shí)鐘,在無(wú)FSK信號輸入時(shí),其為高電平,而在有信號時(shí),其上升沿指示數據位以穩定,可以被讀取。在模式1,它作輸入端,需與微處理器的讀信號相連。

  (7) 第11腳(/DR),一個(gè)數據字準備好標志信號,也即是輸出字同步時(shí)鐘。

  (8) 第12腳(/CD),在指定的時(shí)間內,載波被檢測標志。

  (9) 第15腳(IC),內部連接端。行數據輸出端。

  (10) 第3腳(GS),運放增益調整端。

  (11) 第4腳(Vref),參考電壓輸出端(2.5V)。

  (12) 第5腳(CAP),外接0.1μF電容器接入端(另一端接地)。

  (13) 第8、16腳(Vss、Vdd),一對電源腳。詳細資料請見(jiàn)參考文獻[4]。

3.電路設計

  如圖1所示。這是一個(gè)在呼叫中心上使用的收號電路,八路可同時(shí)進(jìn)行。


圖1. 8路FSK主叫號碼接收電路(點(diǎn)擊放大)


3.1硬件電路

  由三部分組成:FSK解碼,由單片機完成的FSK數據的串-并轉換及八路巡環(huán),由雙口FIFO RAM(IDT7202)完成與上位機的通信接口(ISA 總線(xiàn)的工控機)。

  3.1.1FSK解碼

  這是一個(gè)依據MITEL公司在文獻[1]中所提供的典型應用電路來(lái)設計的。C1(104)用來(lái)提供FSK正弦調制信號通道。R1、R2用于放大器的增益調整。該增益調整對整個(gè)的電路的正常工作至關(guān)重要。增益過(guò)大容易引起誤接收,增益偏小,則接收不到應有的信號。增益調整主要是針對不同的內外線(xiàn)摸塊而引起的不同的模擬信號輸出的情況。

  晶振為3.58M。此時(shí),串行數據信號"DATA"的波特率為1200。

  禁用低共耗模式(PWND=0)。

  選擇工作方式0。在此方式下,位同步信號"DCLK"的波特率為2400。其上升沿出現在DATA信號位的中間。

  3.1.2單片機電路

  所有四個(gè)口(P1-P3)均工作在I/O方式。P1口作DATA信號接收用,每線(xiàn)對應一路FSK信號,總共八路。

  P2口作DCLK信號檢測用,也有八路。

  P0口作并行數據輸出用,與數據緩沖雙口FIFO相接。

  僅部分使用了P3口。

  3.1.3 FIFO電路

  此部分電路功能有二,即多路號碼數據緩沖和上下位機接口。此FIFO的容量為1024*9bit(其中一位是奇偶效驗為,這里未用),其有分別的讀寫(xiě)數據線(xiàn)(即所謂雙口),可雙口同時(shí)讀寫(xiě)。無(wú)地址線(xiàn),通過(guò)內部的讀寫(xiě)指針來(lái)控制順序讀寫(xiě),配有硬件讀寫(xiě)溢出保護。

  3.3.4電路調試

  (1)FSK主叫號碼識別技術(shù)的關(guān)鍵在于對當地的電信部門(mén)所發(fā)FSK信號協(xié)議的了解,這項工作是你在硬件平臺搭建好后要做的第一件事,此事做好后,我想整個(gè)的設計工作即完成60%。我們是用美國泰克(Traxi)的數字示波器來(lái)做這項工作的。具體做法是:

  ①示波器通道1接于電路中任意一路的"DCLK"端,并作為信號源。示波器通道2接于相應的"DATA"端。
  ②掃描時(shí)間取50ms或100ms,幅值取2V/格。選擇"單次捕捉"和上升沿觸發(fā)方式。
  ③給相應的線(xiàn)路打入一個(gè)外線(xiàn)電話(huà)。如果電路正常,示波器上會(huì )顯示出二路同步波形,通道1為同步源。
  ④將波形展開(kāi)加以分析。特別注意:每字節按低位在前,高為在后送出。

  (2)應特別注意增益電阻R2的調整。由于中繼(或曰外線(xiàn))模塊的不同,其輸出的FSK模擬信號的幅值有很大差異,R2的大小必須適應這種變化。因為對MT88E39過(guò)大或過(guò)小的模擬信號輸入都會(huì )使其輸出的FSK數據出錯。

4. 單片機程序設計

4.1程序算法

  (1)依據FSK傳輸協(xié)議,接收數據。

  (2)在定時(shí)器T0的中斷服務(wù)程序中,定時(shí)用查詢(xún)方式檢測由MT88E39輸出的FSK信號。當判斷到"DCLK"有上升沿產(chǎn)生后立刻地采集"DATA"數據位信號。T0的定時(shí)時(shí)間需與MT88E39的DATA和DCLK的時(shí)序相匹配,必須保證在八路電話(huà)同時(shí)接通的情況下,在DATA的數據位的半周期(約為417us)內,能依次檢測到8路DCLK信號的變化(即上升沿),而不遺漏。以180us定時(shí)中斷為宜。選擇單片機89C51的主頻為24MHz。

  (3)在連續收到至少20個(gè)55h數據(即通道占用信號)后,程序才往下執行,否則表明此次FSK數據出錯,應退出本次收號。

  (4)"04h"是FSK的標志字,在此字后的一個(gè)字節是數據長(cháng)度。

  (5)在主程序中,在處理完某一路的一幀FSK數據后,才將其寫(xiě)入FIFO把字節數據(主叫的日期和號碼)寫(xiě)入FIFO。

  (6)每次所寫(xiě)數據前要加入同步碼(如"AA"),每個(gè)數據中還應加入線(xiàn)(或路)號(對于兩路以上),用于
標識一個(gè)完整的話(huà)路數據。

  (7)循環(huán)執行。

  (8)在程序中建立以下的變量:

  ① FLAG*(*代表0~7的數字,對應0~7個(gè)FSK接收通道,下同)是位標志。記錄上一次被采到的"DCLK"的狀態(tài)。FLAG*=0,表示DCLK的"邏輯0";FLAG*=1,表示DCLK的"邏輯1";
  ②位標志STATE*記錄是否受到"0x04"標志字,受到,則STATE*=1,否則,TSATE*=0。
  ③COUNT*記錄收取某個(gè)字節時(shí)已收到的比特數。
  ④AACOUNT*記錄收到的"0x55"的個(gè)數。
  ⑤CCOUNT*保存收到的信息長(cháng)度值。
  ⑥BCOUNT*作為程序中通用的計數器。
  ⑦38h(還有39h~3fh)單元用于存放當前接收的字節。


圖2a. 主程序流程圖(點(diǎn)擊放大)


圖2b. 中斷服務(wù)程序流程圖(點(diǎn)擊放大)


4.2程序流程

見(jiàn)圖2。

5.注釋

  (1)BELLCORE 即美國貝爾電信研究所。"BEL202"是該所制定的有關(guān)"CALLER ID"方面的協(xié)議文件。有關(guān)"BEL202"更詳細的信息,請參考"BELLCORE Technical Manual"。

  (2)V.23是CCITT(國際電話(huà)與電報顧問(wèn)委員會(huì ))于1988年制定的一個(gè)建議,是有關(guān)"公用交換電話(huà)網(wǎng)中使用的標準化600/1200波特調制解調器"的,詳見(jiàn)文獻[5]。

6.結束語(yǔ)

  此設計已在我公司生產(chǎn)的"CTI2000呼叫中心"設備中使用多年,效果良好。

主要參考文獻

[1]《Applicaion Report SPRA462--Inplementing Caller ID on Fixed-point DSPS》((USA)Texas
Instruments Company/網(wǎng)址http://www.ti.com/)
[2]《Caller ID on TMS320C2xx》((USA)Texas Instruments Company)
[3]《FSK Modulation and Demodulation With the Msp430 Microcontroller》((USA)Texas
Instruments Company)
[4]《CMOS MT88E39 Calling Number Identifcation Circuit Advance information (CNIC1.1)》((USA)Mitel

深圳菱科實(shí)業(yè)公司供稿 CTI論壇編輯


分類(lèi)信息:     
亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 华蓥市| 德令哈市| 旌德县| 崇仁县| 平江县| 通海县| 屯昌县| 江安县| 仙游县| 花莲县| 张家界市| 新邵县| 青阳县| 罗山县| 轮台县| 天祝| 凤阳县| 新兴县| 彝良县| 涿鹿县| 西乌珠穆沁旗| 扎囊县| 永宁县| 马关县| 临湘市| 胶州市| 砀山县| 疏附县| 虞城县| 浠水县| 沭阳县| 孟连| 敦煌市| 南部县| 开化县| 大洼县| 都匀市| 连城县| 西安市| 中西区| 时尚| http://444 http://444 http://444 http://444 http://444 http://444