fpga供电电压偏低会怎样_[走近FPGA]之开发板介绍篇

27a8c564aeecf9a10fcdd52f246bcb4b.png

开发板概述

在走近FPGA预告篇中,我们已经提到了系列文章使用的开发平台,硬木课堂Xilinx Artix 7 FPGA板,如下图所示。它使用的FPGA芯片型号为Xilinx Artix-7 XC7A75T,具有电平开关、LED、矩阵键盘、数码管等基本外设,同时还有高速ADC/DAC,音频Codec,SD卡,32位DDR3L(共1GB)外设用于SoC设计的进阶实验,另外,上方的I/O插槽可以直接插入特定型号的LCD屏幕与摄像头,极大地方便了图像处理相关应用的实现。

beafffc5666e65ba26f946ea390f9171.png
硬木课堂 Xilinx Aritx 7 FPGA板

FPGA 芯片

该FPGA板采用的芯片型号为XC7A75T,从Xilinx官网的数据手册中可以找到7系列FPGA芯片的资源对比,可以看出75T在所有Artix-7系列的FPGA中资源量属于中上,虽然相比于100T和200T而言资源量还是少了许多,但是完成基础的FPGA实验和进阶的SoC设计实验(包括图像处理相关)是足够的。75T和100T, 200T的FPGA芯片是兼容的,硬木课堂同时还提供有200T的FPGA板,以应对更复杂的应用场景需求。

e73b9d4a324f862ce3ff8cde38ec5019.png
FPGA芯片资源(图源数据手册)

Artix-7系列FPGA芯片采用下图所示的基本可配置逻辑块(CLB),其中包括6输入查找表、可选的双向5输入查找表、分布式存储、移位寄存器、高速进位算术逻辑功能以及大量多路复用器。基本可配置逻辑块(CLB)是用于实现时序电路和组合电路的主要逻辑资源。每个CLB都连接到一个交换矩阵(Switch Matrix),以访问通用路由矩阵。每个CLB内部包含两个slice。7系列FPGA中的LUT可以配置为具有一个输出的6输入LUT,也可以配置为具有独立输出但共享地址或逻辑输入的两个5输入LUT。每个5输入LUT输出都可以选择在触发器中寄存。每个slice由4个这样的6输入LUT、8个触发器、多路复用器和算术运算单元构成。每片四个触发器可以选择配置为锁存器。但在这种情况下,该片中其余的四个触发器必须保持未使用状态。

de55109d6924a7c0720f25843075a067.png
基本可配置逻辑块结构(图源数据手册)

更多关于FPGA内部原理结构的介绍,可以阅读《FPGA原理与结构》[日]天野英晴主编,赵谦译 这本书,这本书对FPGA的内部原理阐释得比较清楚,对于初学者也比较友好。另外,如果能够找到《FPGA设计指南-器件、工具和流程》 [美] Clive "Max" Maxfield 著, 杜生海 邢闻 译 这本书也不错,感觉作者的语气比较幽默,但是似乎已经买不到新书了(略有遗憾)。在《FPGA原理与结构》中文版出版之前我就是看的《FPGA设计指南》一书,都很好地帮助理解FPGA的原理结构,从而更好地利用FPGA学习电路设计。

下载器+调试器

在本系列文章使用的FPGA板上的右下方有两个接口,如下图。其中上方的接口(FPGA-Jtag)为FPGA下载接口,通过该接口下载比特流到FPGA中进行配置,功耗较小时,供电也是PC机通过该接口给板卡供电。如果功耗较大,则需要使用FPGA板右上角的辅助供电接口(POWER),可以使用手机5V充电器给板卡供电。

c1bf98972019374c125c4f0f3c59dd44.png
下载器和调试器接口

