一种数据传输系统、方法、设备以及介质与流程

文档序号:33373780发布日期:2023-03-08 03:15阅读:54来源:国知局
一种数据传输系统、方法、设备以及介质与流程

1.本发明涉及通信技术领域,尤其涉及一种数据传输系统、方法、设备以及介质。


背景技术:

2.srio(serial rapid i/o,高速串行接口)作为rapidio的一个重要分支,是面向嵌入式系统开发提出的高可靠、高性能、基于包交换的新一代高速互联技术,可以实现最低引脚数量,支持复杂的可扩展拓扑,多点传输。十分适合用于芯片间及板间大规模数据的传输。
3.如图1所示,经典的srio数据传输过程为:(1)mcb(motion control board,运动控制板)

的dsp(digital signal processing,数字信号处理)先将目标数据写入mcb

的fpga(field programmable gate array,可编程逻辑阵列);(2)mcb

的fpga将目标数据写入mcb

的fpga;(3)mcb

的fpga接收到目标数据后,将目标数据写入mcb

dsp端对应的地址;(4)mcb

dsp传输doorbell(门铃事件),mcb

的fpga透传doorbell;(5)mcb

的fpga接收到doorbell后,将doorbell传输到mcb

dsp端,触发中断。经典的srio数据传输过程的时序图参见图2,一次经典的srio数据传输,其耗时包括:mcb

的dsp配置srio传输参数;srio模块将mcb

的dsp端存储器(如ddr3)内目标数据打包传输到mcb

的fpga;mcb

的fpga接收并通过光纤传输携带目标数据的数据包;mcb

的fpga接收并传输携带目标数据的数据包;mcb

dsp的srio模块将目标数据保存到mcb

的dsp端存储器;mcb

的dsp配置srio传输参数;srio模块将mcb

的dsp端doorbell型数据包传输到mcb

的fpga;mcb

的fpga接收并通过光纤传输doorbell型数据包;mcb

的fpga接收并传输doorbell型数据包;mcb

dsp的srio模块将doorbell型数据包发送给mcb

的dsp;mcb

dsp的doorbell中断被触发,读取接收到的目标数据。可见经典的srio数据传输中门铃事件为串行传输方式,必然存在数据传输时间长以及效率较低的问题。
4.而在基于标志位的方式完成srio数据传输时,存在读写灵活性差、需要特定协议约束,以及时效性差的问题,使用dsp-dsp的srio进行数据直传时,需要交换板等特定硬件,局限性较强。


技术实现要素:

