实验原理:

  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. Flutter常用组件(Widget)解析-Text

    单一格式的文本. 文本组件是以字符串形式显示的单一格式,这个文本字符串可以是多行显示也可以是单独一行显示,主要取决于你的布局限制. 这样式内容是可选择的,如果你省略了,则会使用文本的默认样式来显示.如 ...

  2. 在 Windows 10 中使用 OpenAI Spinning Up

    前段时间,openAI 发布了 Spinning Up ,本篇博客将介绍如何在 Windows 系统中使用 Spinning Up. 什么是 Spinning Up 先来说说 Spinning Up, ...

  3. Spring框架学习06——AOP底层实现原理

    在Java中有多种动态代理技术,如JDK.CGLIB.Javassist.ASM,其中最常用的动态代理技术是JDK和CGLIB. 1.JDK的动态代理 JDK动态代理是java.lang.reflec ...

  4. Web大前端面试题-Day10

    1. px和em的区别? px和em都是长度单位; 区别是: px的值是固定的,指定是多少就是多少, 计算比较容易. em得值不是固定的,并且em会继承父级元素的字体大小. 浏览器的默认字体高都是16 ...

  5. AGC 016B.Colorful Hats(思路)

    题目链接 对于某个元素分类讨论一下,就可以知道n个元素的总颜色种数了. 比如对a[1]分类讨论: 若1的颜色和某个元素相同,则总颜色数为a[1].a[i]要么等于a[1](i与某个元素颜色相同,记个数 ...

  6. Codeforces Round #514 (Div. 2)

    目录 Codeforces 1059 A.Cashier B.Forgery C.Sequence Transformation D.Nature Reserve(二分) E.Split the Tr ...

  7. js正则表达式中的

    $(function(){ //match方法---返回的是数组 var str = "1215rere565656"; alert(str.match(/\d+/g));cons ...

  8. 常用类及 LeetCode 每日一题

    1 日期时间类 在 Java 语言中,是通过时间戳来表示时间的.所谓的时间戳,在 Java 中就是指当前时间距离历元(1970-01-01 00:00:00)的时间间隔,单位是毫秒,所以 Java 中 ...

  9. SharePoint 特殊用户标识

    To get claim for All Authenticated Users in PS you need to use:$claim = New-SPClaimsPrincipal -Encod ...

  10. Java:大文件拆分工具

    java大文件拆分工具(过滤掉表头) import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File ...