图中下方的接口(DAP-Jtag)为CMSIS-DAP接口,用于Cortex-M系列内核调试,在搭建基于Cortex-M0的SoC时,调试系统是必不可少的,关于调试系统的更多内容在后续的文章中有详细介绍。为了方便使用,FPGA板在设计之初便将调试电路封装在板上,预留出来一个JTAG口用于和PC机通信,这样做不仅简化了对调试器内部原理的理解需求,而且方便了连线。调试器部分的端口需要约束的有一个时钟信号和一个双向的数据信号,结构如图所示。

874acfbbcfdb4e5f7fdea76151ee3457.png
调试器接口原理图

电平开关和LED

本系列所使用的FPGA板提供了12个直接由FPGA控制的LED灯LED11-LED0,每一个LED灯都由FPGA芯片的一个引脚直接驱动,如图所示。当FPGA的引脚输出高电平时LED灯点亮,反之则熄灭。在LED灯旁边也有12个电平开关,可以作为输入信号,当电平开关处在DOWN位置(靠近开发板边缘)时向FPGA相应引脚输入低电平,当电平开关在UP位置时向FPGA相应引脚输入高电平,如图。

6d170031caf60153221d6e1540f32970.png
电平开关(SW11-SW0)和LED(D11-D0)

ef96e73a05c12cc7ce6b4caad39e89b3.png
开关原理图

3baf13a02bb4e75ac7282681bbd72aad.png
LED原理图

一个简单的流水灯示例如下(之后的文章也会讲到)。

知乎视频​www.zhihu.com

4x4矩阵键盘

FPGA板带有一个4x4的矩阵键盘,可以用于一些外界的控制交互,如图所示。

3c9f1c9446e23edcdb09a3c1fd5e6edc.png
矩阵键盘

b58f8ff39ba81ae88bb8662ac4a9aa7b.png
矩阵键盘原理图

左侧的KEY1-KEY8信号分别代表横竖的4个端口,分别与FPGA上的4个输出端口连接。矩阵键盘的工作原理可以举个例子说明,如果将KEY1设置为低电平,KEY2-KEY4设置为高电平,则按下KEY15按键后,KEY5端口输出低电平,松开KEY15按键后,KEY5端口输出高电平。唯一需要注意的是,按下按键时信号存在抖动,所以需要设计按键消抖模块以免按键抖动带来未预期的系统错误。

一个简单的键盘控制流水灯的示例。

知乎视频​www.zhihu.com

数码管

FPGA板上配有配有6个七段数码管DIG1-DIG6(当正放FPGA开发板时,从左至右为1-6),每个数码管都由一个专用片选信号(DIG1- DIG6)控制,如图所示。七段数码管的每个引脚均通过共阴模式连接到 FPGA芯片上,当FPGA输出高电压时,对应的字码段点亮,反之则熄灭。数码管的片选信号也直接与FPGA引脚相连,当FPGA输出低电压时,对应的数码管选中,反之则不选中。

8e192ecaec01f56eb6091597d9560859.png
数码管

3b89582700cdd26bb9f6c5091ee793ec.png
数码管原理图

一个简单的计数器,使用数码管显示。

知乎视频​www.zhihu.com

直插摄像头和屏幕的IO口

FPGA板上方有3组IO接口,可以用于LCD显示屏和摄像头的直插。

7a7298f24a8bf18cafc21ea967d7ef53.png
3组IO接口

对于示例中用到的摄像头和LCD显示屏,分别可以直接插到右边和左边的IO接口组,效果如图。在我之前写过的一篇专栏文章中对使用摄像头和LCD显示屏进行开发的过程有更多的描述,另外,在后续系列文章中也会对相关的实验进行详细的介绍。

人生状态机:我们可以用Arm DesignStart开放的处理器核做什么​zhuanlan.zhihu.com
43d3ea6e75d15a0d3f1175739d4e3b2a.png

c469a01a9b01f8f4e504056377421c82.png
摄像头+显示屏直插