5.本发明提供了一种数据传输系统、方法、设备以及介质,以解决srio数据传输时间长、效率低以及局限性强的问题。
6.根据本发明的一方面,提供了一种数据传输系统,包括第一运动控制板以及第二运动控制板,第一运动控制板与第二运动控制板通信连接;其中,第一运动控制板包括第一可编程逻辑阵列以及第一数字信号处理模块;
7.第一可编程逻辑阵列,用于接收第二运动控制板发送的目标待写入数据包,并在向第一数字信号处理模块发送目标待写入数据包时,向第一数字信号处理模块发送第一gpio电平信号;
8.第一数字信号处理模块,用于在接收到第一gpio电平信号后,基于接收的第一gpio电平信号,进入中断服务例程,对接收到的数据进行读取。
9.根据本发明的另一方面,提供了一种数据传输方法,应用于第一运动控制板,包括:
10.通过第一可编程逻辑阵列,接收第二运动控制板发送的目标待写入数据包,并在向第一数字信号处理模块发送目标待写入数据包时,向第一数字信号处理模块发送第一gpio电平信号;
11.通过第一数字信号处理模块,在接收到第一gpio电平信号后,基于接收的第一gpio电平信号,进入中断服务例程,对接收到的数据进行读取。
12.根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
13.至少一个处理器;以及
14.与所述至少一个处理器通信连接的存储器;其中,
15.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的数据传输方法。
16.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的数据传输方法。
17.本发明实施例的技术方案,通过第一运动控制板以及第二运动控制板构成数据传输系统,从而基于第一运动控制板的第一可编程逻辑阵列,接收第二运动控制板发送的目标待写入数据包,并在向第一数字信号处理模块发送目标待写入数据包时,向第一数字信号处理模块发送第一gpio电平信号,进而在通过第一数字信号处理模块接收到第一gpio电平信号后,基于接收的第一gpio电平信号,进入中断服务例程,对接收到的数据进行读取。由于运动控制板内通过srio接口进行数据传输以及事件通知,在本方案中通过第一gpio电平信号替代门铃事件,实现了数据传输与通知的同步,即目标待写入数据包的数据传输与通知第一数字信号处理模块进行数据读取的同步,并且gpio电平信号进行事件通知效率高于门铃事件,可有效提升数据传输速率,而且本方案对协议以及硬件没有特定约束,解决了现有srio数据传输时间长、效率低以及局限性强的问题,降低了srio数据传输时间,提升了数据传输效率,并降低了应用场景的局限性。
18.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
19.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1是本发明背景技术中提供的一种经典srio数据传输过程的流程图;
21.图2是本发明背景技术中提供的一种经典srio数据传输时序示意图;
22.图3是本发明实施例一提供的一种数据传输系统的示意图;
23.图4是本发明实施例一提供的一种不同srio事务类型的吞吐量测试结果的示意图;
24.图5是本发明实施例一提供的一种srio的数据流示意图;
25.图6是本发明实施例一提供的一种srio数据传输的时序图;
26.图7是本发明实施例一提供的一种反馈控制的数据流示意图;
27.图8是本发明实施例一提供的一种反馈控制对应的srio数据传输时序图;
28.图9为本发明实施例二提供的一种数据传输方法的流程图;
29.图10是本发明实施例三提供的一种半导体设备板卡箱的结构示意图;
30.图11是本发明实施例三提供的一种运动控制板的结构示意图;
31.图12是本发明实施例三提供的一种运动控制板的运行逻辑图;
32.图13是本发明实施例三提供的一种srio通信时长对性能的影响对比图;
33.图14示出了可以用来实施本发明的实施例的电子设备的结构示意图。
具体实施方式
34.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
35.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
36.实施例一
37.图3是本发明实施例一提供的一种数据传输系统的示意图,如图3所示,数据传输系统包括第一运动控制板110以及第二运动控制板120,第一运动控制板110与第二运动控制板120通信连接;第一运动控制板110包括第一可编程逻辑阵列111以及第一数字信号处理模块112。
38.第一可编程逻辑阵列111,可以用于接收第二运动控制板120发送的目标待写入数据包,并在向第一数字信号处理模块112发送目标待写入数据包时,向第一数字信号处理模块112发送第一gpio电平信号;第一数字信号处理模块112,可以用于在接收到第一gpio电平信号后,基于接收的第一gpio电平信号,进入中断服务例程,对接收到的数据进行读取。
39.其中,第一运动控制板110与第二运动控制板120,可以是数据传输系统中的两个运动控制板。第一可编程逻辑阵列111可以是第一运动控制板110中的可编程逻辑阵列。第一数字信号处理模块112可以是第一运动控制板110中的数字信号处理器。目标待写入数据
包可以是由第二运动控制板120发送至第一运动控制板110,由第一运动控制板110进行存储的数据包。第一gpio电平信号可以是第一可编程逻辑阵列111向第一数字信号处理模块112发送的gpio信号。
40.在本发明实施例中,第二运动控制板120可以将需要发送至第一运行控制板110的数据打包成目标待写入数据包,进而将目标待写入数据包发送至第一运行控制板110的第一可编程逻辑阵列111,从而由第一可编程逻辑阵列111通过srio接口将目标待写入数据包发送至第一数字信号处理模块112。在第一可编程逻辑阵列111通过srio接口向第一数字信号处理模块112开始传输目标待写入数据包之后,立即向第一数字信号处理模块112发送第一gpio电平信号。由于第一gpio电平信号可以作为中断处理程序的触发信号,当第一数字信号处理模块112,接收到第一可编程逻辑阵列111发送的gpio电平信号后,可以基于第一gpio电平信号触发中断处理程序,进入中断服务例程,此时第一数字信号处理模块112可以对接收到的数据进行读取。
41.可选的,当第一数字信号处理模块112的内存区域未成功存储目标待写入数据包时,读取的数据为上一数据传输周期传输至第一数字信号处理模块112内存区域的数据,当第一数字信号处理模块112的内存区域成功写入目标待写入数据包时,读取的数据可以为目标待写入数据包。
42.采用gpio电平信号并发传输通知中断的方法,省去了串行发送doorbell的耗时,大幅度提高了传输速度,充分利用了fpga并行运算的特点,能够在数据传输的同时同步去读取接收到的中断数据。
43.本方案对门铃事件以串行模式进行通知的方式进行改进,将数据传输和传输完成通知以合理的时序并行发出。不改变硬件结构、srio协议、良率的情况下,通过简单的改进,大幅提高了半导体设备关键通信方式srio的数据传输吞吐量,实现了更高的产率。
44.在本发明的一个可选实施例中,第二运动控制板可以包括第二数字信号处理模块以及第二可编程逻辑阵列。第二数字信号处理模块,可以用于通过第二srio模块按照流写操作事务,将目标待写入数据包写入至第二可编程逻辑阵列;第二可编程逻辑阵列,可以用于将目标待写入数据包转发至第一运动控制板的第一可编程逻辑阵列。
45.其中,第二数字信号处理模块可以是第二运动控制板中的数字信号处理器。第二可编程逻辑阵列可以是第二运动控制板中可编程逻辑阵列。第二srio模块可以是配置于第二运动控制板的,用于载有数字信号处理器和/或可编程逻辑阵列的板间或板内srio通信的srio接口。
46.在本发明实施例中,第二运动控制板的第二数字信号处理模块可以先配置第二srio模块的传输参数,进而将本地的存储器中需要发送至第一运动控制板的数据打包成目标待写入数据包,从而通过完成参数配置的第二srio模块按照流写操作事务,将目标待写入数据包写入至第二可编程逻辑阵列。在第二可编程逻辑阵列成功写入目标待写入数据包后,通过光纤或背板等将目标待写入数据包转发至第一运动控制板的第一可编程逻辑阵列。
47.在本发明的一个可选实施例中,第一数字信号处理模块,还可以用于通过第一srio模块,按照流写操作事务将目标待写入数据包写入目标存储器
48.其中,第一srio模块可以是配置于第一运动控制板110的,用于载有数字信号处理
器和/或可编程逻辑阵列的板间或板内srio通信的srio接口。目标存储器可以是第一数字信号处理模块112存储数据的时序逻辑电路。流写操作事务可以为swrite事务。
49.swrite事务相当于用nwrite事务传输双字(double-word)的情况,具有更少的头部开销。
50.在本发明实施例中,第一可编程逻辑阵列111可以将目标待写入数据包缓存至第一srio模块,并由第一srio模块按照流写操作事务,将目标待写入数据包写入至第一数字信号处理模块112的目标存储器内。第一srio模块通过流写操作事务即swrite事务,将目标待写入数据包写入目标存储器,可以降低数据包的头部开销,能达到srio单包数据发送的耗时极限最小、吞吐量最高的效果。
51.需要说明的是,第一数字信号处理模块112读取数据的操作,与在目标存储器进行数据写入操作,为两个独立的操作,没有时序先后的限制。
52.图4是对以下4种srio事务类型(swrite事务、nwrite事务、srio协议的type9事务以及srio协议的type11事务)的吞吐量测试结果,根据测试结果,可知本方案中使用swrite进行数据传输,能达到srio单包数据发送的耗时极限最小、吞吐量最高的效果。
53.示例性的,图5提供了一种srio的数据流示意图,图5的srio数据传输耗时包括:第二运动控制板的第二数字信号处理模块配置第二srio模块的传输参数;第二srio模块将第二运动控制板的第二数字信号处理模块端的存储器(如ddr3)内数据打包,得到目标待写入数据包,并通过第二srio模块将目标待写入数据包传输到第二运动控制板的第二可编程逻辑阵列;第二可编程逻辑阵列接收并通过光纤将目标待写入数据包传输至第一可编程逻辑阵列;第一运动控制板的第一可编程逻辑阵列接收并传输目标待写入数据包;第一可编程逻辑阵列传输开始后,立即发送第一gpio电平信号;第一运动控制板的第一数字信号处理模块的第一srio模块将目标待写入数据包中的目标数据写入到第一数字信号处理模块的目标存储器;第一数字信号处理模块的gpio中断被触发后,开始读取接收到的目标待写入数据包中的数据。
54.srio数据传输的时序如图6所示。各时段含义如下:t1:第二数字信号处理模块中目标待写入数据包流写完成的时刻。t2:第二可编程逻辑阵列中目标待写入数据包流写完成的时刻,其中,光纤上数据传输时间极短可忽略。t3:第一可编程逻辑阵列端通过第一srio模块将目标待写入数据包的header头包发送完成后,进行gpio输出,即发送第一gpio信号。t4:第一数字信号处理模块端接收到第一可编程逻辑阵列端发送的第一gpio电平信号,进入中断服务例程(gpio中断),开始读取第一srio模块传输过来的数据的时刻。t5:第一数字信号处理模块端开始接收第一可编程逻辑阵列发送的目标待写入数据包的时刻。t6:第一数字信号处理模块端完成接收目标待写入数据包的时刻。需要说明的是,若目标待写入数据包的数据量较小时,t5可以早于t4。
55.如下给出三种不同模式下srio传输时间的对照表:
56.表1 srio传输时间性能对照表
[0057][0058][0059]
如表1所示,使用该方案的数据传输系统,在1个控制周期内,节约了2δt=2*(11.938-6.575)us(2次srio数据传输),如果控制周期从200us压缩到(200-2δt)us,则产率提升接近(2δt)/200=δt%=5.363%。如果单控制周期内有更为复杂的多次数据传输,则性能提升的幅度更为明显。
[0060]
在本发明的一个可选实施例中,第一数字信号处理模块,还可以用于在接收到第一gpio电平信号时,激活数据监控线程;基于数据监控线程刷新数据存储地址,得到当前数据存储地址,并获取历史数据存储地址;根据当前数据存储地址以及历史数据存储地址,生成第一反馈数据或第二反馈数据。
[0061]
其中,数据监控线程可以是预先设置的监控线程,用于监控数据存储地址。当前数据存储地址可以是目标存储器存储第二运动控制板当前发送的目标待写入数据的地址。历史数据存储地址可以是目标存储器存储目标待写入数据传输周期的前一数据传输周期发送数据的地址。第一反馈数据可以用于反馈数据更新成功。第二反馈数据可以用于反馈数据更新失败。
[0062]
在本发明实施例中,第一数字信号处理模块在接收到第一gpio电平信号的同时,可以激活数据监控线程,通过数据监控线程刷新数据存储地址,得到当前数据存储地址,并获取上一数据传输周期在目标存储器存储第二运动控制板发送数据的历史数据存储地址,从而将当前数据存储地址与历史数据存储地址进行对比,若当前数据存储地址与历史数据存储地址不同,则生成第一反馈数据,若当前数据存储地址与历史数据存储地址相同,则生成第二反馈数据。
[0063]
在本发明的一个可选实施例中,第一数字信号处理模块,还可以用于在生成第一反馈数据时,向第一可编程逻辑阵列发送第二gpio电平信号,并挂起数据监控线程。
[0064]
其中,第二gpio电平信号可以是第一数字信号处理模块向第一可编程逻辑阵列发
送的gpio信号。
[0065]
在本发明实施例中,若第一数字信号处理模块生成第一反馈数据,则表征目标存储器中存储的数据成功完成更新,即当前数据传输周期的目标待写入数据包成功写入目标存储器,此时第一数字信号处理模块可向第一可编程逻辑阵列发送第二gpio电平信号(以通知第一可编程逻辑阵列,第一数字信号处理模块完成最新的目标待写入数据的写入),相当于一种反馈控制,并在向第一可编程逻辑阵列发送第二gpio电平信号之后,挂起数据监控线程,从而释放线程的资源占用。
[0066]
swrite事务不需要接收目标方的响应,所以当事务被目标方处理完以后并不会给发起方反馈任何信息。对数据写入操作进行信息反馈,可以保证第一数字信号处理模块读取数据的起始时刻和第一可编程逻辑阵列的第一srio模块数据传输完成的时刻保持一致,且尽可能适应不同的应用场景。第一数字信号处理模块端不需要事先对通信、中断响应时间等进行测量,因中断服务例程逻辑较为简单,响应时间比较稳定,解决了第一可编程逻辑阵列端数据校验的繁琐流程,在第一数字信号处理端增加并行数据校验,能有效控制数据传输的稳定性,并提高传输速率。第一可编程逻辑阵列端,不需要针对不相同的版本设置不同的gpio电平信号相对于数据包帧头的触发时间,而且反馈控制大大降低了数据传输系统的开发和维护成本,弥补了swrite事务无反馈信息以及doorbell耗时较长的缺陷。本方案中反馈控制的数据流如图7所示。反馈控制对应的srio数据传输时序如图8所示。通过将门铃事件的时序与反馈控制对应时序进行比较,将门铃事件的历时时长δt1与反馈控制的历史时长δt2进行比对,可见本方案中的反馈控制的时长更短,效率更高,并且在反馈控制结束前第二数据信号处理模块还可以在t1’时刻完成新的数据写入,并进行新一轮的反馈控制(结束于t7’),以此类推,在t1”至t7”时刻进行另一轮的反馈控制。由于第一gpio电平信号与第二gpio电平信号,均为gpio信号,在图8中为了方便表示不对二者进行区分,但根据发送方可以进行具体区分,即与t3,t3’以及t3”对应的gpio为第一gpio电平信号,与t7,t7’以及t7”对应的gpio为第二gpio电平信号。
[0067]
使用该方案的数据传输系统,数字信号处理模块端的反馈控制,和数据校验与数据接收并行,并不额外占用控制周期时间,即时间性能和表1的第三种传输模式(swrite事务进行数据写入+第一运动控制板发送gpio电平信号)性能一致。
[0068]
在本发明的一个可选实施例中,第一数字信号处理模块,可以用于在生成第二反馈数据后,返回执行基于数据监控线程刷新数据存储地址的操作,直至达到预设时长阈值也未生成第一反馈数据,则退出数据监控线程,并反馈超时信号。
[0069]
其中,预设时长阈值可以是预先设置的时长上限。
[0070]
在本发明实施例中,若第一数字信号处理模块生成第二反馈数据,则表征目标存储器中存储数据更新失败,即当前数据传输周期的目标待写入数据包未成功写入目标存储器,可以返回执行基于数据监控线程刷新数据存储地址的操作,当重试若干次后,反复执行刷新数据存储地址的操作时长达到预设时长阈值时,仍然未生成第一反馈数据,则表征目标待写入数据包写入出现异常,可以退出数据监控线程,并反馈超时信号,以通过超时信号通知运维人员及时进行处理。
[0071]
本发明实施例的技术方案,通过第一运动控制板以及第二运动控制板构成数据传输系统,从而基于第一运动控制板的第一可编程逻辑阵列,接收第二运动控制板发送的目
标待写入数据包,并在向第一数字信号处理模块发送目标待写入数据包时,向第一数字信号处理模块发送第一gpio电平信号,进而在通过第一数字信号处理模块接收到第一gpio电平信号后,基于接收的第一gpio电平信号,进入中断服务例程,对接收到的数据进行读取。由于运动控制板内通过srio接口进行数据传输以及事件通知,在本方案中通过第一gpio电平信号替代门铃事件,实现了数据传输与通知的同步,即目标待写入数据包的数据传输与通知第一数字信号处理模块进行数据读取的同步,并且gpio电平信号进行事件通知效率高于门铃事件,可有效提升数据传输速率,能达到srio单包数据发送的耗时极限最小、吞吐量最高的效果,而且本方案对协议以及硬件没有特定约束,解决了现有srio数据传输时间长、效率低以及局限性强的问题,降低了srio数据传输时间,提升了数据传输效率,并降低了应用场景的局限性。
[0072]
实施例二
[0073]
图9为本发明实施例二提供的一种数据传输方法的流程图,本实施例可适用于srio高效数据传输的情况,该方法可以由第一运动控制板,第一运动控制板可配置于数据传输系统中。如图9所示,该方法包括:
[0074]
s210、通过第一可编程逻辑阵列,接收第二运动控制板发送的目标待写入数据包,并在向第一数字信号处理模块发送目标待写入数据包时,向第一数字信号处理模块发送第一gpio电平信号。
[0075]
在本发明实施例中,第一运动控制板可以通过第一可编程逻辑阵列,接收第二运动控制板发送的目标待写入数据包,在第一可编程逻辑阵列向第一数字信号处理模块开始传输目标待写入数据包之后,立即向第一数字信号处理模块发送第一gpio电平信号。
[0076]
s220、通过第一数字信号处理模块,在接收到第一gpio电平信号后,基于接收的第一gpio电平信号,进入中断服务例程,对接收到的数据进行读取。
[0077]
在本发明实施例中,第一运动控制板的第一数字信号处理模块,在接收到第一gpio电平信号后,可以基于第一gpio电平信号触发中断处理程序,进入中断服务例程,由第一数字信号处理模块对接收到的数据进行读取。
[0078]
可选的,第二运动控制板可以包括第二数字信号处理模块以及第二可编程逻辑阵列;第二数字信号处理模块,可以用于通过第二srio模块按照流写操作事务,将目标待写入数据包写入至第二可编程逻辑阵列。第二可编程逻辑阵列,可以用于将目标待写入数据包转发至第一运动控制板的第一可编程逻辑阵列。
[0079]
可选的,在接收到第一gpio电平信号后,还可以包括:通过第一数字信号处理模块,激活数据监控线程;基于数据监控线程刷新数据存储地址,得到当前数据存储地址,并获取历史数据存储地址;通过第一数字信号处理模块,根据当前数据存储地址以及历史数据存储地址,生成第一反馈数据或第二反馈数据。
[0080]
可选的,第一数字信号处理模块,还用于通过第一srio模块,按照流写操作事务将目标待写入数据包写入目标存储器。
[0081]
可选的,生成第一反馈数据之后,还可以包括:通过第一数字信号处理模块,向第一可编程逻辑阵列发送第二gpio电平信号,并挂起数据监控线程。
[0082]
可选的,生成第二反馈数据之后,还可以包括:返回执行基于数据监控线程刷新数据存储地址的操作,直至达到预设时长阈值也未生成第一反馈数据,则退出数据监控线程,
并反馈超时信号。
[0083]
本发明实施例的技术方案,通过第一可编程逻辑阵列,接收第二运动控制板发送的目标待写入数据包,并在向第一数字信号处理模块发送目标待写入数据包时,向第一数字信号处理模块发送第一gpio电平信号,进而通过第一数字信号处理模块,在接收到第一gpio电平信号后,基于接收的第一gpio电平信号,进入中断服务例程,对接收到的数据进行读取。在本方案中通过第一gpio电平信号替代门铃事件,实现了数据传输与通知的同步,即目标待写入数据包的数据传输与通知第一数字信号处理模块进行数据读取的同步,并且gpio电平信号进行事件通知效率高于门铃事件,可有效提升数据传输速率,而且本方案对协议以及硬件没有特定约束,解决了现有srio数据传输时间长、效率低以及局限性强的问题,降低了srio数据传输时间,提升了数据传输效率,并降低了应用场景的局限性。
[0084]
实施例三
[0085]
本发明实施例三提供了一种数据传输系统的应用场景,其具体实施方式可参加下述实施例,其中,与上述实施例相同或者相应的技术术语在此不再赘述。
[0086]
一种典型的半导体设备板卡箱的结构如下图10所示。核心的两块运动控制板之间通过光纤或者背板进行高速数据传输。
[0087]
其中,运动控制板的结构如图11所示,dsp负责运行固件,fpga负责数据传输等,fmc(fpga mezzanine card,fpga中间层板卡)为通用模块。通用io口为gpio,用于输出电平信号、输入捕捉、reset等。高速接口为srio模块,用于高速板卡间小数据包通信。emif(external memory interface,外部内存接口),用于对dsp的外部内存设备进行读写,其他总线负责高速或低速数据传输。
[0088]
以运动控制为例,在控制周期(固件周期,以200us为例)内,两块mcb分别完成以下功能,从而实现同步和整体运算,具体的运行逻辑如图12所示:(1)mcb

