7
6GK7243-1EX01-0XE0诚信经营
从DCS的基本结构和PLC的区别来讲,DCS为分散控制系统的英文(TOTALDISTRIBUTED CONTROL SYSTEM)简称。指的是控制危险分散、管理和显示集中。60年代末有人研制了作逻辑运算的可编程序控制器(Programmable Logic Controller)。简称PLC。主要应用于汽车制造业。70年代中期以完成模拟量控制的DCS推向市场,代替以PID运算为主的模拟仪表控制。
提出DCS这样一种思想的是原制造仪表的厂商,当时主要应用于化工行业。后又有计算机行业从事DCS的开发。70年代微机技术还不成熟,计算机技术还不够发达。操作站、控制器、I/O板和网络接口板等都是DCS生产厂家自行开发的,也就是所有部件都是的。70年代初,有人用如PDP/1124这样的小型机代替原来的集中安装的模拟仪表控制。连接到控制室的电缆很多。如用小型机既作为控制器、同时把连接小型机的CRT又作为显示设备(即人机界面)。一台小型机需接收几千台变送器或别的传感器来的信号,完成几百个回路的运算。很显然其危险有点集中。和模拟仪表连接的电缆一样多,并且一旦小型机坏了,控制和显示都没有了。数字控制没有达到预期的目的。后有人提出把控制和显示分开。一台计算机完成控制计算任务,另一台计算机完成显示任务。另外,一个工艺过程作为被控对象可能需要显示和控制的点很多,其中有一些还需要闭环控制或逻辑运算,工艺过程作为被控对象的各个部分会有相对立性,可以分成若干个立的工序,再把在计算机控制系统中立的工序上需要显示和控制的输入、输出的点分配到数台计算机中去,把原来由一台小型机完成的运算任务由几台或几十台计算机(控制器)去完成。其中一台机器坏了不影响全局。所谓“狼群代替老虎”的战术,这就是危险分散的意思。把显示、操作、打印等管理功能集中在一起,用网络把上述完成控制和显示的两部分连成一个系统。当时有人把这种系统称为集散系统。
危险究竟要分散到多少算合适呢?这与当时的计算机技术的发展水平有关。70年代中期,分散就是一个控制器完成一个回路的运算。当时由于人们对数字技术不太熟悉,习惯于模拟仪表,70年代末、80年代曾经风行回路控制器,把数字控制器做成和原来模拟仪表在外观上几乎一样,不改变操作习惯 ,内部把PID运算数字化。一块仪表(一台计算机)完成一个回路的控制任务。其价格较为昂贵,但危险是分散了。然后用通讯网络把各个控制器和以CRT为基础的人机界面连成一个系统。这时网络结构通常都是星形结构。回路的控制器的制作成本太高,价格/性能比不好。后来为了减,就有两回路的、四回路的控制器, 它的价格/性能比稍好一些。对于一个大中型系统来说,DCS的价格/性能比比回路控制器组成的系统要好。有些特殊地方还是要用到一些回路控制器。如果所要完成的回路太多,如一个控制器采集几千点、完成几百个回路的运算,危险又太集中。在这种情况下,危险必需分散。随着计算机技术的发展,计算机的运算能力、存储容量和性不断提高,一台计算机所完成的任务也可以增加。完成的任务也可集中一点。另外,控制器、网络等冗余技术也得到了发展,控制运算也可集中一些。
另外,繁忙时行车间隔为4min30s,而站台上行自动扶梯实际运送乘客的时间仅约30s,可见地铁车站客流量的时空分布不平衡。
因此,有必要研究利用LonWorks现场总线技术实现地铁车站自动扶梯与站台屏蔽门的联动,并且实现自动扶梯根据分布不平衡的客流量智能化的进行调整的设计方案。
2 系统总体设计
2.1 控制网络
本系统包括:自动扶梯与LonWorks的接口、屏蔽门与LonWorks的接口、LonWorks神经元芯片、连接自动扶梯的总线、车站工作站(含网关)、车站到全线光纤环网的交换机、全线光纤环网、控制计算机8个部分。
整个网络采用总线拓朴结构,分为n个子网,每个车站为一个子网。车站工作站挂接在车站LonWorks总线上,可以对本站的自动扶梯进行控制。n个车站的LonWorks子网通过网关和光纤环网交换机挂接在全线光纤环网(以太网)上,控制计算机也挂接在光纤环网上,可以对全线的自动扶梯进行控制,系统的网络结构如图3所示。
2.2 系统功能
2.2.1 站台自动扶梯与屏蔽门的联动
当上行/下行列车到站、该侧屏蔽门打开后,系统自动检测屏蔽门打开信号,然后向相应区域的自动扶梯传送开启信号,这些自动扶梯就开启正常模式。
当上行/下行列车离站、该侧屏蔽门关闭后,系统自动检测屏蔽门关闭信号,然后向相应区域的自动扶梯传送关闭信号,自动扶梯通过红外线漫反射探测入口无人,延时运行30s节能模式(用变频器低速运行)后关闭。
当系统检测到上行/下行屏蔽门被紧急手动开启时,马上向所有区域的自动扶梯传送开启信号,车站所有的自动扶梯开启正常模式。此时需要在车站工作站上人工进行复位操作,才能将车站自动扶梯转为正常运行模式。
2.2.2 车站自动扶梯的运行图模式
运行图就是车站根据每日客流量在时间上的变化来调整开启自动扶梯的数目和运行模式(正常和节能模式)。例如,早7点—9点是上班高峰期,故此时车站的自动扶梯全部以正常模式开启;而9点—12点为次低峰期,则此时车站的自动扶梯一半以正常模式开启、一半以节能模式开启。运行图模式可以多套,以便在不同的情况下灵活使用,如冬季模式、夏季模式、节日模式等。
2.2.3 车站工作站和控制计算机
车站工作站设置在车站控制室内,可以控制车站内的自动扶梯;控制计算机可以控制全线车站的自动扶梯。
2.3 人机界面
人机界面可以从LonWorks网络上信息,也可以把控制命令发送给网络上的控制节点,从而完成相应的控制任务。
3 系统控制网络开发
3.1 节点定义和功能分配
每个节点采用LonWorks神经元芯片作为应用程序处理器。其中,节点1用于接收屏蔽门车站MMS发出的开门、关门、紧急开门信号,通过内部应用程序比较内部存储的开梯数据表后,向应开启的自动扶梯所在的节点发出开启自动扶梯的信号;节点2~n用于接收节点1和车站工作站的命令,并向车站工作站反馈所在自动扶梯的状态信息。
3.2 LonWorks与自动扶梯的接口
LonWorks与自动扶梯的接口应用在节点2~n上。节点2~n与自动扶梯间的信号有两类,类是节点发送给自动扶梯的指令———上行、下行、停止,这些都是开关量。二类是自动扶梯发给节点的状态信息———故障报警,这也是开关量。三类是自动扶梯发送给节点的梯级和扶手带速度信号,这两个信号由节点比较后,节点决定速差是否过设定值,如过,则节点给自动扶梯发送停止指令。以下分别讨论开关量的接口和速度信号的接口。
3.2.1 开关量的接口
LonWorks神经元芯片通过IO0~IO10共11个管脚与的外部硬件相连,这些IO管脚可以组成34种对象类型,其中就有Bitbbbbb/output(位输入/输出)类型。自动扶梯的上行、下行、停止、故障报警4个信号分别使用IO0、IO1、IO2、IO3
3.2.2 速度信号的接口
自动扶梯有3个脉冲速度信号。个是安装在驱动电机主轴后端的位移传感器,通过电机的转动采集自动扶梯梯级的运动速度;二个是安装在左扶手带导向轮主轴上的位移传感器,通过扶手带导向轮跟随扶手带的转动采集左扶手带的运动速度;三个是安装在右扶手带导向轮主轴上的位移传感器,作用同二个传感器。通过把这三个位移传感器采集到的脉冲信号进行比较,就可以判断自动扶梯的梯级与左右扶手带的速度差是否出了预定的标准。
这里采用LonWorks神经元芯片的Pulsecoun(脉冲计数)输入对象采集这三个脉冲信号。Pulsecount输入对象可以在0.839s的固定时间内对输入管脚的输入边沿数(上升沿或下降沿)进行计数,在这个固定时间内采集到的脉冲个数将由函数io_in()返回一个unsignedlong类型的值。在这个LonWorks系统中,就是从3个IO口数据,然后分别由函数io_in()返回3个值,再比较这三个值的差来判断梯级与扶手带的速度差是否出预定标准的。脉冲信号分别输入神经元芯片的IO5、IO6、IO7口,见图4。
3.3 屏蔽门与LonWorks的接口
屏蔽门与LonWorks的接口应用在节点1上。
屏蔽门与车站EMCS系统的通信链路通过一路RS232接线连接。屏蔽门系统的状态与故障情况由屏蔽门PEDC(PlatbbbbEdgeDoorController)传送到车站EMCS系统。因此,此系统将这条RS232连接线作为节点1的输入信号。神经元芯片3120接收串行输入对象由管脚IO8实现,串行输出对象由管脚IO10实现。但是,这两个管脚只有TTL输入电平和标准CMOS电平,因此还需加上Motorola的MC145407芯片,将IO管脚的TTL电平转换为符合RS232标准的EIA232C电平。EIA232C与LonWorks神经元芯片的接口电路见图5。
3.4 为神经元芯片编写应用程序
神经元芯片的任务调度采用事件驱动的方式:当给定的条件变为真时,与该条件相关联的一段代码被执行。NeuronC是一种专门为神经元芯片设计的程序设计语言,以下举例说明神经元芯片应用程序的编写。
3.4.1 自动扶梯接收网络变量并开启、关闭的程序
#include<snvt_lev.h> //包含文件
#defineESC_OFF0 //定义常量ESC_OFF,缺省值为0
#defineESC_UP1 //定义常量ESC_UP,缺省值为1
#defineESC_DOWN1 //定义常量ESC_DOWN,缺省值为1
networkbbbbbSNVT_lev_discnv_psd=PSD_ON; //定义网络变量nv_psd:屏蔽门的状态值
networkbbbbbSNVT_lev_discnv_esc=ESC_UP; //定义网络变量nv_esc:自动扶梯上行或下行
IO_1outputbitio_ESC_OFF; //将管脚IO_2声明为位输出对象,并命名为io_ESC_OFF
IO_2outputbitio_ESC_UP; //将管脚IO_3声明为位输出对象,并命名为io_ESC_UP
IO_3outputbitio_ESC_DOWN; //将管脚IO_4声明为位输出对象,并命名为io_ESC_DOWN
#definePSD_ON1 //定义常量PSD_ON:屏蔽门开启为1
#definePSD_OFF0 //定义常量PSD_ON:屏蔽门关闭为0
#definePSD_ALARM10 //定义常量PSD_ALARM:屏蔽门报警为10
when(nv_update_occurs(nv_esc)) //当输入网络变量的值新时,执行该任务
{io_out(io_ESC_DOWN,(nv_esc=ESC_UP)?ESC_OFF:
ESC_DOWN); //如果nv_esc不为1,则自动扶梯接到指令应该下行,则io_ESC_DOWN输出为1,自动扶梯下行运行
if(nv_esc=ESC_DOWN) //如果收到下行指令
gotoSTOP; //则不继续执行下面与屏蔽门联动的程序
elsebreak;} //如果没有收到下行指令,则继续执行下面与屏蔽门联动的程序
when(nv_update_occurs(nv_psd)) //当输入网络变量的值新时,执行该任务
{io_out(io_ESC_OFF,(nv_psd=PSD_OFF)?ESC_OFF:ESC_UP); //如果nv_psd为0,屏蔽门关闭,则io_ESC_OFF输出为0,自动扶梯关闭
io_out(io_ESC_UP,(nv_psd=PSD_ALARM)?ESC_UP:ESC_OFF); //如果nv_psd为10,屏蔽门手动开启,则io_ESC_
UP输出为1,自动扶梯上行运行
io_out(io_ESC_UP,(nv_psd=PSD_ON)?ESC_UP:ESC_OFF);} //如果nv_psd为1,屏蔽门打开,则io_ESC_UP输出为1,自动扶梯上行运行STOP:……
以上这段程序是应用网络变量来在此分布式系统中进行数据共享的。即当节点1发出网络变量nv_psd时,节点2~n收到此网络变量,开始执行以上的应用程序,并向IO1~IO3发送相应的高低电平信号,开启或关闭自动扶梯。另外,节点1也可以通过发送报文的形式给节点2~n发送屏蔽门状态信息。
3.4.2 节点1发送开启自动扶梯报文的程序
select_ESC(nv_psd,ESC_Noumber); //调用子程序select_ESC根据nv_psd的值查表后得出应开启或关闭的自动扶梯节点号
msg_tag(ESC_Noumber); //定义报文发送对象(即自动扶梯节点号)
#definePSD_ON1 //定义常量PSD_ON:屏蔽门开启为1
#definePSD_OFF0 //定义常量PSD_ON:屏蔽门关闭为0
#definePSD_ALARM10 //定义常量PSD_ALARM:屏蔽门报警为10
when(io_changes(nv_psd)to1) //当nv_psd的值改变为1时执行以下操作
{msg_out.tag=(ESC_Noumber);//报文标签标志符
msg_out.code=PSD_ON; //报文码
msg_out.data=1; //报文数据
msg_send();} //发送报文
节点1的神经元芯片根据nv_psd的值,通过另外一个子程序select_ESC来判断应该开启或关闭几号自动扶梯,而子程序select_ESC就包含了查找车站自动扶梯使用的季节模式、节日模式、省电模式等的信息的功能。以上这些功能模式都可以事先根据图1和图2等信息,制作成数据表,存放在神经元芯片的ROM中。
同理,节点1~n使用网络变量或报文的形式,向车站工作站发送状态信息;而车站工作站也通过网络变量或报文,向节点2~n发送指令信息。这样,此系统的神经元芯片应用程序就编制完成了。
3.5 安装网络
使用Echelon公司的LonProfiler和LonMaker安装网络即可。LonProfiler定义所有的网络组件,LonMaker用于安装网络。当设备挂接到网络上后,LonMaker可以将所有的设备整合与协调起来。
3.6 人机界面的开发
此系统的人机界面可由美国WonderWare公司的InTouch组态软件设计完成。
4 结语
随着现场总线技术的日益成熟和大众化,使多的设备有了、率、高性的实现集中和智能监控的可能。LonWorks现场总线技术虽然是一项新技术,但它的优点使得LonWorks总线成为当前为流行的现场总线之一。通过运用这一技术,使地铁车站自动扶梯实现与屏蔽门联动的智能控制,是有很大的应用前景的。



