中电网移动|移动中电网|高清图滚动区

基于DSP和RC56D/SP芯片实现同步调制解调器的设计

作者:陆骏;柳永胜;殷小贡

随着数据通信的发展和普及,调制解调器的应用范围越来越广。归结起来,凡是需利用模拟信道实现数据传输的场合,都需要用调制解调器作为DCE,完成DTE与线路的连接。在很多场合,例如通过电力线通信专网传输各种自动化信息时,要求进行同步传输。但目前市售的调制解调器均只支持异步通信。针对这种情况,我们研制了同步调制解调器。该调制解调器选用支持同步通信的RC56D/SP调制解调器芯片组完成调制解调功能,采用TMS320F206数字信号处理器实现有关的智能控制。

1 RC56D/SP及TMS320F206简介

RC56D/SP是Conexant(原Rockwell)公司出品的56K调制解调芯片。RC56D/SP包括一片8bit的微控制器 MCU和一片数据泵 MDP,通过执行固化在1Mbit?128K×8RAM和2Mbit?256K×8ROM/Flash ROM内的固件来完成操作。该器件采用TCM网格编码技术,兼容AT命令,支持V.42调制解调器链路存取协议(LAPM)和MNP10纠错协议,支持V.80同步传输协议。在同步方式下,发送时钟可采用内部、外部及从时钟三种方式,且内置锁相环具有时钟提取功能,可从接收的同步数据流里提取与对端发送时钟完全同频同相的时钟信号作为自身及DTE的接收时钟,该芯片最高可支持33.6K/s的同步速率。

TMS320F206的CPU时钟频率为20MHz,具有丰富的片内外资源,且拥有功能强大的异步及同步串行口。

其同步串行口的发送和接收均涉及到一个4级先进先出(FIFO)缓冲器。通过减少传送过程中出现的发送或接收中断的数量,FIFO缓冲器可减少CPU的开销?在发送或接收数据时。同步串行口的操作时钟可由内部产生,也可来自一个外部时钟源。采用内部时钟方式时,发送和接收操作的最大速率为CPU时钟频率除以2。采用外部时钟源时,数据传输速率将随着外部时钟源变化。

同步串行口的数据发送和接收操作必须由相应的发送帧同步脉冲(FSX)和接收帧同步脉冲?FSR启动。FSX既可由内部产生,也可由外部产生。FSR必须由外部产生。

同步串行口有连续及突发两种操作模式,可支持一系列应用。在连续模式下,只需要一个帧同步脉冲就可以连续发送或接收多个软件包?在突发模式下,在每一个帧同步脉冲之后只允许发送或接收一个16bit单字。具有内部帧同步的连续发送时序和具有外部帧同步的连续接收时序分别如图1a和图1b所示。

https://file.elecfans.com/web1/M00/F0/0C/o4YBAGCnDtKARVjvAABfkVe1-Uk230.png

同步串行口具有发送中断(XINTs)和接收中断?RINTs两个硬件中断,它通知处理器FIFO缓冲器需要服务。通过对中断产生条件进行适当的设置,可使数据的发送和接收连续不断地进行。

2 硬件电路设计及其工作原理

系统硬件电路原理框图如图2所示。

https://file.elecfans.com/web1/M00/F0/89/pIYBAGCnDsqAEBicAACgGhte_Nc084.png

调制解调器采用异步连接同步传输的工作方式,即在异步方式下进行连接,建立连接后进入同步传输状态。由于TMS320F206及MCU都为TTL电平,故它们之间可直接相连。异步串行口及同步串行口具体连线见图3和图4。

https://file.elecfans.com/web1/M00/F0/0C/o4YBAGCnDsOAJwAQAABVsRZY1kQ238.png

调制解调器异步和同步数据使用MCU上的相同数据口。因为MCU发送引脚上的数据即为从DTE过来将要发送出去的数据,而接收引脚上的数据为已经解调的对端数据,故TMS320F206的异步或同步数据发送?TX或DX和接收?RX或DR引脚分别与MCU的数据发送?TXD和接收?RXD引脚对应相连。由于MCU异步功能仅用于调制解调器的设置及连接,故可不使用流量控制功能,即握手信号可不用。所以将MCU的RTS及DTR引脚接地,使其长期有效。

TMS320F206数据发送采用外部时钟、内部帧同步及连续模式。接收则采用外部时钟及连续模式,接收帧同步脉冲由MCU控制产生。当调制解调器建立连接且MCU 接收到第一帧数据时,将控制脉冲形成电路产生一脉冲宽度与同步接收时钟周期相同的单个脉冲,启动TMS320F206接收数据。因系统在无有用数据时也长发一监测信号以保持连接状态,故除非断线,数据接收一经启动就不会停止。TMS320F206的发送时钟?TXCLK及接收时钟?RXCLK均由调制解调器提供。

