一种基于FPGA的多串口通信方法及系统与流程

allin2026-05-14  26


本发明涉及串口通信,具体涉及一种基于fpga的多串口通信方法及系统。


背景技术:

1、多串口通信是指在一个系统中,存在多个串行通信接口(如uart、usart等)同时与不同的外部设备进行数据交换的技术。这种通信方式广泛应用于工业自动化、数据采集、远程控制等领域,因为它允许系统同时与多个设备进行交互,提高了系统的灵活性和效率。

2、然而,在多串口通信环境中,通信波特率的管理和通信误码率的控制是面临的重要挑战。波特率,作为衡量数据传输速率的单位,直接影响了数据传输的效率和实时性。在多串口系统中,不同的设备可能支持不同的波特率范围,且由于传输距离、线路质量等因素,实际可用的波特率可能受到限制。现有的多串口通信方法在处理波特率调整时,往往仅关注于设备本身的能力和系统内部的资源分配,而忽略了外部干扰源对通信质量的影响。这些外部干扰源可能包括电磁干扰、信号衰减、线路噪声等,它们会降低信号质量,增加误码率,从而影响通信的稳定性和可靠性。


技术实现思路

1、针对现有技术中的缺陷,本发明提供一种基于fpga的多串口通信方法及系统。

2、一方面,本发明提供一种基于fpga的多串口通信方法,该方法包括:

3、在接收待接入串口设备发送的串口通信请求时,获取fpga模块当前的串口通信数据,所述串口通信数据包括待接入串口设备的设备标识、设备位置以及已接入串口设备的设备标识、设备位置、所对应串口的串口波特率和误码率;根据所述串口波特率计算串口波特率和,根据所述串口波特率和与预设串口波特率和的差值确定待接入串口设备的可用波特率;

4、根据待接入串口设备的设备标识确定最小波特率;对所述误码率进行预处理,得到目标误码率差,根据所述设备位置和所述目标误码率差确定虚拟干扰源的位置坐标和干扰方向;根据所述位置坐标和干扰方向对所述最小波特率进行修正,得到目标最小波特率;

5、根据所述可用波特率和目标最小波特率差值确定目标波特率;根据所述目标波特率建立待接入串口设备与fpga模块之间的通信。

6、优选的,获取待接入串口设备的设备标识确定最小波特率,包括:

7、根据所述待接入串口设备的设备标识从波特率表中确定出所述待接入串口设备的波特率,其中,所述波特率表用于映射所述串口设备设备标识和最小波特率之间的关系。

8、优选的,对所述误码率进行预处理包括:

9、计算所述误码率与误码率阈值的误码率差,其中,所述误码率阈值根据误码率阈值表确定,所述误码率阈值表用于映射串口设备设备标识、误码率阈值之间的关系;

10、对所述误码率差进行归一化处理,得到目标误码率差。

11、优选的,根据所述设备位置和所述目标误码率差确定虚拟干扰源的位置坐标的公式为:

12、

13、式中,表示虚拟干扰源的位置坐标,表示已接入串口设备数量,表示第个已接入串口设备的位置坐标,为第个已接入串口设备的目标误码率差。

14、优选的,根据所述设备位置和所述目标误码率差确定虚拟干扰源的干扰方向包括:

15、将目标误码率最大的已接入串口设备确定为参考点;

16、根据所述参考点的位置坐标和所述虚拟干扰源的位置坐标计算所述虚拟干扰源到参考点的方向向量,归一化所述方向向量,得到虚拟干扰源的单位方向向量,公式为:

17、

18、式中,表示参考点的位置坐标,表示干扰源到参考点的方向向量,表示虚拟干扰源的单位方向向量。

19、优选的,根据所述位置坐标和干扰方向对所述最小波特率进行修正,得到目标最小波特率公式为:

20、

21、式中,表示待接入串口设备的位置坐标,表示虚拟干扰源到待接入串口设备的欧式距离,表示待接入串口设备与虚拟干扰源位置之间的单位向量,表示干扰方向积,表示最小波特率,表示目标最小波特率,为常数。

22、优选的,根据所述可用波特率和目标最小波特率差值确定目标波特率,包括:

23、在所述目标最小波特率小于所述可用波特率时,选择可用波特率中最小的可用波特率作为目标波特率;

24、在所述目标最小波特率属于所述可用波特率时,确定所述目标最小波特率为目标波特率;

