CN115037403B - 一种多arm-fpga联合仿真时间同步方法 - Google Patents
一种多arm-fpga联合仿真时间同步方法 Download PDFInfo
- Publication number
- CN115037403B CN115037403B CN202210953791.4A CN202210953791A CN115037403B CN 115037403 B CN115037403 B CN 115037403B CN 202210953791 A CN202210953791 A CN 202210953791A CN 115037403 B CN115037403 B CN 115037403B
- Authority
- CN
- China
- Prior art keywords
- fpga
- time
- arm
- task
- node
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0676—Mutual
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0602—Systems characterised by the synchronising information used
- H04J3/0617—Systems characterised by the synchronising information used the synchronising signal being characterised by the frequency or phase
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/07—Synchronising arrangements using pulse stuffing for systems with different or fluctuating information rates or bit rates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/0045—Correction by a latch cascade
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开了一种多ARM‑FPGA联合仿真时间同步方法,该方法包括:在执行分布式协同任务时,主节点的ARM根据所有节点状态生成协同任务,并事先计划协同任务中每个任务的时间信息,将任务下发给从节点,随后所有节点均会执行该协同任务;所有节点的FPGA会接收同一个高精度时钟源提供的时间同步基准脉冲信息,ARM从FPGA读取时间,当到达任务可执行时间点时向FPGA下达执行指令;每个节点的FPGA接收ARM为FPGA设定的倍频参数,根据倍频参数FPGA设定周期恒定的同步脉冲,当到达同步脉冲时,如果此时有ARM的发射指令下发,则FPGA执行任务发射,并接收数据供ARM读取;每个节点的任务执行时间差异最大不超过100ns。本发明构建的分布式协同系统具有高精度的同步效果。
Description
技术领域
本发明涉及多传感器分布式任务协同技术领域,特别是一种多ARM-FPGA联合仿真时间同步方法。
背景技术
随着环境态势日趋复杂,平台单一传感器的探测能力已无法满足需求,从传感器到控制单元,需要多个节点传感器共同参与才能提升探测性能与效率。在分布式协同领域,由于各个节点设备间没有统一的时钟,各个节点设备之间时间不统一,难以得到同步数据,对探测精度、探测效率都有极大的影响,影响多传感器协同任务的发挥。
发明内容
鉴于此,本发明提供一种多ARM-FPGA联合仿真时间同步方法,提高了时间同步精度。
本发明公开了一种多ARM-FPGA联合仿真时间同步方法,包括:
步骤1:在执行分布式协同任务时,主节点的ARM根据所有节点状态生成协同任务,并事先计划协同任务中每个任务的时间信息,将任务下发给从节点,随后所有节点均会执行该协同任务;其中,所有节点为一个主节点与若干个从节点;
步骤2:所有节点的FPGA都会接收同一个高精度时钟源提供的时间同步基准脉冲信息,ARM从FPGA读取时间,当到达任务可执行时间点时向FPGA下达执行指令;每个节点的FPGA接收ARM为FPGA设定的倍频参数,根据倍频参数FPGA设定周期恒定的同步脉冲,当到达同步脉冲时,如果此时有ARM的发射指令下发,则FPGA执行任务发射,并接收数据供ARM读取;
步骤3:以步骤2中的方法构建多节点分布式协同架构,每个节点的任务执行时间差异最大不超过100ns。
进一步地,所述步骤1包括:
主节点的ARM计划好每个任务的属性参数后,发送给每个从节点;主节点向从节点发送任务之后,主节点也会执行此任务。
进一步地,所述步骤2包括:
主节点发送任务至从节点之后,设从节点接收到任务的时刻为,当到达时刻
时,主从节点的ARM开始执行任务,经过ARM粗同步延时后,ARM在时刻向FPGA下达发
射指令,经过FPGA精同步延时后,FPGA在同步脉冲发射时刻执行任务发射,在时
刻FPGA接收到数据,在时刻之后FPGA将数据上传至ARM,ARM处理数据直到任务结束;
进一步地,对于分布式任务,多个节点的以ARM为主的时间粗同步与FPGA为主的时
间精同步设置在与之间;以ARM为主的时间粗同步将每个节点的发射时刻同步控制在
毫秒级别;ARM在预设任务开始时刻与发射指令下达FPGA的时刻时,,
包含发射指令下达之前的准备工作和缓冲时间,缓冲时间用于等待其他节点均已到达发射
指令时刻。
进一步地,ARM读取时间来自于FPGA,FPGA的时间同步基准来自于外部时钟源;对
于每个节点,FPGA由外部时钟源提供秒脉冲信息,该秒脉冲信息的时间信息精度为10纳秒,
FPGA的时钟源频率为,FPGA接收到该秒脉冲信息后,根据其时钟源频率将秒脉冲信息进
行插值处理,得到一秒内的所有时间数据;当任一个节点的ARM需要读取FPGA的时间时,
FPGA锁存当前时间,发送给ARM;其中,FPGA插值生成的时间精度为纳秒,
进一步地,多个节点的以FPGA为主的时间精同步的精度小于100纳秒;外部时钟源
的时间同步基准脉冲是每一秒给FPGA发送一次时间信息;时间精度纳秒大于10纳秒且小
于11纳秒;所有节点的FPGA的同步脉冲误差均小于100纳秒。
进一步地,每个节点的ARM为FPGA设定倍频参数,FPGA根据倍频参数设置每两个秒脉冲之间的同步脉冲,每次任务的发射只能在同步脉冲处满足条件时才能进行。
进一步地,所述每个节点的ARM为FPGA设定倍频参数,FPGA根据倍频参数设置每两个秒脉冲之间的同步脉冲,每次任务的发射只能在同步脉冲处满足条件时才能进行,具体为:
进一步地,每个节点的发射指令在FPGA下达时会出现由于ARM的时间粗同步在毫
秒级别,各节点的ARM发射指令下达至FPGA时存在若干毫秒的误差,该误差会造成一个节点
的ARM发射指令在FPGA同步脉冲之前到达,另一个节点的ARM发射指令在FPGA同步脉冲之后
到达的情况,导致两个节点的FPGA发射执行时间不小于一个同步周期。
进一步地,对于执行分布式任务的多个节点,其时间同步的容错控制主要在与之间进行,其中为FPGA的同步脉冲发射时刻,为FPGA接收到数据的时刻;其时间同
步的容错控制为:FPGA接收数据时对数据进行超时判断,当FPGA接收数据时满足以下条件,
则ARM放弃接收FPGA的数据:
由于采用了上述技术方案,本发明具有如下的优点:使用本发明构建的分布式协同系统具有高精度的同步效果,对于多数据融合,传感器协同探测等任务场景都具有很强的适用性。本发明适用分布式协同任务系统、多传感器同步信号融合等领域,尤其是多传感器分布式任务协同领域。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明实施例的一种分布式架构时间同步的结构示意图;
图2为本发明实施例的一种单个节点的仿真时间同步流程示意图;
图3为本发明实施例的一种单个节点的ARM-FPGA联合同步时序示意图。
具体实施方式
结合附图和实施例对本发明作进一步说明,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
参见图1,本发明提供了一种多ARM-FPGA联合仿真时间同步方法的实施例,在执行分布式协同任务时,主节点的ARM根据节点状态生成协同任务,并事先计划每个任务的时间信息,将任务下发给其他从节点; 每个节点的FPGA接收同一个高精度时钟源提供的时间同步基准脉冲信息,ARM从FPGA读取时间,当到达任务可执行时间点时向FPGA下达执行指令;每个节点的FPGA接收ARM为FPGA设定的倍频参数,根据倍频参数FPGA设定周期恒定的同步脉冲,当到达同步脉冲时,如果此时有ARM的发射指令下发,则FPGA执行任务发射,并接收数据供ARM读取。
本实施例将ARM的协同任务生成功能与FPGA信号精确发射的特点相结合,构建多节点分布式协同架构,利用ARM的时间粗同步与FPGA的时间精同步设计容错控制,确保主从多个节点的任务执行时间差异不大于100ns,具有较高的时间同步精度,满足多传感器信号级的分布式协同方式。
本实施例提供的多ARM-FPGA联合仿真时间同步方法具有这样的特征:ARM读取时
间来自于FPGA,FPGA的时间同步基准来自于外部时钟源。对于每个节点,FPGA由外部时钟源
提供秒脉冲信息,该时间信息精度为10纳秒,FPGA本身时钟源频率为,FPGA接收到秒脉
冲信息后,根据本身时钟源频率将秒脉冲信息进行插值处理,得到一秒内的所有时间数据,
当某个节点的ARM需要读取本身FPGA的时间时,FPGA锁存当前时间,发送给ARM。
本实施例提供的多ARM-FPGA联合仿真时间同步方法具有这样的特征:主节点的
ARM根据节点状态生成协同任务时,事先计划每个任务的时间信息。主节点的ARM为每个任
务设置时间参数,发送给其他从节点。每个从节点接收到任务时,设该接收到该任务的时刻
为,当达到时刻ARM开始执行任务,于时刻ARM向FPGA下达发射指令,FPGA于同步脉
冲时刻执行任务发射,在时刻之前FPGA接收数据,在时刻之后FPGA将数据上传至
ARM,ARM处理数据直到该任务结束
本实施例提供的多ARM-FPGA联合仿真时间同步方法具有这样的特征:ARM会为
FPGA设定倍频参数,FPGA根据倍频参数设置每两个秒脉冲之间的同步脉冲,每次任务的发
射只能在同步脉冲处满足条件时才能进行。设ARM为FPGA设定的倍频参数为,则在两个秒
脉冲之间,FPGA将1秒分割为个同步周期,每隔会有一个同步脉冲,在同步脉冲
处判定在这个时间内,ARM是否有发射指令下达导致FPGA的上升沿触发,若有上升沿触
发,则FPGA在同步脉冲处执行任务发射。
本实施例提供的多ARM-FPGA联合仿真时间同步方法具有这样的特征:对于执行分布式任务的多个节点,其时间同步具有容错控制:FPGA接收数据时对数据进行超时判断,当FPGA接收数据时满足以下条件,则ARM放弃接收数据:
使用本实施例构建的分布式协同系统具有高精度的同步效果,对于多数据融合,传感器协同探测等任务场景都具有很强的适用性。
本实施例适用分布式协同任务系统、多传感器同步信号融合等领域,尤其是多传感器分布式任务协同领域。
除此之外,本发明还提供了一个更为具体的实施例:
参阅图1,根据本实施例,在分布式协同任务架构下,主节点的ARM规划任务,并将任务发送给其他从节点。对于每个节点,执行任务时首先由ARM进行粗略的时间同步,该同步精度为ms量级;随后由各自节点的FPGA进行精准的时间同步,该同步精度可以达到10ns;所有的节点的时间基准来自于同一个外部时钟源。
参阅图2,根据本实施例,单个节点的ARM-FPGA联合仿真时间同步的流程如下:首先由ARM向FPGA下发倍频参数,FPGA根据倍频参数设置每两个秒脉冲之间的同步脉冲,每次任务的发射只能在同步脉冲处判断是否满足如下条件时才能进行:ARM在当前同步脉冲与前一个同步脉冲之间,是否有发射指令下达至FPGA,如果有这样的发射指令使得上升沿触发,则FPGA在同步脉冲处执行任务发射。
参阅图3,在ARM下发倍频参数之后,主节点的ARM为每个任务设置三个时间参数:
任务持续时间为,任务开始时刻,发射指令下达FPGA的时刻。其中,每个任务的持
续时间不能超过,每个任务的结束时刻为。对于每个节点的时间同步环节设置
在与之间,时间同步的容错控制则主要在之后进行。主节点的ARM计划好每个任务
的属性参数后,发送给每个从节点。
参阅图3,主节点将协同任务发送给其他从节点之后,每个节点首先进行ARM粗同
步,以ARM为主的时间粗同步将每个节点的发射时刻同步控制在毫秒级别,主要实现方法是
设置时间缓冲区。ARM在预设任务开始时刻与发射指令下达FPGA的时刻时,,除了包含发射指令下达之前的一些准备工作,还会有一段缓冲时间,用于
等待其他节点均已到达发射指令时刻。这段任务等待缓冲区的实现主要依靠ARM的延时
函数,保证此时每个节点的任务发射指令下发时刻误差小于10毫秒。
当完成ARM粗同步之后,ARM会将发射指令写入FPGA中,FPGA的精同步是指:外部时
钟源的秒脉冲信息频率是每一秒钟给FPGA发送一次时间信息,外部时钟源的时间精度极
高,但FPGA本身的时钟源精度不如外部时钟源。对于一个节点的FPGA时钟源,其频率为,
依靠频率插值生成的时间精度。由于多个节点的FPGA时钟源频率存在
差异,但两者差异处于一个量级,因此,所有节点的FPGA的同步脉冲误差小于。此时
当ARM的发射指令写入FPGA,所有节点会在同步脉冲处判断是否有ARM导致的上升沿出现,
若有上升沿出现,则节点的FPGA执行该任务。当所有任务执行完毕后,得到的数据处理结果
中,节点的数据处理时间差异极小,验证了该方法的效果。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (10)
1.一种多ARM-FPGA联合仿真时间同步方法,其特征在于,包括:
步骤1:在执行分布式协同任务时,主节点的ARM根据所有节点状态生成协同任务,并事先计划协同任务中每个任务的时间信息,将任务下发给从节点,随后所有节点均会执行该协同任务;其中,所有节点为一个主节点与若干个从节点;
步骤2:所有节点的FPGA都会接收同一个高精度时钟源提供的时间同步基准脉冲信息,ARM从FPGA读取时间,当到达任务可执行时间点时向FPGA下达执行指令;每个节点的FPGA接收ARM为FPGA设定的倍频参数,根据倍频参数FPGA设定周期恒定的同步脉冲,当到达同步脉冲时,如果此时有ARM的发射指令下发,则FPGA执行任务发射,并接收数据供ARM读取;
步骤3:以步骤2中的方法构建多节点分布式协同架构,每个节点的任务执行时间差异最大不超过100ns。
7.根据权利要求1所述的方法,其特征在于,每个节点的ARM为FPGA设定倍频参数,FPGA根据倍频参数设置每两个秒脉冲之间的同步脉冲,每次任务的发射只能在同步脉冲处满足条件时才能进行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210953791.4A CN115037403B (zh) | 2022-08-10 | 2022-08-10 | 一种多arm-fpga联合仿真时间同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210953791.4A CN115037403B (zh) | 2022-08-10 | 2022-08-10 | 一种多arm-fpga联合仿真时间同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115037403A CN115037403A (zh) | 2022-09-09 |
CN115037403B true CN115037403B (zh) | 2022-11-22 |
Family
ID=83131247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210953791.4A Active CN115037403B (zh) | 2022-08-10 | 2022-08-10 | 一种多arm-fpga联合仿真时间同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115037403B (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2499261B (en) * | 2012-02-10 | 2016-05-04 | British Broadcasting Corp | Method and apparatus for converting audio, video and control signals |
CN106850115B (zh) * | 2017-03-07 | 2019-02-05 | 中国地质大学(武汉) | 一种多通道数据采集同步系统及方法 |
CN109905306B (zh) * | 2019-01-30 | 2021-05-18 | 北京深蓝同创科技有限公司 | 一种低成本多主总线通信控制系统 |
CN111490867B (zh) * | 2020-04-26 | 2021-02-12 | 杭州锐讯科技有限公司 | 一种面向分布式应用的采样时钟同步系统及方法 |
CN112653532B (zh) * | 2020-12-09 | 2023-04-11 | 西安诺瓦星云科技股份有限公司 | 时钟同步的方法、装置和系统 |
CN113778000B (zh) * | 2021-09-26 | 2023-05-12 | 中科院南京天文仪器有限公司 | 一种高实时性运动控制系统及方法 |
CN114567926B (zh) * | 2022-03-14 | 2023-04-18 | 电子科技大学 | 一种用于无线分布式测试系统的时钟同步和触发装置 |
-
2022
- 2022-08-10 CN CN202210953791.4A patent/CN115037403B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115037403A (zh) | 2022-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9906320B2 (en) | Industrial network apparatus and data communication method | |
KR101044521B1 (ko) | 네트워크에 연결된 슬레이브 장치들의 동기 제어장치 | |
US20180109655A1 (en) | Control device and communication device | |
CN102130640A (zh) | 多轴同步伺服驱动系统及其同步控制方法 | |
US20060153245A1 (en) | Method for time synchronization in a cyclically operating communication system | |
CN105049309A (zh) | 基于powerlink实时以太网的伺服驱动器同步方法 | |
KR20150032880A (ko) | 통신 장치, 통신 시스템 및 동기 제어 방법 | |
CN111272127A (zh) | 一种通过EtherCAT总线测控同步的方法 | |
CN115037403B (zh) | 一种多arm-fpga联合仿真时间同步方法 | |
KR101492910B1 (ko) | 이더캣 기반의 분산 시계 동기화를 위한 방법 및 시스템 | |
Steiner et al. | The TTEthernet synchronisation protocols and their formal verification | |
CN114866178A (zh) | 一种基于步长的分布式仿真系统时间同步方法 | |
US11474557B2 (en) | Multichip timing synchronization circuits and methods | |
CN103678208B (zh) | 航天器同步数据传输方法 | |
CN110572308A (zh) | 一种分布式高实时性环网通讯系统 | |
JP2011191874A (ja) | データ信号送受信方法 | |
CN115102453A (zh) | 一种位置控制系统及方法 | |
CN111638749A (zh) | 一种仿真系统同步方法、仿真设备及系统 | |
CN113552921A (zh) | 一种软硬件互锁的系统时间同步方法及系统及电子设备 | |
CN108844544B (zh) | 一种主、子导航装置信息同步性设计方法 | |
CN112630756B (zh) | 一种扫描延时极小化的主动系统时序设计方法 | |
CN107995681B (zh) | 一种无线传感网时间同步方法及装置 | |
CN106647574B (zh) | 一种多轴伺服驱动器同步系统控制方法 | |
CN100578970C (zh) | 延时固定的级联网络及其节点绑定方法 | |
CN116493787B (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 |