单片机微处理器AT89C51在时隙变换和控制中的应用
时间:07-22
来源:互联网
点击:
1 引言
近年来,数字通信无论在理论上和技术上都有突飞猛进的发展,各种宽带传输技术,综合业务数字网(ISDN)等全数字的通信方式必将逐步取代模拟通信方式。现在,全球通信数据信号无一例外地采用着PCM码,为了最大限度地利用信道,降低传输成本,常在传输前对基带PCM信号进行多路调制,以形成时分复用PCM信号。我国采用的是32路的PCM标准,此32路的时分复用信号称为PCM的一次群信号。0时隙用于传输系统的同步信息。第16时隙用于传输信令,其余30路时隙来传输语音或数据。时分程控交换和数据传输是数字通信的基础。
2 MT8980D时间交换器的原理
根据一次群信号的形成原理,一路基带PCM信号一旦占用一一次群的某个时隙,它随后所有的8位编码抽样都将位于该时隙。因此,对于64kB/s的基带PCM源而言,一次群系统等提供了32条独立的64kb/s信道。时间交换器的任务就是完成这些信道的相互交换,或者说,要实现信号由一个时隙至另一个时隙的迁移。目前已出现了一些中、小容量的VLSI数字交换专用芯片。图1是Mitel公司MT8980D单片数字时间交换器的功能框图。该交换器的输入和数输出均为8个32路CHPCH信号,每个称为一个ST总线(Serial
Telecom Bus)。串行PCM数据流以2.048Mb/s的速率(共32个64kB/s,8比特数值时隙)分8中由STI0~STI7输入,经串-并变换后,根据码流号和信道(时隙)号依次存入256×8比特数据存储器的相应单元内。控制寄存器通过控制接口接受来自微处理器的指令,并将此指令写到接续存储器。这样,数据存储器中各信道的数据即可按照接续存储器的内容(即接续命令)以某种顺序从中读出,再经复用、缓存、并-串变换后变为时隙交换后的八路2.048Mb/s串行码流,从而达到数字交换的目的。
接续存储器的容量为256×11位,对应于256个输出信道。每个接续存储器11位又分为高3位和低8位两部分,前者决定本输出时隙的状态,后者决定本输出时隙所对应的输出时隙,MT8980D可工作于两种模式。一种为交换模式,可实现任意输入信道至任意输出信道的交换;另一种是消息模式,它允许交换机的控制系统通过MT8980D的控制接口直接读任何语音存储单元或写任何接续存储单元。这种模式对于控制系统的收、发信念十分方便。
3 A89C51和MT8980D的接口
MT8980D和MCS51系列单片机不能直接连接,因为MT8980D有一个DTA数据应答信号输出。该输出信号为与微处理器接口时的数据证实信号,当读写MT8980时,若此端上拉为低电平,表示电路处理完数据。其时序关系如图2所示。从时序关系中可以看出,在DS选通信号的上升沿,控制信号必须有效,DTA应答后,在DS下降沿,微处理器读写数据有效。带有WAIT脚的CPU可与DTA相连接。但对于AT89C51,我们可以用I/O口直接控制MT8980,在读写MT8980时,需判断DTA是否为低有效。AT89C51与MT8980的连接图如图3所示。
4 AT89C51的控制程序
图3所示电路内部的全部功作均由微处理器通过控制接口控制,通过该接口电路可以读取数据存储器、控制寄存器和接续存储器的内容,并可向控制寄存器和接续存储器写入指令。存储器的功能定义请参考Mitel公司的数据手册。在开发中把MT8980D所有的功能浓缩为三个子程序。调用三个子程序可实现MT8980D的所有功能。其中:W-CONNECTION用于完成写MT8980高低位接续寄存器,入口参数:R5(存数据),R6(存信道地址)
W-CONNECTION:
MOV A,R6
ORL A,#20h ;P2.6=1R P2.6=0w
MOV P2,A ;P2.5=1时隙,P2.5=0控制
MOV P0,R5
SETB P1.4 ;置DS为高
LOOP1:MOV C,P1.5
JC LOOP1 ;DAT为非0时等待
CLR P1.4
SETB P2.7 ;CS=1
RET
;W-CONTROL用于完成写MT8980控制寄存器,入口参数:R5(存数据)
W-CONTROL:
MOV P2,#00H ;P2.5=0控制
MOV P0,R5
SETB P1.4 ;置DS为高
LOOP2:MOV C,P1.5
JC LOOP2 ;DTA不为0时等待
CLR P1.4
SETB P2.7 ;CS=1
RET
;R-DATA用来完成对MT8980三种寄存器的控制,入口参数:R6(存信道地址0-31),出口:
A(数据)
R-DATA-CONNECTION:
MOV A,R6
ORL A,#60H ;R2.6=1 R P2.6=0W
MOV P2,A;P2.5=1时隙,P2.5=0控制
SETB P1.4 ;置DS为高
LOOP3:MOV C,P1.5
JC LOOP3 ;DTA为非0时等待
MOV A,P0
CLR P1.4
SETB P2.7 ;CS=1
RET
5 应用
5.1 时隙交换应用
时隙交换一般用于数字电话交换系统。如果要将输入的信道0的2时隙输出到信道1的3时隙中,则可按以下程序操作:首先赋R5=000110111B,调用W-CONTROL子程序,写控制寄存器=R5,选输出1信道时隙的连续存储器的高八位。第二步赋R5=01H,R6=01H(1信道),调用W-CONNECTION子程序,写接续存储器的高3位为交换方式。第三步则调用W-CONTROL子程序,写控制寄存器=00010011,选输出1信道3时隙的接续存储器的低八位。第四步赋R5=40H,R6=01H(1信道),调用W-CONNECTION子程序,写接续存储器的低8位为40H(0信道2时隙),这样就完成了信道0的2时隙到信道1的3时隙的交换。
5.2 控制应用
MT8980的控制功能分为两个方面,第一是读某信通中某时隙的存储器数据,并由单片机判断后作出不同响应,如16时隙的信令,编制程序时首先调W-CONTROL子程序,写控制寄存器选数据存储器,然后调用R-DATA-CONNECTION子程序读此寄存器的内容,最后由CPU作出判断。第二是让某时隙接续存储器工作在信息模式,使接续存储器低八位的内容作为数据直接输出到相应的时隙中作信令信号,也可以将其作为2.048M数据流用作控制码流,以控制编译码器如MT8960、MT8950及数字中继芯片MT8979等。笔者已将8980的以上功能成功地应用于数字电路数据传输系统中,此设备可利用时分复用PCM的某些空闲时隙插入计算机的RS232串行通信口来实现远端计算机通信,这样可大大提高EI电路的利用率,从而使利用数字传输设备或程序交换机的中断模块开通数字专线以高速高质量地数据传送成为可能。数字电路数据传输系统可为用户提供全透明的数据传输链路和全双工的传输能力,而与用户设备设置的RS-232的传输格式和速率无关,另外,用户还可以按自己的要求设置数据位、校验方式、停止位、传输速率和流控制方式。
近年来,数字通信无论在理论上和技术上都有突飞猛进的发展,各种宽带传输技术,综合业务数字网(ISDN)等全数字的通信方式必将逐步取代模拟通信方式。现在,全球通信数据信号无一例外地采用着PCM码,为了最大限度地利用信道,降低传输成本,常在传输前对基带PCM信号进行多路调制,以形成时分复用PCM信号。我国采用的是32路的PCM标准,此32路的时分复用信号称为PCM的一次群信号。0时隙用于传输系统的同步信息。第16时隙用于传输信令,其余30路时隙来传输语音或数据。时分程控交换和数据传输是数字通信的基础。
2 MT8980D时间交换器的原理
根据一次群信号的形成原理,一路基带PCM信号一旦占用一一次群的某个时隙,它随后所有的8位编码抽样都将位于该时隙。因此,对于64kB/s的基带PCM源而言,一次群系统等提供了32条独立的64kb/s信道。时间交换器的任务就是完成这些信道的相互交换,或者说,要实现信号由一个时隙至另一个时隙的迁移。目前已出现了一些中、小容量的VLSI数字交换专用芯片。图1是Mitel公司MT8980D单片数字时间交换器的功能框图。该交换器的输入和数输出均为8个32路CHPCH信号,每个称为一个ST总线(Serial
Telecom Bus)。串行PCM数据流以2.048Mb/s的速率(共32个64kB/s,8比特数值时隙)分8中由STI0~STI7输入,经串-并变换后,根据码流号和信道(时隙)号依次存入256×8比特数据存储器的相应单元内。控制寄存器通过控制接口接受来自微处理器的指令,并将此指令写到接续存储器。这样,数据存储器中各信道的数据即可按照接续存储器的内容(即接续命令)以某种顺序从中读出,再经复用、缓存、并-串变换后变为时隙交换后的八路2.048Mb/s串行码流,从而达到数字交换的目的。
接续存储器的容量为256×11位,对应于256个输出信道。每个接续存储器11位又分为高3位和低8位两部分,前者决定本输出时隙的状态,后者决定本输出时隙所对应的输出时隙,MT8980D可工作于两种模式。一种为交换模式,可实现任意输入信道至任意输出信道的交换;另一种是消息模式,它允许交换机的控制系统通过MT8980D的控制接口直接读任何语音存储单元或写任何接续存储单元。这种模式对于控制系统的收、发信念十分方便。
3 A89C51和MT8980D的接口
MT8980D和MCS51系列单片机不能直接连接,因为MT8980D有一个DTA数据应答信号输出。该输出信号为与微处理器接口时的数据证实信号,当读写MT8980时,若此端上拉为低电平,表示电路处理完数据。其时序关系如图2所示。从时序关系中可以看出,在DS选通信号的上升沿,控制信号必须有效,DTA应答后,在DS下降沿,微处理器读写数据有效。带有WAIT脚的CPU可与DTA相连接。但对于AT89C51,我们可以用I/O口直接控制MT8980,在读写MT8980时,需判断DTA是否为低有效。AT89C51与MT8980的连接图如图3所示。
4 AT89C51的控制程序
图3所示电路内部的全部功作均由微处理器通过控制接口控制,通过该接口电路可以读取数据存储器、控制寄存器和接续存储器的内容,并可向控制寄存器和接续存储器写入指令。存储器的功能定义请参考Mitel公司的数据手册。在开发中把MT8980D所有的功能浓缩为三个子程序。调用三个子程序可实现MT8980D的所有功能。其中:W-CONNECTION用于完成写MT8980高低位接续寄存器,入口参数:R5(存数据),R6(存信道地址)
W-CONNECTION:
MOV A,R6
ORL A,#20h ;P2.6=1R P2.6=0w
MOV P2,A ;P2.5=1时隙,P2.5=0控制
MOV P0,R5
SETB P1.4 ;置DS为高
LOOP1:MOV C,P1.5
JC LOOP1 ;DAT为非0时等待
CLR P1.4
SETB P2.7 ;CS=1
RET
;W-CONTROL用于完成写MT8980控制寄存器,入口参数:R5(存数据)
W-CONTROL:
MOV P2,#00H ;P2.5=0控制
MOV P0,R5
SETB P1.4 ;置DS为高
LOOP2:MOV C,P1.5
JC LOOP2 ;DTA不为0时等待
CLR P1.4
SETB P2.7 ;CS=1
RET
;R-DATA用来完成对MT8980三种寄存器的控制,入口参数:R6(存信道地址0-31),出口:
A(数据)
R-DATA-CONNECTION:
MOV A,R6
ORL A,#60H ;R2.6=1 R P2.6=0W
MOV P2,A;P2.5=1时隙,P2.5=0控制
SETB P1.4 ;置DS为高
LOOP3:MOV C,P1.5
JC LOOP3 ;DTA为非0时等待
MOV A,P0
CLR P1.4
SETB P2.7 ;CS=1
RET
5 应用
5.1 时隙交换应用
时隙交换一般用于数字电话交换系统。如果要将输入的信道0的2时隙输出到信道1的3时隙中,则可按以下程序操作:首先赋R5=000110111B,调用W-CONTROL子程序,写控制寄存器=R5,选输出1信道时隙的连续存储器的高八位。第二步赋R5=01H,R6=01H(1信道),调用W-CONNECTION子程序,写接续存储器的高3位为交换方式。第三步则调用W-CONTROL子程序,写控制寄存器=00010011,选输出1信道3时隙的接续存储器的低八位。第四步赋R5=40H,R6=01H(1信道),调用W-CONNECTION子程序,写接续存储器的低8位为40H(0信道2时隙),这样就完成了信道0的2时隙到信道1的3时隙的交换。
5.2 控制应用
MT8980的控制功能分为两个方面,第一是读某信通中某时隙的存储器数据,并由单片机判断后作出不同响应,如16时隙的信令,编制程序时首先调W-CONTROL子程序,写控制寄存器选数据存储器,然后调用R-DATA-CONNECTION子程序读此寄存器的内容,最后由CPU作出判断。第二是让某时隙接续存储器工作在信息模式,使接续存储器低八位的内容作为数据直接输出到相应的时隙中作信令信号,也可以将其作为2.048M数据流用作控制码流,以控制编译码器如MT8960、MT8950及数字中继芯片MT8979等。笔者已将8980的以上功能成功地应用于数字电路数据传输系统中,此设备可利用时分复用PCM的某些空闲时隙插入计算机的RS232串行通信口来实现远端计算机通信,这样可大大提高EI电路的利用率,从而使利用数字传输设备或程序交换机的中断模块开通数字专线以高速高质量地数据传送成为可能。数字电路数据传输系统可为用户提供全透明的数据传输链路和全双工的传输能力,而与用户设备设置的RS-232的传输格式和速率无关,另外,用户还可以按自己的要求设置数据位、校验方式、停止位、传输速率和流控制方式。
- 基于MSP430系列单片机的CAN总线接口转换卡设计(01-17)
- 各种通讯总线介绍(01-18)
- I2C总线原理及应用实例 (01-18)
- I2C总线在多机通信中的应用(01-17)
- 基于SPI总线的电能计量芯片ATT7022及其在配电监测终端的应用(01-18)
- CAN总线—PROFIBUS-DP总线网关的实现方法(01-17)