MCS-51系列單片機在SDH系統(tǒng)中的應(yīng)用
4 微處理器系統(tǒng)的軟件構(gòu)成
此系統(tǒng)的軟件構(gòu)成由主程序和三個中斷程序組成。主程序完成系統(tǒng)的配置工作。串口中斷完成計算機對系統(tǒng)工作模式的修改和系統(tǒng)監(jiān)控,兩個定時中斷分別以8KHz和2KHz的頻率對系統(tǒng)進行監(jiān)控和數(shù)據(jù)采集。
2KHz定時中斷的指令較多,約占了2KHz頻率即500us到2/3的時間左右,為保證8KHz定時中斷嚴格的定時關(guān)系,8KHz定時中斷的優(yōu)先級為1,要高于2KHz定時中斷優(yōu)先級,即在2KHz定時中斷處理程序中,可以嵌套進行8KHz定時中斷處理。
串口中斷程序,即計算機對系統(tǒng)進行配置和監(jiān)控時,系統(tǒng)的定時中斷可以停止,因為在系統(tǒng)正常工作時,無需計算機進行管理。此時一般是系統(tǒng)出了問題,需要人工干預(yù),要求及時反應(yīng),所以串口中斷的優(yōu)先級也設(shè)置為1。由于單片機內(nèi)部只有兩個中斷優(yōu)先級,此時8KHz中斷和串口優(yōu)先級相同,但是串口中斷可以得到及時反應(yīng)。因為當串口工作在19200波特率時,串口發(fā)送或接收一個字節(jié)的時間也遠大于8KHz的幀頻,同時串口中斷程序和計算機程序之間采用了握手控制,保證串口數(shù)據(jù)交換的正確性。
4.1 主程序
主程序的流程為:
(1)芯片的初始配置,通過查表寫入約400個字節(jié)的數(shù)據(jù);
(2)配置DS80C320,設(shè)置計數(shù)器(串口波特率定時T1,定時中斷T0和T2都工作在重裝載模式,保證嚴格的定時關(guān)系),設(shè)置中斷優(yōu)先級,開啟計數(shù)和中斷;
(3)永久等待。
4.2 串口中斷處理程序
串口中斷處理程序的流程圖如圖2所示。完成功能如下:
(1)串口接收數(shù)據(jù),進入中斷處理程序,保存現(xiàn)場;
(2)根據(jù)接收數(shù)據(jù)判斷操作類型,若為讀寫操作,進入步驟(3),若接收到結(jié)束符,進入步驟(4);
(3)進行讀寫操作;返回步驟(2);
(4)結(jié)束中斷處理程序,返回。
4.3 8KHz中斷處理程序(T0定時中斷)
(1)進入中斷處理程序,保存現(xiàn)場;
(2)查詢兩片MXH0155-2,根據(jù)接收方向的告警信號來控制發(fā)送方向的數(shù)據(jù),采集接收方向的告警信號寫入雙口RAM;
(3)結(jié)束中斷處理程序,返回。
4.4 2KHz中斷處理程序(T2時鐘中斷)
(1)進入中斷處理程序,保存現(xiàn)場,內(nèi)部2000計數(shù)器加1;
(2)查詢低階映射芯片MXL021E1-3,分別查詢21路接收方向的告警信號,根據(jù)不同的告警信號對發(fā)送方向進行控制,采集21路的告警信號進行編碼并寫入雙口RAM;
(3)查詢2000計數(shù)器,當達到2000時,計數(shù)器清零,同時對三片集成電路內(nèi)部的誤碼秒計數(shù)器進行處理,若計數(shù)值超出預(yù)期值,則給出信號劣化告警;
(4)結(jié)束中斷處理程序,返回。
通過對此微處理器系統(tǒng)的設(shè)計、仿真和實際驗證,證明了一個復(fù)雜的SDH雙向環(huán)路的ADM站點可以通過簡單的微處理器系統(tǒng)實現(xiàn)完全的管理和監(jiān)控,并為SDH大規(guī)模專用集成電路的推廣應(yīng)用奠定了基礎(chǔ)
評論