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