當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]本文介紹單片機(jī)在程控交換機(jī)中的應(yīng)用,使用五個ATMEL公司的AT89C52和AT89C51作為主控制器和從控制器,多機(jī)通訊,硬件結(jié)構(gòu)清晰,模塊化程序結(jié)構(gòu)。

摘要:本文介紹單片機(jī)在程控交換機(jī)中的應(yīng)用,使用五個ATMEL公司的AT89C52和AT89C51作為主控制器和從控制器,多機(jī)通訊,硬件結(jié)構(gòu)清晰,模塊化程序結(jié)構(gòu)。
關(guān)鍵詞:AT系列單片機(jī)應(yīng)用,多機(jī)通信,程控交換機(jī)

0 引言

國內(nèi)單片機(jī)多機(jī)通信方向技術(shù)開發(fā)應(yīng)用已有相當(dāng)長時間,在智能化儀器、工業(yè)自動控制、家用電器機(jī)電一體化等方面的應(yīng)用成果尤為顯著。本文介紹AT系列單片機(jī)多機(jī)通信在程控交換機(jī)中應(yīng)用。

多機(jī)程控交換機(jī)將1至2條電話外線擴(kuò)展成4繩路、12個分機(jī)容量,可以多部分機(jī)同時通話而互不干擾(可以內(nèi)外線混用);分機(jī)可以為電話機(jī)、傳真機(jī)、答錄機(jī)和電腦等任何電訊產(chǎn)品。

 

1 硬件結(jié)構(gòu)簡介

通信串行口

本程控交換機(jī)應(yīng)用AT系列單片機(jī),CPU使用一個AT89C52和四個AT89C51,進(jìn)行多機(jī)通信,如圖1所示。

 

 


圖1  多機(jī)通信程控交換機(jī)結(jié)構(gòu)框圖

 

其中一個CPU(AT89C52)作為上位機(jī),實(shí)現(xiàn)分機(jī)摘機(jī)/掛機(jī)查詢、分機(jī)振鈴等功能。四個CPU(AT89C51)作為下位機(jī),各控制一根繩路,P10、P11口作為CPU地址,CPU進(jìn)行查詢外線來電、分機(jī)掛線(內(nèi)線和外線)、分機(jī)撤線、分機(jī)撥號處理等工作,提供內(nèi)線撥號音、回音鈴、忙音、證實(shí)音等信號音。0_CPU和1_CPU各有一個繼電器J控制開關(guān),用于接通或切斷電話外線與繩路的連接。

硬件線路保證每CPU各施其職,互不串?dāng)_。某分機(jī)一旦掛線后,該分機(jī)的信號音、撥號等只受該繩路的CPU控制,而且分機(jī)摘機(jī)、掛線后撥號才有效;撤線后,該分機(jī)不再受繩路的CPU控制。

 

2多機(jī)通信協(xié)議

多機(jī)通信協(xié)議中定義上位機(jī)為主動,下位機(jī)為被動。

2.1上——下位機(jī)聯(lián)絡(luò)握手

上位機(jī)向下位機(jī)廣播地址信息;下位機(jī)收到地址信息后判斷是否是本機(jī)地址,若不是,不應(yīng)答;若是,向上位機(jī)發(fā)應(yīng)答信號,同時作好接收數(shù)據(jù)準(zhǔn)備。上位機(jī)收到應(yīng)答信號后,判斷應(yīng)答信號是否正確。若不正確,重發(fā)地址信號;若正確,發(fā)送數(shù)據(jù)(命令代碼)。已握手的下位機(jī)接收數(shù)據(jù)(命令代碼)后,執(zhí)行相應(yīng)功能或?qū)嵤┓?wù)。地址信息與命令代碼設(shè)置不重碼,以便下位機(jī)能判別出。

 

2.2上位機(jī)向下位機(jī)發(fā)送命令類

是否接外線(僅為0_CPU和1_CPU)、有否請求服務(wù)、指定分機(jī)掛某一根內(nèi)/外線、指定分機(jī)撤線、釋放外線繼電器、編程密碼、長途等級(內(nèi)部、市內(nèi)、國內(nèi)和國際)、長途解鎖、要求繩路發(fā)內(nèi)線撥號音、內(nèi)線回音鈴、內(nèi)線忙音鈴或內(nèi)線證實(shí)音等。

 

2.3下位機(jī)向上位機(jī)請求服務(wù)

下位機(jī)只有在上位機(jī) “有否請求服務(wù)”時,才可向上位機(jī)發(fā)送信息。發(fā)送信息有:本繩路有外電呼叫、撥打內(nèi)部分機(jī)、三方通話、代接外線、設(shè)置轉(zhuǎn)移功能(無條件轉(zhuǎn)移、遇忙轉(zhuǎn)移、無應(yīng)答轉(zhuǎn)移、撤消轉(zhuǎn)移)、設(shè)置外線來電振鈴方式(指定若干分機(jī)振鈴、全部分機(jī)振鈴、三機(jī)四組輪流振動鈴、外線來電時指定分機(jī)振鈴)、設(shè)置長途密碼長途等級長途解碼、強(qiáng)插監(jiān)聽等。

 