另外,如果需要连接扩展显示,也可以通过FPGA板右边的VGA接口连接扩展显示设备,VGA接口共有15针,分成3排,每排5个孔,接口原理图如下。VGA接口具有分辨率高、显示速率快、颜色丰富等优点。VGA接口不但是CRT显示设备的标准接口,同样也是LCD液晶显示设备的标准接口,具有广泛的应用范围。

2426a697579d7d878bf7ed7de68def8e.png
通过VGA接口连接扩展显示设备

e5b4757a8d36438b437d372843ee1c5e.png
VGA接口原理图

高速ADC/DAC

FPGA开发板的左上方是高速ADC/DAC芯片,该芯片是来自 MAXIM公司的超低功耗模拟前端,最高工作频率达到20MHz,芯片型号为Max5865。Max5865集成了双路的8位ADC以及双路的10位DAC,其数字输出电平为+1.8V至+3.3V(TTL/CMOS兼容),且该芯片的ADC和DAC既可以同时工作也可以独立工作。其关断与工作模式由三线的串行接口来控制。高速ADC/DAC芯片左侧的一组黄色贴片排母IO接口包含两组ADC输入接口,分别标识为ADC1和ADC2,还包含两组DAC输出接口,分别标识为DAC1和DAC2,可通过导线与示波器、信号源等仪器相连进行实验。

31be9bf1b34941ea2ce36ea35d98a70d.png
ADC DAC接口

音频和SD卡

FPGA开发板的左下侧载有立体声多媒体数字信号编译码器芯片WM8978。WM8978是Wolfson推出的一款全功能音频处理器,带有一个HI-FI级数字信号处理内核,支持增强3D硬件环绕音效,以及5频段的硬件均衡器,可以有效改善音质。在音频编译码芯片的左侧有两个音频接口,位于上侧的是音频输入接口,可通过音频连接线连接音频播放设备(如手机)来输入音频信号,位于下侧的是音频输出接口,可以连接耳机播放音乐。另外,在FPGA开发板相同位置的背面,还有一个Micro SD卡的插槽,可放置SD卡。

a95755516987c48b973ca50a911ebc90.png
音频接口

DDR3L

开发板上FPGA正下方是两片DDR3L SDRAM存储器芯片,产自Micron公司。DDR SDRAM的全称是双倍速率同步动态随机存储器(Double Data Rate Synchronous Dynamic Random Access Memory),其在时钟的上升沿和下降沿都能进行数据传输。DDR3是DDR2的后继者,提供了相较于DDR2 SDRAM更高的运行效能与更低的电压。而DDR3L的L是Low Voltage的缩写,DDR3的工作电压为1.5V,而DDR3L工作电压为1.35V。

b83a03a36523ef35dc3ec5931994a55e.png
DDR3L SDRAM存储器芯片

开发板上DDR3L SDRAM芯片的型号为MT41K256M16TW,即一片该DDR3L SDRAM存储器芯片的深度为256M,宽度为16bit (2Byte),故存储器容量为512MB(256M×2Byte),两片DDR3L芯片地址线已经连在了一起,相当于一片深度不变但数据宽度翻倍(32bit)的DDR3L SDRAM,两片存储器芯片构成的存储器总容量为1GB。

千兆以太网

在FPGA开发板的右上侧载有千兆以太网PHY芯片以及网口。该芯片为Realtek公司的RTL8211E,支持1000Mbps的网络传输速率,通过RGMII接口与FPGA进行数据通信,传输时钟为125MHz,4bit的发送数据TXD与接收数据RXD在时钟的上升沿和下降沿采样。开发版上板载的RTL8211E已配置好RX与TX延迟,工作电压为3.3V。

e1ae2eaefd117a343afe57afabe9a544.png
千兆以太网

下期预告

本期文章介绍了[走近FPGA]系列所使用的开发平台,下方为板子的链接。下期文章将介绍相关开发工具的使用,敬请期待。

