这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
icore3_fpga_13 [2020/01/20 19:59] zgf |
icore3_fpga_13 [2022/03/18 15:41] (当前版本) sean |
||
---|---|---|---|
行 1: | 行 1: | ||
+ | |**银杏科技有限公司旗下技术文档发布平台** |||| | ||
+ | |技术支持电话|**0379-69926675-801** ||| | ||
+ | |技术支持邮件|Gingko@vip.163.com ||| | ||
+ | ^ 版本 ^ 日期 ^ 作者 ^ 修改内容 ^ | ||
+ | | V1.0 | 2020-1-21 | gingko | 初次建立 | | ||
+ | |||
===== 实验十三:基于ARM+FPGA的FSMC复用模式通信 ===== | ===== 实验十三:基于ARM+FPGA的FSMC复用模式通信 ===== | ||
==== 一、实验目的与意义 ==== | ==== 一、实验目的与意义 ==== | ||
行 6: | 行 12: | ||
==== 二、实验设备及平台 ==== | ==== 二、实验设备及平台 ==== | ||
- | - iCore3 双核心板( FPGA型号为EP4CE10F17,ARM型号为STM32F407IGT6)。 | + | - iCore3 双核心板( FPGA型号为EP4CE10F17,ARM型号为STM32F407IGT6)[[https://item.taobao.com/item.htm?id=524229438677|点击购买]]。 |
- | - Blaster(或相同功能的)仿真器和USB线缆。 | + | - Blaster(或相同功能的)仿真器和USB线缆[[https://item.taobao.com/item.htm?id=554869837940|点击购买]]。 |
- Micro USB线缆。 | - Micro USB线缆。 | ||
- | QuartusII开发软件(本实验中使用的是13.1版本)。 | + | - QuartusII开发软件(本实验中使用的是13.1版本)。 |
==== 三、实验原理 ==== | ==== 三、实验原理 ==== | ||
行 15: | 行 21: | ||
* 所以整体思路是ARM将FPGA内的RAM当成外挂存储器,通过FSMC向RAM中写入自动生成的数据,并读回进行对比,从而验证ARM和FPGA之间基于FSMC的通信。系统框架如下图所示: | * 所以整体思路是ARM将FPGA内的RAM当成外挂存储器,通过FSMC向RAM中写入自动生成的数据,并读回进行对比,从而验证ARM和FPGA之间基于FSMC的通信。系统框架如下图所示: | ||
- | 图13-1 系统框架图 | + | {{ :icore3:icore3_fpga_13_1.png?direct&500 |图13-1 系统框架图}} |
* 这里主要讲一下FPGA对FSMC信号的处理。下图是FPGA和ARM之间的FSMC信号连接。 | * 这里主要讲一下FPGA对FSMC信号的处理。下图是FPGA和ARM之间的FSMC信号连接。 | ||
- | 图13-2 信号连接图 | + | {{ :icore3:icore3_fpga_13_2.png?direct&500 |图13-2 信号连接图}} |
* WR和RD分别是写使能信号和读使能信号。 | * WR和RD分别是写使能信号和读使能信号。 | ||
* CS0表示片选,低电平有效。 | * CS0表示片选,低电平有效。 | ||
行 67: | 行 73: | ||
wire clk = (!wr_clk2 | !rd); | wire clk = (!wr_clk2 | !rd); | ||
- | //将rd和wr信号结合起来,读写都可以用,取反是因为两个信号都是低电平有效,wr延后2个100M时钟周期,是为了保证存储数据的时候,时钟的上升沿在数据的稳定期。 | + | //将rd和wr信号结合起来,读写RAM操作都用此信号 |
+ | //取反是因为两个信号都是低电平有效,wr延后2个100M时钟周期,是为了保证存储数据的时候,时钟的上升沿在数据的稳定期。 | ||
</code> | </code> | ||
* 结合时序图理解可能更为清晰,下图是相关信号的波形图,可以参考此图对代码进行理解。 | * 结合时序图理解可能更为清晰,下图是相关信号的波形图,可以参考此图对代码进行理解。 | ||
- | 图13-3 信号波形图 | + | {{ :icore3:icore3_fpga_13_3.png?direct&900 |图13-3 信号波形图}} |
* 通过上图可以看到,wr信号和rd信号分别处于不同的时期,clk信号和(!rd)信号同步,和wr_clk2同步。且地址寄存器address的值和数据db的值符合程序设置。说明ARM成功通过FSMC读写RAM内的数据。 | * 通过上图可以看到,wr信号和rd信号分别处于不同的时期,clk信号和(!rd)信号同步,和wr_clk2同步。且地址寄存器address的值和数据db的值符合程序设置。说明ARM成功通过FSMC读写RAM内的数据。 | ||
==== 五、操作流程和测试结果 ==== | ==== 五、操作流程和测试结果 ==== | ||
行 84: | 行 91: | ||
* 观察iCore3双核心板,可以看到ARM•LED和FPGA•LED均为绿色,表示实验成功。 | * 观察iCore3双核心板,可以看到ARM•LED和FPGA•LED均为绿色,表示实验成功。 | ||
- | 图13-4 实验效果图 | + | {{ :icore3:icore3_fpga_13_4.png?direct&600 |图13-4 实验效果图}} |