目录

银杏科技有限公司旗下技术文档发布平台
技术支持电话0379-69926675-801
技术支持邮件Gingko@vip.163.com
版本 日期 作者 修改内容
V1.0 2020-1-21 gingko 初次建立

实验十三:基于ARM+FPGA的FSMC复用模式通信

一、实验目的与意义

  1. 了解FSMC的复用模式及时序
  2. 掌握ARM和FPGA基于FSMC复用模式的通信设计方法

二、实验设备及平台

  1. iCore3 双核心板( FPGA型号为EP4CE10F17,ARM型号为STM32F407IGT6)点击购买
  2. Blaster(或相同功能的)仿真器和USB线缆点击购买
  3. Micro USB线缆。
  4. QuartusII开发软件(本实验中使用的是13.1版本)。

三、实验原理

图13-1 系统框架图

图13-2 信号连接图

FSMC的复用模式

四、代码讲解

//-------------------------rd_wr ----------------------------//	
	assign rd = (csn | rdn);
	assign wr = (csn | wrn);
//-------------------------ab ------------------------------//
	reg [24:0]address;
	always @ (posedge nadv or negedge RST_n)
		begin
			if(!RST_n)
				begin
					address <= 25'd0;
				end
			else 
				begin
					address <= {ab,db};
				end
		end
//-------------------------clk ----------------------------//
	reg wr_clk1,wr_clk2;	
	always @(posedge PLL_100M or negedge RST_n)
		begin
			if(!RST_n)
				begin
					wr_clk1 <= 1'd1;
					wr_clk2 <= 1'd1;
				end
			else
				{wr_clk2,wr_clk1} <= {wr_clk1,wr};	//提取读写时钟
		end
 
		wire clk = (!wr_clk2 | !rd);
//将rd和wr信号结合起来,读写RAM操作都用此信号
//取反是因为两个信号都是低电平有效,wr延后2个100M时钟周期,是为了保证存储数据的时候,时钟的上升沿在数据的稳定期。

图13-3 信号波形图

五、操作流程和测试结果

1.操作步骤

  1. 将仿真器和iCore3双核心板连接。
  2. 给开发板供电。
  3. 将编译成功的FPGA代码和ARM代码分别下载到开发板。
  4. 观察现象,亦可通过signalTap查看相关信号,判断时序和逻辑是否有误。

2.实验结果

图13-4 实验效果图