一种采用SPI连接MCU和FPGA的控制器间同步通信的方法技术

技术编号:37191995 阅读:18 留言:0更新日期:2023-04-20 22:52
本发明专利技术公布了一种采用SPI连接MCU和FPGA的控制器间同步通信的方法。FPGA同时承担光纤通信任务和扩展开关量刷新任务。由同步信号启动主控制器中MCU通过SPI向FPGA发送光纤通信数据和开出信号,FPGA发送到MCU的除了接收到底光纤通信数据外还包括开入信号。其余接收到光纤通信数据后应答的称为从控制器,本发明专利技术在主控制器使用了长数据帧通信,兼顾扩展开关量和光纤通信的同时减少了通信次数。在从控制器使用了长短数据帧混合使用的方法,通过短数据帧刷新开关量并查询光纤通信状态,使用长数据帧交换光纤通信数据,解决了MCU作为SPI通信主设备时查询光纤通信状态的问题,最终使得应用SPI连接MCU与FPGA的控制器也可以实现同步通信。信。信。

【技术实现步骤摘要】
一种采用SPI连接MCU和FPGA的控制器间同步通信的方法


[0001]本专利技术属于同步通信和光纤通信
,具体涉及在需要同步信号协调多个控制器联合控制的场景,一种采用SPI连接MCU和FPGA的控制器间同步通信的方法。

技术介绍

