摘要:AD20msp910是ADI公司提供的一套用于ADSL MODEM的芯片集,它包括AD6435计算机接口、AD6436DMT协处理机、AD6437模拟端接口芯片、AD816线路驱动/收发器、ADSP-2183数字信号处理机。文中介绍了ADSL技术的基本原理以及AD6435、AD6436、AD6437和ADSP-2183的结构特点和引脚分类。最后给出了应用该芯片集设计ADSL MODEM的设计原理和方法。
关键词:ADSL USB MODEM AM20msp910
随关互联网的日益发展,各种交互式多媒体方面的服务逐渐增加,这对于网络的连接速率要求也越来越高。在传统的两线制电话线路上实现与网络的高速率连接的应用研究人有很重要的意义。本文介绍一种利用ADSL(Asymetric Digital Subscrber Line-非对称数字用户环线)技术实现用标准的铜芯电话线进行高速率的网络接入的方法。结合某个应用项目,笔者利用ADI公司的ADSL MODEM的芯片组和CYPRESS公司的USB接口芯片完成了ADSL Modem的设计开发工作。
1 ADSL技术的基本原理
ADSL技术主要有两个特点:第一,可以实现在一条长度在4千米以内(从市话交换局到市话用户)的普通电话线上进行下行最大8Mbps、上行最大640kbps的不对称全双工通信; 第二,可以与普通的模拟电话共存于一条线路上,以提高电话线路的利用率,从而达到语音和数字通信同时进行双互不干扰的目的。
ADSL的核心技术主要有复用技术及调制技术。
1.1 复用技术
复用技术是在铜芯电话线路上进行频带划分以建立多个频率信道,通常可以使用频分复用(FDM)和回波消除(EC)这两种方式来实现。这两种方式除了对传送模拟电话信号的频带都使用相同的0-4kHz之外,技术上的差异主要在对剩余频带的处理上:FDM将铜芯电话线的剩余频带划分成作为上行/下行信通的两个独立区域,上行信道由相应的低速信道用时分方法组成,下行信道则由一个或多个高速信道加入一个或多个低速信道组成;EC则将剩余频带划分成上行/下行信道两具重叠的区域,信道的组成和FDM类似,但重叠的信号要靠本地的回波消除器分离。EC方式由于信道的重叠而使得系统较为复杂,因此一般情况下应用DMT调制技术较为方便。
1.2 调制技术
目前在ADSL MODEM中使用的调制技术主要有:QAM(正交幅度调制)、CAP(无载波幅度/相位调制)和DMT(离散多音调调制),由于AD20msp910芯片集成采用的是DMT技术,因此这里讨论DMT的技术原理。
DMT调制主要基于多载波调制技术,它是将0~1.104MHz的带宽划分成256个具有4kHz带宽的正交子信道。每个子信道各自采用对应于该子信道的中心频率进行调制,调制使用QAM方式且被调制的输入数据根据每个信道的传输能力在0~15位/符号/Hz之间作自适应分配,当某个子信道由于传输质量下降而影响了系统的纠错能力时,可以用降低该信道的数据速率的方法来提高其它子信道的传输率。
理论上,上行数据流的最大带宽为:25信道×15位/符号/Hz信道×4kHz=1.5Mbps。下行数据流的最大带宽为:249信道×15位/符号/Hz/信道×4kHz=14.9Mbps。但是在实际应用中,DMT调制技术的ADSL的速率与市话线路的长度、线径以及缆线的铺设情况有较大关系,在市话线线径为0.5mm、长度为2.7km时,下行速率为6.1Mbps。
在ADSL技术发展初期,一台ADSL Modem需要多达20多枚IC。随着技术的进步,近年来,许多IC厂家纷纷推出了新型的IC套片,通常为3~6枚IC。Analog Device公司推出的AD20ms910就是较有的基于DMT调制技术的ADSL套片。该套片是目前该领域内具有最完整功能的ADSL解决方案套片之一,完全符合ANSI、ETSI和ITU技术标准。该套芯片中的AD6435收发器(DTIR)用于提供ADSL套片的串行接口和MODEM的其它部分;AD6436协处理机(DEM)用来提供DMT技术所需的核心数字信号处理功能;AD6437模拟前端部分(AFIC)是在一个芯征上组合了所ADSL模拟与混合信号操作,包括A/D转换器(ADC)和D/A转换器(DAC)、滤波器、放大器等;AD816线路驱动器则合并了线路驱动器、接收器、放大器等所有的高速网络的基本单元;ADSP2183通用数字信号处理器用作系统控制器。利用该套片所设计的ADSL MODEM系统结构框图如图1所示。
2 ADSL套片顺的芯片
2.1 串型接口芯片AD6435
AD6435是ADI公司ADSL套片中用于与计算机系统接口的芯片,用来实现全部的数字接口作业;包括字位填充/剥离及弹性存储、同步以及EOC和AOC(这是一个超帧结构传输信息的稳态控制协议)插入/切除、CRC产生/检测、伪随机序列编译码器、前向出错矫正/检测、插值/剔除等。该芯片有全双工入/出、单工入(仅用于ATU-C)和单工出(用于ATU-C)和单工出(用于ATU-R)等多种连接方式。
AD6435的管脚从连接的接口对象上可以分成六个部分,即ADSP2183数字信号处理机的接口、TICL旁路接口、数据接口、控制接口、交叉存取RAM接口和与AD6436的接口。信号的流向可以从管脚的流向标志上确定。AD6435的管脚接口功能结构如图2所示。
数字信号处理机接口中的A(13:0)为用于DSP的14位地址总线;D(15:0)为16位字长的数据总线:DSP-CLK-DSP为输出时钟;NRD、NRW、NCS是分别用于DSP的RAM读/写及片选信号,低电平有效。
TICL旁路接口中的RX-BUT和TX_BUF分别为收、发数据的缓冲连接RX_FR和TX_FR分别用于收、发的帧同步;RFS和TFS分别为字节收、发的帧同步;RX_SPFR和TX_SPFR分别为收发信号的超帧同步;RS_SPFR1为接收交叉存取超帧的同步信号;MCLK_OUT为时钟输出,并可用作同步的基准信号。
数据接口共有两组,分别是双工状态和单工状态,单工状态时某些管脚是不用的。DUPLX_RX用于双工接收的数据汉、DUPLX_TX用于双工输入的数据流、DUPLX_XLKO用于还原双工时钟,DUPLX_CLKI为输入双工时钟;SIMPLX_RX在RT方式时接收下行数据流,而在CO方式时该脚不用,SIMPLX_TX在CO方式时输入下行数据流而在RT方式时该脚不用、SIMPLX_CLKO脚在RT方式时还原下行数据流时钟而在RT方式时用、SIMPLX_CLKI在CO方式时输入下行数据流而在CO方式下该管脚不用。(RT方式为客户端的ADSL Modem,CO方式端为数据中心的ADSL Modem)。
控制接口的MCLK主时钟信号为35.328MHz。RT-NCO为运行模式选择端,RT方式时为1,而CO方式时为0,NRESET为复位脚,低电平有效;TEST(4:0)除TEST2、4通过10kΩ电阻接入信号地外,其余不接。
交叉存取RAM接口中的M-A(14:0)为15位字长的交叉存取RAM地址总线,M-D(7:0)为8位交叉存取RAM数据线;NM-OE和NM-WE分别为读、写使能信号线。
DME接口用于连接AD6435(DTIE)与DMT协处理机AD6436(DME);TX串型接口部分使用以下信号:TX-DREQ DME提供的数据请求、TX-FRM DME提供的发送帧选通、TX-BS DTIR提供的发送字节选通、TX-SDATA DTIR发送的发送数据;RX串行接口部分使用的信号包括:RX-FRM DME提供的接收帧选通、RX-BS DME提供的接收字节选通、RX-SDATA由DME发送的接收串行数据、RX-DREQ由DTIR产生的接收数据请求等;TX-RX-SCLK则是由DME产生的发送/接收串行时钟,该时钟可作为发送与接收的公用时钟。
2.2 DMT协处理机AD6436
AD6436是一个专用的DMT加速器,用于完成数据传输与收发中的各种操作,如QAM编解码、IFFT、滤波器、插值等。
AD6436芯片是一个中间芯片,其管脚分类较为简单,分为与AD6436的接口、与AD6437的接口和与DSP的接口三个部分。AD6436的管脚分布如图3所示。
与AD6435接口中的TX-DREQ(RX-DREQ)用于TX(RX)串行口的数据请求;TX-BS(RX-BS)则用于TX(RX)串行口的字节选通;TX-SDATA(TX-SDATA)为TX(RX)串行口的串行数据;TX-FRM(RX-FRM)为TX(RX)串行口的帧脉冲;TX-RX-SCLK为TX(RX)串行口的串行时钟;MCLK为芯片的主时钟(35.328MHz);RT-NCO为模式控制管脚,为1时为RT模式,为0时为CO模式;NRESET为复位端,低电平有效。
AD6437接口的几个接口管脚主要是与ADSL模拟部分AD6437中的ADC及DAC进行接口,其中TX(15:0)为送入发送DAC的16位输出;RX(15:0)为来自接收ADC的16位输入;TX-CLK和RX-CLK分别是用于发送与接收D/A、A/D的限定有效数据的输出时钟。值得注意的是,虽然两个数据接口都是16位的,但是AD6437本身的接口位数却较少,在实际应用中,这些管脚应根据实际需要接地或接高电平。
DSP通过DSP接口对AD6436芯片进行存取。接口管脚主要有:14位的地址总线A(13:0)、16位的数据总线D(15:0)、控制管脚NRD(读)、NWR(写)和NCS(片选)等。
2.3 模拟前端芯片AD6437
AD6437芯片用于ADSL系统与模拟电话线路的接口,包括用于将数字与模拟信号互相转换的高速AD、DA部分以及用于改善信号特性的使用与ATU-C及ATU-R模式的可编程滤波器。该芯片内部电路的模拟设计灵活,可以编程使用或旁路。这种可变功能使该芯片也可以用于其它ADSL应用系统或仪器控制系统。
AD6437的引出脚按其功能可分四个主要部分:发送通道、接收通道、辅助及支持电路、接口与控制逻辑。图4所示为其功能结构图。
发送通道中的TX(13:0)用于将数据发送到DAC;TX-CLK为DAC的数据锁存时钟;在TX-FSADJ脚上的连接电阻可确定发送DAC的电流输出范围,TX-COMP及TX-IBIAS为电路内部节点的耦合管脚;TX-DACOUT[A,B]为互补电流输出管脚,TX-FILIN[A,B]及TX-FILOUT[A,B]为发送能道低通滤波器的差分输入及输出。
接收通道中的RX[11:0]是来自ADC的数字输出;RX-CLK为ADC输入采样时钟RX-PGA-IN[A,B]是PGA的差分输入脚;RX-AAF-OUT[B,A]为抗消除混叠滤波器的差分输出管脚;RX-ADC-IN[A,B]为ADC的差分输入、RX-VRE是AD6437输出的外部参考电压;RX-REF[B,T]为ADC参考电压的耦合管脚。
辅助电路引脚TR-DAC-OUT是来自时标修复DAC的电压输出引脚。
接口与控制逻辑管脚都是输入管脚,主要用于控制处理机送出的信号与数据。
3 MODEM中使用的其它芯片
在AD20msp910配套芯片中还有如用于数字信号处理ADSP-2183和线路驱动/接收放大器AD816等配套芯片,但这些芯片均可用其它类似的芯片来代替。下面对ADSL MODEM中使用较为重要的芯片简单地加介绍。
3.1 数字信号处理机ADSP-2183
ADSP-2183是ADI公司生产的单片型微算机。为了适应数字信号处理(DSP)和其它的高速数值处理的应用,该器件的系统结构进行了优化。
它是将广泛应用的DSP系列产品ADSP-2100的核心部分与传统的微处理机结构结合而成,因而具有计算高速、应用灵活的特点。特别适合于在通讯设备中使用。其主要特点如下:
(1)与ADSP-2100系列DSP的指令代码兼容,同时扩展了指令集,可提供许多灵活的控制及多功能运算指令,所有的指令都可以在一个处理机周期内完成操作。ADSP-2183在三总线系统结构的配合下,允许其用并行方式在单指令周期内进行多操作数存取。在3.3V的电源、26.32MHz晶振条件下,每一指令周期为25ns,因此处理机的运算速度可达52MIPS。
(2)具有80k字节的在片RAM,可配置为16k字(24位)在片程序RAM和16k字(16位)在片数据RAM。掉电电路可以提供低功耗的RAM电池支持。具有4M字节的存储器接口能力,可以存储较大的数据表及程序,同时程序存储器可以作为程序/数据双用途存储器。
(3)ADSP-2183具有独立的ALU、乘法器/累加器(MAC)和移位计算单元,可以对16位数据直接运算。ALU可执行标准的算术及逻辑操作;MAC用于执行乘法及带有40位累加乘法/加、乘法/减操作;移位计算单元则用来执行逻辑与算术移位、指数导出等操作,该移位单元还可有效地用于实现数值格式的控制,包括浮点表示的多字及块数据。内部结果(R)总线可以将运算结果直接送往需在下一个机器周期送达的任意输入或输出单元。处理机有两个独立的数据地址产生器,并具有0溢出循环和条件指令执行的功能强大的程序序列器。由此可见,该处理机的硬件结构保证了处理的高性能。
(4)具有16位可编程/可预置计时器和6个外部中断;特点是具有可编程的特征管脚,因而具有灵活的系统信号能力。
(5)16位的内部DMA口可用于高速存取片内RAM中的内容,对程序和数据存储器,还提供有对用户透明的8位DMA能力。
(6)该处理机还具有较强的外围接口能力;I/O破例接口带有2048个位址以支持并行外部器件而且I/O的位址空间与程序存储器的空间是分开的,这样可简单化用户的外围设计;另外,ADSP-2183还提供两个双缓冲串行口,具有自动数据缓冲能力,用于扩展外部硬件连接十分方便。在进行的ADSLMODEM的设计中,笔者就利用了这一特点来简单化接口。
3.2 USB接口芯片
USB(通用串行总线)技术是一种新型的外部接口技术,其最大特点是可提供极高的速率(目前最大速率可达12Mbps),因而解决了用户外部设备接入计算机时的复杂而又繁琐的配置问题。并提供了利用级连方式接入各种不同外部设备的统一接口,从而大大地缓解了主机与外部设备之间长期存在的配置困难问题。
在ADSL MODEM(RT)与计算机的连接方式中,可以用内插(PIC卡)或外置(网络或USB连接)等多种选择。由于ADSL是一种高速接入设备,具有USB连接速率高、接插灵活、用户可选的特点。因此,笔者将该MODEM设计为外置USB连接方式。同时根据适用性广、设计灵活、应用便捷、价格合理的选择原则确定使用CYPRESS公司的EZ-USB微处理机结构、USB收发器、串行接口引擎(SIE)的单片型USB接口芯片。
4 ADSL MODEM的应用设计
在ADSL MODEM设计中有两个重要的环节,软件的设计和与市话线接口的数字/模拟混合电路的设计,这两个方面的设计是关系到ADSL MODEM性能的关键。由于涉及内容较多,这里只能简要地作一介绍。
4.1 MODEM软件的设计
一个性能良好的ADSL MODEM除了器件提供的强大功能外,还要对器件的工作状态进行检测,对各相应的器件内部寄存器进行设置,对器件进行初始化处理,算法的DSP编程、实现、控制及配置以及硬件的驱动等。因此软件的重要性是不言而喻的,该MODEM的软件设计由两部分组成:第一部分是WINDOWS 95下的MODEM驱动程序,该程序除了使用户能象使用常规MODEM那样透明地进行数据的收发及配置MODEM的相磁参数外,由于本MODEM为实验性设备,需要利用驱动程序透过USB接口与MODEM内部的ADSP2183进行通讯,因此还需要能察看/修改各个ADSL芯片的寄存器内部参数,了解参数的变化对系统性能的影响情况。另外,还需对USB芯片的控制程序进行更新;另一部分是基于ADSP2183指令集的ADSL MODEM控制程序,该软件使用C语言编程,程序多达数万行。包括帧以及各个协议层的交换处理、对MODEM中各个芯片的初始化及控制、与主机的通讯、通道测量、位分配程序模块。
4.2 混合电路设计
在ADSL MODEM设计中,由于MODEM与普通模拟电话位于同一对线路且两种通讯功能并存。因此,与电话线路箱关的数字/模拟混合电路的设计对MODEM设备中诸如上行/下行数据流速率的高低以及抗干扰能力等方面的性能影响很大,所以应合理地选择混合电路中各器件的参数及电路形式。
混合电路可以简单地理解成是一个3端口网络。利用它可从一个双向的线路中分离发送和接收信号,以实现在一个用于模拟信号通讯服务的单对线路上进行全双工数字的操作。因此2/4线分离(变换)的电路设计是一个重点,可用有源或无源方法来实现,可可通过计算结合实验的方式对电路内各器件进行选择;在一个复杂的通讯系统中,通常会有几种通讯服务共存于同一线路上,从直流、铃流、音频以及调制数据等多种频率上共享线路频谱。因此,必须使用滤波技术对某一种服务进行防护。在滤波器的设计中,必须考虑各种信号之间及信号分离通路之间的关联性,要选好阻、容元件的参数值。