最新日志

发表于:2006-11-27 17:35:52
标签:无标签

14

MAX1148型高精度14位串行A/D转换器

1 概述

    模/数转换器(ADC)是现代测控中非常重要的环节。它有并行和串行两种数据输出形式。并行ADC虽然数据传输速度快,但有引脚多、体积大、占用微处理器接口多的缺点;而串行ADC的传输速率目前已经可以做得很高,并且具有体积小、功耗低、占用微处理器接口少的优点。因此,串行ADC的应用越来越广泛。

    MAXll48是Maxim公司最新推出的一种真差分、8通道、14位逐次逼近、串行输出模/数转换器。处理器接口多的缺点;而串行ADC的传输速率目前该器件具有转换速率高、功耗低、接口方便的优点,特别适用于工业过程控制、高精度数据采集、便携式数字仪表、医疗仪器等领域。

2 MAX1148的特点和结构

    2.1 MAX1148的特点

● 8路单端或4路差分输入(内置多路模拟开关,由软件设置)。

● 单极性模式时输出为二进制模式;

双极性模式时输出为二的补码格式,1LSB=(VREF/2N);

数据在SCLK下降沿同步输出,MSB先出。

● 5V±5%单电源。

● 内部基准电压+4.096V或外接基准。

● 采样速率:(116ksps);

120Aμ(10ksps);

12Aμ(1ksps);

300Aμ(关断模式)。

● 内置T/H(跟踪/保持)电路。

● 内部时钟或外部串行时钟(频率范围为0.1MHz~2.1MHz),可通过设置控制字中的PD1、PD0位进行选择。

● 提供一个硬关断(将SHDN引脚置低)和两个软关断(通过编程设置控制字中的PD1、PD0位来实现)模式。

● 与SPI/QSPI/MICROWIRE接口兼容。

  2.2 MAX1148的结构

    MAX1148采用14位逐次逼近寄存器(SAR)和输入跟踪/保持(T/H)电路,实现将模拟信号转换成14位数字信号,并用串行方式输出的功能,其内部结构如图1所示。

MAX1148采用20引脚的功能如下:

● CH0-CH7(1-8):模拟输入端。

● COM(9):公共输入端。单端模式下为模拟负输入。单极性和双极性模式下,当转换器输入不为0,而希望转换结果为0时,需在该端输入相应模拟电压。

● SHDN(10):关断输入,低电平有效。当SHDN置低时,转换器进入硬关断模式,转换立即中止。

● REF(11):内部基准电压输出或外部基准电压输入,它是模数转换的基准电压。该电压决定了ADC输入范围和满量程输出值。

    MAX1148含有一个内部1.25V带隙基准,通过一个2kΩ电阻接至基准缓冲器并引至REFADJ引脚。由于MAX1148的基准缓冲器具有3.277V/V的增益,所以基准缓冲器输出引脚 REF直的电压为4.096V,作为内部基准电压使用。

    如果使用外部基准电压,则有两种使用方式:

(1)禁止内部基准缓冲(将REFADJ端与VDD端直接相连),将外部基准电压(1.5V至VDD+50mV,输出电流大于210μA)接至REF端即可(如图3所示)。

(2)将外部基准电压连至REFADJ端,通过内部基准缓冲器,在REF引脚得到幅度为外部基准电压乘以基准缓冲器增益3.277后的SAR ADC基准电压(如图4所示)需要注意的是,在REF引测得的基准电压值必须在1.5V至VDD+50mV之间。

●REFADJ(12):带隙基准输出和基准缓冲器输入。REFADJ连至VDD时禁止内部带隙基准和基准缓冲放大器,其用法如前所述。

●AGND(13):模拟地。

●DGND(14):数字地。

●DOIJT(15):串行数据输出。CS置低时,数据在SCLK下降沿同步输出。CS置高时,DOUT为高阻态。

●SsTRB(16):串行触发输出,反映了ADC转换状态。

在内部时钟模式下,ADC转换开始时,SSTRB由高变低,转换完成后,SSTRB由低变高并保持两个SCLK时钟周期为高电平。从第三个SCLK时钟周期开始,DOUT输出转换结果。

在外部时钟模式下,ADC转换开始时,SSTRB由低变高并保持两个SCLK时钟周期的高电平。从第三个SCLK时钟周期开始,在进行ADC转换的同时,DOUT输出转换结果。置高时,SSTRB为高阻。

●DIN(17):串行数据输入,用于输入控制字。CS置低时,数据在SCIK上升沿同步输入。CS置高时,DIN为高阻态。

●CS(18):片选输入,低电平有效。只有CS置低时,数据才可同步输入(DIN)或输出(DOUT)。

●SCLK(19):串行时钟输入,是数据同步输入或输出的移位信号。在外部时钟模式下,无论是SCLK还是ADC转换时钟.都决定了转换速率(SCLK的占空比必须在40%至60%之间)。