3多機(jī)程控交換機(jī)軟件設(shè)計方法

程序設(shè)計思路是根據(jù)多機(jī)程控交換機(jī)工作過程而制定的,采用上下位機(jī)包干控制,充分利用CPU資源,實(shí)現(xiàn)程控交換機(jī)功能。

3.1上位機(jī)軟件設(shè)計思路

根據(jù)多機(jī)程控交換機(jī)功能,上位機(jī)程序分成初始化、摘機(jī)處理、掛機(jī)處理、發(fā)送命令、下位機(jī)請求服務(wù)處理、振鈴處理和定時器處理(包括看門狗)七個模塊,程序模塊結(jié)構(gòu)如圖2所示。

初始化模塊主要是定義常數(shù)變量、變量單元、位標(biāo)志、緩沖區(qū)、中斷設(shè)置、定時器設(shè)置/啟動、電話分機(jī)工作初始狀態(tài)等。

摘機(jī)處理模塊主要判別是外線來電摘機(jī)、內(nèi)線來電摘機(jī)還是要撥打外線或內(nèi)線電話。

掛機(jī)處理模塊比較復(fù)雜,既有內(nèi)外線通話結(jié)束掛機(jī),又有內(nèi)外線通話中止掛機(jī),還有三方通話主叫機(jī)掛機(jī)和從叫機(jī)掛機(jī),其它有中止撥打外線/內(nèi)線掛機(jī)、分機(jī)功能設(shè)置完畢掛機(jī)等。

 

發(fā)送命令模塊主要是根據(jù)電話分機(jī)發(fā)生摘/掛機(jī)時,向下位機(jī)發(fā)送掛線/撤線命令、內(nèi)線撥號音等命令,發(fā)送詢問下位機(jī)有否請求服務(wù)等命令。

下位機(jī)請求服務(wù)處理模塊主要根據(jù)下位機(jī)CPU請求,完成外線來電、撥打內(nèi)線分機(jī)、分機(jī)功能設(shè)置等工作。

振鈴處理模塊主要處理外線來電時,根據(jù)振鈴模式進(jìn)行分機(jī)振鈴、輪流振鈴等;內(nèi)線呼叫分機(jī)時,根據(jù)分機(jī)轉(zhuǎn)移功能,作相應(yīng)的振鈴處理;被呼叫分機(jī)摘機(jī)后停止振鈴等功能。

定時器處理模塊配合振鈴處理模塊產(chǎn)生各種振鈴計時以及看門狗定時常數(shù)刷新等。

3.2下位機(jī)軟件設(shè)計思路

為便于編輯和管理,4個下位機(jī)程序使用同一版本,程序運(yùn)行時根據(jù)地址作相應(yīng)的處理。

根據(jù)多機(jī)程控交換機(jī)功能,下位機(jī)程序分成初始化、連接外線查詢、發(fā)送請求服務(wù)、外線來電中斷請求、分機(jī)撥號中斷請求和定時器中斷(包括看門狗)六個模塊,程序模塊結(jié)構(gòu)如圖3所示。

初始化模塊主要是定義變量單元、位標(biāo)志、緩沖區(qū)、中斷設(shè)置、定時器設(shè)置/啟動等。

連接外線查詢模塊在開機(jī)復(fù)位后查詢本CPU是否接外線(2_CPU和3_CPU跳過),然后置標(biāo)志,上位機(jī)通過問詢下位機(jī)知道程控交換機(jī)接幾根外線。

命令處理模塊主要完成上位機(jī)下達(dá)的命令,命令有指定分機(jī)掛外線/內(nèi)線、對掛內(nèi)線分機(jī)發(fā)送或停止內(nèi)線信號音(內(nèi)線撥號音、內(nèi)線回音鈴、內(nèi)線忙音鈴或內(nèi)線證實(shí)音等)、指定分機(jī)撤外線/內(nèi)線等等。

發(fā)送請求服務(wù)模塊主要向上位機(jī)發(fā)送外線來電處理、分機(jī)撥打內(nèi)線電話、分機(jī)設(shè)置功能等請求服務(wù)。

外線來電中斷請求模塊在外線來電時(0_CPU和1_CPU),向CPU請求中斷。CPU響應(yīng)中斷后,首先判斷是否干擾信號,確認(rèn)為外線來后,豎立外線來電標(biāo)。當(dāng)上位機(jī)查詢下位機(jī)有否請求服務(wù)時,向上位機(jī)發(fā)送外線來電服務(wù)請求。為防外線來電中止,下位機(jī)CPU發(fā)送請求后即清除外線來電標(biāo)。上位機(jī)在送出分機(jī)振鈴后一秒鐘內(nèi),如分機(jī)未摘機(jī),而下位機(jī)又沒發(fā)來新的外線來電請求服務(wù),立馬中止振鈴。

