引 言
为了实现网络信息处理,嵌入式系统中必须具有强大的网络连接功能。嵌入式系统的网络连接功能不仅需要传输信息,同时还必须具有相应的信息识别能力,以提高系统的网络安全性。
近年来在嵌入式系统和SOC(片上系统)技术发展的推动下,嵌入IP协议的微处理器或单片机系统已经出现[3],为嵌入式网络技术的应用奠定了基础。但对于工业设备来说,特别是对于工业生产中使用的仪器仪表,采用软件嵌入IP协议存在无法并行处理和成本过高的缺点。因此,采用硬件实现IP协议具有重要的意义。
IP硬件电路设计有嵌入处理器和ASIC两种方法。使用嵌入处理器的方法设计IP协议时,需要选择相应的处理器和附加电路,并根据所嵌入的处理器编制相应软件实现IP协议。这种方法可以采用已有的IP协议软件,软件实现比较方便。使用ASIC技术设计IP协议属于硬件实现IP方法,IP协议的执行全部为硬件执行。这种实现方法具有的优点就是IP协议的执行不受软件干扰,具有一定的IP协议层抗干扰能力。ASIC实现IP协议实现的是一个专用数字硬件电路,只需要通过相应的控制信号就可以实现IP协议的功能,具有比较高的性能价格比。
针对工业设备对IP协议的需要,本文设计并实现了一个能完成IP协议功能的ASIC器件。对于工业控制设备来说,这种器件就是一个实现IP功能的专用器件,只要把要发送的数据传送给该器件,就可以实现通信过程与控制系统并行操作。任何数字化的工业设备,都可以使用这个IP协议器件直接连接到基于IP的网络。
一、 协议分析与IP电路结构设计
IP协议的功能,是对来自上层协议的数据进行打包和解包处理,通过数据报在一个个IP协议模块间传送,直到数据报到达目的模块[2]。互联网网络中每个主机和网关设备上都有IP模块,数据报在一个个模块间通过路由处理网络地址传送到目的地址。IPv4的数据报报头格式如图1所示。IP在提供网络层服务时,采用了统一的报头,以使处于各子网中的IP都能根据报头对数据作出相应的处理。
IP中使用以下4个关键技术实现数据报传输:
(1)服务类型(ToS)。ToS是一个参数集,代表Internet能够提供的服务,用于指定用户所希望得到的服务质量。服务类型由网关使用,可用于特定的网络或是用于下一个要经过的网络,也可用于下一个要对数据报进行路由选择的网关上选择实际传送的参数。
(2)生存时间(TTL)。生存时间是用户设置的数据报在网络传输过程中的保存时间。生存时间由发送者设置,由所经过的路由处理。如果在到达目的节点之前生存时间已经为零,则IP就会自动抛弃此数据报。
(3)选项(options)。选项包括时间戳、安全和特殊路由要求等。对于控制函数来说选项是重要的,但对于通常的通信来说一般没有必要。
(4)报头校验码(checksum)。设置报头校验码的目的,是保证数据的正确传输。如果校验出错,IP将抛弃整个数据报。必须注意,与一般工业控制系统使用的简单通信协议不同,IP协议发现校验码出错后,并不立即通知发送端,而是放弃刚刚接收到的一段报文,把纠正报文出错的任务留给TCP协议完成。这种方式不仅提高了通信效率,还可以简化传输质量,保证程序。
在设计IP协议ASIC硬件电路中,有几个问题需要考虑:
(1)应用系统的核心处理器,通过控制信号实现对IP协议器件的使用操作,因此,必须考虑如何通过硬件电路实现核心处理器与IP硬件电路之间的数据交换。
(2)如果IP硬件应用于终端设备(例如工业控制系统的控制设备)而不是作为交换节点,IP协议中有关路由选择处理的部分可以省略。
(3)为保证IP协议的健壮性,电路设计中必须十分注意电路并行协议操作中不同电路部分的延时不均匀问题。所有功能电路的延时不超过允许范围,必要时要牺牲速度,保证协议操作的正确性。
(4)如果每次传输的数据量不大(例如作为工业设备组成的工业网络控制系统),可以不考虑IP协议中的报文分片处理。应用系统只要使每次发送的数据长度符合一个IP数据报的长度要求,就能正确无误地利用IP网络传输数据。这样不仅可以简化硬件电路,还能节省缓冲存储器的容量。
根据以上讨论,IP专用电路的设计,实际上就是通过计数器、寄存器、RAM来实现外部握手和内部流水线处理电路。由于接收与发送互相独立,电路设计中可以把接收和发送分为两个各自独立的部分。由此,IP协议ASIC专用电路结构框图如图2所示。
图 2 ASIC实现IP协议的电路模块结构
二、 IP协议ASIC电路握手操作
IP协议器件中,发送电路的任务是对要发送的数据进行加IP报头的处理,再把打好包的IP数据报发送给MAC层。接收电路的任务是对接收到的IP报进行报头校验和拆报处理,最后把数据传输给微处理器系统。
设计IP协议硬件电路,一个重要的问题就是数据报的接收和发送机制。使用硬件实现IP协议的关键有两个:一个是流水线操作,另一个是数据存储方式。
流水线操作是指IP协议的实现操作采用流水线方式,各操作步骤实行并行处理。作为网络层协议,IP协议操作的速度取决于两个因素:一个因素是数据报存储方式,另一个因素是MAC层的收发速度。从IP层所处的位置看,由于IP网络的接入网以全双工方式工作,作为硬件器件的工作时钟必须以发送和接收时钟为准。本设计中,以应用系统调用IP协议信号作为发送电路操作允许信号,MAC层调用IP协议信号作为发送和接收触发同步信号,采用同步触发时钟并行控制的技术,实现了IP协议操作步骤的流水线并行处理。
数据报中数据的存储可以有两种方式:
(1) IP协议专用RAM方式。采用这种方式时,IP协议需要有专用的接收和发送RAM。在发送操作时,应用系统先将要发送的数据写入IP专用RAM中,再调用IP协议进行发送处理。在接收操作时,MAC层将接收到的IP协议数据报写入IP专用RAM中,再由IP协议进行处理。
(2) 系统RAM方式。这种方式不需要有IP协议专用RAM,IP协议硬件通过握手线使用应用系统或MAC层中的RAM。
对比两种方式:第一种方式可以把RAM设计在IP协议电路内部,不需要占用应用系统和MAC层资源,但需要提供系统对IP协议电路进行数据传送的接口电路;第二种方法不需要采用专用RAM,因此IP协议电路比较简单,但需要在IP协议电路与应用系统和MAC层之间设计出合适的接口电路,做到既要满足IP流水线操作的要求,又不会增加应用系统资源负担。
本文设计的IP协议硬件中,采取了上述两种方式综合的方法:在IP内设置相应数量RAM模块,这个RAM模块不仅是IP协议的数据RAM,同时也是应用系统和MAC层的通信缓冲区。通过握手线与微处理器和MAC层器件连接,握手线中的时钟信号控制IP协议器件中发送或接收流水线的工作节拍,使整个协议处理实现了并行操作。电路模块如图3所示。
图 3 RAM控制逻辑
三、 流水线方式对电路延迟均匀要求的分析
硬件实现IP协议的特点是协议操作并行,所有协议操作的基本内容完全按照协议的执行内容并行完成。例如发送数据过程中数据的操作如下:
读入1字节-数据处理-发送1字节
读入1字节-数据处理-发送1字节
读入1字节-数据处理-发送1字节
……
为实现上述操作,除了需要使用外部触发信号作为统一时钟外,各部分电路延迟的误差还要受到相应的限制。
如图 4所示,IP协议硬件电路采用的是同步时序电路,以便使各电路能协调并行工作。
图 4 IP协议流水线硬件结构示意图
IP协议的操作,就是对要传送的数据报进行相应处理,因此,电路是否正常由数据的稳定性决定。如果电路能在规定的时间内进入稳定状态,则数据在处理过程中就不会出现问题;否则,数据就会发生不确定性的变化,这种情况就叫作硬件电路的非正常操作结果。出现非正常操作结果的IP协议器件是不稳定的。
影响IP协议器件稳定性的因素是各级电路操作时间长度和触发时钟周期。从图4中可以看出,各级电路的操作时间长度必须小于触发信号周期,也就是说,必须在一个触发周期内完成本级电路的所有操作。根据有限状态机和时序逻辑电路理论可知,各级处理电路都必须是同步时序逻辑电路。另外,各级电路的操作时间长度取决于电路的级联层数和每级的时间延迟。由此可知,要保证IP协议器件工作稳定,必须同时满足如下2个条件:
(1) 各级模块电路处理时间必须小于最小触发周期;
(2) 各级模块电路内部延迟能满足处理时间要求。
作为硬件电路,其处理速度实际上就是数据在逻辑电路中的传输速度,因此,可以通过计算数据传输经过逻辑门的最大时间延迟,确定每级逻辑模块电路的工作时间。
在IP协议流水线操作中,设外部触发时钟周期为TCLK,各模块电路的传输延迟时间为ti,采用MOS器件的ASIC电路边沿动作时间均为tp,各模块内部传输经过N级电路,其中每一级的延迟为Δti,则每个模块电路的总延迟为
ti=NΔti
为保证器件工作稳定,需要有
TCLK>ti=NΔti
结束语
嵌入IP协议的微处理器或单片机系统是嵌入式网络技术应用的基本技术[2],但工业设备采用软件嵌入IP协议存在无法并行处理或成本过高的缺点。本文针对工业设备对IP协议需要所设计的IP协议专用器件克服了这些不足,为工业设备提供了实用的、具有较高性能价格比的网络技术。任何数字化工业设备,都可以使用这个IP协议器件直接连接到基于IP的网络。
硬件实现的IP协议,其并行工作的数字电路系统必须保证数据处理的稳定性。根据有限状态机和时序逻辑电路理论,实现并行工作的各级处理电路都必须是同步时序逻辑电路。
使用ASCI技术设计IP协议属于硬件,是并行操作实现IP协议技术,不仅IP协议的执行不受软件和系统中断干扰,还具有一定的IP协议层抗干扰能力。由于ASIC实现的IP协议是一个专用数字硬件电路,只需要通过相应的控制信号就可以实现IP协议的功能,具有比较高的性能价格比。