【技术实现步骤摘要】
一种FPGA和STM32单片机的通信方法
本专利技术涉及STM32单片机通信领域,尤其涉及一种FPGA和STM32单片机的通信方法。
技术介绍
FPGA器件属于专用集成电路中的一种半定制电路,是可编程的逻辑列阵,能够有效的解决原有的器件门电路数较少的问题。FPGA的基本结构包括可编程输入输出单元,可配置逻辑块,数字时钟管理模块,嵌入式块RAM,布线资源,内嵌专用硬核,底层内嵌功能单元。STM32单片机和FPGA一般以主从形式来工作,STM32单片机和FPGA之间的数据发送和接收的时钟信号都是由主机即STM32单片机产生的,如果从机主动向主机发送数据,需要从机通过I/O口向主机发中断信号,主机响应中断,通过SPI协议向从机发送准备就绪的信号数据,才能得到从机发送的数据,从机发送的数据帧的长度由主机控制。另一方面,这种通信的过程中受到干扰,容易产生数据错位或进入死循环。
技术实现思路
本专利技术所要解决的技术问题是:提供一种FPGA和STM32单片机的通信方法。为解决上述技术问题,本专利技术所 ...
【技术保护点】
1.一种FPGA和STM32单片机的通信方法,其特征在于,包括:/n(1)使STM32单片机的SPI1连接FPGA的SPI1’;STM32单片机的SPI2连接FPGA的SPI2’;/n(2)配置STM32单片机的SPI1为主模式,配置SPI1为单工只发送模式,使能SPI1的DMA传输;/n配置STM32单片机的SPI2为从模式,配置SPI2为单工只接收模式,使能SPI2的DMA传输,配置SPI2的通信控制信号,并设置为浮空输入,配置通信控制信号的上升沿触发STM32单片机中断;/n(3)STM32与FPGA之间以DMA方式实施全双工通讯。/n
【技术特征摘要】
1.一种FPGA和STM32单片机的通信方法,其特征在于,包括:
(1)使STM32单片机的SPI1连接FPGA的SPI1’;STM32单片机的SPI2连接FPGA的SPI2’;
(2)配置STM32单片机的SPI1为主模式,配置SPI1为单工只发送模式,使能SPI1的DMA传输;
配置STM32单片机的SPI2为从模式,配置SPI2为单工只接收模式,使能SPI2的DMA传输,配置SPI2的通信控制信号,并设置为浮空输入,配置通信控制信号的上升沿触发STM32单片机中断;
(3)STM32与FPGA之间以DMA方式实施全双工通讯。
2.根据权利要求1所述的FPGA和STM32单片机的通信方法,其特征在于,所述步骤(3)中的通讯过程包括
STM32发送数据、FPGA接受单字节数据、FPGA接收帧数据;
FPGA发送单字节数据、FPGA发送帧数据、STM32接受数据。
3.根据权利要求2所述的FPGA和STM32单片机的通信方法,其特征在于,所述步骤(3)中STM32发送,具体是指STM32通过SPI1发送数据,步骤如下:
S31-1:STM32启动DMA传输程序,将要发送的数据复制到DMA关联的内存中;
S31-2:监测DMA标志位,等待DMA传输完成;
S31-3:重置DMA标志位;
S31-4:发送下一帧。
4.根据权利要求2所述的FPGA和STM32单片机的通信方法,其特征在于,所述步骤(3)中FPGA接受单字节数据,具体步骤如下:
S32-1:在时钟信号的上升沿,将接收标志信号位置0,采样数据位7;
S32-2:依次采样数据位6-1;
S32-3:采样数据位0,并将接收标志信号位置1。
5.根据权利要求2所述的FPGA和STM32单片机的通信方法,其特征在于,所述步骤(3)中FPGA接受帧数据,所述帧数据的格式为:帧头、类型、数据区长度、数据1、数据2、...数据n、校验和等部分,每一部分均为1字节,共n+4个字节,具体接受步骤如下:
S33-1:检测到单字节数据接收标志信号的上升沿,锁存单字节数据,判断单字节数据是否为帧头,如果是,超时计时器从零开始计时;否则,转S33-1;
S33-2:检测到单字节数据接收标志信号的上升沿,锁存"类型"...
【专利技术属性】
技术研发人员:张学东,王静,朱长红,孙钰凯,
申请(专利权)人:烟台持久钟表有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。