25、在所述目标最小波特率大于所述可用波特率时,根据目标最小波特率和所述可用波特率的差值进行波特率调度。

26、另一方面,本发明提供一种基于fpga的多串口通信系统,该系统包括fpga模块,fpga模块包括通过总线连接的cpu单元与fpga单元,所述fpga单元包括:

27、第一确定单元,用于在接收待接入串口设备发送的串口通信请求时,获取fpga模块当前的串口通信数据,所述串口通信数据包括待接入串口设备的设备标识、设备位置以及已接入串口设备的设备标识、设备位置、所对应串口的串口波特率和误码率;根据所述串口波特率计算串口波特率和,根据所述串口波特率和与预设串口波特率和的差值确定待接入串口设备的可用波特率;

28、第二确定单元,用于根据待接入串口设备的设备标识确定最小波特率;对所述误码率进行预处理,得到目标误码率差,根据所述设备位置和所述目标误码率差确定虚拟干扰源的位置坐标和干扰方向;根据所述位置坐标和干扰方向对所述最小波特率进行修正,得到目标最小波特率;

29、串口通信单元,用于根据所述目标波特率建立待接入串口设备与fpga模块之间的通信。

30、本发明的有益效果体现在:一种基于fpga的多串口通信方法及系统,该方法包括:在接收待接入串口设备发送的串口通信请求时,获取fpga模块当前的串口通信数据,并根据串口波特率计算串口波特率和,进而确定待接入串口设备的可用波特率;根据待接入串口设备的设备标识确定最小波特率,并对误码率进行预处理,得到目标误码率差,进而确定虚拟干扰源的位置坐标和干扰方向,对最小波特率进行修正,得到目标最小波特率;最后,根据可用波特率和目标最小波特率差值确定目标波特率。本发明通过考虑误码率和设备位置等因素,将外部干扰源拟合为一个虚拟干扰源,根据虚拟干扰源动态调整波特率,实现了在有限通信资源下满足更多设备通信需求的目标,提高了通信效率和质量,增强了通信的稳定性和可靠性。



技术特征:

1.一种基于fpga的多串口通信方法,其特征在于,包括:

2.根据权利要求1所述的基于fpga的多串口通信方法,其特征在于,获取待接入串口设备的设备标识确定最小波特率包括:根据所述待接入串口设备的设备标识从波特率表中确定出所述待接入串口设备的波特率,其中,所述波特率表用于映射所述串口设备设备标识和最小波特率之间的关系。

3.根据权利要求1所述的基于fpga的多串口通信方法,其特征在于,对所述误码率进行预处理包括:

4.根据权利要求1所述的基于fpga的多串口通信方法,其特征在于,根据所述设备位置和所述目标误码率差确定虚拟干扰源的位置坐标的公式为:

5.根据权利要求4所述的基于fpga的多串口通信方法,其特征在于,根据所述设备位置和所述目标误码率差确定虚拟干扰源的干扰方向包括:

6.根据权利要求1所述的基于fpga的多串口通信方法,其特征在于,根据所述位置坐标和干扰方向对所述最小波特率进行修正,得到目标最小波特率公式为:

7.根据权利要求1所述的基于fpga的多串口通信方法,其特征在于,所述可用波特率和目标最小波特率差值确定目标波特率包括:

8.一种基于fpga的多串口通信系统,其特征在于,包括fpga模块,fpga模块包括通过总线连接的cpu单元与fpga单元,所述fpga单元包括:


技术总结
本发明公开了一种基于FPGA的多串口通信方法及系统,涉及串口通信技术领域,该方法包括:获取FPGA模块当前的串口通信数据,进而确定待接入串口设备的可用波特率;根据待接入串口设备的设备标识确定最小波特率,并对误码率进行预处理,得到目标误码率差,进而确定虚拟干扰源的位置坐标和干扰方向,对最小波特率进行修正,得到目标最小波特率;最后,根据可用波特率和目标最小波特率差值确定目标波特率。本发明通过考虑误码率和设备位置等因素,将外部干扰源拟合为一个虚拟干扰源,根据虚拟干扰源动态调整波特率,实现了在有限通信资源下满足更多设备通信需求的目标,提高了通信效率和质量,增强了通信的稳定性和可靠性。

技术研发人员:冯占军,苏华磊,刘俊君
受保护的技术使用者:成都凌亚科技有限公司
技术研发日:
技术公布日:2024/10/31
转载请注明原文地址: https://www.8miu.com/read-27916.html

最新回复(0)