概述

本文选用的FPGA芯片是Intel(原Altera)的EP4CE6E22C8N,选它的原因是这个型号是个比较经典的型号,很多入门开发板都用它,
首先是老样子,先放上完整的参考原理图先,然后再一一的讲解,如下:

图1. FPGA最小系统供电电路

图2. FPGA最小系统电路

图3. FPGA BANK电路,IO没拉出去,可自行拉出去接到排针或者其他地方

设计详解

1. 电源设计

首先我们先来看EP4CE6E22C8N的供电,EP4CE6E22C8N属于Cyclone IV E系列,在官方的引脚连接指南资料里提供了电源设计的example如下图所示。

图4. 电源设计参考和相关指标

从上图可以知道,EP4CE6E22C8N有4组电源轨,各个电源轨的描述整理如下。

  • VCCINT、VCCD_PLL:

VCCINT、VCCD_PLL电压为内核电源和PLL的数字电路电源。电压支持1.0V/1.2V可选,允许的偏差分别为±30mV/±50mV,VCCINT和VCCD_PLL两组电源轨电压一样,供电虽然可以由一个开关稳压器提供,但要求VCCD_PLL必须用磁珠跟VCCINT隔离,VCCD_PLL对电源纹波要求非常高,最大纹波必须控制在±3%以内,超出这个范围可能导致PLL工作异常,比如时不时失锁啥的。

  • VCCA:

VCCA是给PLL的模拟电路供电的,使用2.5V供电,电源纹波一样要求控制在±3%以内,否则也容易出各种奇怪问题。

  • VCCIO:

VCCIO是给FPGA各个BANK的IO供电的,Cyclone IV E的VCCIO支持1.2V、1.5V、1.8V、2.5V、3.0V、3.3V几种电压。
在看FPGA的手册时我们会看到BANK几BANK几这样的描述,这个BANK到底什么意思呢?FPGA跟我们常接触到的MCU、MPU、CPU不同,它是数字电路可编程芯片,为了满足数字电路可编程,要应付很多数字电路方案,不同方案的外设IO电平可能不同。所以设计了IO支持多种电压,然后再分成多个组,不同组之间可以电压不一样,每个组叫一个BANK,这样的话就可以实现一颗芯片支持多种IO电平,芯片不会因为外设IO电压不匹配再去搞一堆电平转换。

电源供电电路设计:
上面我们分析了EP4CE6E22C8N的电源轨,对于芯片的正常工作我们知道,至少要有1.0V/1.2V给VCCINT、VCCD_PLL供电,2.5V给VCCA供电,至于VCCIO,需要看我们外设电平情况,因为这里是最小系统,就不考虑实际外设情况,直接把所有IO都设计为3.3V电平。

FPGA跟我们常规接触的MCU不同,规格书里没有功耗信息给我们去评估每个电源轨的供电电流情况,通常需要FPGA工程师提前把RTL工程做好,进行电路综合后给出每个电源轨的功耗信息,然后我们再在这个信息上留适合的裕量来选择供电方案。

对于EP4CE6E22C8N来说,最糟糕的情况下,VCCIN的峰值电流在2A左右,VCCD_PLL和VCCA一般都在400mA以内,VCCIO比较小,每个BANK的IO电流最大一般也都是100mA左右。

这样总结下来这里选择TI的TPS65261,它集成了3组BUCK方案的控制单元,3个通道支持连续输出电流分别是3A、2A、2A,跟我们需求非常贴近,参考规格书的纹波信息,输出在满载情况下纹波也非常小,符合FPGA的电源要求,如下。

图5. TPS65261通道1满载时的纹波信息

参考TPS65261规格书信息设计的最终电路上面图1所示,通道1输出1V给VCCINT和VCCD_PLL供电,通道2输出2.5V给VCCA供电,通道3输出3.3V给VCCIO供电,总电源5V通过Micro-USB口输入。

完成供电电源设计后,剩下就是处理接到FPGA的电源引脚上,1V电压接到VCCINT和VCCD_PLL上,对于VCCINT,每个电源IO放置一个0.1uF去耦电容,最后再在电源VCCINT的电源轨上放置10uF+1uF的组合即可。而对于VCCD_PLL,参考上面的描述,是需要放置一个磁珠跟VCCINT隔离的,这里选择100Ω/100M,额定电流900mA的磁珠进行隔离,对于去耦使用4.7uF+1uF+0.1uF的组合即可,而VCCA的2.5V直接接入,同样放置4.7uF+1uF+0.1uF的去耦组合即可,如下图所示。