●VDD(20):电源输入。用0.1μF电容器接至AGND。

3 工作原理

    3.1控制字格式

    在启动MAXll48进行A/D转换之前.必须先由SCLK将控制字从DIN端送入其内部输入移位寄存器,以决定其工作模式并启动转换。

    3.2时钟模式

    MAXll48可用外部串行时钟或内部时钟两种模式来完成逐次逼近转换。但是,不管哪种模式,数据的移人和移出都要由外部时钟SCLK来完成。

    在外部时钟模式下,通过外部时钟SCLK控制数据的移入和移出,同时SCLK还是模数转换时钟。在控制字的最后一位移人后,SSTRB由低变高并在保持两个SCLK时钟周期的高电平后变低。其后14个SCLK的每一个下降沿决定逐次逼近转换结果每位的值,并在DOUT端输出。需要注意的是,每次模数转换都必须在较短时间内完成,以避免采样保持电容器上的压降对转换结果带来的影响。如果外部串行时钟SCLK的频率低于100kHz。或者由于串行时钟的不连续使得转换时间超过140μs,建议使用内部时钟模式。

    在内部时钟模式时,MAXll48自身产生转换时钟,并允许微处理器以小于2.1MHz的时钟频率读取转换结果。在控制字的最后一位移入后,SSTRB由高变低,待转换完成后由低变高,完成一次转换的时间最长为8.0μs。在整个转换期间,为了得到最佳的噪声性能,SCLK应保持低电平。在SSTRB变为高电平之后,从第二个SCLK开始的每一个SCLK下降沿,在DOUT端由高到低依次输出转换结果的各位的值。

    3.3 A/D转换过程

    MAXll48在时钟脉冲的作用下进行逐次逼近式A/D转换,一般每24个时钟周期完成一次转换和读出操作。内部时钟模式与外部时钟模式的时序如图5、图6所示。

    A/D转换速度要求不是很高时,常选用内部时钟模式。现以内部时钟模式为例说明MAXll48的工作过程:

    首先根据系统要求确定MAXll48的控制字,例如,需转换0通道的单端单极性模拟量,控制字为8EH。然后向MAXll48输入控制字并读取转换结果,其步骤为:

(1)使片选端CS变为低电平并保持不变,此时DOUT处于低电平,SSTRB处于高电平;

(2)在DIN输入端由高到低依次输入控制字各位的值。

具体做法是:首先使DIN端为高电平(输入“l”),在第一个SCLK的上升沿将DIN的第一位数据“l”移入内部移位寄存器中。即移入START开始位:以此类推,在后面7个SCIJK的上升沿分别将输入DIN端的控制字其他位移入内部移位寄存器中;

(3)当控制字的最后一位数据被移入之后(第8个SCLK的下降沿),转换开始,SSTRB由高变低;

(4)经tcoNv之后,A/D转换结束,SSTRB由低变高。

(5)在转换结束后的任何时刻,通过SCLK时钟将移位寄存器中的转换结果(14位二进制数)由DOUT端同步移出。具体做法是:从SSTRB置高后的第二个SCLK时钟的下降沿开始,利用SCLK时钟逐一将转换后的结果从DOUT端移出,最高有效位在前。

4 MAXll48的应用举例

    MAXll48通过DIN、DOUT、SCLK、SSTRB和CS5个信号与微处理器连接,其中,SSTRB是反映ADC转换状态的标志.可以用查询方式和中断方式监视此信号,以决定何时读取转换结果。如果是外部时钟模式或内部时钟模式中的软件延时,此信号可以空置不用。MAXll48与8位微处理器的典型连接如图7所示。

    下面给出内部时钟模式下完整的转换和控制程序(转换结果在30H和31H中),以供参考:

START:CLR P1-3 :SCLK为低电平

CLR P1.0 :片选有效

MOV A,#lXXXXXl0B :控制字送A

MOV R1,#08H :输入控制字位数

LPl:MOV C,ACC.7 :取控制字并送至DIN端口

MOV P1.1,C

SETB P1.3 ;DIN端口数据移入内部移

位寄存器

CLR P1.3

RL A :控制字移位

DJNZ R1,LPl

LP2:JNB P1.4,LP2 ;检测SSTRB,等待转换结束

SETB P1.3

CLR P1.3

CLR A

MOV R1,#06H ;读入高6位数据

LP3:RL A

SETB P1.3

CLR P1.3

MOV C,P1.2

MOV ACC.0,C

DJNZ R1,LP3

.MOV 30H,A

MOV R1,#08H ;读入低8位数据

LP4:RL A

SETB P1.3

CLR P1.3

MOV C,P1.2

MOV ACC.0,C

DJNZ R1,LP4

MOV 31H,A

STAY:SJMP STAY

