目录
作者ID :fpga和matlab
CSDN主页:https://blog.csdn.net/ccsss22?type=blog
擅长技术:
1.无线基带,无线图传,编解码
2.机器视觉,图像处理,三维重建
3.人工智能,深度学习
4.智能控制,智能优化
5.其他
通过串口接收升级文件,将升级文件写入EPCS中,然后使用Remote_system_update模块进行升级操作。
存储器类型使用片上RAM,约20KB空间
使用的芯片是EP4CE40F23C6
这里,主要的核心部分是基于NIOSII的Remote system update模块的调用,这里在设计说明中,重点介绍一下Remote system update模块的使用方法。
RSU单元主要包括如下几个部分:
第一:页模式的选择
通过页模式选择特性,我们可以选择重配置期间时加载不同的配置程序。在FPGA芯片中,通过PGM[2:0]三个引脚来实现页选择。
第二:工厂配置
工厂配置就是系统的默认配置,当使用增强配置期间的时候,工厂配置会存放在000页。当使用串行配置器件的时候,工作配置则被放在从0X00000000地址开始的空间。工厂配置值能被系统生产商第一次配置进去,静止用户通过远程升级模式进行修改。
第三,应用配置
从远程接收到的配置数据,并存放到远程存储器里除工厂配置的其他的任意的空间。
第四,看门狗计数器
主要用来进行复位计数的功能。
第五,远程程序升级子模块
远程程序升级子模块管理着远程配置特性,这个字模块是由一个远程配置状态机来实现的。
第六,远程配置寄存器
远程配置寄存器主要用在存储配置地址以及引起重配置的错误类型。
系统的设计。
第一,基于NIOSII的RSU单元模块设计
在SOPC界面中,做如下的IP核总线连接:

从上面的设置可以看到,整个NIOSII系统,主要包括CPU核,片上RAM以及UART串口模块三个部分。
这些模块的参数设置以及地址分配分别如下所示:
片上RAM:

注意,片上存储器的总大小这里设置为40960,当然你也可以改为你所要求的大小。
UART串口:

CPU核:

第二,系统整体设计
整个系统的结构如下所示:

整个系统的资源占用如下所示:

`timescale 1 ns / 1 ps
module RSU_tops(
i_clk_80Mhz,
i_rst,
i_EPCS_DO,
i_RX_UART,
o_clk_40Mhz,
o_Pause,
o_TX_UART,
o_EPCS_CS,
o_EPCS_DI,
o_EPCS_CLK,
o_PWM,
o_PWM1,
o_LED1,
o_LED2
);
input i_clk_80Mhz;
input i_rst;
input i_EPCS_DO;
input i_RX_UART;
output o_clk_40Mhz;
output o_Pause;
output o_TX_UART;
output o_EPCS_CS;
output o_EPCS_DI;
output o_EPCS_CLK;
output [7:0]o_PWM;
output o_PWM1;
output o_LED1;
output o_LED2;
CLKDCM CLKDCM_u(
.i_clk (i_clk_80Mhz),
.i_rst (i_rst),
.o_clk (o_clk_40Mhz)
);
Count Count_u(
.i_clk (o_clk_40Mhz),
.i_rst (i_rst),
.o_pause (o_Pause)
);
nios_rsu2 nios_rsu2_u(
.EPCS_DO (i_EPCS_DO),
.RX_UART (i_RX_UART),
.CLK_40MHz (o_clk_40Mhz),
.Reset_n (o_Pause),
.TX_UART (o_TX_UART),
.EPCS_CS (o_EPCS_CS),
.EPCS_DI (o_EPCS_DI),
.EPCS_CLK (o_EPCS_CLK),
.PWM (o_PWM),
.PWM1 (o_PWM1),
.led1 (o_LED1),
.led2 (o_LED2)
);
endmodule
`timescale 1 ns / 1 ps
module nios_rsu2(
EPCS_DO,
RX_UART,
CLK_40MHz,
Reset_n,
TX_UART,
EPCS_CS,
EPCS_DI,
EPCS_CLK,
PWM,
PWM1,
led1,
led2
);
input wire EPCS_DO;
input wire RX_UART;
input wire CLK_40MHz;
input wire Reset_n;
output wire TX_UART;
output wire EPCS_CS;
output wire EPCS_DI;
output wire EPCS_CLK;
output wire [7:0] PWM;
output wire PWM1;
output reg led1;
output reg led2;
Remote_NIOS b2v_inst(
.clk_0(CLK_40MHz),
.reset_n(Reset_n),
.data0_to_the_epcs_flash_controller(EPCS_DO),
.rxd_to_the_fifoed_avalon_uart(RX_UART),
.dclk_from_the_epcs_flash_controller(EPCS_CLK),
.sce_from_the_epcs_flash_controller(EPCS_CS),
.sdo_from_the_epcs_flash_controller(EPCS_DI),
.txd_from_the_fifoed_avalon_uart(TX_UART),
.out_port_from_the_pio(PWM));
assign PWM1 = 1'b0;
wire sel;
assign sel = EPCS_CS;
always @(posedge CLK_40MHz or posedge Reset_n)
begin
if(Reset_n)
begin
led1 <= 1'b0;
led2 <= 1'b0;
end
else begin
if(sel == 1'b1)
begin
led1 <= 1'b0;
led2 <= 1'b1;
end
else begin
led1 <= 1'b1;
led2 <= 1'b0;
end
end
end
endmodule
这里,仿真效果如下图所示:


然后我这里下面的测试步骤都是基于这个板子来做的测试,测试步骤:
管脚的绑定截图:

然后,我们这里主要观察的是LED1和LED2两个灯的工作情况。这里,我再我的板子上连接的两个绿色的LED灯。
A12-23
尝试通过RVM将RubyGems升级到版本1.8.10并出现此错误:$rvmrubygemslatestRemovingoldRubygemsfiles...Installingrubygems-1.8.10forruby-1.9.2-p180...ERROR:Errorrunning'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/rub
我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘
我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121
我最近决定从我的系统中卸载RVM。在thispage提出的一些论点说服我:实际上,我的决定是,我根本不想担心Ruby的多个版本。我只想使用1.9.2-p290版本而不用担心其他任何事情。但是,当我在我的Mac上运行ruby--version时,它告诉我我的版本是1.8.7。我四处寻找如何简单地从我的Mac上卸载这个Ruby,但奇怪的是我没有找到任何东西。似乎唯一想卸载Ruby的人运行linux,而使用Mac的每个人都推荐RVM。如何从我的Mac上卸载Ruby1.8.7?我想升级到1.9.2-p290版本,并且我希望我的系统上只有一个版本。 最佳答案
导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵
电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。 准备工作: 1、U盘一个(尽量使用8G以上的U盘)。 2、一台正常联网可使用的电脑。 3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。 4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。 U盘启动盘制作步骤: 注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注
在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList()Obt
C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.
需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc
基础版云数据库RDS的产品系列包括基础版、高可用版、集群版、三节点企业版,本文介绍基础版实例的相关信息。RDS基础版实例也称为单机版实例,只有单个数据库节点,计算与存储分离,性价比超高。说明RDS基础版实例只有一个数据库节点,没有备节点作为热备份,因此当该节点意外宕机或者执行重启实例、变更配置、版本升级等任务时,会出现较长时间的不可用。如果业务对数据库的可用性要求较高,不建议使用基础版实例,可选择其他系列(如高可用版),部分基础版实例也支持升级为高可用版。基础版与高可用版的对比拓扑图如下所示。优势 性能由于不提供备节点,主节点不会因为实时的数据库复制而产生额外的性能开销,因此基础版的性能相对于