图6. FPGA的VCCINT、VCCD_PLL、VCCA连接和去耦

对于VCCIO,上面说了电流不会很大,所以每个BANK放置一个0.1uF去耦即可,在我给出的参考设计中,VCCIO5和VCCIO6这两个BANK的VCCIO供电,我用了0Ω电阻设置3.3V和2.5V可选,目的是使电路支持使用LVDS信号,对于为什么要用这2个BANK,而不是其他BANK,我留在后续的文章中解释。剩下的其他BANK使用3.3V供电,如下。

2. 配置和烧录

FPGA也跟MCU或者其他处理器一样,也需要设置对应的启动方式,也需要对应的烧录接口。对于烧录方式,设计使用JTAG烧录,对于JTAG信号处理,设计一一对应连上即可。JTAG的TMS、TDI两个信号需要上拉,上拉的电压注意下是2.5V,TCK需要下拉,这里我预留一个排针接口烧录如下。

图8. 通过排针使用JTAG烧录

FPGA不像市面上的很多MCU带有内置Flash所以电路配置文件存储在外部的Flash中,对于外部配置文件的加载
有多种加载方式,一般选用AS方式加载
对于AS的加载配置方式,在官方手册上说明电路设置如下图所示,需要把nSTATUS、CONF_DONE、nCONFIG三个信号上拉至对应BANK的电压,nCE为片选信号需要下拉至GND

图9. AS配置方式

参考AS的配置参考电路处理设计电路如下,Flash选用W25Q32JVSSIQ,信号参考图9一一对应连接即可。
因为nSTATUS、CONF_DONE、nCONFIG三个信号都在BANK1上,前面设计BANK1供电电压为3.3V,所以均上拉至3.3V。

图10. AS配置方式的实际电路

选择FPGA的加载配置方式为AS方式后,除了上面的电路,还需要设置FPGA的MSEL引脚,选择适合的POR Delay和电压,否则FPGA也不能正常配置启动。
在FPGA的器件手册中描述了Cyclone IV E在AS模式时,MSEL的不同组合对应的不同设置如下图11所示。
POR Delay可设置为Fast、Standard两种模式,这里设置为Standard模式,参考图10的AS电路电压为3.3V,所以需要把MSEL1信号拉高至对应的BANK电平,MSEL2和MSEL0接地,我们使用的型号没有MSEL3,可以不管。

图11. MSEL设置表

图12. 设置POR Delay为Standard模式,电压3.3V

3. 时钟和复位

同样FPGA也需要时钟和复位,时钟跟MCU或者其他处理器的设计方式有点不一样,对于MCU或其他处理器,可以使用无源晶振作为时钟源,但FPGA不能,FPGA必须使用有源时钟作为参考时钟源,对于时钟频率没有要求,看具体的RTL工程需求,如果RTL工程没有特别需求,那就放置一个25MHz的有源时钟最佳,因为25MHz容易倍频和分频得到很多常用的外设时钟频率。

EP4CE6E22C8N有多个IO口可作为参考时钟输入,这里选择PIN_24作为参考时钟输入。

对于复位信号,这里使用简单的RC复位方式,预留按键可手动复位,复位信号通常选择通过任意的DIFFCLK_XN引脚接入,当然使用其他IO也可以,完整的时钟和复位电路参考设计如下。

图13. 时钟和复位参考电路


转自--------ecircuitlab

