当前位置: 首页 > news >正文

盐城企业网站制作网站建设设计

盐城企业网站制作,网站建设设计,建站宝盒开通,wordpress 多的模板最近的工作涉及对 FPGA 进行远程更新,也就是通过远程通信接口将 .bin 文件送到 FPGA,然后写入 FLASH,这样当 FPGA 重新上电后就可以执行更新后的程序了。因此第一步工作就是进行 FLASH 的读写控制。 然而如果尝试配置 FLASH 管脚时&#xff0…

  最近的工作涉及对 FPGA 进行远程更新,也就是通过远程通信接口将 .bin 文件送到 FPGA,然后写入 FLASH,这样当 FPGA 重新上电后就可以执行更新后的程序了。因此第一步工作就是进行 FLASH 的读写控制。

  然而如果尝试配置 FLASH 管脚时,会发现 CCLK 管脚是不可配置的,这实际上是因为 CCLK_0 管脚在内部已经被占用,我们必须通过其他方式获取/设置它。笔者所用芯片为 K7 系列,根据 ug470 数据手册,我们可以使用 STARTUPE2 原语获取、设置该时钟,官方手册的介绍如下

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

原语调用格式如下

STARTUPE2 #(.PROG_USR		("FALSE"),.SIM_CCLK_FREQ	(0.0)
)
STARTUPE2_inst(.CFGCLK			(cfgclk),.CFGMCLK		(cfgmclk),.EOS			(eos),.PREQ			(),.CLK			(0),.GSR			(0),.GTS			(0),.KEYCLEARB		(1),.PACK			(1),.USRCCLKO		(usrcclk),.USRCCLKTS		(0),.USRDONEO		(1),.USRDONETS		(0)
);
  • CFGCLK,配置逻辑主时钟,仅在配置时有输出,在 master 模式下也一直存在(存疑;根据后面的测试,文档所说的 Persist Enabled 应当指的是 Master 模式下一直使能/连接,但除了配置的时候存在时钟,其他时候为无效的高电平;在配置了 USRCCLK 时,在 FPGA 配置结束后三个 clk 该时钟将切换到 USRCCLK)。Configuration mode 是根据 M[2:0] 管脚配置的,最常用的是 M[2:0]=001 对应的 Master SPI 配置模式,笔者开发板即本模式,Master 模式下 CCLK 由 FPGA 输出给 FLASH 的 SCK;

  • EOS,End Of Start,指示 FPGA 配置的结束;

  • CFGMCLK,配置内部振荡器时钟,是从内部的一个锁相环输出的 65MHz 时钟(不是很准,笔者输出到 GPIO 用示波器看过,那块板子的 ~68MHz);

  • USRDONEO,输出到FPGA 的 DONE_0 管脚。一般而言,在硬件设计中会在这个管脚挂一个 LED 灯,以指示 FPGA 完成配置开始运行;

  • USRDONETS,控制 DONE 管脚的三态门,1 将设置为高阻,0 将会把用户给入的 USRDONEO 输出到 DONE_0 管脚;

  • USRCCLKO,在配置完成后,驱动 CCLK_0 管脚的用户自定义时钟。在配置完成后,前三个时钟周期用于切换时钟源,且不会被输出,但如果使用了 EMCCLK 管脚,则 EMCCLK 信号会出现在 CCLK 管脚上,直到过渡到用户自定义时钟;

  • USRCCLKTS,控制 USRCCLKO 的三态门;

  • GTS,全局三态门使能,要用户自定义 CCLK/DONE 等,此管脚必须置低。

其他信号详见官方手册说明,默认启动设置下,配置期间的时序图如下

在这里插入图片描述

测试

不配置 USRCCLKO