END

    外部时钟模式编程与内部时钟模式基本相似, 只需把控制字改为#1XXXXXllB,并删除上述程序中标号为U)2的程序行即可。

5.结束语

    随着电子技术的不断发展,各种串行接口电路的应用越来越多.如串行A/D、D/A及各种接口电路等。与一般ADC器件相比,MAXll48具有单电源供电、自带内部基准电压、转换精度高、外围电路简单、占用微处理器口线少、易于连接等优点,适用于较复杂的测控系统。

点击此处查看原文 >>

系统分类: 模拟技术   |    用户分类:    |    来源: 无分类

评论(1) | 阅读(816)
发表于:2006-11-27 17:29:30
标签:无标签

12

模拟信号隔离放大器技术应用

   无源型IC 内部包含有电流信号调制解调电路、信号耦合隔离变换电路等,很小的输入等效电阻,使该IC的输入电压达到超宽范围(7.5—32V),以满足用户无需外接电源而实现信号远距离、无失真传输的需要。内部的陶瓷基板、印刷电阻工艺及新技术隔离措施使器件能达到3KVAC绝缘电压和工业级宽温度、潮湿、震动的现场恶劣环境要求。ISO4-20mA系列产品使用非常方便无需外接任何元件即可实现4-20mA电流环隔离或信号一进二出、二进二出等变换功能。  
   有源型IC是在同一芯片上集成了一个高隔离的DC/DC电源及高性能线性光电耦合器的混合集成电路。该芯片除了为内部放大电路供电外,还可以向外部(信号输入与输出端)提供两组隔离的正、负直流电源和两组的5VDC稳压基准源,专供外部电路扩展用,如电桥电路、小信号前置放大电路等用户专用电路。该系列产品具有宽信号带宽20KHZ,可对0~±10VDC双向直流信号或0~5VAC的交流信号进行隔离、调理和变换。该IC体积很小,使用非常方便,只需很少外部元件即可实现模拟信号的(I/I I/V V/I V/V)隔离及变换功能。  
    主要应用领域:模拟信号数据采集,隔离传输及供电,工业现场信号隔离传输及变换,地线干扰抑制,信号远程无失真传输,仪器仪表与传感器信号的隔离变换。电力设备及医疗仪器安全隔离栅。产品体系:ISO 4-20mA 系列———两线无源4-20mA信号隔离调理IC     ISO-Ax-Px-Ox系列———直流电流信号(I/V I/I)隔离放大器IC      ISO-Ux-Px-Ox系列———直流电压信号(V/I V/V)隔离放大器IC

    ISO1001/1002系列———直流双向或交流信号隔离放大器IC产品特性:
   精度等级:0.1级、0.2级、0.5级全量程范围内极高的线性度(非线性度<0.2%)国标标准信号:0- 10mA/0-20mA/4-20mA/0-5V/0-10V/0-±5V/1-5V输入/输出。具有低输入阻抗和输出高负载能力信号输入/输出/辅助电源之间3KV 三隔离单电源供电,可为用户在信号输入或输出端提供隔离电源低成本,小体积,标准单列SIP12和双列DIP24脚IC封装工业级工作温度范围,符合UL-94标准的阻燃材料真空灌封一、概述  信号隔离技术是使模拟信号在发送时不存在穿越发送和接收端之间屏障的电流连接。这允许发送和接收端外的地或基准电平之差值可以高达几千伏,并且防止了可能损害信号的不同地电位之间的环路电流。信号地的噪声可使信号受损。隔离可将信号分离到一个干净的信号子系统地,使传感器、仪器仪表或控制系统与电源之间互相隔离,从而保证整个系统装置的工作安全、可靠及稳定。  而在另一种应用中,基准电平之间的电连接可隔离产生一个对于操作人员或病人不安全的电流通路。

    信号隔离器件依赖于无发送器和接收器来跨越隔离屏障,这种器件曾用于数字信号,但线性化问题迫使模拟信号隔离采用变压器、光电耦合器、电容或光电池等器件来实现。  模拟信号隔离:在很多系统中,模拟信号必须隔离。模拟信号所考虑的电路参量完全不同于数字信号。  模拟信号通常先要考虑:精度或线性度、频率响应、噪声等。  然后是对电源的要求,电源要求高隔离、高精度、低噪声,特别是对输入级。也应该关注隔离放大器的基本精度或线性度不能依靠相应的应用电路来改善,但这些电路可降低噪声和降低输入级电源要求。  对于电源噪声的干扰,可以采用调制载波使模拟信号跨越这个屏障。如ISO4-20的两线无源信号隔离放大器使模拟隔离简化。输入信号被占空度调制并以数字方式发送跨过屏障。输出部分接收被调制的信号,把它变换回模拟信号并去掉调制/解调过程中固有的纹波成分。  对信号隔离的另一问题是隔离放大器输入级所需的功耗,而隔离放大器的输入阻抗及自身的等效电阻是问题的关键所在。而输出级通常以机壳或地为基准,输入级通常浮动在另一个电位上。因此,输入级的电源也必须隔离。通常用一个单电源(5V/12V/15V/24V),而不是理想中使用的正、负双电源。二、原理介绍  通过反复实验验证,本系列产品达到了预期的目的。