[0002]MCU(Micro Controller Unit,微控制单元)是嵌入式控制系统的核心,执行测量、控制计算和流程处理等功能,包含C51控制器、X86控制器、ARM控制器等多种类型。
[0003]FPGA (Field

Programmable Gate Array,现场可编程门阵列)具有高主频、多路并行处理特征,与MCU配合使用执行开关量扩展、数据通信、数据处理等功能,可以有效减轻MCU的任务负担,扩大控制器的应用范围。
[0004]开关量是只有0、1两个状态的量,例如开关触点分合状态是开入量,控制开关分断的命令是开出量。MCU的大部分引脚都是复用的,既可以作为开关量,也可以指定给内部集成的外设。使用FPGA后开关量直接连接到FPGA,MCU通过通信间接控制这些开关量,可以极大地节省MCU的引脚资源。
[0005]SPI(Serial Peripheral Interface
‑‑
串行外设接口)总线系统是一种同步串行外设接口,可以使MCU与各种外围设备以串行方式进行通信以交换信息,该接口一般使用4条线:串行时钟线(SCLK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线NSS。图1是一种典型连接方式:一个主设备连接一个从设备。SPI通信中NSS信号为低电平时通信有效,此时主设备通过MOSI输出数据,同时通过SCLK引脚为从设备提供时钟信号,从设备通过MISO引脚向主设备发送数据。这种通信方式要求主设备与从设备发送数据长度一致才能正常通信。另外,因为SPI通信是主设备启动和停止的,从设备必须在主设备启动通信前准备好待传送的数据,需要协调好主从设备的时序才能保证通信正常。
[0006]MCU与FPGA通过并口连接比较常见,可以充分发挥FPGA的并行处理能力,MCU和FPGA没有通信延时,MCU可以无延时依次查询通信通道状态或读写通信数据。但并口占用的MCU引脚资源较多,包含16根数据线,20根地址线,加上片选等控制线,最多可能用到41个MCU引脚。
[0007]MCU与FPGA采用SPI连接时占用MCU引脚资源较少,但是MCU和FPGA间SPI间的通信延时导致MCU不能实时查询外部数据或状态。另外如果MCU和FPGA间需要执行变长度SPI数据通信,协调作为从设备的FPGA正确响应也比较复杂。
[0008]MCU在进行实时性要求不高的流程控制时可以启用通信中断以保证通信的可靠性,但进行实时控制时一般通过查询方式进行通信。DMA(Direct Memory Access,直接内存访问)功能是MCU进行数据通信的重要手段,MCU发送数据时只需要设置发送长度,并准备好数据后启动发送即可,接收数据只需要查询是否接收到预定长度的数据,不需要逐字节查询收发,有效降低了MCU的占用率。
[0009]有的嵌入式控制系统需要多个控制器模块协同控制,由同步信号协调控制器之间
的光纤通信。以智能整流桥方案为例,控制通道和智能整流桥均配有控制器。两个控制通道一个在线控制,一个备用,用于测量与控制;多个智能整流桥用于并联输出电流。控制通道计算的控制结果通过光纤网络传送到智能整流桥同步执行。各智能整流桥必须按照相同的控制角输出才能保证各整流桥输出电流大小相近。为此提出了励磁系统的同步通信方法(CN201610224359.6一种并联智能整流桥与调节器之间的同步通信方法):光纤通信中智能整流桥是主控制器,由同步信号驱动开始通信周期,向控制通道发送自身状态,控制通道是从控制器,接收到任一主控制器数据后立即回应控制结果,保证各整流桥下一周期按此结果执行。其光纤网络连接如图2所示,任意两个控制器间均有光纤连接。
[0010]FPGA处理光纤通道的数据收发的同时还兼顾控制器的控制开关量,从外部读取开入量状态传送给MCU,并从MCU获取开出数据操作对应引脚输出电平。开关量刷新频率要求不高,不低于同步信号频率即可。

技术实现思路

[0011]本专利技术提出采用SPI连接MCU和FPGA的控制器间同步通信的方法,旨在解决采用MCU与FPGA通过SPI连接的控制器之间进行通信时无法实施查询收到外部数据的状态的问题,及MCU和FPGA间需要执行变长度SPI数据通信困难的问题。
[0012]本专利技术的技术方案为:一种采用SPI连接MCU和FPGA的控制器间实现同步通信的方法,应用于通过光纤进行点对点互联的控制器之间,其中由同步信号驱动数据通信的控制器为主控制器,接收到主控制器信息后应答的为从控制器,参与光纤通信的控制器均为使用SPI连接的MCU和FPGA,两种控制器内部MCU和FPGA的SPI通信中MCU均作为主方,FPGA同时承担光纤通信任务和控制器扩展开关量刷新任务;主控制器中,同步信号启动MCU通过SPI向FPGA发送光纤通信数据和开出信号,FPGA实现扩展开出并将光纤通信数据发送到其余控制器,同时FPGA将此前通过光纤端口接收的光纤通信数据以及开入信号传送给MCU;从控制器中,MCU与FPGA通过SPI按照至少5倍同步频率进行短数据帧通信,对开关量定时刷新,并从接收自FPGA的短数据帧中查询光纤端口接收光纤通信的状态,当MCU检测到光纤端口已收到任一主控制器光纤通信数据后,第一个刷新周期通过设置在短数据帧中的控制字通知FPGA将启动光纤通信数据交互,将需要通过光纤网络发送的数据处理成光纤通信数据,第二个刷新周期MCU启动长数据帧通信并将光纤通信数据传送到FPGA,而FPGA将所有接收自其他控制器的光纤通信数据传送给MCU,在接收完MCU发送的光纤通信数据后立即通过各光纤端口送给其余所有控制器。
[0013]进一步地,主控器和从控制器之间均设置收、发两条光纤,每对主控器和从控制器之间均设置收、发两条光纤,每一条光纤设有各自独立的光纤端口,控制器通过不同的光纤端口与不同的控制器多路并联。
[0014]控制器发送数据的某个光纤端口与接收数据的控制器的某个光纤端口,唯一对应。
[0015]进一步地,主控器中,MCU与FPGA进行SPI通信的数据等长,且包括多个等长的端口收发数据和开关量数据,MCU发送给FPGA的数据的开关量数据为开出数据,FPGA发送给MCU的数据的开关量数据为开入数据,端口收发数据包括等字节长度的目标设备ID和自身设备
ID数据,多个端口收发数据按照光纤端口序号排列拼接处理成光纤通信数据,开关量数据排列拼接在光纤通信数据的尾部。
[0016]进一步地,主控器中,同步信号启动MCU后的通信过程包括:同步信号触发MCU中断,由MCU收集待发送的数据和扩展开出数据拼接后通过SPI传送到FPGA,由FPGA实现扩展开出,并将通信数据发送到其本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种采用SPI连接MCU和FPGA的控制器间实现同步通信的方法,应用于通过光纤进行点对点互联的控制器之间,其中由同步信号驱动数据通信的控制器为主控制器,接收到主控制器信息后应答的为从控制器,其特征在于,参与光纤通信的控制器均为使用SPI连接的MCU和FPGA,两种控制器内部MCU和FPGA的SPI通信中MCU均作为主方,FPGA同时承担光纤通信任务和控制器扩展开关量刷新任务;主控制器中,同步信号启动MCU通过SPI向FPGA发送光纤通信数据和开出信号,FPGA实现扩展开出并将光纤通信数据发送到其余控制器,同时FPGA将此前通过光纤端口接收的光纤通信数据以及开入信号传送给MCU;从控制器中,MCU与FPGA通过SPI按照至少5倍同步频率进行短数据帧通信,对开关量定时刷新,并从接收自FPGA的短数据帧中查询光纤端口接收光纤通信的状态,当MCU检测到光纤端口已收到任一主控制器光纤通信数据后,第一个刷新周期通过设置在短数据帧中的控制字通知FPGA将启动光纤通信数据交互,将需要通过光纤网络发送的数据处理成光纤通信数据,第二个刷新周期MCU启动长数据帧通信并将光纤通信数据传送到FPGA,而FPGA在这个刷新周期将所有接收自其他控制器的光纤通信数据传送给MCU,并在接收完MCU发送的光纤通信数据后立即通过光纤网络送给其余所有控制器。2.根据权利要求1所述的方法,其特征在于,每对主控器和从控制器之间均设置收、发两条光纤,每一条光纤设有各自独立的光纤端口,控制器通过不同的光纤端口与不同的控制器多路并联。3.根据权利要求2所述的方法,其特征在于,主控器中,MCU与FPGA进行SPI通信的数据等长,且包括多...

【专利技术属性】
技术研发人员:余翔宋志伟陈绪鹏何学民周立博魏智廖中亮吴小顺
申请(专利权)人:三峡智控科技有限公司
类型:发明
国别省市:

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

1