饒親苗201304135077程控交換實驗3_第1頁
饒親苗201304135077程控交換實驗3_第2頁
饒親苗201304135077程控交換實驗3_第3頁
饒親苗201304135077程控交換實驗3_第4頁
饒親苗201304135077程控交換實驗3_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、信息科學與工程學院 程控交換原理 上機實驗報告專業(yè)班級 電信1302班 姓 名 饒親苗 學 號 201304135077 實驗時間 2016年10月26日 指導教師 章喆 成 績 實驗名稱1.雙音多頻DTMF接收實驗2.空分交換網(wǎng)絡原理系統(tǒng)實驗實驗目的實驗一:1.了解電話號碼雙音多頻信號在程控交換系統(tǒng)中的發(fā)送和接收方法; 2.熟悉該電路的組成及工作過程;實驗二:1.掌握程控交換的基本原理與實現(xiàn)方法; 2.通過對MT8816芯片的實驗,熟悉空分交換網(wǎng)絡的工作過程。實驗儀器與材料實驗一:程控交換實驗箱一臺,電話機二臺,20MHz示波器一臺實驗二:程控交換實驗箱一臺,電話二-四臺,20MHz示波器一

2、臺實驗原理實驗一:1.在電話機中,有兩種撥號方式,即脈沖撥號和雙音多頻撥號。雙音多頻撥號方式中的雙音多頻是指用兩個特定的單音頻信號的組合來代表數(shù)字或功能,兩個單音頻的頻率不同,所代表的數(shù)字和功能也不同,在雙音多頻電話機中有16個按鍵,其中有10個數(shù)字鍵09,6個功能鍵*、#、A、B、C、D,按照組合的原理,它必須有8種不同的單音頻信號,由于采用的頻率有8種,故又稱之為多頻,又因以8種頻率中任意抽出2種進行組合,又稱其為8中取2的編碼方式。 2.DTMF 接收器包括 DTMF 分組濾波器和 DTMF 譯碼器。DTMF接收器先經(jīng)高、低頻組帶通濾波器進行fL/fH區(qū)分,然后過零檢測、比較,得到相應于

3、DTMF的兩路fL、fH信號輸出。該兩路信號經(jīng)譯碼、鎖存、緩沖,恢復成對應于16種DTMF信號音的4比特二進制(D1D4)。實驗二:1.實驗系統(tǒng)中的交換網(wǎng)絡由兩大部分組成,即話路部分和控制部分。話路部分包括交換網(wǎng)絡、用戶電路出中繼電路、入中繼電路、收號器、音信號發(fā)生器以及信號設備等;控制部分則是一臺電子計算機,它包括中央處理器,存儲器和輸入、輸出設備。實驗內容(包括實驗步驟、實驗原始記錄、實驗過程中編寫程序和實驗數(shù)據(jù)計算結果)一空分雙音多頻DTMF接收實驗步驟:1.用串口線將PC機的串口與實驗箱的串口(在實驗箱的右上方)連接起來;2打開PC機軟件“程控交換.exe”,默認的系統(tǒng)設置是啟動時自動

4、連接實驗箱;3將開關K1撥到空分交換模式,然后實驗箱上電,信息調試窗口中出現(xiàn)打印信息;4在“程控交換.exe”軟件中單擊“實驗模板”菜單中的“空分雙音多頻DTMF接收實驗”,在ADT IDE集成開發(fā)環(huán)境中打開該實驗模板的工程文件;5在ADT IDE的工程管理器中雙擊打開DTMF.c文件,按照注釋的提示在相應處填寫代碼;6代碼編輯完成后,在ADT IDE的工程管理器的工程名上單擊鼠標右鍵,在彈出的快捷菜單中選擇“build”或者點擊“build”菜單重的“Rebuild All”,來編譯鏈接生成.elf文件。若出現(xiàn)錯誤,則修改代碼,排除錯誤,然后重新用“build”編譯、連接,直至成功;7在“程

5、控交換.exe”軟件中單擊“下載程序”按鈕,實驗箱將自動重啟并下載剛才編譯生成的映像文件,然后運行;當信息提示窗口出現(xiàn)提示信息:“請拿起用戶1的話機開始撥號,觀察四個LED的變化。您所撥的號碼為:”,拿起用戶1的話機,撥出8位號碼,號碼將逐個顯示在信息提示窗口中。然后程序將提示:“請拿起用戶2的話機開始撥號,觀察四個LED的變化。您所撥的號碼為:”,此時若再撥用戶1的號碼將毫無反應。請拿起用戶2的話機,則所撥出的號碼將逐個顯示在信息提示窗口中。用戶3和用戶4也是一樣,如此循環(huán)往復。二空分交換通話實驗步驟:1用串口線將PC機的串口與實驗箱的串口(在實驗箱的右上方)連接起來;2打開PC機軟件“程控