1 引言
随着嵌入式微处理器主频的不断提高,信号的传输处理速度越来越快,当系统时钟频率达到100MHZ以上,传统的电路设计方法和软件已无法满足高速电路设计的要求。在高速电路设计中,走线的等长、关键信号的阻抗控制、差分走线的设置等越来越重要。笔者所在的武汉华中科技大学与武汉中科院岩土力学所智能仪器室合作.以ARM9微处理器EP9315为的嵌入式系统完成工程检测仪的开发。其中在该嵌入式系统硬件电路设计中的SDRAM和IDE等长走线、关键信号的阻抗控制和差分走线是本文的,同时以cirrus logic公司的网络物理层接13芯片cs8952为例详细介绍了网络部分的硬件电路设计,为同类高速硬件电路设计提供了一种可借鉴的方法。
2 硬件平台
2.1主要芯片
本设计采用的嵌入式微处理器是Cirrus Logic公司2004年7月推出的EP93XX系列中的产品EP9315。该微处理器是高度集成的片上系统处理器,拥有200兆赫工作频率的 ARM920T内核,它具有ARM920T内核所有的优异性能,其中丰富的集成外设接口包括PCMCIA、接口图形、可接两组设备的EIDE、 1/10/100Mbps以太网、3个2.0全速HOST USB、SDRAM通道的LCD接口、触摸屏接口、SPI串行外设接口、AC97接口、6通道I2S接口和8*8键盘扫描接口.并且支持4组32位 SDRAM的无缝连接等。
主芯片丰富的外设接口大大简化了系统硬件电路.除了网络控制部分配合使用Cirrus Logic公司的100Base—X/10Base-T物理层(PHY)接口芯片CS8952外,其他功能模块增加额外的控制芯片。
2.2系统主体结构
由图1可见.系统以微处理器EP9315为,具有完备的外设接口功能,同时控制工程检测仪。IDE/CF卡接口为工程数据提供大容量移动存储设备;扩展32M的SDRAM作为外部数据存储空间;3个主动USB接口支持USB键盘鼠标;LCD接口支持STN/TFT液晶和触摸屏.为用户提供友好的交互界面;1/10/100 Mbps以太网为调试操作系统时下载内核及工程时远程监控提供途径;面板按键为工程人员野外作业无法使用键盘鼠标时提供人机交互接口。
EP9315在操作系统下主频达到200M,总线频率100M,外设时钟为50M,数据线和地址线的布线密度大,速度高,网络部分对差分线和微带线控制有特殊要求。以往使用Probbb设计主要依照经验进行PCB布局布线,显然这种方法无法满足当前的高速电路设计。ENCE公司作为EDA领域大的公司之一,其PCB设计工具性能上的优势在高速电路设计中越来越明显,故笔者使用ENCE公司的PCB设计布局软件Allegro完成高速电路设计。
3 设计实现
3.1 SDRAM的布线规则
该嵌入式系统使用64M字节的SDRAM扩展数据存储区,由两片K4S561632组成工作在32位模式下。频率可达100M以上,对于SDRAM的数据线、时钟线、片选及其它控制信号需要进行线长匹配,由此提出以下布线要求:
1. SDRAM 时钟信号:时钟信号频率较高,为避免传输线效应,按照工作频率达到或过75MHz时布线长度应在1000mil以内的原则及为避免与相邻信号产生串扰。走线长度不过1000mil,线宽10mil,内部间距5mil,外部间距30mil,要求差分布线,匹配差分对走线。误差允许在20mil以内。
2. 地址,片选及其它控制信号:线宽5mil,外部间距12mil,内部间距10mil。尽量走成菊花链拓补。可有效控制高次谐波干扰,可比时钟线长,但不能短。
3. SDRAM数据线:线宽5mil,内部间距5mil,外部间距8mil,尽量在同一层布线,数据线与时钟线的线长差控制在50mil内。
根据布线要求,在Allegro中设置不同的约束:针对线宽设置3 个约束SDRAM_CLK,SDRAM_ADDDR,SDRAM_DATA,设置完约束后将约束添加到对应的net上。使得各个net都具有线宽、线距约束属性。后为不同的信号组选择合适的约束即可。但是设置的约束在系统CPU内部是无法达到的。因为EP9315为BGA封装。pin间距1.27毫米,显然在CPU内部,线宽线距无法达到上述要求,利用Allegro设置CPU特殊走线区域cpu_area。并加上area属性,在此区域中另设置适合 BGA内部走线的约束。
3.2 Xnet在IDE总线等长布线中的应用
3.2.1系统中的IDE接口设计
EP9315强大的外设接口能力能够直接驱动IDE硬盘 ,布线时需要注意IDE总线的等长设置,但是IDE总线这类高速线需要端接匹配,可以防止信号反射和回流。如图2所示其中的排阻起到了端接匹配的作用,但使得整个走线被分为好几个NET,而Allegro中常用的走线长度设置 propagation_delay和relative_propagation_delay只能针对同一NET设置.IDE总线信号由EP9315扇出,要求EP9315到IDE接口走线DD*+UBDD*(如图2中NET)等长,误差为+/-20mil,简单的方法是分别设置DD*等长和 UBDD*等长,误差各位+/-10mil,就可以达到要求,但是增加了布线难度,特别当DD*有较大绕线空间。而UBDD*没有足够绕线空间时。这样设置等长不可行。Allegro提供了一种方法,将DD*和UBDD*走线相加再进行等长比对,这就要用到Xnet。
3.2.2 Xnet概念和Xnet等长设置
通常把连续的几段由无源元件(电阻,电容或电感)连接的NET合称为Xnet,如图3所示。
Xnet示例
图2中将DD*和UBDD*设置为同一个Xnet。对属于该Xnet的所有信号等长控制。Xnet等长设置分为以下步骤:
1.设置Xnet
选择要设置Xnet的器件(图2中为排阻RA1-RA4),创建ESpiceDevice model,Allegro将自动填入模型名称,电路类型-Resistor,PIN连接顺序:1,8,2,7,3,6,4,5,表示1和8是一个电阻 (见图2)。至此,查看排阻两边NET都添加了同一Xnet属性。
2.Xnet的等长设置
(1)建立Xnet的pin pair:在Allegro中打开constraint manager,选择relative_propagation_delay属性。已设置的Xnet自动显示,选择Xnet建立pin pair,Allegro提供整个项目中Xnet关联的起始pin和结束pin。选择需要等长设置的起始pin和结束pin。
(2)建立等长 group:选中所有需要设置等长的pin pair,创建名为R_IDE_DATA的MATCH GROUP,在与relative_ propagation_delay对应的工作窗体选择区中出现了刚创建的R_IDE_DATA,其内含建立的pin pair,按照IDE总线走线等长要求设置走线误差10mil以内,一般选择长走线为基准线(target)。
(3)走线完成后,重新打开constrait manager对实际走线进行分析,Allergo自动显示分析结果,表示走线以基准线为标准。走线误差在10mil以内。红色表示走线误差过10mil,如果分析结果,大部分走线都为红色,可以适当调整基准线的选择。
此外,Allegro在等长走线时。会实时显示走线长度是否在误差范围内,可以使用蛇型线调整走线长度。这些都大的确保了布线性。
3.3差分线和阻抗控制在网络布线中的应用
3.2.1物理层接口芯片cs8952布线准则
CS8952使用CMOS技术。提供一个的100Base-X/10Base-T物理层(PHY)线路接口。它使自适应均衡器达到优化的抗扰性和抗近端串扰(NEXT)性。可将的应用扩展至过160米的电缆,它结合了一个标准介质无关端口(MII),可简便地连接微处理器EP9315的介质访问控制器()。
以下一些PCB布线规则,将使得CS8952工作加稳定并得到良好的EMC性能:
1. 使用多层电路板,至少有一个电源层,一个地层,叠层设置为:top,gnd,VCC,bottom。使用底层pcb走信号线只作为二选择。把所有的元件都放在层。然而,旁路电容*越靠近芯片越好,放置在CS8952下方的底层pcb上。RJ45终端元件和光纤元件可以选择放在底层。
2.4.99k的参考电阻应该越靠近RES管脚越好,把电阻另外一端使用一个过孔接到地平面。邻近的vss(85和87脚)接在电阻接地端,形成一个屏蔽。
3.对关键信号Tx+/-,RX+/-,RX_NRz+/-控制阻抗,作为微带传输线(差分对100欧,单线60欧),MII信号作为68欧微带传输线。
4.差分传输线布线应靠近(线宽间距6-8mil),与其他走线、元件保证2个线宽的距离。TX和RX差分对布线远离彼此。必要时使用pcb的相对面。
3.2.2网络部分关键信号差分走线和阻抗控制的设置
网络部分差分线及其阻抗控制以信号Tx+/-为例。步骤如下:
1.在Allegr o的assign diff pair菜单中选择建立差分对的信号Tx+/-,命名为TX_Pair。
2.按照对信号TX+/-阻抗控制要求计算差分对线宽、线距,如图4所示,选择走线层面top层,填入差分对阻抗100欧,单线阻抗60欧,得到线宽10.1mil,主要线间距8.1mil。
3.定义差分对TX_PAIR电气约束条件:
主要线宽,线间距:10mil/8mil;
次要线宽/线间距:10mil/8mi;
线小间距:6mil;
两条线无法走到一起时允许的线长:100mil;
两条线可允许的误差值:25mil。
4.分配差分对TX_PAIR到电气约束集,打开差分对DRC模式。
以上实现差分对走线和阻抗控制的方法在涉及到大量差分对的通信系统电路中非常简单实用。
4 结语
笔者利用强大的PCB设计软件Allegro实现了基于EP9315嵌入式系统的硬件电路设计。该板采用6层PCB布线,满足高速电路设计中对等长、差分、阻抗控制的要求。 基于该电路设计的嵌入式系统与武汉中科院岩土力学所设计的SY5声波工程检测仪实现了良好接口,与由51单片机搭建的原 SY5 声波仪相比,改系统功耗降低,体积变小,稳定性增强,成本降低,适合工业控制中的运用。