MCS-51系列單片機(jī)在SDH系統(tǒng)中的應(yīng)用
同步數(shù)字序列SDH(Synchronous Digital Hierarchy)是一種全新的傳輸網(wǎng)體制,自從90年代初出現(xiàn)以來(lái),SDH以其各方面的優(yōu)越性迅速成為通信網(wǎng)絡(luò)的骨干網(wǎng)絡(luò)。目前世界各國(guó)大多以SDH作為通信的骨干網(wǎng)絡(luò)。在我國(guó),干線網(wǎng)絡(luò)也基本采用了SDH網(wǎng)絡(luò)。
SDH系統(tǒng)與原有PDH(Plesinchronous Digital Hiearchy)系統(tǒng)相比,最突出的優(yōu)點(diǎn)就是具有強(qiáng)大的網(wǎng)絡(luò)管理能力。在SDH的幀結(jié)構(gòu)的各個(gè)層次中,都提供了豐富的開(kāi)銷字節(jié),以實(shí)現(xiàn)對(duì)不同層次信號(hào)的全面管理。
1. SDH系統(tǒng)介紹
清華大學(xué)電子工程系自主開(kāi)發(fā)了SDH大規(guī)模專用集成電路套片,它包括高階復(fù)用芯片MXH0155-2,實(shí)現(xiàn)從VC4信號(hào)到STM-1(Synchronous Transfer Module)信號(hào)的映射和解映射功能;低階映射芯片MXL021E1-3,實(shí)現(xiàn)21個(gè)2.048M的E1信號(hào)到VC4信號(hào)的映射和解映射?;谶@兩個(gè)芯片,可以實(shí)現(xiàn)一個(gè)基于雙向SDH環(huán)路的ADM(ADD/DROP Multiplexer)站點(diǎn),實(shí)現(xiàn)從STM-1信號(hào)中任意分插多個(gè)E1信號(hào)的功能。
ADM系統(tǒng)以兩片MXH0155-2和一片MXL021E1-3為核心芯片,包括光收發(fā)模塊,155M時(shí)鐘恢復(fù)和綜合電路,E1信號(hào)接口處理,微處理器系統(tǒng)。系統(tǒng)結(jié)構(gòu)模塊如圖1所示。
在圖1中,兩個(gè)方向的高階復(fù)用器分別由兩片MXH0155-2實(shí)現(xiàn),兩個(gè)方向的數(shù)字交叉連接和映射處理器由一片MXL021E1-3實(shí)現(xiàn),中間的接口連接和多路選擇由一片F(xiàn)PGA實(shí)現(xiàn)。
此ADM系統(tǒng)中,兩片MXH0155-2和一片MXL021E1-3都提供了微處理器接口實(shí)現(xiàn)對(duì)芯片的配置、管理和監(jiān)控,需要具有16位地址的8位微處理器。MXH0155-2工作幀頻為8KHz,微處理器系統(tǒng)需要以8KHz時(shí)鐘頻率對(duì)其進(jìn)行一系列管理工作,而MXL021E1-3的工作幀頻為2KHz,需要以2KHz的時(shí)鐘頻率進(jìn)行管理。MXL021E1-3還可以實(shí)現(xiàn)21個(gè)E1信號(hào)的分插功能,因此在2KHz的時(shí)鐘頻率內(nèi)需要處理兩個(gè)方向21路信號(hào)的管理和監(jiān)控。同時(shí),此管理系統(tǒng)通過(guò)串口實(shí)現(xiàn)與計(jì)算機(jī)的通信,可以通過(guò)計(jì)算機(jī)實(shí)現(xiàn)對(duì)此ADM系統(tǒng)的配置和管理。
2 MCS-51系列DS80C320介紹
單片微型計(jì)算機(jī)已經(jīng)被應(yīng)用到國(guó)民生產(chǎn)中的許多方面,例如工業(yè)控制、日用家電等等。近年來(lái),隨著單片機(jī)檔次的不斷提高,功能的不斷完善,其應(yīng)用也越來(lái)越廣泛,功能越來(lái)越強(qiáng)大,甚至可以實(shí)現(xiàn)對(duì)復(fù)雜系統(tǒng)的管理和控制。
按照以上要求,微處理器需要兩個(gè)定時(shí)中斷、一個(gè)RS232串口,同時(shí)由于需要進(jìn)行監(jiān)控的內(nèi)容較多,需要一個(gè)高速微處理器,我們選用了Dallas公司的DS80C320做為處理器來(lái)實(shí)現(xiàn)對(duì)此ADM系統(tǒng)的管理。
Dallas公司的80C320單片機(jī)與MCS-51的80C32系列單片機(jī)兼容,其突出特點(diǎn)是它的高速性能。外部振蕩器可以達(dá)到33MHz,一個(gè)指令周期僅由四個(gè)振蕩周期組成,因此其最高指令周期可以達(dá)到33/4=8.25Mbps。
3 微處理器系統(tǒng)的硬件實(shí)現(xiàn)
此微處理器的硬件系統(tǒng)非常簡(jiǎn)單,是單片機(jī)的最小系統(tǒng),以DS80C320為核心,加上外部程序存儲(chǔ)器(EPROM27512)、數(shù)據(jù)存儲(chǔ)器(雙口RAM)、地址鎖存器(74LS373)、3-8譯碼器(74LS138)和RS232電平轉(zhuǎn)換(MAX233)構(gòu)成。此微處理器系統(tǒng)作為ADM系統(tǒng)的一部分嵌入到系統(tǒng)中,實(shí)現(xiàn)的功能包括對(duì)三片大規(guī)模集成電路的管理,與計(jì)算機(jī)的通信和數(shù)據(jù)采集工作。
由于當(dāng)DS80C320工作到33MHz時(shí)鐘頻率時(shí),對(duì)外圍器件要求較高,例如EPROM要求達(dá)到55ns,地址鎖存等也需要采用高速F系列的74F373等。因此選用了24.576MHz的振蕩器作為外部振蕩器,此時(shí)可以采用常用外圍器件,同時(shí)可以實(shí)現(xiàn)8KHz和2KHz中斷的嚴(yán)格定時(shí),而且經(jīng)仿真和實(shí)驗(yàn)證明可以保證足夠的處理時(shí)間要求。
4 微處理器系統(tǒng)的軟件構(gòu)成
此系統(tǒng)的軟件構(gòu)成由主程序和三個(gè)中斷程序組成。主程序完成系統(tǒng)的配置工作。串口中斷完成計(jì)算機(jī)對(duì)系統(tǒng)工作模式的修改和系統(tǒng)監(jiān)控,兩個(gè)定時(shí)中斷分別以8KHz和2KHz的頻率對(duì)系統(tǒng)進(jìn)行監(jiān)控和數(shù)據(jù)采集。
2KHz定時(shí)中斷的指令較多,約占了2KHz頻率即500us到2/3的時(shí)間左右,為保證8KHz定時(shí)中斷嚴(yán)格的定時(shí)關(guān)系,8KHz定時(shí)中斷的優(yōu)先級(jí)為1,要高于2KHz定時(shí)中斷優(yōu)先級(jí),即在2KHz定時(shí)中斷處理程序中,可以嵌套進(jìn)行8KHz定時(shí)中斷處理。
串口中斷程序,即計(jì)算機(jī)對(duì)系統(tǒng)進(jìn)行配置和監(jiān)控時(shí),系統(tǒng)的定時(shí)中斷可以停止,因?yàn)樵谙到y(tǒng)正常工作時(shí),無(wú)需計(jì)算機(jī)進(jìn)行管理。此時(shí)一般是系統(tǒng)出了問(wèn)題,需要人工干預(yù),要求及時(shí)反應(yīng),所以串口中斷的優(yōu)先級(jí)也設(shè)置為1。由于單片機(jī)內(nèi)部只有兩個(gè)中斷優(yōu)先級(jí),此時(shí)8KHz中斷和串口優(yōu)先級(jí)相同,但是串口中斷可以得到及時(shí)反應(yīng)。因?yàn)楫?dāng)串口工作在19200波特率時(shí),串口發(fā)送或接收一個(gè)字節(jié)的時(shí)間也遠(yuǎn)大于8KHz的幀頻,同時(shí)串口中斷程序和計(jì)算機(jī)程序之間采用了握手控制,保證串口數(shù)據(jù)交換的正確性。
4.1 主程序
主程序的流程為:
(1)芯片的初始配置,通過(guò)查表寫(xiě)入約400個(gè)字節(jié)的數(shù)據(jù);
(2)配置DS80C320,設(shè)置計(jì)數(shù)器(串口波特率定時(shí)T1,定時(shí)中斷T0和T2都工作在重裝載模式,保證嚴(yán)格的定時(shí)關(guān)系),設(shè)置中斷優(yōu)先級(jí),開(kāi)啟計(jì)數(shù)和中斷;
(3)永久等待。
4.2 串口中斷處理程序
串口中斷處理程序的流程圖如圖2所示。完成功能如下:
(1)串口接收數(shù)據(jù),進(jìn)入中斷處理程序,保存現(xiàn)場(chǎng);
(2)根據(jù)接收數(shù)據(jù)判斷操作類型,若為讀寫(xiě)操作,進(jìn)入步驟(3),若接收到結(jié)束符,進(jìn)入步驟(4);
(3)進(jìn)行讀寫(xiě)操作;返回步驟(2);
(4)結(jié)束中斷處理程序,返回。
4.3 8KHz中斷處理程序(T0定時(shí)中斷)
(1)進(jìn)入中斷處理程序,保存現(xiàn)場(chǎng);
(2)查詢兩片MXH0155-2,根據(jù)接收方向的告警信號(hào)來(lái)控制發(fā)送方向的數(shù)據(jù),采集接收方向的告警信號(hào)寫(xiě)入雙口RAM;
(3)結(jié)束中斷處理程序,返回。
4.4 2KHz中斷處理程序(T2時(shí)鐘中斷)
(1)進(jìn)入中斷處理程序,保存現(xiàn)場(chǎng),內(nèi)部2000計(jì)數(shù)器加1;
(2)查詢低階映射芯片MXL021E1-3,分別查詢21路接收方向的告警信號(hào),根據(jù)不同的告警信號(hào)對(duì)發(fā)送方向進(jìn)行控制,采集21路的告警信號(hào)進(jìn)行編碼并寫(xiě)入雙口RAM;
(3)查詢2000計(jì)數(shù)器,當(dāng)達(dá)到2000時(shí),計(jì)數(shù)器清零,同時(shí)對(duì)三片集成電路內(nèi)部的誤碼秒計(jì)數(shù)器進(jìn)行處理,若計(jì)數(shù)值超出預(yù)期值,則給出信號(hào)劣化告警;
(4)結(jié)束中斷處理程序,返回。
通過(guò)對(duì)此微處理器系統(tǒng)的設(shè)計(jì)、仿真和實(shí)際驗(yàn)證,證明了一個(gè)復(fù)雜的SDH雙向環(huán)路的ADM站點(diǎn)可以通過(guò)簡(jiǎn)單的微處理器系統(tǒng)實(shí)現(xiàn)完全的管理和監(jiān)控,并為SDH大規(guī)模專用集成電路的推廣應(yīng)用奠定了基礎(chǔ)