6、交換.exe”,默認的系統(tǒng)設置是啟動時自動連接實驗箱;3將開關K1撥到空分交換模式,然后實驗箱上電,信息調試窗口中出現(xiàn)打印信息;4在“程控交換.exe”軟件中單擊“實驗模板”菜單中的“空分交換通話實驗”,在ADT IDE集成開發(fā)環(huán)境中打開該實驗模板的工程文件;5在ADT IDE的工程管理器中雙擊打開SDS.c文件,按照注釋的提示在相應處填寫代碼;6代碼編輯完成后,在ADT IDE的工程管理器的工程名上單擊鼠標右鍵,在彈出的快捷菜單中選擇“build”或者點擊“build”菜單重的“Rebuild All”,來編譯鏈接生成.elf文件。若出現(xiàn)錯誤,則修改代碼,排除錯誤,然后重新用“ build”

7、編譯、連接,直至成功;7在“程控交換.exe”軟件中單擊“下載程序”按鈕,實驗箱將自動重啟并下載剛才編譯生成的映像文件,然后運行;8 當信息提示窗口出現(xiàn)提示信息:“系統(tǒng)啟動完成.摘機后用戶1和用戶3可以相互通話,用戶2和用戶4可以相互通話”。拿起用戶1的話機,出現(xiàn)提示信息“用戶1已摘機”,再拿起用戶3的話機,則提示“用戶1和用戶3通話中”,“用戶3和用戶1通話中”。拿起用戶2的話機,出現(xiàn)提示信息“用戶2已摘機”,再拿起用戶4的話機,則提示“用戶2和用戶4通話中”,“用戶4和用戶2通話中”。1. 空分雙音多頻DTMF接收實驗主要程序:while(1)/接收通道1的DTMF信號并顯示所撥8位號碼S

8、electDtmfChannel(CHANNEL1);CKComPrintf("n請拿起用戶1的話機開始撥號,觀察四個LED的變化n");CKComPrintf("您所撥的號碼為:");while(Number<8); /等待撥號中斷8次,即用戶撥完8位號碼 Number = 0;memset(NumberBuf,15,0x0);/請按照通道1的范例完成第24通道DTMF信號接收的代碼編寫SelectDtmfChannel(CHANNEL2);CKComPrintf("n請拿起用戶2的話機開始撥號,觀察四個LED的變化n");C

9、KComPrintf("您所撥的號碼為:");while(Number<8); /等待撥號中斷8次,即用戶撥完8位號碼 Number = 0;memset(NumberBuf,15,0x0);SelectDtmfChannel(CHANNEL3);CKComPrintf("n請拿起用戶3的話機開始撥號,觀察四個LED的變化n");CKComPrintf("您所撥的號碼為:");while(Number<8); /等待撥號中斷8次,即用戶撥完8位號碼 Number = 0;memset(NumberBuf,15,0x0);S

10、electDtmfChannel(CHANNEL4);CKComPrintf("n請拿起用戶4的話機開始撥號,觀察四個LED的變化n");CKComPrintf("您所撥的號碼為:");while(Number<8); /等待撥號中斷8次,即用戶撥完8位號碼 Number = 0;memset(NumberBuf,15,0x0);void CKDialNum(void)/請在此處填寫代碼,讀DTMF_CS端口得到用戶所撥8位號碼并打印出?if(Number<8)NumberBufNumber=DTMFReadPort(DTMF_CS)&

11、;0xf;CKComPrintf("%01x",NumberBufNumber);Number+;void SelectDtmfChannel(byte channel)/請在此處填寫代碼,通過寫VOICECHAN_CS端口將channel通道的/雙音多頻信號連接到DTMF收號器MT8870,以檢測該用戶所撥號碼if(channel=CHANNEL1)WritePort(VOICECHAN_CS,0x1);else if(channel=CHANNEL2)WritePort(VOICECHAN_CS,0x2);else if(channel=CHANNEL3)WritePo

12、rt(VOICECHAN_CS,0x4);else if(channel=CHANNEL4)WritePort(VOICECHAN_CS,0x8);2.空分交換通話實驗主要程序:while(1) temp = CheckPickup();temp1 = temp &0x1;if(temp1 != 0) OSTimeDly(20); / 延時200 ms消抖temp = CheckPickup();temp1 = temp &0x1;if(temp1 != 0) /用戶1掛機Channel1Status=down;CKReportTE(TE_1, TE_HAND_DOWN); C

