【iCore1S 双核心板_FPGA】例程十三:FSMC总线通信实验——复用地址模式
实验原理:
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();
- fsmc.initialize();
- led.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,
- input nadv
- );
- //-----------------------rd_wr------------------------------//
- wire wr;
- wire rd;
- assign wr = (csn | wrn); //提取写信号
- assign rd = (csn | rdn); //提取读信号
- //-------------------------address-------------------------//
- //地址为复用模式,即地址线和数据线为同一组线,分时使用。
- reg [:]address;
- always@(posedge nadv or negedge RST_n)
- begin
- if(!RST_n)
- begin
- address = 'd0;
- end
- else address <= {ab,db};
- end
- //---------------------------clk----------------------------//
- reg wr_clk1,wr_clk2;
- always@(posedge PLL_48M or negedge RST_n)
- begin
- if(!RST_n)
- begin
- wr_clk1 <= 'd1;
- wr_clk2 <= 'd1;
- end
- else
- begin
- {wr_clk2,wr_clk1} <= {wr_clk1,wr};
- end
- end
- wire clk = (!wr_clk2|!rd); //将读写信号转换为时钟信号
- //--------------------------db_out--------------------------//
- wire [:]DB_OUT;
- assign db = !rd ? DB_OUT : 'hzzzz;
- //---------------------------ram----------------------------//
- //实例化ram
- my_ram u1(
- .address(address),
- .clock(clk),
- .data(db),
- .wren(!wr),
- .rden(!rd),
- .q(DB_OUT)
- );
- //------------------------endmodule-------------------------//
- endmodule
实验方法及指导书:
链接:http://pan.baidu.com/s/1kUYFKiF 密码:pgx2
【iCore1S 双核心板_FPGA】例程十三:FSMC总线通信实验——复用地址模式的更多相关文章
- 【iCore4 双核心板_FPGA】例程十:FSMC总线通信实验——复用地址模式
实验原理: STM32F767上自带FMC控制器,本实验将通过FMC总线的地址复用模式实现STM32与FPGA 之间通信,FPGA内部建立RAM块,FPGA桥接STM32和RAM块,本实验通过FSMC ...
- 【iCore3 双核心板_FPGA】例程十三:FSMC总线通信实验——复用地址模式
实验指导书及代码包下载: http://pan.baidu.com/s/1nuYpI8x iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
- 【iCore1S 双核心板_FPGA】例程十四:FSMC总线通信实验——独立地址模式
实验原理: STM32F103上自带FMC控制器,本实验将通过FMC总线的地址独立模式实现STM32与FPGA 之间通信,FPGA内部建立RAM块,FPGA桥接STM32和RAM块,本实验通过FSMC ...
- 【iCore4 双核心板_FPGA】例程十一:FSMC总线通信实验——独立地址模式
实验原理: STM32F767上自带FMC控制器,本实验将通过FMC总线的地址独立模式实现STM32与FPGA 之间通信,FPGA内部建立RAM块,FPGA桥接STM32和RAM块,本实验通过FSMC ...
- 【iCore3 双核心板_FPGA】实验十四:FSMC总线通信实验——独立地址模式
实验指导书及代码包下载: http://pan.baidu.com/s/1kVJBxJ5 iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
- 【iCore3 双核心板】例程四:USART通信实验——通过命令控制LED
实验指导书及代码包下载: http://pan.baidu.com/s/1pJxluWF iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
- 【iCore1S 双核心板_FPGA】例程二:GPIO输入实验——识别按键输入
实验现象: iCore1s 双核心板上与FPGA相连的三色LED(PCB上标示为FPGA·LED),按键按下红灯点亮,松开按键红灯熄灭. 核心源代码: module KEY( input CLK_12 ...
- 【iCore1S 双核心板_FPGA】例程十七:基于双口RAM的ARM+FPGA数据存取实验
实验现象: 核心代码: module DUAL_PORT_RAM( input CLK_12M, inout WR, input RD, input CS0, :]A, :]DB, output FP ...
- 【iCore1S 双核心板_FPGA】例程十五:基于I2C的ARM与FPGA通信实验
实验现象: 核心代码: int main(void) { int i,n; ]; ]; HAL_Init(); system_clock.initialize(); led.initialize(); ...
随机推荐
- xss总结--2018自我整理
0x00前言 因为ctf中xss的题目偏少(因为需要机器人在后台点选手的连接2333),所有写的比较少 这里推荐个环境http://test.xss.tv/ 0x01xss作用 常见的输出函数:pri ...
- MongoDB——权限管理
MongoDB--权限管理 MongoDB默认是没有权限验证的,但生产环境中,没有权限控制是很不安全的. 我们先不详谈太多概念,直接动手创建两个典型的账号: 超级管理员,类似sql server的sa ...
- BZOJ.1010.[HNOI2008]玩具装箱toy(DP 斜率优化/单调队列 决策单调性)
题目链接 斜率优化 不说了 网上很多 这的比较详细->Click Here or Here //1700kb 60ms #include<cstdio> #include<cc ...
- Scrapy爬虫框架的安装
Scrapy框架是我在Windows中遇到的最难安装的第三方库,一直不想写这篇博客,但碰巧今天重装了系统,这正好是个机会? 1.安装pywin32:https://sourceforge.net/pr ...
- bootstrap中的对话框-dialog
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <meta name= ...
- 设置Sublime Text 3的光标样式
升级了Sublime Text 3,结果光标变成了这个样子,非常不习惯: 查了文档http://www.sublimetext.com/3 ,Build 3059中得描述: Added setting ...
- v$instance如何生成
参考:http://www.itpub.net/thread-1284858-1-1.html 1.ORACLE 先创建的x$ 表即RDBMS的内部表 2.然后在X$表的基础上创建了GV$ 视图. ...
- 各种Oracle索引类型介绍
逻辑上:Single column 单行索引Concatenated 多行索引Unique 唯一索引NonUnique 非唯一索引Function-based函数索引Domain 域索引 物理上:Pa ...
- Resources for Learning about .NET Internals
http://adamsitnik.com/Disassembly-Diagnoser/ http://mattwarren.org/2018/01/22/Resources-for-Learning ...
- centos7下安装gcc7
之前写过在linux下升级gcc 4.8至gcc 4.9的过程,现在gcc最新的版本是8,有些软件必须是gcc 7或者以上的版本才可以编译,比如clickhouse,gcc 7的安装过程和之前基本上一 ...