arcnet网络协议解析设备设计.docx
《arcnet网络协议解析设备设计.docx》由会员分享,可在线阅读,更多相关《arcnet网络协议解析设备设计.docx(15页珍藏版)》请在冰豆网上搜索。
arcnet网络协议解析设备设计
arcnet网络协议解析设备设计
篇一:
ARCNET局域网的协议剖析和应用技术
ARCNET局域网的协议剖析和应用技术
1引言
ARCNET最初由美国Datapoint公司于1977年成功开发并用于办公局域网中,后来以太网以其更快的传输速率和大量的数据传输量使办公室网络的需求由ARCNET转向以太网。
而ARCNET时间的确定性,数据传输的可靠性和组网的灵活性,使其在工业实时控制系统中找到了新的应用途径―嵌入式控制系统的应用。
ARCNET广泛应用于实时控制的各个领域,诸如印刷、电力、船舶、铁路运输、楼宇自动化等领域都可以见到它的身影。
ARCNET常常嵌入到具体系统中,国外很多仪器设备都设有ARCNET网络接口标准。
目前全球已有大约1000万个ARCNET节点应用于工业控制领域中[2]。
国内的应用也有一定发展,一些技术人员开始尝试用ARCNET网络构造实时控制系统,完成国外进口产品的升级换代。
但其发展还远远不够,为了更好地推广ARCNET技术,促进工业自动化的发展,本文从ARCNET的技术及应用等角度,加以介绍。
2ARCNET工作机制
ARCNET局域网采用了优化的令牌总线协议(),除了具有令牌总线网的一般特点外,还具有如下特点:
①网络中每个节点保存有下一个节点的逻辑地址,可以生成一个网络活动节点地址表。
②为了避免目的节点没有空闲缓冲区而引起信息的丢失,设置了空闲缓冲区查询帧,通过查询可以减少不必要的数据重传,提高了网络运行效率。
ARCNET是一个真正开放标准协议,1999年成为美国国家标准ANSI/。
从OSI参考模型来看,它提供了网络的物理层和数据链路层服务,说明ARCNET能方便地在两个节点之间实现数据包的发送和接收。
逻辑环的建立
在ARCNET网络中,每个节点均有一个唯一的MAC(MediumAccessControl)地址,其取值范围为0~255,其中0是网络广播地址。
每个节点在系统初始化或重构时确定它在逻辑环中的下一个节点,并将下一个节点的ID值保存在各自专用的寄存器NID(NextID)中,并按MAC地址从小到大的顺序构成一个逻辑环路。
图1是一个典型的4个节点的逻辑环。
a网络拓扑结构b逻辑环
图1逻辑环的建立
令牌作为一组独特的信号序列,沿着逻辑环从一个节点传向逻辑邻居(而非物理邻居),因而与节点在网络上的物理位置以及网络的拓扑结构无关。
节点的进网或退网
当一个节点加电或840ms(速率下)没有收到令牌时,它即发出一个重构脉冲,使总线终止一切活动,造成令牌丢失,从而引发系统重构。
经过重构形成新的逻辑环,新节点也就加入网络中。
重构时间的多少取决于网上节点的多少和数据传输速率的大小,通常为20~30ms。
当一个节点由于故障或断电而退出网络时不需要进行整个逻辑环的重构,因为当逻辑环的上一个节点(存有退网节点的ID值)向它发送令牌时,不可能收到它的响应,因而令牌发送者将它的NID值加1,重发令牌,直到收到响应,即找到逻辑环中新的下一个节点为止(实际上新的下一个节点就是故障节点在原逻辑环的下一个节点),节点的退网也就完成。
根据现场实际情况,多数网络故障是节点故障,对于ARCNET网络,只需该节点退网,即可保证网络中其它节点正常工作。
由于节点退网无需网络重构,因而网络故障恢复时间很短。
网络中节点的增加或退出都是由网络自动完成,不需外界的介入。
数据的接收和发送
ARCNET局域网的数据传输速率为~10Mbps,其用户数据的长度为0~507字节,有两种ARCNET数据帧模式,其中短帧模式用户数据的最大长度为253字节,长帧模式用户数据的最大长度为507字节,只要按一定的格式将用户数据写入协议控制器内置的2KRAM中,在数据发送时,协议控制器会自动将其组织到ARCNET的数据帧中。
传输数据在协议控制器内置的2KRAM中的存放格式如图2所示。
地址短帧模式长帧模式
1
2
.
.
.
.
.
.SIDDID256-N未用DATA1DATA2..DATA
N-1
2
5
5DATAN511DATAN0123.....SIDDID0512-N未用DATA1DATA2.DATAN-1
N为用户数据的长度;SID为源节点地址;DID为目的节点地址;DID为0表示广播地址
图2传输数据在2KRAM中的存放格式
在数据传送的过程中,一旦源节点CPU将待发的用户数据写入协议控制器的内部RAM,在该节点持有令牌时,相当于接收到令牌传送帧(ITT,InvitationtoTran***it,简称令牌),首先向目的节点发送一个空闲缓存查询帧(FBE,FreeBufferEnquiry),查询目的节点是否有足够的接收缓存,目的节点如有,则回答一个确认帧(ACK,Acknowle-dgement),否则回答一个否认帧(NAK,NegativeAcknowledgement)。
源节点只有收到来自目的节点的ACK帧后才向其发送一个含有用户数据的数据帧(PAC,Packet)。
如果目的节点收到了数据,且通过了CRC校验,则回送一个ACK帧,告诉源节点数据接收成功,否则目的节点不回发任何信息,导致源节点超时,源节点认为数据发送失败,等下一次收到令牌时重发该数据帧,至此节点传输过程结束,令牌被传递给下一个节点。
图3是节点156向节点255发送数据包的具体过程。
a等待令牌信号b检查是否可发送
c可发送回答确认d送出数据
e发送完成f令牌传向下一个节点
图3数据的传送过程
ARCNET支持广播消息。
广播消息发出后无需回送确认帧,通过消息广播一次可以将消息传送给网络上的所有节点,可见广播速度很快。
3ARCNET局域网的性能分析
安全机制
ARCNET局域网通过下列几种途径确保数据的安全传输。
①数据发送前通过发送FBE帧对目的节点的接收准备进行确认。
②每个数据帧中都含有一个CRC-16的帧校验序列。
③一旦令牌丢失,将引发重构,自动重构网络。
④协议控制器提供强大的网络故障诊断功能。
此外,由于协议控制器内置2KRAM,可储存8页短帧模式的用户数据和4页长帧模式的用户数据。
即使节点CPU不读取RAM中的数据,数据充满RAM也无关紧要,当RAM要溢出时,节点CPU在收到FBE帧时可回送NAK帧,使RAM不再接收数据,此时源节点将不再发送数据,将令牌传送给下一节点,因此,即使某一节点无法通信,整个网络也不会锁闭。
数据吞吐量和总开销
由于ARCNET使用令牌传送机制来仲裁节点对网络的访问权,因而网络性能在时间上是可预测的或可确定的。
正是由于ARCNET的时间可确定性,使其在工业实时控制领域中的应用经久不衰。
反映局域网性能的一个重要参数就是“一个节点在能够发送信息之前必须等待的时间”,这个参数表示了各个节点每秒钟能发送的信息数,也就是网络的吞吐量。
在的数据传输速率下,ARCNET协议控制器执行简单的令牌传送约需μs(协议控制器响应时间μs+令牌码传送时间μs),因而令牌绕逻辑环一周的传递时间为×Nnodes(μs),Nnodes为网络中活动节点数,一个节点从接收到令牌到发送数据为止,共需μs的处理时间,传输每个字节需11个时钟周期,一个字节的传输时间为11×400ns=μs(速率为时,每个时钟周期为100ns)。
因此令牌绕逻辑环一周最坏
篇二:
基于FPGA的ARCNET网关设计
基于FPGA的ARCNET网关设计
摘要:
为了实现列车中分散于各车辆中的设备的协调工作,列车通信网络在初期串行通信总线的基础上逐步发展起来的;为了解决列车上ARCNET列车通信网络与主控制台的通信问题,ARCNET网关的设计迫在眉睫,为此设计一款基于FPGA的ARCNET网关,采用altera公司的Cyclone芯片作为核心芯片,使用SOPCBuilder创建NiosII,编写驱动极其初始化程序通过JTAG下载到FPGA芯片上完成协议转换的功能。
关键词:
FPGA,ARCNET,COMXX2,以太网
1、概论
现场可编程门阵列FPGA芯片集成度高,体积小,具有通过用户编程是实现专门应用的功能。
使用FPGA芯片可以大大缩短系统的研发周期,减小资金的投入。
另外,采用FPGA芯片可以将原来的电路板极产品集成为芯片级产品,从而降低了功耗,提高了可靠性,同时还可以很方便的对设计进行修改【1】。
ARCNET(AuxiliaryResourceComputerNetwork)是一种基于令牌传递(TokenPassing)协议的现场总线。
最初是由美国Datapoint公司在20世纪70年代末作为办公自动化网络发展起来的。
该现场总线具有速度快、确定性、可扩展性和支持长距离传输等特点,非常适合过程实时控制。
近年来被广泛应用在各种自动化领域,是一种理想的现场总线技术[2]。
2、网络接口硬件设计
ARCNET网络接口硬件设计包括2个部分,分别是设计能够实现操作系统运行的基本硬件电路和实现网络接口功能的协议控制器电路,其设计电路框架如图1所示。
图1网络接口硬件设计图
基本硬件电路设计
基本硬件电路的基本功能是运行操作系统,是网络接口能够工作的核心,实现电源供应、电路复位、程序的FLASH存储与
RAM运行及JTAG接口。
电源模块
整个网络接口采用12V变压供电。
由于FPGA芯片等芯片需要采用V供电,其中FPGA核还需要供电,某些外围芯片需要采用5V供电,所以12V向5V转换,采用LM1117实现
5V向V转换,采用LM1117实现向转换。
JTAG和AS下载接口
JTAG是一种嵌入式调试技术,它在芯片内部封装了专门的电路测试访问口(TAP),通过JTAG测试工具对内部节点进行测试[3]。
标准的JTAG接口是4线:
TMS,TCK,TDI,TDO,分别为测试模式选择、测试时钟、测试数据输入、测试数据输出。
JTAG还常用于系统编程ISP,如对FLASH器件进行编程等。
AS(ActiveSerial)是FPGA重要的配置方式,由FPGA器件引导配置操作过程,它控制着外部存储器和初始化过程。
配置数据通过DATA0引脚送入FPGA。
配置数据被同步在DCLK输入上,1个时钟周期传送1位数据。
LCD显示模块
LCD液晶显示可以灵活显示各种数字文字,显示内容丰富,显示屏体积小、功耗低。
串行接口,外围驱动电路设计比较简单,显示能力的扩展不涉及到硬件
电路的修改,可扩展性很强6。
本设计采用的是LCD1602模块,主要显示协议转
换过程中出现的错误,以便工作人员能够简单明了的发现错误。
FLASH和SDRAM模块
FLASH存储器是一种可在系统中进行电擦写,掉电后信息不丢失的存储器。
它具有低功耗、大容量、擦写速度快、可整片或分扇区在系统编程或擦除等特点,并且可由内部嵌入的算法完成对芯片的操作。
网络接口存储芯片采用Am29LV160BFLASH芯片以及HY57V281620A的SDRAM。
协议控制器电路设计
协议控制电路由RJ45接口、以太网控制芯片和ARCNET协议控制芯片COMXX2组成,主要实现ARCNET协议和以太网协议的相互转换。
以太网模块
以太网协议转换芯片采用DM9000A,该芯片集成了16K的SRAM;以太网口10M100M、半双工自适应;支持VLAN,能透明传输IEEE8021Q超长帧,RJ45口支持直连和交叉自动识别功能;功耗低,供电电压在到之间;支持处理器接口处理字节或者对内存数据操作的I/O命令的字。
ARCNET协议控制芯片
ARCNET协议控制芯片采用COMXX2,芯片封装了令牌传递ARCNET协议,支持微控制接口的自动检测。
芯片内含2KB双口RAM、最小逻辑与微控制器接口、软件编程节点ID、电源诊断、CMOS,V供电。
并支持配置协议,工作温度在-40~85℃。
该芯片由48脚封装,支持多种微处理器(MCU)和收发接口,时钟频率为20MHz。
RJ45接口设计
本设计采用常用的以太网接口10100basetxRJ45接口,支持10兆和100兆自适应的网络连接速度,常见的RJ45接口有两类:
用于以太网网卡、路由器以太网接口等的DTE类型,还有用于交换机等的DCE类型。
DTE我们可以称做“数据终端设备”,DCE我们可以称做“数据通信设备”[4]。
3、SOPC系统开发
SOPC设计具体包括以32位NiosII为核心的嵌入式系统的硬件配置、硬件设计、硬件仿真、软件设计及软件调试;SOPC系统设计的基本软件工具包括:
QuartusII,用于完成NiosII系统的综合、硬件优化、适配、编程下载以及硬件系统调试等;SOPCBuilder,是AlteraNiosII嵌入式处理器开发包,用于实现NiosII系统的配置、生效;ModelSim,用于对SOPC生成的NiosII系统的HDL描述进
行系统功能仿真;NiosIIIDE,用于进行软件开发、调试以及向目标开发板进行Flash下载【5】。
Builder硬件开发
硬件系统开发主要是使用SOPCBuilder创建NiosII,为接下来的软件应用程序提供运行的平台。
NiosII嵌入式处理器是FPGA厂商Altera公司推出的软核处理器,是一种面向用户、可以灵活定制的通用RISC(精简指令集架构)嵌入式CPU。
NiosII以软核方式提供给用户,并专门为在Altera的FPGA上实现做了优化,用于SOPC集成,最后在FPGA上实现。
NiosII系统设计的核心部分是添加CPU及外设IP模块,软件本身自带了很多IP核,例如FLASH,SDRAM,UART,JTAG等等,但是不是所有的IP核都能找到,有些也需要自己创建,软IP通常是以硬件描述语言HDL源文件的形势出现,应用开发过程与普通的HDL设计也十分相似,只是所需的开发硬软件环境比较昂贵。
软IP的设计周期短,设计投入少,为后续设计留有很大的发挥空间,增大了IP的灵活性和适应性。
IIIDE软件开发
NiosIIIDE为软件开发提供4个主要的功能,工程管理器、编辑器和编译器、调试器以及闪存编程器。
[8]HAL系统库是一个轻量级的运行环境,NiosIIHAL系统库提供了一个基于ANSIC库的运行环境,并提供了简单的和硬件通信的设备驱动程序。
由于SOPCBuilder和NiosIIIDE紧密的集成,在SOPCBuilder生成硬件系统以后,NiosIIIDE能够自动生成对应的HAL系统库,在创建软件项目时,NiosIIIDE自动生成并管理HAL系统库。
数据的发送和接收可采用中断方式。
中断服务程序通过检查中断状态寄存器来判断是发送中断请求还是接收中断请求。
初始化完成后,即可创建任务,建立套接字,绑定端口,绑定完之后,再监听端口。
发送数据,当以太网芯片接收到数据包时,可由EPH模块察看此数据包的目的地址,则把此数据包传送到以太网芯片的RAM中,并向处理器发送中断,由处理器进行数据处理。
由于采用的是TCP/IP协议,接收数据应调用read()函数来接收建立连接的套接字中的数据,并将其放入缓冲区。
发送过程则是由FPGA将数据传送到COMXX2I,再由COMXX2I将接收到的数据封装成数据包,并检测网络,当没有数据传输时,再将数据包传输到网络中,并向处理器发送中断信号,以表示数据传送完毕。
发送数据时通过调用write()函数可将要发送的数据发送到指定连接的目的地址。
接受数据则是反过来实现的。
4结束语
本文介绍了基于FPGA的ARCNET网关设计,随着信息技术革命和计算机技术的飞速发展,SOPC嵌入式软核处理器以其高性能、低成本、设计灵活、扩展性强等优点,将逐步得到电子设计行业的认可,目前已经被多家公司所采用。
在丰富多彩的电子产品设计和市场的巨大需求,加之有诸多有事,SOPC嵌入式软核处理器应用前景将更加广阔。
[1]周润景,图雅,张丽敏.基于QuartusII的FPGA/CPLD数字系统设计实例[M].电子工业出版社,XX,P414
[2]倪文波,王雪梅.高速列车网络与控制技术〔M〕.成都:
西南交通大学出版社,XX.
[3]江守亮,胡鹏飞.基于ARM的ARCNET网接口设计[J].铁道运营技术,XX,10.
[4]
[5]王刚,张潋.基于FPGA的SOPC嵌入式系统设计与典型实例〔M〕.北京:
电子工业出版社,XX.
[6]邢方方,程延海,张世举,李梦晗,朱真才.基于AT89S51单片机车间温湿度控制系统设计[J].煤矿机械,XX,09
[7]刘虎,肖永田,章军.基于AMBA总线接口的以太网IP核.计算机工程[J].XX,11
[8]孙恺,程世恒.NiosII系统开发设计与应用实例[M].北京:
北京航空航天大学出版社,XX.
篇三:
ARCnet网络
ARCnet
ARCnet是Datapoint公司1977年开发成功的一种局域网,目前仍具有较大的使用范围,
并作为NetwareLAN的敷缆系统.ARCnet使用RG-62同轴电缆,而这种电缆刚好与IBM3270终端和IBM主机相连的电缆相同,所以这种网络在大量IBM机的使用基地得到广泛应用.ARCnet现在也可使用双绞线和光纤.新型的ARCnetplus速率已从原来的/s增加(转载于:
小龙文档网:
arcnet网络协议解析设备设计)到100Mb/s(使用光纤时).这种网络使用的媒体访问法为令牌总线.
ARCnet使用的媒体有同轴电缆和双绞线,它对双绞线要求较低,电话线中多余的双绞线便可作此用途,因为ARCnet仅需要一对线,而且数据速率较低.然而,最好不要使用这种方式,因为当你要升级到也使用双绞线的其它技术时会产生问题
一、ARCnet的构件
在构造ARCnet网络时,所用关键硬件设备有两种:
其一是有源Hub,其二是无源Hub.所谓有源Hub是指一种设备,可对网络信号进行分裂信号加以分裂.它无放大功能,不需要电源,只是将信号加以分裂.正因为无放大功能,无源Hub的电缆长度远不如有源Hub.这是ARCnet网络构成时的主要构件.
除Hub外,第二种构件是ARCnet网卡,通常能以同轴电缆和双绞线两种方式之一进行工作.当同轴电缆卡要联接到双绞线网络时,必须使用一种称作banlun的设备,这是一种小型设备,可将同轴电缆联接器转换为双绞线联接器.
第三种构件是93Ω的终结器。
使用同轴电缆时,任何不用的无源Hub端口或电缆都要用终端器终接;使用双绞线时,终接器插入位于电缆末端的网卡上.
二、ARCnet的网络结构
ARCnet布缆方式有两种:
一种是总线型,另一种是星型总线型.下面分别介绍这两种类型的ARCnet.
1.总线结构
总线结构与Ethernet细缆方式相类似,如图1所示.ARCnet总线最大长度为305m,可联接的设备最多8个.设备与总线的联接通过T型联接器,该联接器的顶部与电缆相连,底部与网卡相连.电缆两端必须用93Ω的电阻终结
.
以上是使用同轴电缆的情况,如果使用双绞线,上述规定会有一定变化.在这种情况下使
用菊链结构,即适合双绞线媒体的网卡有两个端口:
一个用于连接服务器,另一个用于连接
下一个PC机.如此级链时最多可连接10个PC机,双绞线最大距离不超过122m(400英尺).第一
个网卡和第二个网卡都必须用93Ω终接器终接.
2.星形总线结构
这种物理布线是以Hub为中心,形成一种多星形互连在一起的结构,如图2所示.这种结构
之所以称为总线是由于所有工作站共享公共电缆
.
这种结构可使用电缆,也可使用双绞线.在使用电缆时,星形总线通过使用Hub分裂信号
来形成.Hub可以是有源的,也可以是无源的.如果使用有源Hub,有源电缆变插入其端口之一,
其余的端口连接工作站.工作站与有源Hub的最大距离为610m(XX英尺).当使用双绞线时,需要使用有源Hub,Hub与文件服务器相连,工作站也与其直接相连.在
这种方式下,服务器或工作站与有源Hub之间的距离最大可为1220m(4000英尺).网卡上不用
的端口必须用93Ω的终接器短接.
三、ARCnet布线规则
ARCnet可以多种方式配置,因此,这里只能给出典型使用情况下的方法.由于使用双绞线和同轴电缆有不同的规范,因此布线规则将分别加以说明.然而,不管使用那种媒体,ARCnet应遵循下述通用规则:
①有源Hub可以连接到其它有源Hub或无源Hub,也可连接到工作站.
②无源Hub可连接到有源Hub和工作站,但不能直接连接到其它无源Hub.
③在ARCnet中不能形成环路.所谓环路是指一根电缆出自某一Hub,经其它Hub,最后又连
回到起始Hub.
④必须对无源Hub不使用的端口进行终接.
同轴电缆总线设计规则
ARCnet使用总线结构时,在305m(1000英尺)的最大距离上使用RG-62型电缆最多可级连8个
工作站.在总线结构下,使用T型连接器连接工作站,一个总线段必须用93Ω的终接器在两端加
以终接.
ARCnet同轴电缆可与有源Hub提供的星型结构相结合.在这种情况下,总线一端连接到有源
Hub上.一个8端口的有源Hub可连接的工作站总数为8X8=64.?
如果要连接两个有源Hub,每个有
源Hub的一个端口可用来连接有源Hub,?
那么每个有源Hub?
可支持56个工作站,两个有源Hub则
可支持112个工作站.表1为同轴电缆总线的配置规范.
表1ARCnet同轴电缆规范
双绞线总线设计规则
首先指出,使用双绞线在功能和逻辑上都有等价于同轴电缆总线.用于双绞线的
网板备有两个6插针的模块化插座,用来菊链ARCnet网板,最大可菊链10个工作站,长
度不超过122m(400英尺).工作站之间的最小间隔为(6英尺).
双绞线结构可与有源Hub提供的星型拓扑结构组合,将总线的一端连接到有源Hub
便可进行这种组合.表2示出了ARCnet双绞线规范.
表2ARCnet双绞线规范
四、ARCnet的操作
ARCnetLAN的站传输像总线型LAN一样是广播式的,但对总线的访问决定于令牌.为说明这种网络的