CN108614792B - 1394事务层数据包存储管理方法及电路 - Google Patents

1394事务层数据包存储管理方法及电路 Download PDF

Info

Publication number
CN108614792B
CN108614792B CN201611140180.9A CN201611140180A CN108614792B CN 108614792 B CN108614792 B CN 108614792B CN 201611140180 A CN201611140180 A CN 201611140180A CN 108614792 B CN108614792 B CN 108614792B
Authority
CN
China
Prior art keywords
data packet
data
transmission
buffer
sending
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201611140180.9A
Other languages
English (en)
Other versions
CN108614792A (zh
Inventor
田泽
魏美荣
吴晓成
何嘉文
王宣明
李哲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Xiangteng Microelectronics Technology Co Ltd
Original Assignee
Xian Aeronautics Computing Technique Research Institute of AVIC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Aeronautics Computing Technique Research Institute of AVIC filed Critical Xian Aeronautics Computing Technique Research Institute of AVIC
Priority to CN201611140180.9A priority Critical patent/CN108614792B/zh
Publication of CN108614792A publication Critical patent/CN108614792A/zh
Application granted granted Critical
Publication of CN108614792B publication Critical patent/CN108614792B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4059Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0012High speed serial bus, e.g. IEEE P1394

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

本发明涉及一种1394事务层数据包存储管理的电路及方法。电路包括发送链头队列FIFO缓冲区模块、发送数据帧描述符缓冲区模块、发送数据包缓冲区模块和事务层发送缓存管理控制模块。发送链头队列FIFO缓冲区模块的输入端与PLB的输出端口相连接;数据帧描述符缓冲区模块和发送数据包缓冲区模块与PLB双向连接;发送链头队列FIFO缓冲区模块的输出端与事务层发送缓存管理控制模块的输入端相连接;数据帧描述符缓冲区模块、发送数据包数据区模块与事务层发送缓存管理控制模块双向连接;事务层发送缓存管理控制模块的输出端与外部链路层连接。适用于1394总线等时和异步传输模式,能够有效实现等时传输模式实时性大量传输数据。

Description

1394事务层数据包存储管理方法及电路
技术领域
本发明属于计算机硬件控制领域,涉及一种1394事务层数据包存储管理电路及方法。
背景技术
Mil-1394总线作为新一代机载高速总线,主要用于机载子系统内部互联和子系统之间的数据交互,支持异步传输和等时传输方式。在不同的传输速率模式下,IEEE1394协议规定在S100B、S400B速度模式下,能能发送的数据包的最大长度分别是512Bytes、2048Bytes,在1394通信过程中,对于携带大量数据信息超过协议限定的数据包长度时,就需要对这种数据包进行组织、拆分成协议限定长度内的数据包,对于这种拆分过后的各个小数据包传统方法采用存储器连续存储的方式或基于FIFO存储器的消息队列方式,采用这种设计控制复杂,消耗资源多,且扩展受限不利于满足1394总线通信实时性和准确性的通信需求,尤其对数据包的缓存管理效率严重制约着事务层对上层应用数据包的存储转发速度,如何选取合适的缓存管理方法成为关键。
发明内容
本发明的目的是:
提供一种1394事务层数据包存储管理方法及电路,用以满足1394总线等时传输时大量数据包实时性传输的要求,也适应1394总线异步传输应用无损传输数据的情况,提高缓存管理的效率,加速网络总线数据的存储转发速度。
本发明的解决方案是:
本发明提供一种1394事务层数据包存储管理方法,其方法包括以下步骤:
步骤1、首先,1394事务层进行系统总线复位,外部上层应用软件根据1394总线网络通信需求,即不同的传输速率模式下数据包传输长度不同,如果数据包长度超过规定速度模式下限定的数据包长度,则由外部上层应用软件根据IEEE1394协议限定的最大数据包长,将异步通道或等时通道待发送传输的数据包进行组织、拆分成各分段小数据包,其次,外部上层应用软件根据异步通道和等时通道待发送数据包的特点设置发送数据包缓冲区模块内部异步或等时发送数据缓冲区的基地址和大小,设置发送数据帧描述符缓冲区模块内部异步或等时发送数据帧描述符缓冲区的大小,其中,如果数据帧个数多、数据包长度小则可以将描述符缓冲区设置大些,数据缓冲区设置小些,否则将描述符缓冲区设置小些,数据缓冲区设置大些。
步骤2、根据上述步骤1,首先,外部PLB接口总线将上述各分段小数据包输出给发送数据包缓冲区模块,即外部PLB接口总线判断各分段小数据包类型,如果是异步类型分段小数据包,则外部PLB接口总线将该分段小数据包存入发送数据包缓冲区模块内部的异步发送数据包缓冲区内,如果是等时类型分段小数据包,则外部PLB接口总线将该分段小数据包存入发送数据包缓冲区模块内部的等时发送数据包缓冲区内;其次,外部PLB接口总线根据异步或等时分段小数据包在发送数据包缓冲区模块内存储起始地址偏移量、数据包编号、数据包类型和数据帧的总长度的索引信息输出给发送数据帧描述符缓冲区模块内部等时或异步发送数据帧描述符缓冲区相应的区域;
步骤3,根据上述步骤2,首先,发送数据帧描述符缓冲区模块接收到这些索引信息,判断当前数据包的数据包类型是等时还是异步,如果是等时分段小数据包,则将该索引信息存储到发送数据帧描述符缓冲区的等时帧发送数据帧描述符缓冲区内,存储完成之后,如果该步骤后续再接收到步骤2发送的等时分段小数据包索引信息,则将后接收的索引信息按照字地址递增的存储的方式,存储在上一个等时索引信息之后。如果是异步分段小数据包,则将该索引信息存储到发送数据帧描述符缓冲区的异步帧发送数据帧描述符缓冲区内,存储完成之后,如果该步骤后续再接收到步骤2发送的异步分段小数据包索引信息,则将后接收的索引信息按照字地址递增的存储的方式,存储在上一个异步索引信息之后。其次,发送数据帧描述符缓冲区模块根据异步或等时分段小数据包的帧描述符存储形式,即,Frame Number(当前统一数据包链上各分段数据包的个数)、数据包传输类型和ListHeader Pointer(发送数据帧描述符起始偏移指针)描述帧索引信息,发送数据帧描述符缓冲区模块将这些数据链索引信息输出给发送链头队列FIFO缓冲区模块;
步骤4,根据上述步骤3,首先,发送链头队列FIFO缓冲区模块收到这些数据链索引信息后,将其存入内部的发送链头队列FIFO缓冲区中,其次,发送链头队列FIFO将自身的“空”或“满”状态传输给事务层发送缓存管理控制模块;
步骤5,根据上述步骤4,首先,事务层发送缓存管理控制模块内部控制逻辑不断监测发送链头队列FIFO缓冲区模块内部链头队列FIFO的“空”和“满”状态,只要队列不空,事务层发送缓存管理控制模块内发送控制逻辑就从发送链头队列FIFO缓冲区读取一个数据链索引信息,获取发送数据帧描述符缓冲区各分段小数据包帧描述符信息,其次,根据数据包描述符索引信息从发送数据缓冲区模块内Data Block Header Pointer(帧起始地址偏移量)指定起始位置调度出相应数据包,并在数据搬运过程中进行错误检测,如果符合IEEE1394协议约定的等时或异步传输的数据包,则将该数据包从发送数据包缓冲区内搬运至事务层发送缓存管理控制模块的发送数据FIFO中,否则,将错误的数据包进行丢弃处理,最后,当事务层发送缓存管理控制模块检测外部链路层接收控制逻辑ready时,即准备好接红数据包,事务层发送缓存管理控制模块内发送数据FIFO中的数据包输出给外部链路层。
实现上述1394总线事务层数据包存储管理方法的电路,包括:
发送数据包缓冲区模块、发送数据帧描述符缓冲区模块、发送链头队列FIFO缓冲区模块、和事务层发送缓存管理控制模块;
发送数据包缓冲区模块,与PLB(Processor Local Bus,处理器局部总线)双向连接;外部上层应用软件根据1394总线网络通信需求,即不同的传输速率模式下数据包传输长度不同,如果数据包长度超过规定速度模式下限定的数据包长度,则需要将待发送传输的异步或等时数据包进行组织、拆分成各分段小数据包,发送数据包缓冲区模块通过PLB接口总线的输出端接收这些分段小数据包,并将其根据异步或等时数据包的类型存储在发送数据包缓冲区模块内部异步发送数据缓存区和等时发送数据缓冲区内;
发送数据帧描述符缓冲区模块,与PLB接口总线双向连接,首先,发送数据包缓冲区模块将内部等时或异步数据包存储的每个数据包位置、数据包类型、数据包编号和数据包的大小信息输出给PLB接口总线,其次,PLB接口总线将接收到的发送数据包缓冲区模块内部每个发送数据包的信息输出给发送数据帧描述符缓冲区模块,发送数据帧描述符缓冲区模块接收到这些信息,判断当前数据包的数据包类型,如果是等时数据包,则根据数据包类型、数据包编号将属于1394总线同一个数据包的各分段小数据包的描述符信息连续存储在发送数据帧描述符缓冲区模块内部的等时或异步描述符缓冲区内;
所述数据包类型包括等时和异步传输两种数据类型;
所述描述符信息包括发送数据缓冲区中的Data Block Header Pointer(帧起始地址偏移量)和Data Block Length(数据帧的总长度);
发送链头队列FIFO缓冲区模块,该模块的输入端与PLB(Processor Local Bus,处理器局部总线)的输出端口相连接,首先,发送数据帧描述符缓冲区模块将内部异步或等时描述符存存区存储各分段小数据包的存储Frame Number(当前统一数据包链上各分段数据包的个数)、数据包传输类型和List Header Pointer(发送数据帧描述符起始偏移指针)信息输出给PLB接口总线,其次,PLB接口总线将接收到的这些信息输出给发送链头队列FIFO缓冲区模块进行缓存;
事务层发送缓存管理控制模块,该模块的输入端与发送链头队列FIFO缓冲区模块的输出端相连,该模块的输入端与外部链路层连接,首先,事务层发送缓存管理控制模块不断监测发送链头队列FIFO缓冲区模块内部链头队列FIFO的“空”和“满”状态,只要队列不空,则事务层发送缓存管理控制模块内部发送控制逻辑读取发送链头队列FIFO缓冲区模块的一个链表信息,获取发送数据帧描述符缓冲区模块中的各分段小数据包描述符信息,其次,事务层发送缓存管理控制模块根据各分段小数据包描述符索引信息从发送数据缓冲区模块内Data Block Header Pointer(帧起始地址偏移量)指定位置调度出相应数据包,在数据搬运过程中进行错误检测,符合1394总线发送要求的数据包,则将数据包从发送数据包缓冲区内搬运至事务层发送缓存管理控制模块,错误的数据包则进行丢弃操作处理,当检测外部链路层ready状态时,将该数据包输出给外部链路层。
本发明具有的优点效果:
本发明是一种1394事务层数据包存储管理方法及电路,依据1394总线协议异步和等时传输的数据包类型,采用由硬件实现各数据地址存储地址的独立划分,对1394总线上大量的数据待传输的数据包,同类型数据包的缓冲区采取数据帧信息链表队列存储和数据包环形存储管理的形式,实现事务层的发送数据包的实时、快速的调度转发,其技术效果有:
a.适用于1394总线等时和异步传输模式,能够有效实现等时传输应用实时性大量传输数据,也适应异步传输应用无损传输数据的情况;
b.通过采用数据帧信息链表队列存储和数据包环形存储算法使电路设计结构简单,离散存储和动态分配的特性使外部应用软件分配数据包存储空间更加方便;
c.设置缓冲区配置开关可以灵活性配置描述符和数据缓冲区的大小,提高缓存管理的效率,加速网络总线数据的存储转发速度,可以充分利用系统缓存,节省系统存储资源。
同时,采用链表数据包队列式的动态存储管理算法设计上结构简单、使用灵活、易于扩展、可以充分利用系统缓存,节省系统存储资源。
附图说明
图1为本发明的电路结构框图;
图2发送数据帧描述符缓冲区内发送数据包描述符数据格式;
图3发送链头队列FIFO缓冲区内每条链的数据格式。
具体实施方式
下面结合附图和具体实施例,对本发明的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其他实施例,都属于本发明的保护范围。
下面结合具体实施例和附图对本发明的技术方案做进一步详细描述,请参阅图1、图2和图3。
本发明1394事务层数据包存储管理方法,包括以下步骤:
步骤1、首先,1394事务层进行系统总线复位,外部上层应用软件根据1394总线网络通信需求,即不同的传输速率模式下数据包传输长度不同,如果数据包长度超过规定速度模式下限定的数据包长度,则由外部上层应用软件根据IEEE1394协议限定的最大数据包长,将异步通道或等时通道待发送传输的数据包进行组织、拆分成各分段小数据包,其次,外部上层应用软件根据异步通道和等时通道待发送数据包的特点设置发送数据包缓冲区模块内部异步或等时发送数据缓冲区的基地址和大小,设置发送数据帧描述符缓冲区模块内部异步或等时发送数据帧描述符缓冲区的大小,其中,如果数据帧个数多、数据包长度小则可以将描述符缓冲区设置大些,数据缓冲区设置小些,否则将描述符缓冲区设置小些,数据缓冲区设置大些,可以采用寄存器形式设置发送描述符缓冲区大小,可根据具体需要进行设置。
步骤2、根据上述步骤1,首先,外部PLB接口总线将上述各分段小数据包输出给发送数据包缓冲区模块,即外部PLB接口总线判断各分段小数据包类型,如果是异步类型分段小数据包,则外部PLB接口总线将该分段小数据包存入发送数据包缓冲区模块内部的异步发送数据包缓冲区内,如果是等时类型分段小数据包,则外部PLB接口总线将该分段小数据包存入发送数据包缓冲区模块内部的等时发送数据包缓冲区内;其次,外部PLB接口总线根据异步或等时分段小数据包在发送数据包缓冲区模块内存储起始地址偏移量、数据包编号、数据包类型和数据帧的总长度的索引信息输出给发送数据帧描述符缓冲区模块内部等时或异步发送数据帧描述符缓冲区相应的区域;
步骤3,根据上述步骤2,首先,发送数据帧描述符缓冲区模块接收到这些索引信息,判断当前数据包的数据包类型是等时还是异步,如果是等时分段小数据包,则将该索引信息存储到发送数据帧描述符缓冲区的等时帧发送数据帧描述符缓冲区内,存储完成之后,如果该步骤后续再接收到步骤2发送的等时分段小数据包索引信息,则将后接收的索引信息按照字地址递增的存储的方式,存储在上一个等时索引信息之后。如果是异步分段小数据包,则将该索引信息存储到发送数据帧描述符缓冲区的异步帧发送数据帧描述符缓冲区内,存储完成之后,如果该步骤后续再接收到步骤2发送的异步分段小数据包索引信息,则将后接收的索引信息按照字地址递增的存储的方式,存储在上一个异步索引信息之后。其次,发送数据帧描述符缓冲区模块根据异步或等时分段小数据包的帧描述符存储形式,即,Frame Number(当前统一数据包链上各分段数据包的个数)、数据包传输类型和ListHeader Pointer(发送数据帧描述符起始偏移指针)描述帧索引信息,发送数据帧描述符缓冲区模块将这些数据链索引信息输出给发送链头队列FIFO缓冲区模块;
步骤4,根据上述步骤3,首先,发送链头队列FIFO缓冲区模块收到这些数据链索引信息后,将其存入内部的发送链头队列FIFO缓冲区中,其次,发送链头队列FIFO将自身的“空”或“满”状态传输给事务层发送缓存管理控制模块;
步骤5,根据上述步骤4,首先,事务层发送缓存管理控制模块内部控制逻辑不断监测发送链头队列FIFO缓冲区模块内部链头队列FIFO的“空”和“满”状态,只要队列不空,事务层发送缓存管理控制模块内发送控制逻辑就从发送链头队列FIFO缓冲区读取一个数据链索引信息,获取发送数据帧描述符缓冲区各分段小数据包帧描述符信息,其次,根据数据包描述符索引信息从发送数据缓冲区模块内Data Block Header Pointer(帧起始地址偏移量)指定起始位置调度出相应数据包,并在数据搬运过程中进行错误检测,如果符合IEEE1394协议约定的等时或异步传输的数据包,则将该数据包从发送数据包缓冲区内搬运至事务层发送缓存管理控制模块的发送数据FIFO中,否则,将错误的数据包进行丢弃处理,最后,当事务层发送缓存管理控制模块检测外部链路层接收控制逻辑ready时,即准备好接红数据包,事务层发送缓存管理控制模块内发送数据FIFO中的数据包输出给外部链路层。
实现上述1394事务层数据包存储管理方法的电路,包含发送数据包缓冲区模块1、发送数据帧描述符缓冲区模块2、发送链头队列FIFO缓冲区模块3、和事务层发送缓存管理控制模块4;
所述发送数据包缓冲区模块1、发送数据帧描述符缓冲区模块2、发送链头队列FIFO缓冲区模块3的输入端与PLB(Processor Local Bus,处理器局部总线)接口模块双向连接;发送链头队列FIFO缓冲区模块3的输出端与事务层发送缓存管理控制模块的输入端相连接;发送数据包缓冲区模块1、发送数据帧描述符缓冲区模块2与事务层发送缓存管理控制模块双向连接;事务层发送缓存管理控制模块的输出端与外部链路层输入端相连接。具体结构如图1所示:
发送数据包缓冲区模块1,用于存储异步发送通道或等时发送通道待发送数据,首先,外部上层应用软件根据1394总线网络通信需求(不同的传输速率模式下数据包传输长度不同),如果数据包长度超过规定速度模式下限定的数据包长度,则需要将待发送传输的异步或等时数据包进行组织、拆分成各分段小数据包,其次,发送数据包缓冲区模块1通过PLB接口总线的输出端接收这些分段小数据包,最后,根据异步或等时数据包的类型存储到发送数据包缓冲区模块内部(1)异步发送数据缓存区和等时发送数据缓冲区内;发送数据缓冲区存储的数据格式与事务层发送缓存管理控制模块内部的发送数据缓存FIFO中的数据格式一致,满足IEEE1394协议数据包格式要求;
发送数据帧描述符缓冲区模块2,如图2所示,用于存储发送数据包缓冲区模块1中各个分段小数据包的在发送数据包缓冲区的索引信息,首先,发送数据包缓冲区模块1将内部等时或异步数据包存储的每个数据包位置、数据包类型(等时或异步)、数据包编号和数据包的大小信息输出给PLB接口总线,其次,PLB接口总线将接收到的发送数据包缓冲区模块1内部每个发送数据包的信息输出给发送数据帧描述符缓冲区模块2,发送数据帧描述符缓冲区模块2接收到这些信息,判断当前数据包的数据包类型(等时或异步),如果是等时数据包,则根据数据包类型(等时或异步)、数据包编号将属于1394总线同一个数据包的各分段小数据包的描述符信息连续存储在发送数据帧描述符缓冲区模块2内部的等时或异步描述符缓冲区内,其中,所述描述符信息具体包括:发送数据缓冲区中的Data Block HeaderPointer(帧起始地址偏移量)和Data Block Length(数据帧的总长度)。其中,Data BlockLength的单位是字(4字节),对于异步发送,Data Block Length的有效取值范围为[3,4096];对于等时发送,Data Block Length的有效取值范围为[1,4096];Data BlockHeader Pointer(帧起始地址偏移量),左移4位表示该数据块在数据缓冲区内的头指针,其单位是4字(16字节),即发送包数据缓冲区内的数据块都是按照16字节(128位)对齐的方式进行存储的。异步发送(简写为AT)或等时发送(简写为IT)描述符缓冲区内每个描述符的第12至16比特位填写等时或异步传输的类型标识和数据包编号,如果数据传输过程中检测该部分错误,则产生错误中断;
发送链头队列FIFO缓冲区模块3,用于存储每条待发送数据链的索引信息,如下图3所示,该模块的输入端与PLB(Processor Local Bus,处理器局部总线)的输出端口相连接,首先,发送数据帧描述符缓冲区模块2将内部异步或等时描述符存存区存储各分段小数据包的存储Frame Number(当前统一数据包链上各分段数据包的个数)、数据包传输类型(等时或异步标识)和List Header Pointer(发送数据帧描述符起始偏移指针)信息输出给PLB接口总线,其次,PLB接口总线将接收到的这些信息输出给发送链头队列FIFO缓冲区模块2进行缓存;其中,发送链头队列FIFO缓冲区采用一个同步FIFO来实现,其中FIFO的大小是:宽度32位,深度128(根据具体应用可以扩展)。
事务层发送缓存管理控制模块4,用于发送调度发送数据缓冲区中的数据包,该模块的输入端与发送链头队列FIFO缓冲区模块的输出端相连,该模块的输入端与外部链路层连接。首先,当外部上层系统软件通过设置事务层发送缓存管理控制模块内部的发送使能标识有效,事务层发送缓存管理控制模块不断监测发送链头队列FIFO缓冲区模块3内部链头队列FIFO的“空”和“满”状态,只要队列不空,则事务层发送缓存管理控制模块4内部发送控制逻辑读取发送链头队列FIFO缓冲区模块3的一个链表信息,获取发送数据帧描述符缓冲区模块2中的各分段小数据包描述符信息,其次,事务层发送缓存管理控制模块4根据各分段小数据包描述符索引信息从发送数据缓冲区模块1内Data Block Header Pointer(帧起始地址偏移量)指定位置调度出相应数据包,在数据搬运过程中进行错误检测,符合1394总线发送要求的数据包,则将数据包从发送数据包缓冲区内搬运至事务层发送缓存管理控制模块4,错误的数据包则进行丢弃操作处理,当检测外部链路层ready状态时,将该数据包输出给外部链路层。
最后应说明的是,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (2)

1.一种1394事务层数据包存储管理方法,其特征在于,包括以下步骤:
步骤1、首先,1394事务层进行系统总线复位,外部上层应用软件根据1394总线网络通信需求,即不同的传输速率模式下数据包传输长度不同,如果数据包长度超过规定速度模式下限定的数据包长度,则由外部上层应用软件根据IEEE1394协议限定的最大数据包长,将异步通道或等时通道待发送传输的数据包进行组织、拆分成各分段小数据包,其次,外部上层应用软件根据异步通道和等时通道待发送数据包的特点设置发送数据包缓冲区模块内部异步或等时发送数据缓冲区的基地址和大小,设置发送数据帧描述符缓冲区模块内部异步或等时发送数据帧描述符缓冲区的大小,其中,当数据帧个数多、数据包长度小则将描述符缓冲区设置大些,数据缓冲区设置小些,否则将描述符缓冲区设置小些,数据缓冲区设置大些;
步骤2、根据上述步骤1,首先,外部PLB接口总线将上述各分段小数据包输出给发送数据包缓冲区模块,即外部PLB接口总线判断各分段小数据包类型,如果是异步类型分段小数据包,则外部PLB接口总线将该分段小数据包存入发送数据包缓冲区模块内部的异步发送数据包缓冲区内,如果是等时类型分段小数据包,则外部PLB接口总线将该分段小数据包存入发送数据包缓冲区模块内部的等时发送数据包缓冲区内;其次,外部PLB接口总线根据异步或等时分段小数据包在发送数据包缓冲区模块内存储起始地址偏移量、数据包编号、数据包类型和数据帧的总长度的索引信息输出给发送数据帧描述符缓冲区模块内部等时或异步发送数据帧描述符缓冲区相应的区域;
步骤3,根据上述步骤2,首先,发送数据帧描述符缓冲区模块接收到这些索引信息,判断当前数据包的数据包类型是等时还是异步,如果是等时分段小数据包,则将该索引信息存储到发送数据帧描述符缓冲区的等时帧发送数据帧描述符缓冲区内,存储完成之后,如果该步骤后续再接收到步骤2发送的等时分段小数据包索引信息,则将后接收的索引信息按照字地址递增的存储的方式,存储在上一个等时索引信息之后;如果是异步分段小数据包,则将该索引信息存储到发送数据帧描述符缓冲区的异步帧发送数据帧描述符缓冲区内,存储完成之后,如果该步骤后续再接收到步骤2发送的异步分段小数据包索引信息,则将后接收的索引信息按照字地址递增的存储的方式,存储在上一个异步索引信息之后;其次,发送数据帧描述符缓冲区模块根据异步或等时分段小数据包的帧描述符存储形式,即,Frame Number、数据包传输类型和List Header Pointer描述帧索引信息,发送数据帧描述符缓冲区模块将这些数据链索引信息输出给发送链头队列FIFO缓冲区模块;
步骤4,根据上述步骤3,首先,发送链头队列FIFO缓冲区模块收到这些数据链索引信息后,将其存入内部的发送链头队列FIFO缓冲区中,其次,发送链头队列FIFO将自身的“空”或“满”状态传输给事务层发送缓存管理控制模块;
步骤5,根据上述步骤4,首先,事务层发送缓存管理控制模块内部控制逻辑不断监测发送链头队列FIFO缓冲区模块内部链头队列FIFO的“空”和“满”状态,只要队列不空,事务层发送缓存管理控制模块内发送控制逻辑就从发送链头队列FIFO缓冲区读取一个数据链索引信息,获取发送数据帧描述符缓冲区各分段小数据包帧描述符信息,其次,根据数据包描述符索引信息从发送数据缓冲区模块内Data Block Header Pointer指定起始位置调度出相应数据包,并在数据搬运过程中进行错误检测,如果符合IEEE1394协议约定的等时或异步传输的数据包,则将该数据包从发送数据包缓冲区内搬运至事务层发送缓存管理控制模块的发送数据FIFO中,否则,将错误的数据包进行丢弃处理,最后,当事务层发送缓存管理控制模块检测外部链路层接收控制逻辑ready时,即准备好接红数据包,事务层发送缓存管理控制模块内发送数据FIFO中的数据包输出给外部链路层。
2.实现如权利要求1所述1394事务层数据包存储管理方法的电路,包括:
发送数据包缓冲区模块(1)、发送数据帧描述符缓冲区模块(2)、发送链头队列FIFO缓冲区模块(3)、和事务层发送缓存管理控制模块(4);
发送数据包缓冲区模块(1),与PLB双向连接;外部上层应用软件根据1394总线网络通信需求,即不同的传输速率模式下数据包传输长度不同,如果数据包长度超过规定速度模式下限定的数据包长度,则需要将待发送传输的异步或等时数据包进行组织、拆分成各分段小数据包,发送数据包缓冲区模块(1)通过PLB接口总线的输出端接收这些分段小数据包,并将其根据异步或等时数据包的类型存储在发送数据包缓冲区模块内部(1)异步发送数据缓存区和等时发送数据缓冲区内;
发送数据帧描述符缓冲区模块(2),与PLB接口总线双向连接,首先,发送数据包缓冲区模块(1)将内部等时或异步数据包存储的每个数据包位置、数据包类型、数据包编号和数据包的大小信息输出给PLB接口总线,其次,PLB接口总线将接收到的发送数据包缓冲区模块(1)内部每个发送数据包的信息输出给发送数据帧描述符缓冲区模块(2),发送数据帧描述符缓冲区模块(2)接收到这些信息,判断当前数据包的数据包类型,如果是等时数据包,则根据数据包类型、数据包编号将属于1394总线同一个数据包的各分段小数据包的描述符信息连续存储在发送数据帧描述符缓冲区模块(2)内部的等时或异步描述符缓冲区内;
所述数据包类型包括等时和异步传输两种数据类型;
所述描述符信息包括发送数据缓冲区中的Data Block Header Pointer和Data BlockLength;
发送数据帧描述符缓冲区模块(2)将内部异步或等时描述符缓冲区存储各分段小数据包存储的Frame Number、数据包传输类型和List Header Pointer信息输出给PLB接口总线,其次,PLB接口总线将接收到的这些信息输出给发送链头队列FIFO缓冲区模块(2)进行缓存;
事务层发送缓存管理控制模块(4),该模块的输入端与发送链头队列FIFO缓冲区模块的输出端相连,该模块的输入端与外部链路层连接,首先,事务层发送缓存管理控制模块不断监测发送链头队列FIFO缓冲区模块(3)内部链头队列FIFO的“空”和“满”状态,只要队列不空,则事务层发送缓存管理控制模块(4)内部发送控制逻辑读取发送链头队列FIFO缓冲区模块(3)的一个链表信息,获取发送数据帧描述符缓冲区模块(2)中的各分段小数据包描述符信息,其次,事务层发送缓存管理控制模块(4)根据各分段小数据包描述符索引信息从发送数据缓冲区模块(1)内Data Block Header Pointer指定位置调度出相应数据包,在数据搬运过程中进行错误检测,符合1394总线发送要求的数据包,则将数据包从发送数据包缓冲区内搬运至事务层发送缓存管理控制模块(4),错误的数据包则进行丢弃操作处理,当检测外部链路层ready状态时,将该数据包输出给外部链路层。
CN201611140180.9A 2016-12-12 2016-12-12 1394事务层数据包存储管理方法及电路 Active CN108614792B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611140180.9A CN108614792B (zh) 2016-12-12 2016-12-12 1394事务层数据包存储管理方法及电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611140180.9A CN108614792B (zh) 2016-12-12 2016-12-12 1394事务层数据包存储管理方法及电路

Publications (2)

Publication Number Publication Date
CN108614792A CN108614792A (zh) 2018-10-02
CN108614792B true CN108614792B (zh) 2021-03-26

Family

ID=63644068

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611140180.9A Active CN108614792B (zh) 2016-12-12 2016-12-12 1394事务层数据包存储管理方法及电路

Country Status (1)

Country Link
CN (1) CN108614792B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110958641B (zh) * 2019-11-29 2024-03-22 湖南超捷科技有限公司 一种移动终端wifi数据收发控制方法和装置
US11599649B2 (en) * 2020-06-29 2023-03-07 Rockwell Automation Technologies, Inc. Method and apparatus for managing transmission of secure data packets
CN116405733B (zh) * 2023-06-08 2023-09-19 新华三技术有限公司 一种数据传输方法及电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100200558B1 (ko) * 1996-11-04 1999-06-15 서평원 Atm망에서의 고정전송속도 트래픽의 셀 분할과 조립에 관한 장치와 방법
JPH11308255A (ja) * 1998-04-22 1999-11-05 Canon Inc データ通信システム、方法及び装置並びに記憶媒体
CN100531114C (zh) * 2004-10-22 2009-08-19 中兴通讯股份有限公司 Dsl系统中对以太网数据包进行分段处理的装置
CN101304266B (zh) * 2008-07-08 2012-08-15 张会庭 一种数字低压电力线路长度分段设置传输综合信息系统
CN105376129B (zh) * 2015-12-09 2018-09-21 中国航空工业集团公司西安航空计算技术研究所 一种1394总线事务层-链路层数据包发送电路及方法

Also Published As

Publication number Publication date
CN108614792A (zh) 2018-10-02

Similar Documents

Publication Publication Date Title
US10848442B2 (en) Heterogeneous packet-based transport
US7573896B2 (en) Method and apparatus for generic interface, packet cut-through, overbooking, queue concatenation, and logical identification priority for a system packet interface device
WO2022100411A1 (zh) 一种tsn网络转发时间特性的测量方法及终端
US6944688B1 (en) Queuing system using dual receive FIFO
CN101409675A (zh) 网络分组净荷压缩
CN108614792B (zh) 1394事务层数据包存储管理方法及电路
WO2011120467A2 (zh) 报文保序处理方法、保序协处理器和网络设备
WO2019128287A1 (zh) 基于FlexE业务的信元交换方法及系统
US8630358B2 (en) Data packet flow control across an asynchronous clock domain boundary
CN109218154B (zh) 一种基于fpga的千兆以太网到slip的转换系统
CN112395230A (zh) 一种基于可编程逻辑器件的uart接口扩展电路
CN113452591B (zh) 基于can总线连续数据帧的回路控制方法及装置
WO2019024763A1 (zh) 报文处理
CN107579894B (zh) 一种基于fpga的ebr1553总线协议实现装置
CN114490467B (zh) 一种多核网络处理器的报文处理dma系统及方法
CN109547157B (zh) 一种支持时间触发以太网的万兆网络控制器及控制方法
CN111600809B (zh) 一种千兆单光口服务器适配器
CN104714832A (zh) 一种用于机载数据网络异步数据交互区的缓冲管理方法
CN116248758A (zh) 一种高效的内核-片上网络的桥式连接结构
CN116471242A (zh) 基于rdma的发送端、接收端、数据传输系统及方法
CN114024844B (zh) 数据调度方法、数据调度装置及电子设备
CN102780639B (zh) 一种路由器线卡及数据处理方法
JP5313155B2 (ja) 時分割多重化モードにおけるデータ伝送方法及びシステム
CN111478958B (zh) 一种片上网络时钟同步资源网络接口及同步参数配置方法
CN116346720A (zh) 一种传输信息的装置和方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20221012

Address after: Room S303, Innovation Building, No. 25, Gaoxin 1st Road, Xi'an, Shaanxi 710075

Patentee after: XI'AN XIANGTENG MICROELECTRONICS TECHNOLOGY Co.,Ltd.

Address before: No.15, Jinye 2nd Road, Xi'an, Shaanxi 710000

Patentee before: AVIC XI''AN AERONAUTICS COMPUTING TECHNIQUE RESEARCH INSTITUTE

TR01 Transfer of patent right