MCS-51系列单片机在SDH系统中的应用
2009-01-12
作者:沙燕萍 金德鹏 曾烈光
摘 要: 介绍了一种采用MCS-51系列兼容的Dallas半导体公司的高速DS80C320作为核心器件实现对复杂SDH系统的管理监控方案,以及系统的软硬件设计和实现。
关键词: 单片机 同步数字序列(SDH) 准同步数字序列(SDH) 同步传递模块(STM) 分插复用器(ADM)
同步数字序列SDH(Synchronous Digital Hierarchy) 是一种全新的传输网体制,自从90年代初出现以来,SDH以其各方面的优越性迅速成为通信网络的骨干网络。目前世界各国大多以SDH作为通信的骨干网络。在我国,干线网络也基本采用了SDH网络。
SDH系统与原有PDH(Plesiochronous Digital Hierarchy) 系统相比,最突出的优点就是具有强大的网络管理能力。在SDH的帧结构的各个层次中,都提供了丰富的开销字节,以实现对不同层次信号的全面管理。
1 SDH系统介绍
清华大学电子工程系自主开发了SDH大规模专用集成电路套片,它包括高阶复用芯片MXH0155-2,实现从VC4信号到STM-1(Synchronous Transfer Module)信号的映射和解映射功能;低阶映射芯片MXL021E1-3,实现21个2.048M的E1信号到VC4信号的映射和解映射。基于这两个芯片,可以实现一个基于双向SDH环路的ADM(ADD/DROP Multiplexer)站点,实现从STM-1信号中任意分插多个E1信号的功能。
ADM系统以两片MXH0155-2和一片MXL021E1-3为核心芯片,包括光收发模块,155M时钟恢复和综合电路,E1信号接口处理,微处理器系统。系统结构模块如图1所示。
在图1中,两个方向的高阶复用器分别由两片MXH0155-2实现,两个方向的数字交叉连接和映射处理器由一片MXL021E1-3实现,中间的接口连接和多路选择由一片FPGA实现。
此ADM系统中,两片MXH0155-2和一片MXL021E1-3都提供了微处理器接口实现对芯片的配置、管理和监控,需要具有16位地址的8位微处理器。MXH0155-2工作帧频为8kHz,微处理器系统需要以8kHz时钟频率对其进行一系列管理工作,而MXL021E1-3的工作帧频为2kHz,需要以2kHz的时钟频率进行管理。MXL021E1-3还可以实现21个E1信号的分插功能,因此在2kHz的时钟频率内需要处理两个方向21路信号的管理和监控。同时,此管理系统通过串口实现与计算机的通信,可以通过计算机实现对此ADM系统的配置和管理。
2 MCS-51系列DS80C320介绍
单片微型计算机已经被应用到国民生产中的许多方面,例如工业控制、日用家电等等。近年来,随着单片机档次的不断提高,功能的不断完善,其应用也越来越广泛,功能越来越强大,甚至可以实现对复杂系统的管理和控制。
按照以上要求,微处理器需要两个定时中断、一个RS232串口,同时由于需要进行监控的内容较多,需要一个高速微处理器,我们选用了Dallas公司的DS80C320做为处理器来实现对此ADM系统的管理。
Dallas公司的80C320单片机与MCS-51的80C32系列单片机兼容,其突出特点是它的高速性能。外部振荡器可以达到33MHz,一个指令周期仅由四个振荡周期组成,因此其最高指令周期可以达到33/4=8.25Mbps。
3 微处理器系统的硬件实现
此微处理器的硬件系统非常简单,是单片机的最小系统,以DS80C320为核心,加上外部程序存储器(EPROM27512)、数据存储器(双口RAM)、地址锁存器(74LS373)、3-8译码器(74LS138)和RS232电平转换(MAX233)构成。此微处理器系统作为ADM系统的一部分嵌入到系统中,实现的功能包括对三片大规模集成电路的管理,与计算机的通信和数据采集工作。
由于当DS80C320工作到33MHz时钟频率时,对外围器件要求较高,例如EPROM要求达到55ns,地址锁存等也需要采用高速F系列的74F373等。因此选用了24.576MHz的振荡器作为外部振荡器,此时可以采用常用外围器件,同时可以实现8kHz和2kHz中断的严格定时,而且经仿真和实验证明可以保证足够的处理时间要求。
4 微处理器系统的软件构成
此系统的软件构成由主程序和三个中断程序组成。主程序完成系统的配置工作。串口中断完成计算机对系统工作模式的修改和系统监控,两个定时中断分别以8kHz和2kHz的频率对系统进行监控和数据采集。
2kHz定时中断的指令较多,约占了2kHz频率即500μs到2/3的时间左右,为保证8kHz定时中断严格的定时关系,8kHz定时中断的优先级为1,要高于2kHz定时中断优先级,即在2kHz定时中断处理程序中,可以嵌套进行8kHz定时中断处理。
串口中断程序,即计算机对系统进行配置和监控时,系统的定时中断可以停止,因为在系统正常工作时,无需计算机进行管理。此时一般是系统出了问题,需要人工干预,要求及时反应,所以串口中断的优先级也设置为1。由于单片机内部只有两个中断优先级,此时8kHz中断和串口优先级相同,但是串口中断可以得到及时反应。因为当串口工作在19200波特率时,串口发送或接收一个字节的时间也远大于8kHz的帧频,同时串口中断程序和计算机程序之间采用了握手控制,保证串口数据交换的正确性。
4.1 主程序
主程序的流程为:
(1)芯片的初始配置,通过查表写入约400个字节的数据;
(2)配置DS80C320,设置计数器(串口波特率定时T1,定时中断T0和T2都工作在重装载模式,保证严格的定时关系),设置中断优先级,开启计数和中断;
(3)永久等待。
4.2 串口中断处理程序
串口中断处理程序的流程图如图2所示。完成功能如下:
(1)串口接收数据,进入中断处理程序,保存现场;
(2)根据接收数据判断操作类型,若为读写操作,进入步骤(3),若接收到结束符,进入步骤(4);
(3)进行读写操作;返回步骤(2);
(4)结束中断处理程序,返回。
4.3 8kHz中断处理程序(T0定时中断)
(1)进入中断处理程序,保存现场;
(2)查询两片MXHO155-2,根据接收方向的告警信号来控制发送方向的数据,采集接收方向的告警信号写入双口RAM;
(3)结束中断处理程序,返回。
4.4 2kHz中断处理程序(T2时钟中断)
(1)进入中断处理程序,保存现场,内部2000计数器加1;
(2)查询低阶映射芯片MXLO21E1-3,分别查询21路接收方向的告警信号,根据不同的告警信号对发送方向进行控制,采集21路的告警信号进行编码并写入双口RAM;
(3)查询2000计数器,当达到2000时,计数器清零,同时对三片集成电路内部的误码秒计数器进行处理,若计数值超出预期值,则给出信号劣化告警;
(4)结束中断处理程序,返回。
通过对此微处理器系统的设计、仿真和实际验证,证明了一个复杂的SDH双向环路的ADM站点可以通过简单的微处理器系统实现完全的管理和监控,并为SDH大规模专用集成电路的推广应用奠定了基础。
参考文献
1 苏伟斌. 8051系列单片机应用手册.北京:科学出版社、1997
2 DS80C320/DS80C323.Dallas Semiconductor.1997
3 SDH专用集成电路MXH0155-2说明书.北京:清华大学电子工程系、1999
4 SDH专用集成电路MXL021E1-3说明书.北京:清华大学电子工程系、1999