[发明专利]一种FPGA对接单片机FSMC接口的改进算法在审
申请号: | 201611152784.5 | 申请日: | 2016-12-14 |
公开(公告)号: | CN106776392A | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 李羚梅;张鹏泉;汪震;范玉进;曹晓冬;刘政鹏;苏晓旭;蒋航 | 申请(专利权)人: | 天津光电通信技术有限公司 |
主分类号: | G06F13/16 | 分类号: | G06F13/16 |
代理公司: | 北京国昊天诚知识产权代理有限公司11315 | 代理人: | 刘昕 |
地址: | 300211 天*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 fpga 对接 单片机 fsmc 接口 改进 算法 | ||
技术领域
本发明涉及一种时序匹配工作解决方案,尤其涉及一种FPGA对接单片机FSMC接口的改进算法。
背景技术
FSMC(Flexible Static Memory Controller,可变静态存储控制器)是STM32系列单片机所采用一种新型的存储器扩展技术。在外部存储器扩展方面具有独特的优势,可根据系统的应用需要,方便地进行不同类型大容量静态存储器的扩展。而FPGA(Field-Programmable Gate Array,现场可编程门阵列)作为一种能够灵活编程的逻辑器件,在需要与STM32系列单片机进行高速数据传输时,常常将自身模拟为一块静态存储器以供STM32读写,从而完成两者之间的数据交互。
FSMC接口对于STM32系列单片机是一种相当简便的存储器操作技术,但其读写时序受限于单片机自身的驱动时钟;与其对接的FPGA器件同样与驱动时钟强相关,需要精准的时序控制来保证通讯中信号/数据的正确性与稳定性。但由于STM32系列单片机与FPGA之间的信号驱动时钟有着相当大的差距(FPGA信号驱动时钟远大于STM32系列单片机),则造成两者之间的信号竞争冒险,导致其中一方不能够正常获得数据/信号(常见于接收数据的一方)。因而为了解决该问题,需要进行一定的时序匹配工作。
发明内容
本发明公开一种FPGA与STM32系列单片机之间时序匹配工作解决方案。
为了实现上述目的,本发明采用如下方案:
一种FPGA对接单片机FSMC接口的改进算法,包括步骤:
a.等待单片机操作;
b.收到所述单片机所发送的片选信号;
c.判断伴随所述片选信号的信号是读使能信号还是写使能信号;
d.执行具体操作;
e.结束。
其中d步骤所述执行具体操作包括写操作和读操作。
所述写操作步骤包括(步骤f-i):
f.判断所述写使能信号上升沿,在所述上升沿发生时刻锁存地址总线和数据总线上的数据;
g.产生锁存标志脉冲;
h.延迟锁存标志脉冲;
i.在延迟脉冲触发时将锁存到的地址总线的数据保存到相应的地址总线上。
所述读操作步骤包括(步骤j-k):
j.在读使能信号有效的过程中采集地址总线上的数据;
k.根据收到的地址总线数据返回相应的数据到数据总线上。
所述片选信号、所述读使能信号和所述写使能信号均为低电平有效。
优选的,所述FPGA为Xilinx公司的Spartan6 XC6SLX100芯片;所述FSMC为ST公司的STM32F429芯片。
所有步骤开始前还需要设置所述FSMC的地址建立时间、地址保持时间和数据建立时间。
优选的,所述FSMC的地址建立时间为8HLK,所述地址保持时间为16HLCK,所述数据建立时间为8HCLK。
本发明能够稳定高效的利用STM32单片机FSMC模块和FPGA之间进行数据交互,在保持现有机制不发生变化的同时,保证数据的完整性和正确性,用标志位重复锁存的方式,避免数据冒险的情况出现。
附图说明
图1为本发明FPGA与FSMC链路图。
图2为本发明FPGA端时序控制逻辑流程图。
图3为本发明FSCM读操作时序图。
图4为本发明FSCM写操作时序图。
具体实施方式
下面结合附图对本发明具体实施例做出详细说明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津光电通信技术有限公司,未经天津光电通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611152784.5/2.html,转载请声明来源钻瓜专利网。