一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于FPGA技术实现SPI多从机的通讯方法与流程

2022-04-13 23:42:27 来源:中国专利 TAG:
一种基于fpga技术实现spi多从机的通讯方法
技术领域
1.本发明涉及通讯方法技术领域,具体为一种基于fpga技术实现spi多从机的通讯方法。


背景技术:

2.目前使用的spi多从机的通讯方法效果较差。
3.综上所述,本发明提供一种基于fpga技术实现spi多从机的通讯方法来解决上述问题。


技术实现要素:

4.本发明的目的在于提供一种基于fpga技术实现spi多从机的通讯方法,以解决上述背景技术中提出的问题。
5.为实现上述目的,本发明提供如下技术方案:
6.一种基于fpga技术实现spi多从机的通讯方法,包括fpga处理模块、spi从机以及mcu主控板,包括以下步骤:
7.s1,mcu主控板通过fpga处理模块向spi从机发送时间校准帧1,时间校准帧1内带有mcu主控板的实时时间t1,spi从机接收到时间校准帧1后立刻给fpga处理模块返回一个时间校准帧2,时间校准帧2内带有spi从机的实时时间t2,fpga处理模块接收到时间校准帧2后,向mcu主控板发送时间校准帧23,时间校准帧3内部带有fpga处理模块的实时时间t3,mcu主控板接收时间校准帧3,并计算出延迟时间,将计算出的延迟时间输送给spi从机,spi从机根据输入延迟时间调整其内部的实时时间,重复上述步骤,逐一对spi从机进行时间校准;
8.s2,mcu主控板通过fpga处理模块逐个向spi从机发送指令帧,扫描从机状态,spi从机向mcu主控板发送优先级帧,mcu主控板根据优先级帧计算spi从机的优先级,使用计算出的优先级来安排发送顺序,mcu主控板根据发送顺序通过fpga处理模块逐个向spi从机发送数据帧。
9.作为本发明优选的方案,所述延迟时间的计算公式为:t=(t3-t1)/2 (t3-t2)/2。
10.作为本发明优选的方案,所述s2中从机优先级sp计算方法如下:sp=p
·
(al b/m) c
·
sn其中m是扫描次数,m=1,2,3,
……
,n,每次加1,a、b、c是常量参数。
11.作为本发明优选的方案,所述指令帧包括起始位、spi从机地址sn以及发送询问。
12.作为本发明优选的方案,所述优先级帧包括起始位、mcu主控板地址以及数据优先级p。
13.作为本发明优选的方案,所述主机数据帧包括起始位、spi从机地址sn以及数据。
14.作为本发明优选的方案,所述指令帧和数据帧的起始位分别为3个脉冲和2个脉冲。
15.作为本发明优选的方案,所述优先级帧的起始位为3个脉冲。
16.与现有技术相比,本发明的有益效果是:
17.1、本发明中,通过mcu主控板通过fpga处理模块向spi从机发送时间校准帧1,时间校准帧1内带有mcu主控板的实时时间t1,spi从机接收到时间校准帧1后立刻给fpga处理模块返回一个时间校准帧2,时间校准帧2内带有spi从机的实时时间t2,fpga处理模块接收到时间校准帧2后,向mcu主控板发送时间校准帧23,时间校准帧3内部带有fpga处理模块的实时时间t3,mcu主控板接收时间校准帧3,并计算出延迟时间,将计算出的延迟时间输送给spi从机,spi从机根据输入延迟时间调整其内部的实时时间,重复上述步骤,逐一对spi从机进行时间校准,mcu主控板通过fpga处理模块逐个向spi从机发送指令帧,扫描从机状态,spi从机向mcu主控板发送优先级帧,mcu主控板根据优先级帧计算spi从机的优先级,使用计算出的优先级来安排发送顺序,mcu主控板根据发送顺序通过fpga处理模块逐个向spi从机发送数据帧,提高spi多从机的通讯效果。
具体实施方式
18.下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
19.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同,本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明,本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
20.本发明提供一种技术方案:
21.一种基于fpga技术实现spi多从机的通讯方法,包括fpga处理模块、spi从机以及mcu主控板,包括以下步骤:
22.s1,mcu主控板通过fpga处理模块向spi从机发送时间校准帧1,时间校准帧1内带有mcu主控板的实时时间t1,spi从机接收到时间校准帧1后立刻给fpga处理模块返回一个时间校准帧2,时间校准帧2内带有spi从机的实时时间t2,fpga处理模块接收到时间校准帧2后,向mcu主控板发送时间校准帧23,时间校准帧3内部带有fpga处理模块的实时时间t3,mcu主控板接收时间校准帧3,并计算出延迟时间,将计算出的延迟时间输送给spi从机,spi从机根据输入延迟时间调整其内部的实时时间,重复上述步骤,逐一对spi从机进行时间校准;
23.s2,mcu主控板通过fpga处理模块逐个向spi从机发送指令帧,扫描从机状态,spi从机向mcu主控板发送优先级帧,mcu主控板根据优先级帧计算spi从机的优先级,使用计算出的优先级来安排发送顺序,mcu主控板根据发送顺序通过fpga处理模块逐个向spi从机发送数据帧。
24.进一步的,所述延迟时间的计算公式为:t=(t3-t1)/2 (t3-t2)/2。
25.进一步的,所述s2中从机优先级sp计算方法如下:sp=p
·
(al b/m) c
·
sn其中m是扫描次数,m=1,2,3,
……
,n,每次加1,a、b、c是常量参数。
26.进一步的,所述指令帧包括起始位、spi从机地址sn以及发送询问。
27.进一步的,所述优先级帧包括起始位、mcu主控板地址以及数据优先级p。
28.进一步的,所述主机数据帧包括起始位、spi从机地址sn以及数据。
29.进一步的,所述指令帧和数据帧的起始位分别为3个脉冲和2个脉冲。
30.进一步的,所述优先级帧的起始位为3个脉冲。
31.具体实施方式:
32.mcu主控板通过fpga处理模块向spi从机发送时间校准帧1,时间校准帧1内带有mcu主控板的实时时间t1,spi从机接收到时间校准帧1后立刻给fpga处理模块返回一个时间校准帧2,时间校准帧2内带有spi从机的实时时间t2,fpga处理模块接收到时间校准帧2后,向mcu主控板发送时间校准帧23,时间校准帧3内部带有fpga处理模块的实时时间t3,mcu主控板接收时间校准帧3,并根据公式t=(t3-t1)/2 (t3-t2)/2计算出延迟时间,将计算出的延迟时间输送给spi从机,spi从机根据输入延迟时间调整其内部的实时时间,重复上述步骤,逐一对spi从机进行时间校准;
33.mcu主控板通过fpga处理模块逐个向spi从机发送指令帧,指令帧包括起始位、spi从机地址sn以及发送询问,扫描从机状态,spi从机向mcu主控板发送优先级帧,优先级帧包括起始位、mcu主控板地址以及数据优先级p,优先级帧的起始位为3个脉冲,mcu主控板根据优先级帧计算spi从机的优先级,从机优先级sp计算方法如下:sp=p
·
(al b/m) c
·
sn其中m是扫描次数,m=1,2,3,
……
,n,每次加1,a、b、c是常量参数,使用计算出的优先级来安排发送顺序,mcu主控板根据发送顺序通过fpga处理模块逐个向spi从机发送数据帧,数据帧包括起始位、spi从机地址sn以及数据,指令帧和数据帧的起始位分别为3个脉冲和2个脉冲。
34.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献