无人机控制器中ARM和FPGA非相似余度通信方法技术

技术编号:21089288 阅读:58 留言:0更新日期:2019-05-11 09:51
本发明专利技术提供了一种无人机控制器中ARM和FPGA非相似余度通信方法,ARM采用串口或SPI协议通信的方式与FPGA进行通信,FPGA采用串口方式向数据发送模块传输数据,包括:ARM和FPGA之间的数据同步化处理,和FPGA接收ARM数据后判断数据在传输过程中是否发生故障,若发生故障则切换FPGA和ARM之间的数据传输方式;数据同步化处理包括初始化同步和进程同步。

Unsimilar Redundancy Communication Method between ARM and FPGA in UAV Controller

【技术实现步骤摘要】
无人机控制器中ARM和FPGA非相似余度通信方法
本专利技术涉及一种无人机通信与控制技术,特别是一种无人机控制器中ARM和FPGA非相似余度通信方法。
技术介绍
随着现代电子技术的高速发展,设计的电路越来越复杂,系统规模越来越大,通信系统及电路的设计和实现已经与功能日益强大的EDA及系统仿真工具不可分割。基于ARM与FPGA结合的数字通信系统,可以很好地使ARM处理器和FPGA之间互相弥补彼此的不足,使其更适合于通信系统的设计。FPGA(现场可编程逻辑器件)是一种半定制电路,能够实现各种逻辑电路,设计灵活,逐步成为嵌入式系统技术发展的新方向,具有如下特点:随着FPGA芯片规模越来越大,所含逻辑单元越来越多,可以实现的功能越来越强;FPGA出厂前做过测试,设计人员只需要通过相关软硬件环境就可以实现芯片最终功能,避免很多潜在的风险;使用者可以在不更改外围电路的情况下,对FPGA反复地编程、擦除,实现不同的功能;FPGA具有非常高的速度,可以实现非常复杂的高速逻辑。ARM体系是一种广泛用于嵌入式系统设计的32位RISC处理器架构。ARM微处理器具有许多优点:体积小、低功耗、低成本、高性能;支持16位和32位双指令集,能很好的兼容8位/16位器件;大量使用寄存器,指令速度更快;大多数数据操作都在寄存器中完成;寻址方式灵活,执行效率高;指令长度固定。到目前为止,ARM微处理器及技术的应用深入到工业控制、无线通讯、网络应用、消费类电子产品以及成像和安全等多个领域。但是FPGA在分析、控制、驱动应用处理等方面较为薄弱,而ARM微处理器的信号处理能力和I/O口数量有限,针对以上特点,越来越多的复杂应用场合开始采用ARM+FPGA的综合设计方案,大幅度的减少了外部扩展器件的使用量,在综合设计成本不是很高的情况下获得较强大的功能,将是未来很长时间内电子设计的一个重要发展方向。在ARM+FPGA综合设计方案中,ARM与FPGA需要进行实时通信,通信方式分为并行通信和串行通信两种。其中并行通信方式最大的缺点是要用大量的I/O口,这一点通常是ARM处理器所不能满足的,因此在大多数情况下均使用串行通信的方式,减少I/O口的使用。常用的串行通信方式有串口通信和SPI通信,两种方式均可通过较为简单的电路设计实现全双工通信。通常在ARM与FPGA的通信中只使用单一的串口或者SPI通信,但对于可靠性要求较高的飞控系统来说,保证飞控数据在传输时正确且无丢失是重中之重,当使用单一的通信方式时,若在传输过程中出现故障,则无法对飞行数据做进一步的分析。因此在使用到ARM+FPGA综合设计的飞控系统中,在ARM与FPGA之间使用串口和SPI的双余度通信方式能够保证飞控数据传输的完整性,从而提高飞控系统的可靠性。
技术实现思路
本专利技术的目的在于提供一种无人机控制器中ARM和FPGA非相似余度通信方法,可以实现ARM和FPGA之间的通信在串口和SPI协议通信之间切换。实现上述目的的技术方案为:一种无人机控制器中ARM和FPGA非相似双余度数据传输方法,ARM采用串口或SPI协议通信的方式与FPGA进行通信,FPGA采用串口方式向数据发送模块传输数据,包括:ARM和FPGA之间的数据同步化处理,FPGA接收ARM数据后判断数据在传输过程中是否发生故障,若发生故障则切换FPGA和ARM之间的数据传输方式;其中数据同步化处理包括初始化同步和进程同步。采用上述防范,ARM和FPGA之间初始化同步的具体过程为:设定ARM初始化完成标志位flag1、FPGA初始化完成标志位flag2和同步完成标志位flag3;若ARM和FPGA初始化分别成功则flag1和flag2置为1,否则为0:将flag1和flag2相与的结果输出至flag3,若flag3的值为1则同步成功,否则同步失败。采用上述方法,ARM和FPGA之间进行进程同步的具体过程为:设定FPGA传输完成标志位SPI_DONE和ARM传输完成标志位UART_DONE;FPGA传输一定帧数数据后执行空操作指令且SPI_DONE置为1,ARM传输一定帧数数据后URAT_DONE置为1;当SPI_DONE和URAT_DONE的值均为1时ARM和FPGA执行下一次数据传输。采用上述方法,ARM和FPGA之间初始采用串口方式进行数据的传输,且传输的数据中包括校验值,FPGA采用累加和校验值判断和ARM之间的通信是否发生故障,判断过程为:设定故障标志位wrong和最大循环次数N;FPGA接收到ARM的数据后判断校验值是否正确,若正确则判定为无故障,FPGA和ARM以原有的数据传输方式通信;FPGA接收到ARM的数据后判断校验值是否正确,若不正确则故障标志位wrong加1;若wrong累加至最大循环次数N,则FPGA切换和ARM之间的数据传输方式至SPI协议通信。本专利技术与现有技术相比,具有以下优点:(1)采用ARM+FPGA的综合设计方案,大幅度的减少了外部扩展器件的数量,在综合设计成本不高的情况下获得较强大的功能;(2)使用双余度的数据传输方式,解决了单一方式进行传输时,一旦数据发生故障便传输失败的问题,提高了数据在传输过程中的可靠性。下面结合说明书附图对本专利技术作进一步描述。附图说明图1为本专利技术提供的通信整体框架图。图2为初始化同步流程图和进程同步流程图,其中(a)为初始化同步流程示意图;(b)为进程同步流程示意图。图3为故障判断流程图。具体是实施方式一种无人机控制器中ARM和FPGA非相似余度通信方法,包括以下步骤:步骤1,用C语言对ARM进行串口程序编程和SPI程序编程;步骤2,用VerilogHDL语言对FPGA进行编程;步骤3,系统上电,对ARM和FPGA之间的数据进行同步化处理;步骤4,ARM和FPGA之间进行数据传输,且FPGA接收ARM数据后判断数据在传输过程中是否发生故障,若发生故障则切换FPGA和ARM之间的数据传输方式;步骤5,FPGA将数据传送至数据发送模块发送至地面。实现上述方法的硬件系统主要包括MPU6050模块、以STM32F767IGT6为主控单元的ARM开发板和以EP4CE6F22C8N为主控单元的FPGA开发板。其整体框架图如图1所示。整个系统采用22.2V直流电压供电,在FPGA开发板上通过电源转换模块后输出5V电压至MPU6050模块和ARM开发板。其中MPU6050模块通过I2C接口连接至ARM模块,ARM模块和FPGA模块之间通过串口、SPI接口和相关控制信号线进行连接,FPGA模块和地面站之间通过使用串口通信的数传模块连接。串口通信在硬件设计上较为简单,使用一对传输线即可实现数据的双向传输,通用可编程收发波特率最高可达到27Mbps,数据字长度可通过编程设置为7位、8位或9位,且其程序设计较为简单。SPI通信采用四线制进行数据的全双工同步传输,在传输过程中需要主控芯片提供时钟信号,当以较快的速率进行数据传输时,其数据容易发生异常,且对PCB布局布线要求较高,程序设计上较串口通信也稍复杂。因此,本例中采用以串口通信为主,SPI通信作为辅助方式,形成非相似双余度数据传输结构,以提高系统的可靠性。MPU6050采样频率设置为50Hz,即1s内进行50次俯仰角、滚转角和偏航角的获本文档来自技高网
...