硬木课堂 Xilinx Aritx 7 FPGA板 Arm Cortex-M SoC设计 集创赛​item.taobao.com
f086b8c0ee6b7e2a1dccd2e8b70e12b7.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/246078.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用arm-linux-androideabi-addr2line 定位Unity Android 段错误

arm-linux-androideabi-addr2line是NDK中提供的将内存地址转换成行号的一个工具,通俗具体点就是根据各种日志,譬如trace日志和tomestone日志中包含的so库日志的中偏移内存地址,定位到具体是在那个文件的那一行。Unity的安装目录中&#xff0c…

springboot几种注入_Spring Boot中使用JdbcTemplate访问数据库

本文介绍在Spring Boot基础下配置数据源和通过JdbcTemplate编写数据访问的示例。数据源配置在我们访问数据库的时候,需要先配置一个数据源,下面分别介绍一下几种不同的数据库配置方式。首先,为了连接数据库需要引入jdbc支持,在pom…

搜索重复代码_LeetCode专题——详解搜索算法中的搜索策略和剪枝

今天是LeetCode专题第20篇文章,今天讨论的是数字组合问题。描述给定一个int类型的候选集,和一个int类型的target,要求返回所有的数字组合,使得组合内所有数字的和刚好等于target。注意:所有的元素都是正数所有元素没有…

Unity内实现Android APK版本更新

最近做项目有个需求是要Android应用内强更包体。Google一波直接选了一个android原生开源项目 GitHub - yangchong211/YCUpdateApp: 轻量级版本更新弹窗,弹窗上支持更新进度条,可以设置普通更新或者强制更新。解决8.0以上通知栏不显示问题,解…

a标签隐藏真实地址_家庭影院布线非常杂乱应该怎么补救?A/V电缆管理的7个技巧...

家庭影院应该是给人带来快乐的东西,不管是声音还是外观,但是如果您布的线很杂乱,那么想必整个影院也好看不到哪去,如果你想要整理的话,那么这篇文章应该能帮助到您。有没有整理过家庭影院的电线,观感是完全…

螺钉装弹垫平垫机器人_【经验总结】什么时候用平垫,什么时候用弹垫?

很多人为了节约成本想省了平垫或者弹垫,其实在螺栓使用过程中平垫和弹垫各自起着不可或缺的作用。今天咱们来针对平垫和弹垫给大家介绍一下。左 平 垫 右 弹 垫 平垫,形状一般是一个平垫圈,中间有一个孔,主要是用铁板冲压出来的&a…

生成FaceBook所需的散列哈希值