附图说明:

3、典型电性能指标:

三、典型应用技术  图三、为ISO系列隔离放大器典型应用接线原理图,其中输入和输出放大器都为跟随方式。此时隔离放大器的整体放大倍数为20倍,R1,R2和W1为调零电路,R1=5.1K R2=2K W1=2K(多圈电位器)。 

信号输入放大器设计:  
图四 为输入放大器电路,当输入放大器输出(21脚COM端)为0.5V时,输出即为5V(13和14脚短接时)。输入反相放大电路:  图五 为输入反相放大电路接线图,其中放大倍数为:Kin=-R11/R12  R3=R11//R12例如:当输入Vin为0~-100mV,输出为0~5V时,可以取:R11=50K R12=10K R13=8.3K  放大倍数:Kin=-50/10=-5输入同相放大电路:  图六 为输入同相放大电路接线图,其放大倍数为:Kin=1+R2/R1
点击看大图

点击看大图

点击看大图

ISO1001 为用户设计了一个输出放大器,其原理如图七所示,FB为放大器的反相输入端,当13和14脚短接时,输出放大倍数Kout=1+33/10=4.3,由于隔离放大器部分已有2.35倍的放大倍数,所以,总放大倍数K=4.3*2.35=10.1。   当输入放大器的COM端电压达不到0.5V时,可以通过输出放大器调节放大倍数,如图八 所示,W2可以取1~100K(多圈电位器)。点击看大图

四、典型应用实例  应用实例1:用隔离放大器直接测量高电压信号  输入:0~±100VDC直流电压信号  输出:0~±10VDC隔离信号  取R4= 100K R0=390 W1=200(多圈电位器)  取R3=39K W3=10K(多圈电位器)R1=5.1K R2=2K W2=2K(多圈电位器)  当输入信号较小时可以采用图六同相放大电路,使输入放大器的输出(即COM端电压)为0.45~0.48V之间,其余与图九相同。
点击看大图

应用实例2:测量电桥输出的差分小信号。接线图见图十  输入:0~±25mV电桥差分小信号  输出:0~±10VDC隔离信号  A1、A2和输入放大器组成一个数据放大器,  取R=100K RG=5K则数据放大器的放大倍数为 Kin=100/5=20。  电路其它元件选择:取R1=5.1K  R2=2K  W2=2K(多圈电位器)  取R3=39K  W3=10K(多圈电位器)(图十应用实例2)四、产品外形尺寸及引脚描述  DIP  24脚封装的IC尺寸图,见图十一  DIP 24脚封装的IC引脚定义图,见图十二(图十一DIP24脚封装的IC尺寸图)(图十二DIP24封装引脚定义图)  SIP 12脚封装的IC尺寸及IC引脚定义图,见图十三图十三 SIP12脚封装的IC尺寸及引脚定义图总结  随着现代电子技术的高速发展,有很多新器件可供技术人员开发设计选用。通过新器件的功能扩展可开发出许多实用型的新产品,从而推动电子产品不断更新换代,并且向低成本、小体积、多功能、智能化方面发展。深圳市顺源科技公司的ISO系列产品,针对国内外类似产品有着低成本、小体积、高精度、多功能等领先技术。广泛应用在工业控制、医疗设备、仪器仪表等系统中地电位有很大差别的电路设计中。整个产品电路中的每一种器件和工艺都是针对独特系统要求而设计的,新器件性能集成的高水平使得跨越隔离屏障能实现从前做不到的更复杂的操作。

点击此处查看原文 >>

系统分类: 模拟技术   |    用户分类:    |    来源: 无分类

评论(0) | 阅读(1060)
发表于:2006-11-27 17:23:34
标签:无标签

8

构成信号发生器的DDS和变换器

许多设备需要使用能产生高性能、高分辩率信号的低频信号发生器。本实例提供一种能产生0~1MHz频率的电路。你利用这种电路就可产生正弦波、三角波和方波,并能达到优于0.1Hz的频率分辨率和优于0.1○ 的相位分辨率,从而就可以给精确的相干频率编程。这一特点对于数字调制设备和频率调谐设备来说都是很有用的。该电路使用ADμC381和AD9834来产生所需的频率(图1)。利用PC或基于Unix的工作站来给微控制器ADμC381编程,然后再通过微控制器,利用一个三线串行接口来对AD9834编程。接口的字长为16位。
点击看大图

