[发明专利]一种FPGA和STM32单片机的通信方法有效
申请号: | 202010106358.8 | 申请日: | 2020-02-21 |
公开(公告)号: | CN111352893B | 公开(公告)日: | 2023-06-20 |
发明(设计)人: | 张学东;王静;朱长红;孙钰凯 | 申请(专利权)人: | 烟台持久钟表有限公司 |
主分类号: | G06F15/173 | 分类号: | G06F15/173;G06F15/78 |
代理公司: | 烟台上禾知识产权代理事务所(普通合伙) 37234 | 代理人: | 赵加鑫 |
地址: | 264000 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 fpga stm32 单片机 通信 方法 | ||
本发明公开了一种FPGA和STM32单片机的通信方法,包括以下步骤:(1)使STM32单片机的SPI1连接FPGA的SPI1’;(2)STM32单片机的SPI2连接FPGA的SPI2’;配置STM32单片机的SPI1为主模式,配置SPI1为单工只发送模式,使能SPI1的DMA传输;配置STM32单片机的SPI2为从模式,配置SPI2为单工只接收模式,使能SPI2的DMA传输,配置SPI2的通信控制信号,并设置为浮空输入,配置通信控制信号的上升沿触发STM32单片机中断;STM32与FPGA之间以DMA方式实施全双工通讯。由此,本发明的FPGA和STM32单片机的通信方法仅使用5根线就实现了STM32单片机与FPGA之间的全双工通讯,传输速率达几M/S。
技术领域
本发明涉及STM32单片机通信领域,尤其涉及一种FPGA和STM32单片机的通信方法。
背景技术
FPGA器件属于专用集成电路中的一种半定制电路,是可编程的逻辑列阵,能够有效的解决原有的器件门电路数较少的问题。FPGA的基本结构包括可编程输入输出单元,可配置逻辑块,数字时钟管理模块,嵌入式块RAM,布线资源,内嵌专用硬核,底层内嵌功能单元。
STM32单片机和FPGA一般以主从形式来工作,STM32单片机和FPGA之间的数据发送和接收的时钟信号都是由主机即STM32单片机产生的,如果从机主动向主机发送数据,需要从机通过I/O口向主机发中断信号,主机响应中断,通过SPI协议向从机发送准备就绪的信号数据,才能得到从机发送的数据,从机发送的数据帧的长度由主机控制。另一方面,这种通信的过程中受到干扰,容易产生数据错位或进入死循环。
发明内容
本发明所要解决的技术问题是:提供一种FPGA和STM32单片机的通信方法。
为解决上述技术问题,本发明所采用的技术方案是:
一种FPGA和STM32单片机的通信方法,包括以下步骤:
(1)使STM32单片机的SPI 1连接FPGA的SPI 1’;STM32单片机的SPI2连接FPGA的SPI2’;
(2)配置STM32单片机的SPI 1为主模式,配置SPI 1为单工只发送模式,使能SP I1的DMA传输;
配置STM32单片机的SPI2为从模式,配置SPI 2为单工只接收模式,使能SPI2的DMA传输,配置SP I2的通信控制信号,并设置为浮空输入,配置通信控制信号上升沿触发STM32单片机中断。
(3)STM32与FPGA之间以DMA方式实施全双工通讯;
在上述技术方案的基础上,本发明还可以做如下改进。
优选地,所述步骤(3)中的通讯过程,包括
STM32发送数据、FPGA接收单字节数据、FPGA接收帧数据;
FPGA发送单字节数据,FPGA发送帧数据、STM32接收数据。
优选地,所述步骤(3)中STM32发送,具体是指STM32通过SP I 1发送数据,步骤如下:
S31-1:STM32启动DMA传输程序,将要发送的数据复制到DMA关联的内存中;
S31-2:监测DMA标志位,等待DMA传输完成;
S31-3:重置DMA标志位;
S31-4:发送下一帧;
优选地,所述步骤(3)中FPGA接收单字节数据的过程,具体步骤如下:
S32-1:在时钟信号的上升沿,将单字节数据接收标志信号位置0,采样数据位7;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烟台持久钟表有限公司,未经烟台持久钟表有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010106358.8/2.html,转载请声明来源钻瓜专利网。