(92236部隊 湛江 524002)
艦船裝備的某型交換機(jī)是采用脈沖幅度調(diào)制(PAM)的全電子式自動電話交換機(jī),整機(jī)笨重且體積較大,抗干擾性能差,功能少,系統(tǒng)設(shè)計復(fù)雜,整機(jī)故障率高,可維護(hù)性差,容易受到其他電子設(shè)備的干擾,功能單一,但它是艦船內(nèi)部通信系統(tǒng)的核心設(shè)備,其可靠性和穩(wěn)定性直接影響著艦船的內(nèi)部指揮通信的質(zhì)量,為克服該型交換機(jī)的缺陷,我們設(shè)計新的交換系統(tǒng)來代替它。設(shè)計的數(shù)字程控交換機(jī)選用CAN 總線作為處理器之間的通信總線,為一種小容量交換機(jī),最大容量為128門,適用于中、小型艦艇,與自動電話機(jī)配合不僅能提供原有模擬交換機(jī)無法達(dá)到的良好語音通信頻響、良好的抗串音性能,而且在其他大功率電子設(shè)備、強(qiáng)電磁干擾設(shè)備、大功率廣播設(shè)備、動力電源設(shè)備切換等聯(lián)動時,系統(tǒng)控制及語音通信性能幾乎不受干擾;實踐表明,研制的系統(tǒng)在系統(tǒng)抗干擾性能、語音通信質(zhì)量、可靠性等重要參數(shù)、指標(biāo)上大大優(yōu)于原有交換機(jī)。
我們設(shè)計的數(shù)字程控交換機(jī)采用了分布式多處理機(jī)控制方式,每個單元模塊都有一個高性能的處理機(jī),這樣就使各處理機(jī)的任務(wù)比較單一,負(fù)荷量小,因而處理機(jī)的穩(wěn)定性也大幅度提高。模塊化的硬件結(jié)構(gòu),靈活的整機(jī)配置,無阻塞的時分交換網(wǎng)絡(luò),以及高度模塊化的軟件結(jié)構(gòu),這些都使系統(tǒng)具有較高的可靠性及可維護(hù)性。系統(tǒng)中各用戶單元和中繼單元的處理機(jī)完成接口電路的實時處理,中央控制單元模塊處理機(jī)(MPU)實現(xiàn)單元內(nèi)部及與用戶、中繼單元之間的協(xié)調(diào)和調(diào)度管理處理;各用戶、中繼單元與中央控制單元之間采用CAN 總線連接,完成處理機(jī)之間的通信。系統(tǒng)組成總體框圖如圖1所示。
系統(tǒng)中的中央控制單元和每一個用戶單元及中繼單元都是CAN 網(wǎng)絡(luò)的一個節(jié)點,每個節(jié)點都由單片機(jī)、CAN 控制器、CAN 收發(fā)器來完成其通信部分的功能。如圖2所示。單片機(jī)主要用于系統(tǒng)的計算及信息處理等功能;CAN控制器主要用于系統(tǒng)的通信;CAN 收發(fā)器主要用于增強(qiáng)系統(tǒng)的驅(qū)動能力。系統(tǒng)中各單元之間通信的工作原理為:用戶單元和中繼單元的控制器對本單元各用戶回路和中繼環(huán)路的狀態(tài)進(jìn)行掃描檢測,將所得數(shù)據(jù)按照CAN 總線協(xié)議標(biāo)準(zhǔn)處理后發(fā)送到中央控制單元;中央控制單元接受到其他單元上傳的數(shù)據(jù),根據(jù)系統(tǒng)軟件預(yù)先設(shè)定的控制程序向各單元發(fā)送控制命令,由各單元單片機(jī)對用戶回路或中繼環(huán)路進(jìn)行實時控制[1~9]。
圖2 系統(tǒng)通信組成原理圖
CPU 板是整機(jī)的控制中心。作為整機(jī)的中央處理單元,主要完成系統(tǒng)的主處理控制功能、話音的無阻塞數(shù)字交換、處理機(jī)通信接口等功能;它的功能模塊主要有:處理器模塊、交換網(wǎng)絡(luò)、CAN 總線接口、會議和信號音模塊、PCM基準(zhǔn)時鐘模塊、4路中繼接口、4路雙音頻收號器和廣播接口模塊??刂艭PU 為高性能的DS80C320處理機(jī)[2~4],系統(tǒng)程序存放在EPROM 中,系統(tǒng)參數(shù)存放在RAM 中。CAN總線控制器采用PHILIPS公司新生產(chǎn)的既支持CAN2.0B通信協(xié)議又支持CAN2.0A通信協(xié)議的SJA1000。它與僅支持CAN2.0A通信協(xié)議的CAN 控制器PCA82C200在硬、軟件上完全兼容。CAN 總線收發(fā)器采用PCA82C250,它提供對總線的差動發(fā)送和接收能力。
用戶接口板功能相對比較簡單,從電路的功能上可以分為由89C52單片機(jī)構(gòu)成的處理器部分、CAN 總線接口部分、用戶電路部分以及PCM 定時電路部分。用戶單元完成數(shù)字交換機(jī)用戶接口電路的“饋電”、“過壓保護(hù)”、“振鈴控制”、“狀態(tài)檢測”、“編譯碼”、“二/四線變換”及“測試控制”等七種功能。用戶電路設(shè)計采用Mitel公司MH89625C高集成度專用用戶芯片[5],結(jié)合其它一些分離元件構(gòu)成用戶接口。中繼單元完成2-4線轉(zhuǎn)換,環(huán)路狀態(tài)檢測、雙音多頻接收與發(fā)送,系統(tǒng)自動測試鏈路等功能。這兩種單元中的微處理器采用ATMEL公司生產(chǎn)的AT89C52單片機(jī)[6],其片內(nèi)的8K EEPROM 用來存放本單元的控制程序。CAN 總線控制器和CAN 總線收發(fā)器仍選用SJA1000 和PCA82C250,控制CAN 總線的數(shù)據(jù)交換。
系統(tǒng)工作時,用戶單元和中繼單元的控制程序?qū)Ρ締卧械挠脩艉椭欣^的狀態(tài)進(jìn)行不斷地掃描[7],并由處理器89C52控制CAN 總線控制器把所得數(shù)據(jù)發(fā)送至CAN 總線,由中央控制單元接收。中央控制單元CAN 總線控制器從CAN 總線接收到所有用戶單元及中繼單元的狀態(tài)信息,以中斷方式通知CPU—80C320。CPU 收到中斷信號后,將數(shù)據(jù)存入RAM,系統(tǒng)程序?qū)?shù)據(jù)進(jìn)行分析后就可以知道用戶回路和中繼環(huán)路的狀態(tài)改變,從而對各用戶和中繼進(jìn)行相應(yīng)的處理,并將相應(yīng)的控制命令通過CAN 總線控制器發(fā)送到CAN 總線上。用戶單元及中繼單元接收到中央控制單元發(fā)給本節(jié)點的控制命令后,CAN 總線控制器也以中斷方式通知處理器89C52,處理器根據(jù)控制命令對用戶或中繼做出相應(yīng)的控制[8]。
系統(tǒng)的電源全部應(yīng)用模塊化開關(guān)電源設(shè)計,開關(guān)電源具有重量輕、體積小、效率高、穩(wěn)壓精度高等優(yōu)點。交換機(jī)電源由一次電源和二次電源兩部分組成。一次電源將交流220V 變換成直流24V,該部分直接采購模塊化的開關(guān)電源。二次電源將直流24V 轉(zhuǎn)換為+5V、-5V、-48V 以及交流75V、25Hz。其次為了適應(yīng)艦船設(shè)備通常采用交流220V 和直流24V 雙電源供電的要求,二次電源還完成交流電源與直流電源之間的不間斷自動轉(zhuǎn)換的功能。
遵照軟件工程的思想來設(shè)計軟件系統(tǒng)。采用結(jié)構(gòu)化或模塊化設(shè)計方法,對系統(tǒng)的需求分析、概念設(shè)計、模塊設(shè)計、代碼生成、模塊的測試和驗收進(jìn)行合理的劃分和組織,以提高軟件的生產(chǎn)效率和質(zhì)量。同時考慮到需求的不確定性,對系統(tǒng)的開發(fā)平臺和開發(fā)工具、系統(tǒng)數(shù)據(jù)和代碼的封裝、代碼的可重用性、系統(tǒng)模塊互連的接口等具體實現(xiàn)細(xì)節(jié)進(jìn)行了一系列的規(guī)定,使得整個軟件系統(tǒng)結(jié)構(gòu)靈活,層次清晰,具有很好的可擴(kuò)展性和可維護(hù)性。
程控交換機(jī)程序的任務(wù)簡單來講就是完成用戶的呼叫處理。一次呼叫的過程一般總是處在某種相對穩(wěn)定的狀態(tài)中。只有在發(fā)生了某種事件從而產(chǎn)生了某種輸入信號以后才促使它必須執(zhí)行一定的任務(wù)和處理,將狀態(tài)轉(zhuǎn)移到另一個相對穩(wěn)定的狀態(tài)中。在穩(wěn)定狀態(tài)之間的轉(zhuǎn)移首先是由某種時間觸發(fā)啟動的。在程控交換機(jī)來說,事件一般主要有下列幾種:
1)由用戶發(fā)出的信號,諸如摘、掛機(jī),撥號號碼信號以及拍叉簧等;
2)由中繼線上輸入的各種信號;
3)監(jiān)視定時器的時限到達(dá);
4)處理機(jī)之間或程序之間的通信信號到達(dá)或數(shù)據(jù)傳遞也是產(chǎn)生狀態(tài)的事件之一。
上述這些類型的事件,都是軟件的某種輸入信息。系統(tǒng)軟件首先進(jìn)行信息識別,登記受理等初步接受性質(zhì)的工作,隨后進(jìn)行分析處理,針對輸入信息和有關(guān)數(shù)據(jù),確定可能會轉(zhuǎn)到何種狀態(tài)以及下一步可能涉及哪些硬件設(shè)備。然后是任務(wù)執(zhí)行前處理,即準(zhǔn)備必要的硬件資源,擬定下一步的狀態(tài),編制各項動作命令。在任務(wù)執(zhí)行前處理后,將有關(guān)的動作或?qū)懭朊畎l(fā)往有關(guān)設(shè)備,或者由某種周期程序執(zhí)行輸出。最后在任務(wù)執(zhí)行完后將硬件資源釋放,啟動定時器進(jìn)行新的監(jiān)視計時。
完成上述控制功能的程序由多種執(zhí)行一定功能的子程序組成,以適應(yīng)多種不同的處理要求。這些處理要求有的時間性要求嚴(yán)格,有的實時要求不嚴(yán)格,各種任務(wù)存在的這種輕重緩急的屬性,要求交換機(jī)事先對各種程序規(guī)定其優(yōu)先級,然后在運行時,嚴(yán)格按優(yōu)先級安排任務(wù)的執(zhí)行順序。為了保證在運行過程中,高優(yōu)先級任務(wù)有可能優(yōu)先執(zhí)行,這時系統(tǒng)采用多級中斷方式[12]。
艦用數(shù)字程控交換機(jī)的軟件系統(tǒng)具有分層的模塊化結(jié)構(gòu),軟件系統(tǒng)主要由端口處理子系統(tǒng)、呼叫處理子系統(tǒng)以及外圍終端子系統(tǒng)組成。各軟件子系統(tǒng)分布在多處理機(jī)中,以系統(tǒng)處理器為中心有機(jī)地構(gòu)成一體,均采用分層、模塊化結(jié)構(gòu)進(jìn)行設(shè)計。軟件系統(tǒng)中的操作系統(tǒng)采用MCS-51匯編語言編程,各子系統(tǒng)采用PL/M-51高級語言編程。
1)端口處理子系統(tǒng):主要完成用戶電路、中繼電路、DTMF接收器、測試電路等接口電路的掃描、信號檢測、信號接收和發(fā)送以及電路驅(qū)動等功能,同時將合法事件報告呼叫處理子系統(tǒng),接收器處理來自呼叫處理子系統(tǒng)的命令。
2)呼叫處理子系統(tǒng):該子系統(tǒng)按照有限信息機(jī)(FSM Finite State Machine)原理設(shè)計實現(xiàn),根據(jù)端口處理子系統(tǒng)送來的端口級事件(用戶線、中繼、DTMF)進(jìn)行號碼預(yù)譯和分析、接續(xù)路由選擇、公共資源分配、向端口處理子系統(tǒng)發(fā)送控制命令、以及向外圍終端傳送呼叫信息等。每個子系統(tǒng)的模塊分別完成局內(nèi)呼叫、出局及特服呼叫、新業(yè)務(wù)功能等。增加新功能時,可增加新的模塊,而不影響其他模塊。各個模塊在一個實時、多任務(wù)操作系統(tǒng)的控制、調(diào)度下完成呼叫處理功能。該子系統(tǒng)具有與端口處理子系統(tǒng)和外圍終端子系統(tǒng)的接口。
3)外圍終端子系統(tǒng):包含話務(wù)臺、數(shù)據(jù)維護(hù)、系統(tǒng)測試與監(jiān)視等若干模塊。用戶數(shù)據(jù)的各種修改可在不影響呼叫接續(xù)的情況下,通過人機(jī)界面輸入信息,經(jīng)過編程話機(jī)傳遞給交換機(jī)。
詳細(xì)闡述了基于CAN 總線的船用數(shù)字程控交換機(jī)系統(tǒng)的軟硬件設(shè)計:程控交換機(jī)的整體構(gòu)成、硬件電路設(shè)計、系統(tǒng)軟件設(shè)計。該系統(tǒng)將CAN 總線應(yīng)用于船用數(shù)字式程控交換機(jī),開辟了CAN 總線應(yīng)用的新領(lǐng)域。該系統(tǒng)已形成產(chǎn)品,經(jīng)過一系列的調(diào)試和改善后,交換機(jī)運行穩(wěn)定,各項技術(shù)指標(biāo)均達(dá)到預(yù)定目標(biāo)。因此,本文所提出的程控交換機(jī)設(shè)計方案能很好地滿足艦船的使用要求。
[1]鄔寬明.CAN 總線原理和應(yīng)用系統(tǒng)設(shè)計[M].北京航空航天大學(xué)出版社,1996:6-10.
[2]姚應(yīng)俊.數(shù)字程控電話交換機(jī)原理與使用[M].人民郵電出版社,1994:13-19.
[3]胡漢才.單片機(jī)原理及其接口技術(shù)[M].清華大學(xué)出版社,1996:12-15.
[4]陳力鈞,劉英.單片機(jī)高級程序設(shè)計語言PL/M-51與PL/M-96[M].西安電子科技大學(xué)出版社,1994:54-60.
[5]MITEL Semiconductor Microelectronics Digital/analog Communications Handbook 1993:3-5.
[6]MITEL Semiconductor Analog/Digital TELECOM Components,1997:4-7.
[7]MITEL Semiconductor Digital SWITCHING&NETWOKING Components,1997:2-5.
[8]劉艷強(qiáng),馬秋霞,王健.CAN 總線通訊的電磁兼容性能分析與設(shè)計[J].電子技術(shù)應(yīng)用,2006,8:77-79.
[9]姜海鵬,周玉杰.高性能CAN 適配器的設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,2006,10:72-74.
[10]吳鵬,吳軍民,黃在朝.一種用于工業(yè)以太網(wǎng)交換機(jī)的GOOSE報文優(yōu)先轉(zhuǎn)發(fā)方法[J].計算機(jī)與數(shù)字工程,2012(10).
[11]李清平.路由器和三層交換機(jī)聯(lián)合實現(xiàn)擴(kuò)展ACL[J].計算機(jī)與數(shù)字工程,2010(5).
[12]楊捷,姚曉東,鄭海珍.CAN 總線中非周期信息的隨機(jī)動態(tài)優(yōu)先級調(diào)度[J].電子技術(shù)應(yīng)用,2007,2:18-20.