图1  DDS芯片和微控制器共同构成一个多波形信号发生器。

  对AD9834编程,为的是利用这种DDS(直接数字合成)体系结构来提供正弦波、三角波和方波三种输出信号。AD9834芯片利用片上28位相位累加器、正弦系数ROM和一个10位D/A转换器,可起到NCO(数控振荡器)的作用。通常考虑的振幅形式为A(t)=Sin(ωt)的正弦波。这种正弦波的振幅是非线性的,因此难以产生。另一方面,正弦波角信息则完全是线性的,也就是说,相位角在每个单位时间内转过的角度是固定不变的。已知正弦波的相位是线性的,又已知基准间隔(时钟周期),就可以确定时钟周期内的相位旋转量:Δ相位=ωdt;ω=Δ相位/dt=2πf,f=(Δ相位×fMCLK)/(2π),式中,dt=1/fMCLK,fMCLK为主时钟频率。
  你只要知道相位和主时钟频率,就能利用上述这一公式产生各种输出频率。相位累加器提供28位线性相位。输出正弦波的振幅系数存储在正弦系数ROM中。 DAC将正弦波变换成模拟域。如果对ROM旁路,则AD9834就可输出三角波形,而不是输出正弦波形。AD9834也可输出方波波形。图2示出了该电路输出的各种波形。如图1所示,IOUT引脚(即引脚19)可输出正弦/三角波形,SIGN_BIT_OUT引脚(即引脚16)可输出方波。你只要给频率寄存器写入信息,就可对DDS编程,于是AD9834的模拟输出为:fOUT=fMCLK/288×(频率寄存器字)。

图2  正弦波(a)、三角形(b)和方波(c)三种波形均可从图1所示的电路中获得。这三种500kHz波形全都使用50MHz采样频率。

  DDS的输出信号具有28位分辨率,所以可达到0.1Hz的有效频率步长,最大可能达到大约1MHz。图2示出了三种典型波形输出。要用2个相位寄存器才能达到12位相位分辨率。这两个相位寄存器可使信号发生如下相移:相移=2π/4096×(相位寄存器字)。
  50MHz晶体振荡器为DDS提供基准时钟信号。DDS的输出级是一个以外部电阻为负载的电流输出DAC。一个200Ω的电阻可产生所需的峰-峰电压范围。DDS的输出端是通过电容器C1实现交流耦合的。这种Micro Converter内含两个片上12位DAC。DAC1通过R5改变电流,从而可通过FSADJUST引脚调整DDS的满刻度电流。控制DDS DAC满刻度电流的公式是:IOUT(满刻度)=18×I×R5。DAC、Micro Converter的内部基准和运放2用来对DDS的输出电压进行失调控制。你可对达到±10V的这一直流失调电压进行编程,分辨率为10位。当R1=R2,运放2的增益为8时,运放2的输出为:VOUT=[DAC输出 - (VREF/2)]×8,从而可获得±10V的失调范围。

图3  该频谱图示出了3.57MHz信号的基波、二次谐波和三次谐波。

  电阻器R6 ~ R9用来控制运放3的增益。运放3的增益视上述电阻的接入与断开情况而定,而上述电阻的接入与断开则是利用Micro Converter上的RDRIVE引脚来实现的。这一操作可使可编程有效输出振幅达到±10Vp-p。因此,该电路可输出编程的正弦波和三角波,其中包含直流失调电压,并能设定大约±10V 的峰-峰振幅。SIGN-BIT-OUT引脚上的方波输出信号具有0~5V的振幅。低频工作时,低通滤波器通常用来滤除基准时钟频率、寄生信号和其他镜像信号。 对于输出信号需要放大的应用来说,你应在增益级之前使用窄带滤波器滤除不希望有的噪声。一个三阶滤波器足以滤除大多数这种无用噪声。图3示出了输出信号的典型频谱图。该电路应用范围很广,从信号波形产生到数字调制,不一而足。你可将该电路用于扫描设备以及将频率作为激励信号来确定电路谐振的谐振设备。另一种应用是用作DLL系统的基准振荡器。

点击此处查看原文 >>

系统分类: 模拟技术   |    用户分类:    |    来源: 无分类

评论(1) | 阅读(809)
发表于:2006-11-27 17:17:46
标签:无标签

7

内容可寻址存储器CAM在交换机中的应用