【技术保护点】
1.一种无人机控制器中ARM和FPGA非相似余度通信方法,ARM采用串口或SPI协议通信的方式与FPGA进行通信,FPGA采用串口方式向数据发送模块传输数据,其特征在于,包括:ARM和FPGA之间的数据同步化处理,和FPGA接收ARM数据后判断数据在传输过程中是否发生故障,若发生故障则切换FPGA和ARM之间的数据传输方式;其中数据同步化处理包括初始化同步和进程同步。

【技术特征摘要】
1.一种无人机控制器中ARM和FPGA非相似余度通信方法,ARM采用串口或SPI协议通信的方式与FPGA进行通信,FPGA采用串口方式向数据发送模块传输数据,其特征在于,包括:ARM和FPGA之间的数据同步化处理,和FPGA接收ARM数据后判断数据在传输过程中是否发生故障,若发生故障则切换FPGA和ARM之间的数据传输方式;其中数据同步化处理包括初始化同步和进程同步。2.根据权利要求1所述的方法,其特征在于,ARM和FPGA之间初始化同步的具体过程为:设定ARM初始化完成标志位flag1、FPGA初始化完成标志位flag2和同步完成标志位flag3;若ARM和FPGA初始化分别成功则flag1和flag2置为1,否则为0;将flag1和flag2相与的结果输出至flag3,若flag3的值为1则同步成功,否则同步失败。3.根据权利要求1所述的方法,其特征在于,ARM和FPGA之间进行进程同步的具体过程...

【专利技术属性】
技术研发人员:李志宇韩志成王从庆孙占杰肖莉萍郭剑东高艳辉
申请(专利权)人:南京航空航天大学南京长空科技有限公司南京浦口高新技术产业开发区管理委员会
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1