等待mcb

计算得到的位置数据;(2)mcb

运行采样进程,并将计算得到的位置发送给mcb

,随后mcb

等待mcb

的力数据;(3)mcb

得到位置数据后,计算力数据,并发送给mcb

;(4)mcb

接收到力的数据后,运行算法;(5)之后,mcb

和mcb

运行其他功能,指导1个控制周期结束。
[0089]
力和位置数据都是通过srio模块传输的,srio模块传输的耗时越长,留给算法及其他功能的时间就越短,因而srio传输耗时会影响整机性能。提高srio传输速度,可以允许更复杂的算法,或者更短的控制周期,以保证运动控制具有更高的精度或者更快的响应速度,从而减少控制误差。并通过图13展示srio通信时长对性能的影响,即本方案通过降低srio的通信时长能够有效提升产率和控制精度。
[0090]
实施例四
[0091]
图14示出了可以用来实施本发明的实施例的电子设备的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
[0092]
如图14所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可
被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、rom 12以及ram 13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
[0093]
电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0094]
处理器11可以是配置于电子设备的第一运动控制板中具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如数据传输方法。
[0095]
在一些实施例中,数据传输方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到ram 13并由处理器11执行时,可以执行上文描述的数据传输方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据传输方法。
[0096]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0097]
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0098]
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、
磁储存设备、或上述内容的任何合适组合。
[0099]
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0100]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
[0101]
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
[0102]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
[0103]
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1