STARTUPE2 STARTUPE2_inst (.CFGCLK			(cfgclk),.CFGMCLK		(cfgmclk),.EOS			(eos)
);

  做如上配置,将上述三信号输出到 GPIO 以及 ILA。测试发现 cfgclk 仅在上电一瞬有输出,之后为常高(Master SPI 模式);CFGMCLK 为 ~65MHz 时钟,输出到 GPIO 的信号极其微弱,但 ILA 可以正常捕获,因此此时钟可用于 FPGA 内部逻辑,但不可直接输出(其驱动 I/O 的能力太弱了);EOS 信号上电后一瞬即由低变高,指示配置完成,因此可用作 FPGA 启动的判断依据。

  由于没有配置 USRCCLK,CCLK 仅在初始配置有信号。上述写法仅为获取 FPGA 内部时钟,以及判断 FPGA 是否配置完成,不涉及对 FLASH 的控制。

配置 USRCCLKO

  要进行 FLASH 的读写,就要对 CCLK 进行配置,如下

STARTUPE2 #(.PROG_USR		("FALSE"),.SIM_CCLK_FREQ	(0.0)
)
STARTUPE2_inst(.CFGCLK			(cfgclk),.CFGMCLK		(cfgmclk),		//~65MHz,可用于 FPGA 内部逻辑,驱动 IO 的能力太弱了.EOS			(eos),			//指示 FPGA 配置完成.PREQ			(),.CLK			(0),.GSR			(0),.GTS			(0),.KEYCLEARB		(1),.PACK			(1),.USRCCLKO		(usrcclk),		//FLASH SCK.USRCCLKTS		(0),			//设为0以启用USRCCLK.USRDONEO		(usrdone),		//控制DONE_0管脚.USRDONETS		(0)				//设为0以启用usrdone,不想用就设为1
);

在该配置下,测试发现,cfgclk 将被配置为 usrcclk,这个也就是输出到 CCLK_0 的信号,ILA 捕获、GPIO 输出均正常;cfgmclk 仍为 ~65MHz 时钟,GPIO 输出极弱。

  如果只是要控制 CCLK_0,可以只配置如下

STARTUPE2 STARTUPE2_inst(.GTS			(0),.USRCCLKO		(usrcclk),.USRCCLKTS		(0)
);

通过控制 usrcclk 即可控制 CCLK_0 管脚了,从而获得对 FLASH 的控制权。

  关于如何对 FLASH 芯片进行读写控制,将持续更新…

http://www.ds6.com.cn/news/93452.html

相关文章:

  • 房产网站建设什么类型怎么自己创建网页
  • 动态网站建设第1章在线沈阳cms模板建站
  • 做网站有哪些要求品牌推广的三个阶段
  • 用node做的网站真正免费建站网站
  • 亚马逊站外推广网站怎么做阿里指数
  • html制作一个网站代码厦门关键词排名优化
  • 网站建站公司费用百度官网首页
  • 全球最大设计网站营销型企业网站制作
  • 网站的布局有哪些绍兴seo外包
  • 国内知名域名注册网站专业seo服务商
  • 90设计360手机优化大师安卓版
  • php网站开发实例教材seo网络推广
  • 南昌网站建设模板技术公司如何网络推广
  • 网站开发工程师试用期免费建立个人网站官网
  • 网站建设制作视频十大最靠谱培训机构
  • 江苏病毒感染最新消息网站标题算关键词优化吗
  • 做受网站cms网站
  • 做旅游网站的要求seo优化的常用手法
  • 四川省建设质量工程协会网站成都网络营销品牌代理机构
  • 网站登录密码忘记广州企业推广
  • 电子商务网站建设代码百度手机
  • 淘宝做任务赚钱网站有哪些百度搜索seo优化技巧
  • 怎么做公司网站制作百度推广方式
  • 广东期货配资网站开发国内的搜索引擎有哪些
  • 公司做网站费用和人员配备怎么样免费做网站
  • 网站怎么做等级保护免费b站推广网站2022
  • 秦皇岛网站开发公司网站优化工具
  • wordpress不支持附件百度工具seo
  • 网站优化建设郑州网络营销方式有哪些分类
  • 汽车网站开发方案校园推广