Hex to base64 converter FaceBook后台发布应用时,需要填入hash值,今天自己用openssl生成的时候只有24位并不正确,与其费劲巴拉的自己折腾openssl,还是感谢国外的大佬们吧,工具网址直接输入hex的sha1值*(从…

打开方式中选择默认方式无反映_「Windows」得看,更改文件的默认应用,告别“打开方式”...

前言:你有没有在使用电脑过程中,打开各种各样格式的文件时,电脑有没有很准确的用你想用的那个软件将其打开?还是说你还在用“打开方式”手动选择你想使用的软件打开你想打开的这个文件。如何设置默认应用:步骤&#xf…

Z深度相关知识

渲染中深度信息很重要,但是也很让人迷惑,透视投影是什么,为什么要做透视除法,view空间,clip空间,ndc空间对应的z值又代表什么,这里简单总结下。 一.顶点变换的完整过程 二.View空间下的顶点和Z…

quartus管脚分配后需要保存吗_掉电保存数据到EEPROM

我想在掉电时保存数据(3 个字节)到 EEPROM 中,用 BOD掉电检测,不知怎样使用。望高手指点:1. 在 BOOT 区设置好 BODEN,BODLEVEL,后软件还要怎样设置?2. 掉电中断是否是产生复位?我的写 EEPROM 程…

matlab 最小二乘法拟合_计量与论文串讲:最小二乘法

点为什么要用R计量经济学作为经济大类下一门非常实用的学科有很强的实践意义。尽管内容庞杂但基本的指导思想却很简单,因此通过一门统计编程语言学习、掌握计量经济学有很大的益处。目前,市面上已经有多款统计编程语言和统计软件,实证分析领域…

ZoomBlur 聚焦模糊效果Shader(URP)

修改自这篇文章【Unity】UniversalRPでカスタムポストプロセスを作る【ZoomBlur】 - Qiita 1. VolumeEditor,用于在UnityVolume中控制自己写的后处理效果 using UnityEngine; using UnityEngine.Rendering; using UnityEngine.Rendering.Universal;[System.Seriali…

魅蓝s6启动android密码_魅蓝s6怎么恢复出厂设置?忘记密码怎么办

魅蓝s6怎么恢复出厂设置?忘记密码怎么办?手机是现代生活必不可少的工具之一,在使用时我们常常会忘记手机密码。本次就给大家介绍手机密码忘了怎么恢复出厂设置,快来看看吧。我们知道手机恢复出厂设置的注意事项最重要的就是做好手…

漫游飞行_魔兽世界:德拉诺时光周 冲声望解锁德拉诺飞行好时机

虽然德拉诺飞行开放已经是6.22版本的事情了,但是目前还是有些玩家还没有解锁。但是本周德拉诺时光周的开放,获取德拉诺飞行声望将会更加简单。德拉诺飞行声望德拉诺飞行解锁需要先知之手(部落是沃金之锋)、觉醒教派和刃牙追猎者三个声望达到崇敬。而在本…

python怎么解释语言_python是解释型语言吗

Python 是解释型的语言吗?它会被编译吗? 这个问题没有想象中那么好回答。和很多人认识世界一样,习惯以一个简单的模型去评判一些事物。而事实上,里面包含了很多很多的细节。通常的说法,编译代表着将一个高级语言转化为…

第一次失效_神兵小将:净化之力失效地魔兵兽,全靠特殊办法,铁心方式真霸气...

神兵小将:净化之力失效地魔兵兽,全靠特殊办法,铁心方式真霸气。在经典动漫神兵小将中,魔兵兽在漫迷眼中属于比较特殊的存在,很多人气指数超高的神兵兽被魔化后却成为阻碍问天前进的高山。因此魔兵兽在很大意义上讲也是…

Python 每日定时查询数据库生成Excel报表,并群发邮件

最近在做游戏打点数据的一些统计处理,写了个Python脚本完成每日定时自动查询生成Excel报表并群发邮件的小功能。 拆解几个需求点: 一.连接数据库并查询 以下是一个查询总注册人数的示例代码,host port db user password等填入自己数据库的…

com口驱动_Ubuntu 安装Nvidia显卡驱动指南

该文档适用于: Ubuntu 14/16/18 三个版本。Nvidia显卡驱动适用于:RTX2080TI/RTX2080/RTX2070/GTX1080TI/GTX1080/GTX1070以及更低级别显卡。本文档旨在帮助大家解决安装Nvidia显卡遇到的常见问题。Nvidia驱动下载地址:https://www.geforce.co…

Unity URP中根据深度重建世界坐标

通过深度值重建世界坐标,可以做出很多有意思的后处理效果,先实现下度值重建世界坐标这个功能。 一.验证重建效果 首先,得先找到一种证明反推回世界空间位置正确的方法。在相机前摆放几个物体,尽量使之在世界坐标下的位置小于1&a…

dubbo yml配置_Spring boot 的profile功能如何实现多环境配置自动切换

通常服务端应用开发需要经过以下几个流程:开发 -> 测试 -> RC验证 -> 上线这就涉及到四个不同的环境,开发环境、测试环境、RC环境以及生产环境,为了避免不同环境之间相互干扰,通常需要独立部署数据库、缓存服务器等&…