实验原理:

  STM32F103上自带FMC控制器,本实验将通过FMC总线的地址独立模式实现STM32与FPGA

之间通信,FPGA内部建立RAM块,FPGA桥接STM32和RAM块,本实验通过FSMC总线从STM32向

RAM块中写入数据,然后读取RAM出来的数据进行验证。

核心代码:

int main(void)
{
int i;
unsigned short int fsmc_read_data; HAL_Init();
system_clock.initialize(); led.initialize();
fsmc.initialize();
LED_GREEN_ON; while()
{
for(i=;i<;i++)
{
fpga_write(i,i); //дÊý¾Ý
}
for(i=;i<;i++)
{
fsmc_read_data=fpga_read(i); //¶ÁÊý¾Ý
if(fsmc_read_data!=i) //±È½ÏÊý¾Ý
{
LED_GREEN_OFF;
LED_RED_ON;
while();
}
}
}
}
module FSMC_Ctrl(
input [:]ab,
inout [:]db,
input wrn,
input rdn,
input csn,
input PLL_48M,
input RST_n
);
//------------------------wr_rd-----------------------------//
wire wr;
wire rd; assign wr = (csn | wrn); //提取写信号
assign rd = (csn | rdn); //提取读信号 //-------------------------clk------------------------------//
reg wr_clk1,wr_clk2;
wire clk; always@(posedge PLL_48M or negedge RST_n)
begin
if(!RST_n)
begin
wr_clk1 <= 'd1;
wr_clk2 <= 'd1;
end
else {wr_clk2,wr_clk1} <= {wr_clk1,wr};
end assign clk = (!wr_clk2 | !rd); //将读写信号转换为时钟信号 //-------------------------DB_OUT---------------------------//
wire [:]DB_OUT; assign db = !rd ? DB_OUT : 'hzzzz; //--------------------------ram-----------------------------//
//实例化ram
my_ram u1(
.address(ab),
.clock(PLL_48M),
.data(db),
.rden(!rd),
.wren(!wr),
.q(DB_OUT)
); //----------------------emdmodule---------------------------//
endmodule

实验方法及指导书:

链接:http://pan.baidu.com/s/1bpq7qyV 密码:kib5

【iCore1S 双核心板_FPGA】例程十四:FSMC总线通信实验——独立地址模式的更多相关文章

  1. 【iCore4 双核心板_FPGA】例程十:FSMC总线通信实验——复用地址模式

    实验原理: STM32F767上自带FMC控制器,本实验将通过FMC总线的地址复用模式实现STM32与FPGA 之间通信,FPGA内部建立RAM块,FPGA桥接STM32和RAM块,本实验通过FSMC ...

  2. 【iCore4 双核心板_FPGA】例程十一:FSMC总线通信实验——独立地址模式

    实验原理: STM32F767上自带FMC控制器,本实验将通过FMC总线的地址独立模式实现STM32与FPGA 之间通信,FPGA内部建立RAM块,FPGA桥接STM32和RAM块,本实验通过FSMC ...

  3. 【iCore1S 双核心板_FPGA】例程十三:FSMC总线通信实验——复用地址模式

    实验原理: STM32F103上自带FMC控制器,本实验将通过FMC总线的地址复用模式实现STM32与FPGA 之间通信,FPGA内部建立RAM块,FPGA桥接STM32和RAM块,本实验通过FSMC ...

  4. 【iCore3 双核心板_FPGA】实验十四:FSMC总线通信实验——独立地址模式

    实验指导书及代码包下载: http://pan.baidu.com/s/1kVJBxJ5 iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...

  5. 【iCore3 双核心板_FPGA】例程十三:FSMC总线通信实验——复用地址模式

    实验指导书及代码包下载: http://pan.baidu.com/s/1nuYpI8x iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...

  6. 【iCore3 双核心板】例程十四:FATFS实验——文件操作

    实验指导书及代码包下载: http://pan.baidu.com/s/1dEpechF iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...

  7. 【iCore1S 双核心板_FPGA】例程一:GPIO输出实验——点亮LED

    实验现象: 三色LED循环点亮. 核心源代码: //--------------------Module_LED-----------------------------// module LED( ...

  8. 【iCore3 双核心板】例程十:RTC实时时钟实验——显示日期和时间

    实验指导书及代码包下载: http://pan.baidu.com/s/1jHuZcnc iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...

  9. 【iCore3 双核心板】例程十二:通用定时器实验——定时点亮LED

    实验指导书及代码包下载: http://pan.baidu.com/s/1kTWAAJ9 iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...

随机推荐

  1. SQL server学习(四)T-SQL编程之事务、索引和视图

    今天来分享下T-SQL高级编程中的事务.索引.视图,可以和之前的SQL server系列文章结合起来. 一.事务 事务(TRANSACTION)是作为单个逻辑工作单元执行的一系列操作,这些操作作为一个 ...

  2. 大数据系列博客之 --- 深入简出 Shell 脚本语言(高级篇)

    首先声明,此系列shell系列博客分为四篇发布,分别是: 基础篇:https://www.cnblogs.com/lsy131479/p/9914747.html 提升篇:https://www.cn ...

  3. Educational Codeforces Round 47 (Div 2) (A~G)

    目录 Codeforces 1009 A.Game Shopping B.Minimum Ternary String C.Annoying Present D.Relatively Prime Gr ...

  4. 迪杰斯特拉算法dijkstra(可打印最短路径)

    #include <iostream> #include <iomanip> #include <string> using namespace std; #def ...

  5. (转)理解classloader

    ClassLoader翻译过来就是类加载器,普通的Java开发者其实用到的不多,但对于某些框架开发者来说却非常常见.理解ClassLoader的加载机制,也有利于我们编写出更高效的代码.ClassLo ...

  6. java运行时could not open ........jvm.cfg问题的解决

    我相信这个问题肯定让不少人头疼.小编也纠结了将近3个小时的时间,终于弄明白这是怎么回事并且解决 java都知道时运行命令,不能打开...jvm.cfg很明显是jre虚拟机出现了问题(要么时jre的路径 ...

  7. window10总提示幸福倒计时,解决方法

    删除window用于标识计算机更新的临时文件,需要先停止功能Windows Update. 在开始菜单的“搜索程序和文件”框输入“Services.msc”命令打开服务窗口 打开Windows Upd ...

  8. Tinkoff Challenge - Final Round (Codeforces Round #414, rated, Div. 1 + Div. 2) 【ABC】

    老年人题解,语言python3 A - Bank Robbery 题意:给你ABC,以及n个数,问你在(B,C)之间的数有多少个. 题解:对于每个数判断一下就好了嘛 x,y,z = map(int,i ...

  9. 【译】如何在 Android 5.0 上获取 SD卡 的读写权限

    因为最近项目需要,涉及到 SD卡 的读写操作,然而申请 <!-- 读写权限 --> <uses-permission android:name="android.permi ...

  10. C# windows 桌面控件的扩展

    今天一同事 需要一个Windows from下 GridView的嵌套的控件,于是就去找了以前自己写的一些form 控件,发现居然没有人下载.同时查找以前的下载包也比较费时,于是乎就搞一个文章. 运行 ...