CN111177042A - 一种帧处理方法和帧存储装置 - Google Patents
一种帧处理方法和帧存储装置 Download PDFInfo
- Publication number
- CN111177042A CN111177042A CN201911262752.4A CN201911262752A CN111177042A CN 111177042 A CN111177042 A CN 111177042A CN 201911262752 A CN201911262752 A CN 201911262752A CN 111177042 A CN111177042 A CN 111177042A
- Authority
- CN
- China
- Prior art keywords
- frame
- storage block
- state
- data
- reading
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明属于机载总线技术领域,涉及一种帧处理方法和帧存储装置。帧处理方法包括:在读取帧数据时,首先读取帧状态,在帧状态指示可读/写时,从帧存储块中读取帧数据,同样,在向帧存储块写入帧数据时,首先确定帧存储块对应的帧状态,在帧状态指示可读/写时,将帧数据写入所述帧存储块。同时,帧处理方法每完成读写操作时,都要及时更新帧状态。本发明提供的方法及装置,采用帧状态管理措施,支持了总线节点在飞行控制等安全关键领域的应用场景,具有较高的灵活性,避免了CPU读取错误问题,且减少了现有乒乓操作的RAM存储资源,在保证正确性的前提下,大大提高了通信效率。
Description
技术领域
本发明属于机载总线技术领域,涉及一种帧处理方法和帧存储装置。
背景技术
基于SAE AS6003协议的时间触发总线技术已经逐步在机载系统应用。作为一种确定性的通信技术,其具备有高确定性、时间同步精度高、时间触发通信、成员关系及确认安全等通信特点。同时,作为一种应用在发动机控制系统、机电管理系统、飞行控制系统等时间触发总线,对其提出了更高应用要求。
现有帧数据在存储时,会存储到缓存中,CPU直接从缓存中读取数据,但是,可能存在CPU读取时,帧数据正在写入的情况,可能会导致CPU读取错误。
发明内容
本发明解决的技术问题为:本发明提供一种帧处理方法和帧存储装置,通过交接状态进行帧存储管理,及序号管理进行余度帧数据管理,具有较高的灵活性,解决了CPU读取帧数据的错误问题,或减少现有乒乓操作的RAM存储资源,在保证正确性的前提下,大大提高了通信效率。
本发明的技术方案为:
本发明一方面提供一种帧处理方法,应用于帧存储装置,所述装置包括:双口RAM;所述双口RAM包括至少一个存储条;每个所述存储条包括帧状态存储块和帧存储块;所述帧存储块用于接收并存储帧数据;所述帧状态存储块用于存储帧数据对应的帧状态,所述方法包括:
在读取帧数据时,读取帧状态存储块中存储的帧状态;
在所述帧状态指示可读/写时,从所述帧状态存储块对应的帧存储块中读取帧数据。
可选的,所述方法还包括:
在从所述帧状态存储块对应的帧存储块中读取帧数据时,将所述帧状态存储块中的帧状态更新为正在读/写;
当从所述帧状态存储块对应的帧存储块中读取帧数据完毕时,将所述帧状态存储块中的帧状态更新为可读/写。
可选的,还包括:
在向帧存储块写入帧数据时,确定所述帧存储块对应的帧状态存储块中的帧状态;
在所述帧状态指示可读/写时,将帧数据写入所述帧存储块。
可选的,还包括:
在将帧数据写入所述帧存储块时,将所述帧状态存储块中的帧状态更新为正在读/写;
在将帧数据写入所述帧存储块完毕时,将所述帧状态存储块中的帧状态更新为可读/写。
可选的,所述帧状态存储块还用于存储帧数据的序号。
可选的,所述在读取帧数据时,读取帧状态存储块中存储的帧状态,包括:
在读取帧数据时,读取帧状态存储块中存储的帧状态和序号。
可选的,所述方法还包括:
将帧数据写入所述帧存储块,将所述帧数据的序号写入所述帧存储块对应的帧状态存储块。
本发明另一方面提供一种帧存储装置,包括:双口RAM;
所述双口RAM包括至少一个存储条;每个所述存储条包括帧状态存储块和帧存储块;所述帧存储块用于接收并存储帧数据;所述帧状态存储块用于存储帧数据对应的帧状态。
可选的,所述帧状态存储块还用于存储帧数据的序号。
本发明的有益效果:本发明提供的帧处理方法和帧存装置,采用交接状态和接收/发送序号管理等措施,较好的支持了总线节点在飞行控制等安全关键领域的应用场景,具有较高的灵活性,避免了CPU读取错误问题,且减少了现有乒乓操作的RAM存储资源,在保证正确性的前提下,大大提高了通信效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的一种帧处理控制装置示意图;
图2为本发明一实施例提供的帧存储示意图;
图3为本发明一实施例提供的帧处理控制流程。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
图1为本发明一实施例提供的一种帧处理控制装置示意图,图2为本发明一实施例提供的帧存储示意图,图3为本发明一实施例提供的帧处理控制流程。下面结合图1对一种帧处理控制装置示意图等进行阐述;结合图2对帧存储示意图给出参考说明;结合图3对帧处理控制流程示意图进行详述。
现以时间触发总线SAE AS6003协议为通信示例,支持主机CPU模块查询式帧存储管理,管理装置主要包括:对应通道A/B的双口RAM、配置表、收发控制及链路层等电路。
结合附图1对帧处理控制装置进行说明,该装置包括:对应通道A/B的双口RAM、配置表、收发控制及链路层等功能电路。
对应通道A/B的双口RAM,主要功能为:实现时间触发总线与主机CPU模块的帧数据交互,支持发送和接收帧数据;
配置表,主要功能为:实现时间触发网络的通信基本配置和每个Slot槽的通信配置,基本配置主要包括:速率、控制开关、传输时延、超时、MT/mt比例等信息,Slot槽的通信配置主要包括:本槽位的发送使能、模式切换、时钟同步使能、派系检测使能、发送/接收双口RAM地址、帧长度、槽时间长度等信息;
收发控制模块,主要功能为:依据当前的Slot槽配置信息,对帧进行收发控制,实现帧存储管理,其通过交换状态和序号管理等两种方式,提高了余度管理能力;
链路层,主要功能为:曼彻斯特编解码、RS485接口功能处的帧接收/发送控制。
结合附图2对帧存储做进一步的说明。
帧存储依据Slot槽的通信配置内容:接收/发送双口RAM地址和帧长度等两项配置进行RAM资源划分;
在通信过程中,对于配置为发送槽位的双口RAM块,其帧存储格式为:1个字节长度的发送管理序号、4bit长度的交接状态,其余位保留。
对于发送管理序号,其填写由主机CPU软件进行维护,其序号编号特点为:序列号在初始化或者复位之后应该被设置为0;帧序列号在正常通信过程中应该对于同一个Slot槽位上的每个相继的帧递增加一,并且在值为255之后回卷到1。对于逻辑设计而言,可根据通信特点(独立发送或者余度发送),分别从两个双口RAM(通道A或B)中,读取发送管理序号,来进行发送控制。对于独立发送,则不判断发送管理序号特点,分别从对应的双口RAM中读取帧数据,并分别发送至通道A/B总线上;对于余度发送而言,对发送管理序号进行判定,采用最新的发送管理序号内容进行余度发送。
为了避免软件和逻辑同时操作相同双口RAM帧存储块空间,采用交接状态进行当前RAM的工作指示,交接状态配置如下表1所示。
表1交接状态(发送)
在通信过程中,对于配置为接收槽位的双口RAM块,其帧存储格式为:1个字节长度的发送管理序号、4bit长度的交接状态、1bit的接收帧长错误指示、1bit的接收帧CRC错误指示,其余位保留。
对于接收管理序号,其填写由逻辑进行维护,其序号编号特点为:序列号在初始化或者复位之后应该被设置为0;帧序列号在正常通信过程中应该对于同一个Slot槽位上的每个相继的帧递增加一,并且在值为255之后回卷到1。对于软件设计而言,可根据通信特点(独立接收或者余度接收),分别从两个双口RAM(通道A或B)中,读取接收管理序号,来进行接收数据余度控制。对于独立接收,则不判断接收管理序号特点,分别从对应的双口RAM中读取帧数据,并分别提交至对应上层应用;对于余度接收而言,对接收管理序号进行判定,采用最新的接收管理序号内容进行接收。
为了避免软件和逻辑同时操作相同的双口RAM帧存储块空间,采用交接状态进行当前RAM的工作指示,交接状态配置如下表2所示。
表2交接状态(接收)
结合附图3对帧存储管理流程做进一步的说明。
步骤一:依据通信配置,判定当前槽位是发送还是接收槽位,若为发送,进入步骤二,若为接收,进入步骤九;
步骤二:判定当前交接状态是否为正在读取状态4b0100,若是,则等待,否则进入步骤三;
步骤三:设置当前交接状态为正在写入0x0001,进入步骤四;
步骤四:将要发送的帧内容,写入到RAM中,帧内容在写入完毕之后,设置交接状态为已更新:4b0010;
步骤五:,等待发送时刻,若已到,则进入步骤六,否则等待;
步骤六:判定当前交接状态是否为正在写入状态4b0001,若是,则等待,否则进入步骤七;
步骤七:设置交接状态为正在读取,4b0100,并依据配置表长度信息,读取双口RAM中的帧内容,并提交给收发控制模块组包,计算CRC,启动链路层功能的发送帧控制;待帧数据发送完成之后,进入步骤八
步骤八:设置当前交接状态为已读取状态4b1000,进入下一slot槽调度;
步骤九:是否有新帧接收,若有进入步骤十,否则等待;
步骤十:获取当前交接状态是否为帧正在读取状态4b0100,若是等待,否则进入步骤十一;
步骤十一:设置交接状态为正在写入4b0001,进入步骤十二;
步骤十二:接收帧内容,待接收完毕之后,设置交接状态为已更新状态4b0010,进入步骤十三;
步骤十三:等待接收时刻,若时刻到,则进入步骤十四,否则继续等待;
步骤十四:判定当前状态是否为正在写入状态4b0001,若是则等待,否则进入步骤十五;
步骤十五:设置交接状态为正在读取:4b0100,读取双口RAM中的帧数据内容,待读取帧内容完毕之后,设置交接状态为已读状态4b1000,进入下一slot槽调度。
本发明的有益效果:本发明提供的帧处理方法和帧存装置,采用交接状态和接收/发送序号管理等措施,较好的支持了总线节点在飞行控制等安全关键领域的应用场景,具有较高的灵活性,避免了CPU读取错误问题,且减少了现有乒乓操作的RAM存储资源,在保证正确性的前提下,大大提高了通信效率。
Claims (9)
1.一种帧处理方法,其特征在于,应用于帧存储装置,所述装置包括:双口RAM;所述双口RAM包括至少一个存储条;每个所述存储条包括帧状态存储块和帧存储块;所述帧存储块用于接收并存储帧数据;所述帧状态存储块用于存储帧数据对应的帧状态,所述方法包括:
在读取帧数据时,读取帧状态存储块中存储的帧状态;
在所述帧状态指示可读/写时,从所述帧状态存储块对应的帧存储块中读取帧数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在从所述帧状态存储块对应的帧存储块中读取帧数据时,将所述帧状态存储块中的帧状态更新为正在读/写;
当从所述帧状态存储块对应的帧存储块中读取帧数据完毕时,将所述帧状态存储块中的帧状态更新为可读/写。
3.根据权利要求1所述的方法,其特征在于,还包括:
在向帧存储块写入帧数据时,确定所述帧存储块对应的帧状态存储块中的帧状态;
在所述帧状态指示可读/写时,将帧数据写入所述帧存储块。
4.根据权利要求3所述的方法,其特征在于,还包括:
在将帧数据写入所述帧存储块时,将所述帧状态存储块中的帧状态更新为正在读/写;
在将帧数据写入所述帧存储块完毕时,将所述帧状态存储块中的帧状态更新为可读/写。
5.根据权利要求1所述的方法,其特征在于,所述帧状态存储块还用于存储帧数据的序号。
6.根据权利要求5所述的方法,其特征在于,所述在读取帧数据时,读取帧状态存储块中存储的帧状态,包括:
在读取帧数据时,读取帧状态存储块中存储的帧状态和序号。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
将帧数据写入所述帧存储块,将所述帧数据的序号写入所述帧存储块对应的帧状态存储块。
8.一种帧存储装置,其特征在于,包括:双口RAM;
所述双口RAM包括至少一个存储条;每个所述存储条包括帧状态存储块和帧存储块;所述帧存储块用于接收并存储帧数据;所述帧状态存储块用于存储帧数据对应的帧状态。
9.根据权利要求8所述的装置,其特征在于,所述帧状态存储块还用于存储帧数据的序号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911262752.4A CN111177042A (zh) | 2019-12-10 | 2019-12-10 | 一种帧处理方法和帧存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911262752.4A CN111177042A (zh) | 2019-12-10 | 2019-12-10 | 一种帧处理方法和帧存储装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111177042A true CN111177042A (zh) | 2020-05-19 |
Family
ID=70650112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911262752.4A Pending CN111177042A (zh) | 2019-12-10 | 2019-12-10 | 一种帧处理方法和帧存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111177042A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63177244A (ja) * | 1987-01-19 | 1988-07-21 | Hitachi Ltd | バツフア管理方式 |
US6154796A (en) * | 1998-09-03 | 2000-11-28 | Advanced Micro Devices, Inc. | Apparatus and method in a network interface device for storing receiving frame status in a holding register |
US20050108611A1 (en) * | 2003-11-14 | 2005-05-19 | Intel Corporation | Early CRC delivery for partial frame |
CN101529806A (zh) * | 2005-08-23 | 2009-09-09 | 美商传威股份有限公司 | 用于对vcat/lcas成员进行去偏移的方法和设备 |
WO2013000408A1 (zh) * | 2011-06-27 | 2013-01-03 | 华为技术有限公司 | 发送数据包、超帧号更新和维护、数据处理的方法及装置 |
JP2017163316A (ja) * | 2016-03-09 | 2017-09-14 | 東芝メモリ株式会社 | 情報処理装置 |
-
2019
- 2019-12-10 CN CN201911262752.4A patent/CN111177042A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63177244A (ja) * | 1987-01-19 | 1988-07-21 | Hitachi Ltd | バツフア管理方式 |
US6154796A (en) * | 1998-09-03 | 2000-11-28 | Advanced Micro Devices, Inc. | Apparatus and method in a network interface device for storing receiving frame status in a holding register |
US20050108611A1 (en) * | 2003-11-14 | 2005-05-19 | Intel Corporation | Early CRC delivery for partial frame |
CN101529806A (zh) * | 2005-08-23 | 2009-09-09 | 美商传威股份有限公司 | 用于对vcat/lcas成员进行去偏移的方法和设备 |
WO2013000408A1 (zh) * | 2011-06-27 | 2013-01-03 | 华为技术有限公司 | 发送数据包、超帧号更新和维护、数据处理的方法及装置 |
JP2017163316A (ja) * | 2016-03-09 | 2017-09-14 | 東芝メモリ株式会社 | 情報処理装置 |
Non-Patent Citations (1)
Title |
---|
何向栋: "《一种保持时序一致的AFDX 帧结构优化及算法实现》" * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113542090B (zh) | 一种EtherCAT主从站一体网桥控制器及控制方法 | |
US5477541A (en) | Addressing technique for storing and referencing packet data | |
JP4571671B2 (ja) | 通信モジュールのメッセージメモリのデータへアクセスする方法および装置 | |
CN100566276C (zh) | FlexRay通信组件 | |
US8484390B2 (en) | Message handler and method for controlling access to data of a message memory of a communications module | |
US4642630A (en) | Method and apparatus for bus contention resolution | |
CN109743136B (zh) | 传输报文传送方法、接收方法及处理装置 | |
CN101873299A (zh) | 串行总线和通信方法及系统 | |
CN108280041A (zh) | 一种内部集成电路主机的通信方法和装置 | |
CN115065575B (zh) | 基于can总线控制器的数据传输系统及电子设备 | |
CN101304362B (zh) | 重传缓冲装置及传输数据的方法 | |
JP2008509463A (ja) | メッセージをメッセージメモリに記憶する方法およびメッセージメモリ | |
CN102916902A (zh) | 数据存储方法及装置 | |
CN114490467A (zh) | 一种多核网络处理器的报文处理dma系统及方法 | |
RU2142646C1 (ru) | Система для мультиплексирования/демультиплексирования данных межпроцессорного обмена в режиме асинхронной передачи при обмене в режиме асинхронной передачи | |
US20220327339A1 (en) | Smart card management device and smart card management method | |
US4701755A (en) | Data switching system | |
CN101415027A (zh) | 基于hdlc协议的通讯模块及数据实时转发存储控制方法 | |
CN113141322A (zh) | 一种数据通信方法、数据通信装置及计算机存储介质 | |
CN111177042A (zh) | 一种帧处理方法和帧存储装置 | |
CN117499351A (zh) | 报文转发装置及方法、通信芯片及网络设备 | |
JPH09505680A (ja) | メモリを制御する方法およびデバイス | |
CN110519137A (zh) | 转接装置 | |
CN111224877A (zh) | 一种afdx交换机的vl查询方法和装置 | |
CN114741214B (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 |