分機(jī)撥號中斷請求模塊在分機(jī)撥號后,向CPU請求中斷。CPU響應(yīng)中斷后,根據(jù)所撥號碼,產(chǎn)生對應(yīng)請求服務(wù)代碼。上位機(jī)收到請求服務(wù)后,對其進(jìn)行譯碼,作相應(yīng)處理。如分機(jī)是掛外線,除判別該分機(jī)長途等級外,對撥號不作任何處理。分機(jī)在掛線情況下,撥號才有中斷請求信號產(chǎn)生,這由硬件保證。

定時器處理模塊主要產(chǎn)生450方波信號,產(chǎn)生各種內(nèi)線鈴聲所需脈沖信號以及看門狗定時常數(shù)刷新等。

上下位機(jī)源程序限于篇幅,不作介紹。

 

4編程中特點(diǎn)

由于多機(jī)程控交換機(jī)上位機(jī)CPU要對四個下位機(jī)CPU,而分機(jī)摘/掛機(jī)狀態(tài)采用查詢方式,又要處理分機(jī)振鈴等,查詢過程中要采用抗干擾措施,防止CPU誤判、誤動作。所以編程中要考慮整體時間分配,以免延誤用戶通話。

上位機(jī)在查詢下位機(jī)有否服務(wù)請求時,采用輪流查詢法。在發(fā)送信息前又要與下位機(jī)握手,所以查詢時間較長。當(dāng)下位機(jī)有服務(wù)請求時,上位機(jī)馬上中止查詢下一CPU,為當(dāng)前下位機(jī)服務(wù)。

為縮短上下位機(jī)通信時間,下發(fā)代碼采用單字節(jié),按位定義。如“D7”位表示掛線或撤線,“D6”位表示掛內(nèi)線或外線,“D5、D4”位表示發(fā)內(nèi)線撥號音、內(nèi)線回音鈴、內(nèi)線忙音或內(nèi)線證實(shí)音,“D3”~“D0”表示分機(jī)號。

上發(fā)代碼采用多字節(jié),長短不同,這是由于多機(jī)程控交換機(jī)功能豐富多采,下位機(jī)在上發(fā)代碼最后加一個結(jié)束符。

多機(jī)程控交換機(jī)功能較多,分機(jī)撥號中斷請求模塊要分成外線撥號、內(nèi)線撥號(包括代接、轉(zhuǎn)接和三方通話)和功能設(shè)置三個小模塊。為提高CPU利用率,分機(jī)撥號中斷請求模塊采用流水線作業(yè)方式,按一次鍵,模塊執(zhí)行一次。所以要保護(hù)好現(xiàn)場,豎立相應(yīng)的標(biāo)志,保證分機(jī)撥號中斷請求模塊工作正常。當(dāng)某功能撥完后,CPU再將請求服務(wù)代碼送到發(fā)送緩沖區(qū)。

 

5結(jié)束語

多機(jī)程控交換機(jī)可連接二根外線,十二只內(nèi)部分機(jī),四繩路通話容量,具有豐富的實(shí)用功能,可不間斷連續(xù)工作。分機(jī)之間可多對電話(最多四對八機(jī))同時通話而彼此互不干擾。分機(jī)可直撥外線、強(qiáng)插外線、長途加鎖設(shè)置等。外線來電響鈴方式有二種,一為選擇某些分機(jī)振鈴,二為分機(jī)輪流振鈴,由1號分機(jī)進(jìn)行設(shè)置。分機(jī)可代撥、代接、征詢轉(zhuǎn)接和三方通話等。

本文作者的創(chuàng)新點(diǎn):上、下位機(jī)CPU串行通信發(fā)送采用查詢方式,接收采用中斷循環(huán)隊(duì)列緩沖區(qū)方式。多機(jī)程控交換機(jī)不使用擴(kuò)展外RAM,上位機(jī)采用AT89C52,其內(nèi)RAM為256字節(jié),足夠CPU工作所需,同時給硬件上分清上位機(jī)和下位機(jī)CPU芯片帶來好處,一舉二得。

多機(jī)程控交換機(jī)樣機(jī)已小批量投入某些公司、企業(yè)使用,用戶反映程控交換機(jī)基本功能工作正常,使用方便,由此說明多機(jī)程控交換機(jī)達(dá)到設(shè)計要求。

參考文獻(xiàn):

[1] 丁磊,基于多單片機(jī)集散控制的新型浴缸控制器設(shè)計,微計算機(jī)信息2006第7-2期

[2] 徐冠捷,基于單片機(jī)的小型程控交換機(jī),微計算機(jī)信息2006第2-2期

[3] 李  華,MCS-51系列單片機(jī)實(shí)用接口技術(shù),北京航空航天大學(xué)出版社

[4] 曹柏榮,單片機(jī)原理及其應(yīng)用技術(shù),中國民航出版社

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