基于單片機(jī)控制的小型簡(jiǎn)易程控交換系統(tǒng)
用戶交換機(jī)是構(gòu)成現(xiàn)代交換式通信網(wǎng)的重要設(shè)備,主要由用戶線接口部分、交換網(wǎng)絡(luò)和控制系統(tǒng)3大部分組成??刂葡到y(tǒng)依靠存儲(chǔ)器中的程序和數(shù)據(jù),引導(dǎo)微處理器對(duì)各種信令進(jìn)行適當(dāng)?shù)奶幚?,?duì)交換網(wǎng)絡(luò)和接口實(shí)行必要的控制。由于微處理機(jī)功能的不斷增強(qiáng)和集成電路成本的不斷下降,人們已有可能用合理的造價(jià)生產(chǎn)出功能齊全的交換機(jī)。實(shí)際中實(shí)現(xiàn)交換系統(tǒng)的方案有較大差別,缺乏統(tǒng)一模式,這就給詳細(xì)、具體地掌握系統(tǒng)的內(nèi)部結(jié)構(gòu)帶來(lái)了一定的困難。基于以上原因,我們考慮將單片機(jī)知識(shí)與程控交換的基本原理相結(jié)合來(lái)設(shè)計(jì)簡(jiǎn)易的交換系統(tǒng)。該系統(tǒng)采用單片機(jī)、網(wǎng)絡(luò)交換芯片和用戶接口電路芯片,以單片機(jī)為微控制器來(lái)實(shí)現(xiàn)通信系統(tǒng)的呼叫響應(yīng)、處理、應(yīng)答,話路接續(xù),通話計(jì)時(shí)及復(fù)位拆線等基本功能。
1 系統(tǒng)的組成及原理?
1.1 工作原理?
本系統(tǒng)是依據(jù)程控交換原理設(shè)計(jì)的微型空分交換系統(tǒng),系統(tǒng)原理框圖如圖1所示。其基本工作原理:當(dāng)用戶1摘機(jī)呼叫用戶2時(shí),交換機(jī)向主叫方發(fā)送撥號(hào)音,同時(shí)由單片機(jī)將主叫號(hào)碼送七段顯示器顯示,主叫方撥打相應(yīng)號(hào)碼后,DTMF譯碼電路譯出對(duì)應(yīng)的編碼并引起單片機(jī)中斷,AT89C51讀入數(shù)據(jù)同時(shí)顯示被叫號(hào)碼,此時(shí)交換機(jī)切斷撥號(hào)音并檢測(cè)被叫方狀態(tài),若被叫用戶忙則交換機(jī)向主叫方發(fā)送忙音,否則,向被叫方送鈴流、向主叫方送回鈴音。當(dāng)被叫方摘機(jī)后,交換機(jī)切斷鈴流和回鈴音,接續(xù)話路,雙方開(kāi)始通話并啟動(dòng)通話計(jì)時(shí)。當(dāng)一方掛機(jī)后,計(jì)時(shí)停止顯示通話時(shí)間并向?qū)Ψ剿痛邟煲?,?duì)方掛機(jī)后系統(tǒng)拆線復(fù)原。
1.2 硬件電路組成
(1)信號(hào)檢測(cè)、信號(hào)音控制電路?
信號(hào)檢測(cè)電路用來(lái)檢測(cè)用戶的狀態(tài)并接收用戶撥打的電話號(hào)碼,并根據(jù)用戶狀態(tài)啟動(dòng)相應(yīng)的信號(hào)音控制信號(hào)。以2個(gè)通話用戶為例,采用AT89C51的P1口與用戶接口電路相連,用以檢測(cè)是否有用戶呼叫并控制DTMF解碼電路。P1.0、P1.1用于接收主、被叫方的摘掛機(jī)信號(hào),用戶摘機(jī)則話機(jī)經(jīng)P1.0、 P1.1向AT89C51發(fā)出一高電平信號(hào),此時(shí)表示有用戶呼叫。P1.3、P1.4通過(guò)模擬開(kāi)關(guān)CD4066控制主、被叫雙方的DTMF解碼電路,高電平有效。采用8255的PC口接收話機(jī)經(jīng)用戶接口發(fā)送來(lái)的電話號(hào)碼,單片機(jī)中斷時(shí)從PC口讀入數(shù)據(jù)。
信號(hào)音控制電路采用8255芯片的PA、PB口進(jìn)行控制,PA0、PA1作為鈴流控制輸出信號(hào),PA4、PA5用作回鈴音控制信號(hào),PB0、PB1為忙控制信號(hào),PB4、PB5為撥號(hào)音控制信號(hào),各控制信號(hào)均為高電平有效。因此,1片8255可同時(shí)對(duì)2對(duì)用戶的信號(hào)音進(jìn)行控制。單片機(jī)根據(jù)檢測(cè)到的用戶狀態(tài)產(chǎn)生相應(yīng)信號(hào)音的控制信號(hào),以便向用戶端發(fā)送信號(hào)音。信號(hào)檢測(cè)、信號(hào)音控制電路如圖2所示。
(2)雙音多頻解調(diào)電路
MT8870是雙列直插DTMF解碼專用電路。雙音多頻解調(diào)電路如圖3所示。
?
AT89C51的P1.3、P1.4接模擬開(kāi)關(guān)CD4066的13、12腳來(lái)控制MT8870的解碼,高電平時(shí)允許解碼電路工作。2個(gè)用戶的雙音多頻信號(hào)分別由CD4066的1、11腳輸入,經(jīng)過(guò)MT8870內(nèi)部的前置放大器送入高低頻組帶通濾波器,再經(jīng)幅度檢測(cè)器進(jìn)入譯碼電路,最后從輸出端輸出相應(yīng)的編碼。采用CD4066還可起到隔離話音信號(hào)與DTMF信號(hào)的作用,以免對(duì)解碼造成干擾。MT8870的STD接AT89C51的INT0,當(dāng)STD電平由低變高時(shí)引起單片機(jī)中斷讀取電話號(hào)碼。
(3)交換網(wǎng)絡(luò)電路?
電子接線器是空分交換網(wǎng)絡(luò)的核心部件,我們采用MT8816來(lái)完成通話雙方線路的接續(xù)。MT8816芯片是8×16的模擬開(kāi)關(guān)陣列,8路列輸入/輸出(Y0~Y7)和16路行輸入/輸出(X0~X15)形成模擬交換矩陣,芯片有保持電路,可保持任一交叉點(diǎn)處于接通狀態(tài),直至接收到復(fù)原信號(hào)為止,其引腳如圖4所示。AT89C51 的P0口通過(guò)列地址線AY0~AY2和行地址線AX0~AX3控制列線與行線選擇需要接通的交叉點(diǎn)(例如,要接通Y0和X1間的交叉點(diǎn)需向AY0~AY2 送000,向AX0~AX3送1000)。DATA為交叉點(diǎn)開(kāi)關(guān)控制位,高電平時(shí)交叉點(diǎn)開(kāi)關(guān)連通相反則斷開(kāi)。RST為復(fù)位信號(hào)輸入,高電平時(shí)全部開(kāi)關(guān)均置于截止?fàn)顟B(tài)。STB為選通脈沖輸入,AT89C51送入列、行地址碼后還必須給STB端送一脈沖信號(hào)同時(shí)DATA置高電平,才能使MT8816完成接續(xù)工作,MT8816拆線復(fù)原的過(guò)程與接續(xù)過(guò)程類似,此時(shí)只須將DATA置低電平即可。
交換網(wǎng)絡(luò)向用戶端發(fā)送的各種信號(hào)音的接通和切斷可通過(guò)相應(yīng)的信號(hào)音控制信號(hào)(8255的PA、PB口)選通CD4066來(lái)實(shí)現(xiàn)。
(4)用戶接口電路?
用戶接口電路是由用戶線接口芯片MH88612和PCM編解碼芯片TP3067組成,兩者共同完成BORSCHT七項(xiàng)功能。用戶線接口檢測(cè)到用戶1摘機(jī)后,MH88612的SHK引腳輸出一高電平至P1.0,AT89C51將8255的PB4端置高電平控制交換網(wǎng)絡(luò)向用戶1送撥號(hào)音,單片機(jī)收到正確號(hào)碼后控制系統(tǒng)發(fā)出振鈴控制信號(hào)即將8255的PA1置高電平并由MH88612的RC腳輸入,驅(qū)動(dòng)繼電器K閉合向用戶線接口2送振鈴,同時(shí)將PA4置高電平控制交換網(wǎng)絡(luò)向用戶1送回鈴音。當(dāng)用戶2摘機(jī)時(shí),其接口電路的SHK腳輸入一高電平至P1.1,單片機(jī)控制MT8816接續(xù)通話線路。當(dāng)任一方掛機(jī)時(shí)其相應(yīng)的SHK輸出一低電平控制系統(tǒng)向另一方送催掛音。
[!--empirenews.page--]
線路接續(xù)成功后,話音信號(hào)經(jīng)MH88612的VX輸出送入TP3067中進(jìn)行編碼。PCM編碼器的抽樣頻率為8 kHz,由幀同步脈沖FSX獲得,F(xiàn)SX除提供PCM抽樣頻率外,還選通輸出緩存器使緩存器中的8 B,自FSX下降沿開(kāi)始以主時(shí)鐘2.048 Mb/s的速率由DX端輸出至交換網(wǎng)絡(luò),主時(shí)鐘由MCLKX腳輸入。PCM解碼是指將來(lái)自交換網(wǎng)絡(luò)的主時(shí)鐘頻率的PCM信號(hào)在幀同步信號(hào)FSR的下降沿開(kāi)始時(shí)由DR接收至輸入緩存器中,其主時(shí)鐘頻率由MCLKR輸入仍為2.048 Mb/s。用戶接口電路如圖5所示。?
(5)其他電路?
交換機(jī)向用戶發(fā)送的鈴流信號(hào)是25 Hz、幅度為90 V的方波信號(hào),撥號(hào)音、回鈴音、忙音、催掛音是通過(guò)控制450 Hz交流信號(hào)的斷續(xù)時(shí)間來(lái)產(chǎn)生的,各種信號(hào)音可由單片機(jī)編程產(chǎn)生,但為避免程序過(guò)于復(fù)雜,使AT89C51更好的對(duì)系統(tǒng)主要部分進(jìn)行監(jiān)控,設(shè)計(jì)中各種信號(hào)音的產(chǎn)生均采用硬件電路完成,可由555芯片配以適當(dāng)?shù)耐鈬娐樊a(chǎn)生各種信號(hào)音。
顯示電路主要利用了8155芯片作為AT89C51的擴(kuò)展輸出口,由8155、74LS240和MC1413及七段LED組成,用來(lái)顯示主叫、被叫方號(hào)碼及通話時(shí)間。8155的PA口與MC1413相連經(jīng)反相后作為數(shù)碼管的位選信號(hào),PB口經(jīng)74LS240作為段選信號(hào)送數(shù)碼管顯示,片選信號(hào)接 AT89C51的P2.7。由于整個(gè)系統(tǒng)較為復(fù)雜,在顯示電路的調(diào)試過(guò)程中我們只采用了5位數(shù)碼顯示管,中間3位顯示通話時(shí)間(1位分鐘,2位秒針),前后2位分別顯示主被叫方的代號(hào)(如用戶1用1表示,用戶2用2表示),但只須對(duì)程序稍加變動(dòng)既可使分別顯示主被叫放的電話號(hào)碼和通話時(shí)間。
2 軟件設(shè)計(jì)?
(1)系統(tǒng)初始化程序?
對(duì)AT89C51設(shè)置中斷及內(nèi)部數(shù)據(jù)存儲(chǔ)器單元清零,8155和8255進(jìn)行端口功能設(shè)置。?
(2)主叫摘機(jī)檢測(cè)程序?
主叫方摘機(jī)后,顯示電路顯示主叫號(hào)碼,撥號(hào)音控制信號(hào)置高電平,交換網(wǎng)絡(luò)向主叫方送撥號(hào)音,等待主叫方撥打電話號(hào)碼。?
(3)撥號(hào)檢測(cè)與等待摘機(jī)程序?
檢測(cè)到撥號(hào)脈沖后,立刻切斷撥號(hào)音,AT89C51響應(yīng)中斷讀取電話號(hào)碼對(duì)應(yīng)的二進(jìn)制編碼。若被叫號(hào)碼對(duì)應(yīng)的話機(jī)不存在或被叫方處于狀態(tài),則忙音控制信號(hào)置高電平,交換網(wǎng)絡(luò)向主叫方送忙音,催其掛機(jī);若號(hào)碼檢測(cè)正確則鈴流控制信號(hào)置、回鈴音控制信號(hào)置高電平,交換網(wǎng)絡(luò)向被叫方送鈴流信號(hào),同時(shí)向主叫方送回鈴音。?
(4)話路接續(xù)程序?
檢測(cè)到被叫方摘機(jī)信號(hào)后,系統(tǒng)停止發(fā)送鈴流和回鈴音,AT89C51啟動(dòng)MT8816接通通話線路。?
(5)計(jì)時(shí)與通話檢測(cè)程序?
線路一旦接續(xù)成功,雙方即可進(jìn)行通話,AT89C51內(nèi)部時(shí)鐘計(jì)時(shí)開(kāi)始,通過(guò)8155芯片加以顯示。對(duì)用戶狀態(tài)進(jìn)行判斷,當(dāng)檢測(cè)到任一方掛機(jī)信號(hào)后,跳出計(jì)時(shí)程序交換網(wǎng)絡(luò)向未掛機(jī)用戶送催掛音(本系統(tǒng)中催掛音用忙音代替),雙方掛機(jī)后,AT89C51控制MT8816拆除通話線路,回初始化程序重新等待用戶摘機(jī)。
(6)顯示程序?
動(dòng)態(tài)顯示主、被叫方的電話號(hào)碼及通話時(shí)間。?
3 結(jié)語(yǔ)
本系統(tǒng)除了能模擬市話進(jìn)行正常的通信外,還附加了在通話的同時(shí)顯示通話時(shí)間和主被叫號(hào)碼的功能。只要對(duì)該系統(tǒng)進(jìn)行適當(dāng)?shù)臄U(kuò)展后,可用于樓層內(nèi)部間的電話通訊還可用作通信專業(yè)程控交換原理課程的實(shí)驗(yàn)設(shè)備。
參考文獻(xiàn)
[1]朱世華.程控?cái)?shù)字交換原理與應(yīng)用[M].西安: 西安交通大學(xué)出版社, 1993
[2]郝建國(guó),趙英杰.通用集成電路大全[M].北京: 人民郵電出版社, 1997