13、KComPrintf("用戶1已掛機n");if(Channel3Status=up)DisConnect(CHANNEL1-1+4,CHANNEL3-1+4);/主/被叫硬件斷開連接DisConnect(CHANNEL3-1+4,CHANNEL1-1+4);/主/被叫硬件斷開連接elseOSTimeDly(20); / 延時200 ms消抖temp = CheckPickup();temp1 = temp &0x1;if(temp1 = 0) /用戶1摘機Channel1Status=up;CKReportTE(TE_1, TE_HAND_UP); /* 打印調試

14、信息 */if(Channel3Status=up)PortaValue &= 0x55;WritePort(RINGRESOUND,PortaValue); PortbValue &= 0x55;WritePort(BUSYMUTE_CS,PortbValue);Connect(CHANNEL1-1+4,CHANNEL3-1+4);/主/被叫硬件連接Connect(CHANNEL3-1+4,CHANNEL1-1+4);/主/被叫硬件連接/* 打印調試信息 */CKComPrintf("用戶1和用戶3通話中n");elseCKComPrintf("

15、用戶1已摘機n");temp1 = temp &0x2;/請按照通道1的范例完成通道2的代碼(注意:2和4通話)if(temp1 != 0) OSTimeDly(20); / 延時200 ms消抖temp = CheckPickup();temp1 = temp &0x2;if(temp1 != 0) /用戶2掛機Channel2Status=down;CKReportTE(TE_2, TE_HAND_DOWN); CKComPrintf("用戶2已掛機n");if(Channel4Status=up)DisConnect(CHANNEL2-1+4

16、,CHANNEL4-1+4);/主/被叫硬件斷開連接DisConnect(CHANNEL4-1+4,CHANNEL2-1+4);/主/被叫硬件斷開連接elseOSTimeDly(20); / 延時200 ms消抖temp = CheckPickup();temp1 = temp &0x2;if(temp1 = 0) /用戶2摘機Channel2Status=up;CKReportTE(TE_2, TE_HAND_UP); /* 打印調試信息 */if(Channel4Status=up)PortaValue &= 0x55;WritePort(RINGRESOUND,Porta

17、Value); PortbValue &= 0x55;WritePort(BUSYMUTE_CS,PortbValue);Connect(CHANNEL2-1+4,CHANNEL4-1+4);/主/被叫硬件連接Connect(CHANNEL4-1+4,CHANNEL2-1+4);/主/被叫硬件連接/* 打印調試信息 */ CKComPrintf("用戶2和用戶4通話中n");elseCKComPrintf("用戶2已摘機n");temp1 = temp &0x4;/請按照通道1的范例完成通道3的代碼(注意:3和1通話)if(temp1 !

18、= 0) OSTimeDly(20); / 延時200 ms消抖temp = CheckPickup();temp1 = temp &0x4;if(temp1 != 0) /用戶3掛機Channel3Status=down;CKReportTE(TE_3, TE_HAND_DOWN); CKComPrintf("用戶3已掛機n");if(Channel1Status=up)DisConnect(CHANNEL3-1+4,CHANNEL1-1+4);/主/被叫硬件斷開連接DisConnect(CHANNEL1-1+4,CHANNEL3-1+4);/主/被叫硬件斷開連接

19、elseOSTimeDly(20); / 延時200 ms消抖temp = CheckPickup();temp1 = temp &0x4;if(temp1 = 0) /用戶3摘機Channel3Status=up;CKReportTE(TE_3, TE_HAND_UP); /* 打印調試信息 */if(Channel1Status=up)PortaValue &= 0x55;WritePort(RINGRESOUND,PortaValue); PortbValue &= 0x55;WritePort(BUSYMUTE_CS,PortbValue);Connect(CH

20、ANNEL3-1+4,CHANNEL1-1+4);/主/被叫硬件連接Connect(CHANNEL1-1+4,CHANNEL3-1+4);/主/被叫硬件連接/* 打印調試信息 */CKComPrintf("用戶3和用戶1通話中n");elseCKComPrintf("用戶3已摘機n");temp1 = temp &0x8;/請按照通道1的范例完成通道4的代碼(注意:4和2通話)if(temp1 != 0) OSTimeDly(20); / 延時200 ms消抖temp = CheckPickup();temp1 = temp &0x8;i

21、f(temp1 != 0) /用戶4掛機Channel4Status=down;CKReportTE(TE_4, TE_HAND_DOWN); CKComPrintf("用戶4已掛機n");if(Channel2Status=up)DisConnect(CHANNEL4-1+4,CHANNEL2-1+4);/主/被叫硬件斷開連接DisConnect(CHANNEL2-1+4,CHANNEL4-1+4);/主/被叫硬件斷開連接elseOSTimeDly(20); / 延時200 ms消抖temp = CheckPickup();temp1 = temp &0x8;if

22、(temp1 = 0) /用戶4摘機Channel4Status=up;CKReportTE(TE_4, TE_HAND_UP); /* 打印調試信息 */ if(Channel2Status=up)PortaValue &= 0x55;WritePort(RINGRESOUND,PortaValue); PortbValue &= 0x55;WritePort(BUSYMUTE_CS,PortbValue);Connect(CHANNEL4-1+4,CHANNEL2-1+4);/主/被叫硬件連接Connect(CHANNEL2-1+4,CHANNEL4-1+4);/主/被叫硬

23、件連接/* 打印調試信息 */CKComPrintf("用戶4和用戶2通話中n");elseCKComPrintf("用戶4已摘機n");void Connect(byte xchannel,byte ychannel)/空分連接/請在此處填寫實現(xiàn)主叫、被叫硬件連接的代碼WritePort(D8816CTL_CS,0x1);/STB=0,DATA=1WritePort(D8816ADDR_CS,(XCHANNELxchannel<<3)|ychannel);WritePort(D8816CTL_CS,0x3);/STB=1,DATA=1WritePort(D8816CTL_CS,0x3

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論