硬件电路设计-FPGA(EP4CE6)最小系统相关推荐

  1. 硬件基础之STM32最小系统

    STM32 复位电路 时钟电路 SWD下载电路 BOOT电路 RTC时钟电源电路 复位电路 STM32为低电平复位,上电瞬间电流可视为交流,电容导通(充电过程,NRST为低电平,两个机械周期(24个震 ...

  2. 一个dsp最小系统至少要有_DSP最小系统设计方案

    基于 TMS320F28335 的 DSP 最小系统设计 摘要 在各大院校的课程教学.实验教学.毕业设计以及电子设计竞赛中,需要应用 DSP 实验系统. 介绍了 TI 公司的 TMS320F28335 ...

  3. NXP LPC1768最小系统板Keil开发环境流程演示

    关键字:NXP LPC1768 最小系统 Keil MDK 开发环境 J-Link 仿真器 概述:以 MDK4.74版本配合 J-Link 仿真器为例演示一下最小系统板的调试过程. 首先运行 J-Li ...

  4. STM32 最小系统电路简析

    文章目录 一.最小系统的组成 1.供电电路 2.外部晶振 3.BOOT选择 4.复位电路 二.最小系统实例 1.STM32F103C8T6最小系统 三.各部分组成简析 1.供电电路设计 2.外部晶振原 ...

  5. 硬件电路设计之如何设计一个STM32最小系统?

      STM32最小系统主要由STM32F103RCT6微处理器.时钟晶振电路.按键复位电路.电源稳压电路以及BOOT电路等部分构成,该最小系统所使用的微处理器是一款32位的处理器,该处理器基于高性能的 ...

  6. 单片机最小系统硬件电路图_经验分享:学单片机,51通则百通

    点击"蓝字"关注我们 这是来自某位前辈的深度感悟 首先总体上谈一谈看法: ◆1.我从不说51是基础,如果我这么说,也请把这句话理解为微机原理是基础. ◆2.对51单片机的操作本质上 ...

  7. 基于STM32-消防栓监测系统毕业设计---论文(附加最全面的从硬件电路设计->驱动程序设计->阿里云物联网搭建->安卓APP设计)

    设计展示视频连接:消防栓监测系统视频 驱动程序工程文件:消防栓监测系统驱动程序工程(全寄存器开发的) 消防栓监测系统所有设计资料:全栈设计,如下图所示 消防栓监测系统论文(图片看不清的可以下载文档看) ...

  8. STM32最小系统硬件组成详解

    STM32最小系统硬件组成详解 0组成: 电源   复位   时钟    调试接口  启动 1.电源 : 一般3.3V  LDO供电   加多个0.01uf去耦电容   2.复位:有三种复位方式:上电 ...

  9. 一个dsp最小系统至少要有_DSP最小系统电路设计

    DSP 最小系统电路设计 第 1 章 绪论 DSP 有两种涵义, 一种是 Digital Signal Processing , 指的是数字信号处理技术: 一种是 Digital Signal Pro ...

最新文章

  1. 自学linux指令分析-cat
  2. 【测试】更新红外遥控信号读取,用示波器抓取红外遥控器NEC信号
  3. Swift vs. Objective-C:未来看好Swift的十个理由
  4. 对的调用没有匹配的函数_前端开发之——函数、事件、js对象
  5. XCTF-高手进阶区:NewsCenter
  6. 【图片】图像基本知识以及三原色原理 (rgb)
  7. Qt保留小数点后两位
  8. 利用zabbix自动发现监控mongo数据库
  9. 使用Hash函数和MAC产生伪随机数
  10. mybatis如何处理参数
  11. Rails5 任务注释
  12. 如何在Mac上使用Memoji贴纸、屏幕效果、应用程序和Messages
  13. linux下QQ配置文件路径,Linux下QQ的使用并手动设置QQ文件保存路径
  14. 第十二章:互联网-webbrowser:显示Web页面-使用特定浏览器
  15. Chrome 里的小恐龙游戏是怎么做出来的?
  16. 亦真亦幻,A股区块链板块含金量几何?
  17. freemarker word模板导出图片循环
  18. Android通知栏字体大小,Android通知栏介绍与适配总结(上篇)
  19. 论文笔记27 -- (视频压缩)Learned Video Codec with Enriched Reconstruction for CLIC P-frame Coding
  20. 鲜为人知的火箭尾喷管黑科技 不是你想象的那样简单

热门文章

  1. Vue 实现全球国家国旗的使用,附全球国家的JSON数据
  2. 减震透气的清爽跑鞋,让跑步更轻松,咕咚10K悦弹体验
  3. CE162Lec06的学习记录
  4. 深度学习:生成式对抗网络,让机器在博弈中实现“自我成长”
  5. 一次解决你的图像尺寸和定位问题。
  6. Python学习:给类或者类的对象添加打印内容 def __repr__(self)
  7. VUE 尚硅谷 学习内容详解
  8. 基于STM32F103单片机智能安全门禁人体感应报警方案设计
  9. Linux 强制破解root密码 是root密码哦
  10. 光电二极管(Photo-Diode)工作原理 与输出电压计算(光导模式:外加偏压和光伏模式:零偏置)