内容可寻址存储器CAM(Content Addressable Memory是一种特殊的存储阵列。它具有将输入数据与CAM中存储的所有数据项同时进行比较,迅速判断输入数据是否与CAM中存储的数据项相匹配,并给出数据项对应地址和匹配信息的特点,因而被广泛地应用于通信、模式识别等领域。在某型号交换机的设计中,笔者应用MOTOROLA公司的CAM芯片——MCM69C233实现数据检索功能,既提高了系统资源的利用率,又保障了系统性能,大大缩短开发周期。

1 MCM69C233功能简述

CAM是一种基于RAM技术的存储器,数据项存储在CAM内部的阵列中。每个数据项的位数叫字宽,阵列内所有数据项的条数叫做CAM的深度,CAM的容量通过字宽和深度来表征。MCM69C233可存储4096条宽度为64 位的数据项。图1所示为MCM69C233的结构框图。
点击看大图

MCM69C233有两个数据端口:控制端口(Control Port)和匹配端口(Match Port)。控制端口用于CAM表(CAM Table)的操作,除用于数据项的增加/删除、校验、统计外,还可以读取芯片内部状态寄存器的信息。数据的检索通过匹配端口完成。尽管基于RAM技术,CAM的存储机制却与RAM大相径庭。如图1所示,MCM69C233没有用于确定内容存储地址的地址总线,地址线A0~A2用于对片内控制寄存器的寻址。在写CAM模式下,MCM69C233从控制端口数据线DQ0~DQ15读取需要写入的数据项,数据项的存储地址由芯片内部逻辑控制。

用户可对MCM69C233的匹配规则进行编程,在读CAM模式(查找匹配)时,MCM69C233直接从匹配口数据线MQ0~MQ31读入数据,并按照预先定义的匹配规则将输入数据项与阵列中的所有数据项进行并行比较。如果数据项存在,匹配口输出该数据项的索引值,且MS为0;如果数据项不存在,MS为1。由于比较过程只需一个时钟周期,所以速度极快。MCM69C233的最长匹配时间为210ns。

MCM69C233有两种工作模式:ATM模式和基本模式。ATM模式主要用于ATM交换机中对ATM信元的处理。基本模式的应用十分灵活,由于匹配规则可编程,用户可根据不同的应用场合实现检索功能。

2 应用实例

2.1 设计要求

某型号交换机根据产品定义用于ATM网络和基于以态网的城域网E-MAN(Ethernet Metropolitan Area Network)的连接。其ATM端口工作速率为155Mbps,以太网端口工作速率为100Mbps。系统数据流如图2所示。

点击看大图

  上行方向,交换机首先在系统内嵌的VP/VC通道表内检查每一个ATM信元内的虚通路值/虚链接值VPI/VCI(Virtual Path Index/Virtual Connection Index,标识一条虚通道/虚链接VP/VC)是否存在。如果存在,CPU获得该VP/VC的配置信息,准备下一步的协议处理。如果输入信元的VPI/VCI不存在,则丢弃该信元。

输入的ATM信元经协议处理后,包含在ATM信元中的以太网帧被提取出来。交换机接着对以太网帧的源MAC地址进行检索,判断该以太网帧是否来自已知的用户。如果在系统内嵌的MAC-VP/VC表中检索到该MAC地址,则表明该以太网帧来自已知的用户,系统随即刷新老化标记,将其转发至以太网接口;如果不存在,则系统将在MAC-VP/VC表中添加该MAC地址并设置老化标记,而后交换机将该以太网帧转发至以太网接口。

下行方向,系统首先以输入以太网帧的目的MAC地址为关键字在MAC-VP/VC表中进行检索,该地址就是上文提到的源MAC地址。如果目的MAC地址不存在,则将输入的以太网帧转换为ATM信元,向所有用户端口广播;如果匹配成功,交换机获得与该MAC地址对应的VPI/VCI,将以太网帧转换为ATM信元,并根据VPI/VCI通道表,从指定的用户端口转发至ADSL终端,最后送达用户主机。

嵌入式实时控制系统的性能主要取决于两方面:硬件平台的运算性能和算法的优越性。其中硬件平台的运算性能最为关键,这一点在交换机中表现得由为突出。按照设计要求,ATM信元的VPI/VCI检索必须在1/4~1/2的信元接收时间内完成,即684ns~1.37μs,以太网帧的MAC地址的检索时间不能超过5.12μs。因此首先要保证数据检索任务的响应速度;其次,由于交换机数据流量大,对于本系统的ATM端口,系统每秒必须处理约365,566帧ATM信元,数据检索任务十分繁重;另外,除了业务数据的ATM-Ethernet双向协议处理外,交换机还必须完成SNMP(Simple Network Management Protocol)协议处理、命令行处理等任务,所以还必须解决数据检索对系统资源的占用问题。

提高性能的方法一般有两种,最直接的方法就是采用高性能的硬件平台,如采用分布式控制系统,一个CPU用于协议处理,另一个CPU用于网管等事务处理;或者协议处理部分由ASIC完成,事务处理部分由CPU实现。但这些方案会带来硬件成本的大幅提高。另外一种方案就是采用更优化的算法。通过分析发现,尽管利用软件实现对ATM信元的VPI/VCI和以太网帧的MAC地址检索并不复杂,但由于检索次数频繁,大量的系统资源被占用,系统的响应速度大大降低,满足不了大流量数据通信的要求。因此纯软件算法解决不了数据检索部分对资源占用的问题。为提高系统的响应速度,必须将这两部分数据检索的任务分离出来由硬件实现,协议处理部分还由CPU完成。数据检索模块和协议处理模块并行工作,两部分通过数据耦合,既可以提高模块的内聚度,又增强了算法的健壮性;并且利用硬件实现数据检索还可以提高检索速度,降低系统资源的占用率。
点击看大图

  利用硬件进行数据检索,通常采用两种策略一种是利用FPGA或CPLD等可编程逻辑器件定制数据检索单元。本系统两种地址的数据结构并不复杂,定制简单数据结构的检索单元体现不了可编程逻辑器件功能强大、灵活性强等优越性,并且这类器件的开发难度相对较大,完成后还需要相当长一段时间进行测试。另一种策略是选择CAM实现数据检索。两者比较,本系统采用CAM。根据系统设计,本交换机采用两块CAM实现数据检索功能,MAC-CAM用于以太网帧的MAC地址检索,ATM-CAM用于ATM信元的VPI/VCI检索,如图2所示。

2.2 检索算法设计

下面根据系统设计方案,以MAC-VP/VC表为例说明以太网侧数据检索功能的实现。如图3所示,MAC-VP/VC表由硬件、软件两个子模块构成。MAC-CAM表实现MAC地址到偏移地址的查询,这部分由硬件实现;RAM表实现偏移地址到配置信息的查询,这部分由软件实现;两者通过偏移地址耦合。本系统将每一个VP/VC认为是一个用户端口,VP/VC的值保存在用户端口域。

当进行MAC地址检索时,CPU首先以MAC地址为关键字通过MAC-CAM表的检索得到对应的偏移地址a,然后再根据公式(1)得到RAM表中该MAC地址的存储位置,并由此地址获得相关配置信息。RAM表中标志域1、标志域2分别表示用户MAC地址的状态信息,限于篇幅这里不详述了。

RAM地址=基地址 + a×b    (1)

公式(1)中,基地址是RAM表的起始地址;a是通过MAC-CAM表查询得到的偏移量,即MAC地址的索引值;b表示RAM表中的一个表项的宽度为多少字节。

与MAC-VP/VC表的实现基本相同,VPI/VCI通道表的实现也分为两部分,一部分由硬件CAM实现,另一部分由软件实现。执行VPI/VCI检索时,CPU先通过CAM得到某VPI/VCI的偏移地址,然后再根据该偏移地址得到RAM表中保存的具体配置。

正是通过MAC-VP/VC表和VPI/VCI通道表,本系统实现了ATM网络与E-MAN的交换。

2.3 检索算法的实现

按协议规定MAC地址占48位,表示为6字节的数组。图4和图5分别表示了MAC-CAM表中MAC地址的高32位数据和低16位数据的数据结构。

图6所示为MAC地址索引项的数据结构,它分为两部分:最高位为匹配标志(MS),0表示匹配成功,1表示匹配失败;匹配输出的低16位为MAC地址的索引(macIndex),用户可按需要对其进行定义,如MAC地址00-3C-CD-17-65-AB的索引值为0x03EF。

不同的协议要求,VPI/VCI表的数据结构与MAC表的数据结构并不相同。但由于处理方式相近,这里就不赘述了。

MCM69C233的匹配规则由通用屏蔽字(Global Mask)制定。进行检索时,MCM69C233将检索内容与通用屏蔽字进行按位或运算,1表示屏蔽该位的值,0表示对该位敏感。从上文可看到,两种数据检索的数据结构大不相同,因此需要不同的匹配规则。根据本系统设计要求,ATM信元的检索只对VPI/VCI敏感,因此通用屏蔽字为0xFF00_0000_FFFF_FFFF,即忽略GFC字段和PHY地址标识段。对于MAC地址的匹配操作,通用屏蔽字为0x0000_0000_0000_FFFF,即48位匹配。通用屏蔽字的设定必须在CAM初始化时完成。

在执行匹配操作前,CAM须进行初始化。由于ATM-CAM和MAC-CAM的工作模式不同,因此两者的初始化过程亦不尽相同。下面以ATM-CAM为例,用伪码形式说明初始化过程。

atmCamInit()

{

Set ATM_CAM working on ATM mode;

Set the Global mask register for VPI/VCI translation;

Set the ATM_CAM to fast entry mode;

Input VPC table;

Initialize VPC table;

}

对于ATM-CAM,首先必须设定工作模式,ATM-CAM工作于ATM模式;然后对通用屏蔽字进行设置,以保证正确的匹配规则;紧接着,将ATM-CAM设为快速输入模式(Fast entry mode,当需要将大量数据写入CAM时,该模式能加快输入速度),将预先定义好的VPI/VCI-Channel Code表写入CAM;最后执行表初始化指令。至此,ATM-CAM能够正常工作了。前面已提到,MAC表的形成是通过自学习得到的,因此MAC-CAM的初始化并不需要该过程。另外,MAC-CAM工作在基本模式,MCM69C233上电后,默认工作模式为基本模式。因此MAC-CAM的初始化只需要两步,通用屏蔽字的设置和表初始化。

图4、图5和图6

    匹配操作通过对匹配口读/写完成。匹配口数据线只有32位。由于MAC地址占48位,因此需要两次写操作才能完整地将一个MAC地址表达出来;而VPI/VCI只占24位,因此只需一次写操作就可以了。下面以MAC地址的检索为例说明CAM的匹配操作过程。

当进行MAC地址检索时,CPU先向匹配口写入如图4所示的低32位数据,其中高16位有效,低16位可以为任意值;紧接着CPU向匹配口写入如图5所示的高32位数据;随后CPU读匹配口,就可得到如图6所示的结果。如果被查询的MAC地址存在,则MS位为0,macIndex为有效输出;如果被查询的MAC地址不存在,则MS位为1,macIndex为输出无效。上述过程可通过伪码表示如下:

STATUS macCamCheckEntry 

{

Write low 32-bit word to match port in first cycle

Write high 32-bit word to match port in second cycle

Read 32-bit result from match port

If MS flag is “1”

There is no such Entry

Else return macIndex

}

3 运行结果

某交换机的运行结果表明, 采用CAM, 交换机的以太网端口能工作在100Mbps,基本满足设计要求;如采用软件搜索方法, 则只能达到30Mbps。

点击此处查看原文 >>

系统分类: 通信网络   |    用户分类:    |    来源: 无分类

评论(0) | 阅读(926)
发表于:2006-11-25 21:09:13
标签:无标签

11

BGA布线规则

BGAPCB上常用的组件,通常CPUNORTH BRIDGESOUTH BRIDGEAGP CHIPCARD BUS CHIP…等,大多是以bga的型式包装,简言之,80﹪的高频信号及特殊信号将会由这类型的package内拉出。因此,如何处理BGA package的走线,对重要信号会有很大的影响。

       通常环绕在BGA附近的小零件,依重要性为优先级可分为几类:

1.          by pass

2.          clock终端RC电路。

3.          damping(以串接电阻、排组型式出现;例如memory BUS信号)

4.          EMI RC电路(以dampinCpull height型式出现;例如USB信号)。

5.          其它特殊电路(依不同的CHIP所加的特殊电路;例如CPU的感温电路)。

6.          40mil以下小电源电路组(以CLR等型式出现;此种电路常出现在AGP CHIP orAGP功能之CHIP附近,透过RL分隔出不同的电源组)。

7.          pull low RC

8.          一般小电路组(以RCQU等型式出现;无走线要求)。

9.          pull height RRP

1-6项的电路通常是placement的重点,会排的尽量靠近BGA,是需要特别处理的。第7项电路的重要性次之,但也会排的比较靠近BGA89项为一般性的电路,是属于接上既可的信号。

相对于上述BGA附近的小零件重要性的优先级来说,在ROUTING上的需求如下:

1.    by pass                               =>   CHIP同一面时,直接由CHIP                                  pin接至by pass,再由by pass拉出打viaplane;与CHIP不同面时,可与BGAVCCGND pin共享同一个via,线长请勿超越100mil

2.          clock终端RC电路             =>   有线宽、线距、线长或包GND等需求;走线尽量短,平顺,尽量不跨越VCC分隔线。

3.          damping                                 =>   有线宽、线距、线长及分组走线等需求;走线尽量短,平顺,一组一组走线,不可参杂其它信号。

4.          EMI RC电路                        =>   有线宽、线距、并行走线、包GND等需求;依客户要求完成。

5.          其它特殊电路               =>   有线宽、包GND或走线净空等需求;依客户要求完成。

6.          40mil以下小电源电路组     =>   有线宽等需求;尽量以表面层完成,将内层空间完整保留给信号线使用,并尽量避免电源信号在BGA区上下穿层,造成不必要的干扰。

7.          pull low RC                        =>   无特殊要求;走线平顺。    

8.          一般小电路组               =>   无特殊要求;走线平顺。

9.          pull height RRP                   =>   无特殊要求;走线平顺。

 

为了更清楚的说明BGA零件走线的处理,将以一系列图标说明如下:

点击看大图

 

A.     BGA由中心以十字划分,VIA分别朝左上、左下、右上、右下方向打;十字可因走线需要做不对称调整。

B.     clock信号有线宽、线距要求,当其RC电路与CHIP同一面时请尽量以上图方式处理。

C.     USB信号在RC两端请完全并行走线。

D.     by pass尽量由CHIP pin接至