调制解调器发送时钟分为内部、外部及从时钟三种方式。它们可通过AT&X0?1、2 命令来进行设置。当设置为内部时钟时,调制解调器发送时钟由调制解调芯片内部振荡电路提供。内部振荡电路可产生300~56kHz之间的任一标称频率。采用外部时钟方式时,外部时钟XTCLK首先送入MDP、MDP一方面将之作为本芯片的同步发送时钟,另一方面经片内锁相环输出一个与XTCLK同频同相的时钟信号TXCLK,并将之送给MCU及TMS320F206作为同步发送时钟。因为MDP内部锁相环只能锁定于任一标称频率,所以必须使XTCLK频率为300~33.6kHz之间的任一标称频率。使用从时钟方式时,调制解调器将采用从接收数据流里提取出来的时钟作为发送时钟,即本端发送时钟与对端发送时钟相同。本调制解调器发送采用外部时钟。

调制解调器同步接收时钟由本端MDP提供。MDP可从接收数据流里提取出与对端发送时钟完全相同的时钟信号RXCLK,以其作为自身以及MCU和TMS320F206的接收时钟。

3 调制解调器工作方式设置

调制解调器缺省工作方式为异步方式。若想使其进入同步工作方式,必须通过AT命令进行设置。我们用到的有关同步方式设置的AT命令有以下几条?+ES、+ESA、&Q1以及&X1。其中+ES命令用于使能或禁止同步传输模式。+ESA命令用于对同步传输模式一些相关特性进行设置,如是否采用循环冗余码校验、是否采用反转不归零码传输等。&Q1命令用于控制调制解调器为异步连接同步传送方式,即调制解调器以异步方式进行连接,一旦连通就立即进入同步传输方式。&X1命令用于选择外部时钟作为调制解调器发送时钟。

调制解调器的连接过程因系统的应用不同而不同。当经过公用电话交换网进行传输时,调制解调器可通过自动应答方式进行连接。这时调制解调器分为主叫端和被叫端。主叫端发起呼叫,即拨通被叫端用户号码。被叫端调制解调器通过检测铃流启动应答过程,被叫端自动应答方式可通过ATS0=N?N=1...255命令来启动,其中N代表检测到多少个铃流信号后启动应答过程,N=0则禁止自动应答功能。

当系统不经过公用电话交换网进行传输时,因线路上无铃流信号,所以采用伪自动应答方式。所谓伪自动应答方式是指由DSP程序控制调制解调器进行应答,而不是由调制解调器自身启动应答过程。实现原理如下:在被叫端线路口设计一个双音多频?DTMF信号音检测电路,当主叫端发起呼叫时,只需拨任一双音多频号,该信号音检测电路检测到信号音后,即产生一个方波脉冲信号,触发TMS320F206的INT1中断。

TMS320F206进入中断服务程序后,向调制解调器送入ATA(强制应答)命令,从而启动应答过程,与对端调制解调器建立连接。因线路上无拨号音,而调制解调器复位后的缺省状态需要交换设备提供拨号音才能拨号,因此在对主叫端调制解调器进行初始化时,必须加上ATX1命令。该命令可使调制解调器不需要拨号音便可直接拨号。调制解调器拨号操作可通过ATD(代表所拨号码)命令执行。

4 系统工作流程

TMS320F206程序流程图如图5所示。

https://file.elecfans.com/web1/M00/F0/89/pIYBAGCnDruAf_KlAACyrW_7zLg539.png

系统工作流程如下:系统上电复位后,TMS320F206首先进行初始化,打开异步口,然后检测调制解调器是否准备好。若没准备好,则对调制解调器再次复位;若准备好,则送AT命令进入调制解调器?对调制解调器进行初始化。即使能调制解调器同步口,将调制解调器设置为异步连接同步传输方式,采用外部时钟以及对同步传输模式、传输速率等相关特性进行设置。同时决定主叫端是否加上ATX1命令以及被叫端是采用何种应答方式。调制解调器每次收到正确AT命令且正确进行相应操作后,会通过异步串口回送OK信号。因此,若TMS320F206收到OK信号,就表明初始化成功。调制解调器初始化完成后,主叫端便拨号启动呼叫,被叫端进入自动应答或伪自动应答过程。连通后,调制解调器会回送CONNECT信息给TMS320F206。此后TMS320F206便禁止异步口、打开同步口,开始进行同步数据传输。

本同步调制解调器研制完成后,曾在专用线路、公用电话线路和电力载波线路上进行同步传输试验,都获得了比较好的传输效果。在需要利用模拟信道完成同步传输任务的场合,特别是在接入层,本调制解调器将具有广泛的用途。

猜你喜欢
中电网移动|移动中电网|频道导航区