0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于FPGA的数字电路设计

h1654155282.3538 来源:电子迷 作者:电子迷 2020-08-16 12:03 次阅读

数字电路作为一门专业基础课,除了介绍数字电路的理论知识外,更需要通过配套的实验平台将理论知识和实践环节相结合,培养学生的动手能力和实践创新能力。为此,自主开发了基于 FPGA 的数字电路“口袋实验室”。该“口袋实验室”基于目前流行的FPGA 芯片开发,已经实际应用于数字电路教学实践中。

1总体设计

“口袋实验室”的电路包括电源、FPGA、下载电路、数码管、VGA 接口、拨码开关、按键、LED 灯和双排针扩展接口。其总体框图见图 1,实物图见图 2。

图 1 系统总体框图

图 2 系统实物图

XC6SLX9 是 Xilinx 公司的 Spartan 系列 FPGA, 采用 45 nm 工艺,共有 9 152 个 Logic Cells、1 430 个Slices、90 kB 分布式 RAM,共有 144 个引脚,其中102 个是通用 I/O 口,资源相对丰富。XC6SLX9 内核供电电压为 1.2 V;I/O 口的电平可以设置为 LVTTL、LVCMOS、LVDS 等多种电压标准;内置高性能的时钟管理模块,1 个 CMT 包含 1 个 PLL 和 2 个 DCM, 能进行分频、倍频;XC6SLX9 支持主动模式和被动模式,以及 SPI、BPI、JTAG 等多种配置方式。

设计中预留了 30 个扩展接口,由双排针引出,其中 24 个是 FPGA 的通用 I/O,3 个 3.3 V 引脚和 3 个地引脚。串行通信采用 CH340G 串口芯片,用于 FPGA 和 PC 机之间的通信。“口袋实验室”拥有 2 个 4 位共阳极数码管、1 个无源蜂鸣器、1 个八位拨码开关、1 个 VGA 接口以及 10 颗 LED 灯和 6 个按键,可以满足数字电路基本的实验需要。

2电路设计

2.1电源电路

电源系统为整个系统提供能量,是系统的基础。采用 LM1085 芯片提供 3.3 V 电压,采用 AMS1117 芯片提供 1.2 V 电压。

考虑到XC6SLX9 的 3.3 V 电源和其他外设共用一个电源芯片,为保证其他外设电流突变时不影响XC6SLX9 的正常供电, 使用一个功率电感以隔离FPGA 和外设的电源。具体电路设计见图 3。

图 3 LM1085 电路和 AMS1117 电路

XC6SLX9 对电源的要求较高,电源引脚附近需要多个去耦电容,以减小电源瞬变,保证电源完整性。电源部分还设计有 1 颗LED 灯用于指示FPGA 电源是否正常。

2.2配置电路设计

配置电路一个是使用 JTAG 配置的电路,另一个是使用 FLASH 的主动 SPI 配置电路。

2.2.1JTAG 配置电路

JTAG 配置电路见图 4。

图 4 JTAG 配置电路

JTAG 的主要引脚 TMS、TCK、TDI、TDO 经 4.7 kΩ

电阻上拉,以保护电路。JTAG 引脚在印刷电路板(PCB)上通过 14 针 2.0 mm 间距的简易牛角座引出。简易牛角座采用防反插设计,以保证 JTAG 连接正确。

PROGRAM_B 引脚默认上拉,通过按键接地,可以用于 FPGA 的软复位。DONE 引脚上拉,且有 LED 指示 FPGA 是否配置完成。

2.2.2FLASH 电路

设计所选用的 FPGA 基于 SRAM 工艺,掉电后不能保存数据,因此在重新上电之后必须从外部的配置存储器加载配置。FLASH 电路见图 5(a)。MODE0 和MODE1 的电平决定了 FPGA 的配置方式,当 MODE0 拉高以及 MODE1 拉低时,FPGA 使用主动 SPI 配置模式。接口电路见图 5(b)。

图 5 FLASH 电路和 FPGA 的 FLASH 接口电路

2.3串口通信设计

选用 CH340G 作为 FPGA 和 PC 机之间通信的转换芯片。CH340G 是常用的USB 转串口的芯片,兼容 5 V 系统和 3.3 V 系统,由于本设计中选用的 XC6SLX9 属于 3.3 V 系统,因此 CH340G 的供电电压设置为3.3 V,如果供电电压调整为 5 V,则串口通信将发生故障,数据不能通过串口发送至 PC 机。串口部分电路见图 6。

图 6 串口通信部分电路

2.4 扩展接口设计

为保证“口袋实验室”的扩展能力,在设计时将FPGA 的 24 个通用 I/O 口通过双排排针在 PCB 上引出,可供使用者外接电路。

为了防止 FPGA 的 I/O 接口接入过高的电压或者通过过大的电流而损坏 FPGA,设计中使用双向电平转换芯片 TXS0108E 对 FPGA 的 I/O 口和外部接口进行隔离,以保护 FPGA 芯片。

3实践教学实例

3.1数码管显示实验

实验要求使用数码管显示时间精度为 100 ms 的秒表,最低位数字每 100 ms 加 1。

3.1.1实验硬件电路

“口袋实验室”选用的数码管是 4 位共阳极数码管,其中公共端使用三极管驱动,其余 A、B、C、D、E、F、G、DP 8 个引脚分别和 FPGA 的 I/O 口连接。电路如图 7 所示。

图 7 数码管电路

3.1.2FPGA 代码设计

FPGA 代码设计思路如下:将系统的 50 MHz 时钟分频为 50 Hz 的逐位扫描时钟和 10 Hz 的计数时钟,最低位通过 10 Hz 的时钟进行计数,计数使用8421BCD 码表示,并转化为数码管显示的 8 位二进制代码输出。由于是共阳极数码管,当引脚公共端高电平,其他引脚为低电平时,对应的 LED 才会亮。数码管二进制码的最高位为小数点位。实验仿真及实际运行效果见图 8。

图 8 数码管仿真时序图与数码管实验实际运行图

由于实际仿真时间过长, 因此在仿真时缩短了计数的时间。表 1 为 BCD 码与数码管二进制码对应表。

表 1 数字的 BCD 码与数码管二进制码对应表

3.2蜂鸣器控制实验

实验要求通过编程控制无源蜂鸣器,使之在输入不同频率的 PWM 波情况下,发出不同音调频率的声音。

3.2.1实验硬件电路

无源蜂鸣器的硬件电路设计见图 9。

图 9 蜂鸣器电路图

3.2.2FPGA 代码设计

无源蜂鸣器输入不同频率的 PWM 会发出不同频率的声音,频率和音调对应见表 2。

表 2 频率和音调对应表

通过 ISE 的 Clock Wizard 将 50 MHz 的系统时钟频率分频为 12 MHz,然后通过计数输出不同的频率, 计数的上限值由拨码开关和按键控制,拨码开关用于选择 3 个音调,按键用于选择各个音调下的 7 个不同频率,以此实现输出不同音调频率的声音。图 10 为蜂鸣器控制仿真图。

图 10 蜂鸣器控制仿真图

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1625

    文章

    21664

    浏览量

    601676
  • 数字电路
    +关注

    关注

    193

    文章

    1600

    浏览量

    80489
收藏 人收藏

    评论

    相关推荐

    数字电路中二极管的角色与应用

    数字电路的世界里,二极管是一种不可或缺的元件。它以其独特的单向导电特性,在电路设计中扮演着多种角色。 二极管的工作原理 二极管是一种两端电子元件,它由一个P型半导体和一个N型半导体材料组成,这两个
    的头像 发表于 11-18 09:33 191次阅读

    数字电路可以处理模拟信号吗

    数字电路主要处理数字信号,即离散的、二进制的信号。然而,在某些情况下,数字电路也可以处理模拟信号,即连续的、非二进制的信号。 数字电路与模拟信号
    的头像 发表于 08-11 11:08 610次阅读

    数字电路是对什么信号进行传输的

    数字电路是一种电子系统,它使用数字信号进行信息传输和处理。数字信号是由离散的电压水平或电流水平表示的信号,通常用二进制代码表示。与模拟电路不同,数字
    的头像 发表于 08-11 11:00 646次阅读

    数字电路中的亚稳态是什么

    数字电路的设计与实现中,亚稳态是一个不可忽视的现象。它可能由多种因素引发,对电路的稳定性和可靠性产生严重影响。本文将深入探讨数字电路中亚稳态的概念、产生原因、影响以及应对策略,以期为读者提供全面而深入的理解。
    的头像 发表于 05-21 15:29 1099次阅读

    数字电路和模拟电路的区别与联系

    数字电路和模拟电路是电子电路的两个主要分支,它们在电子技术中具有不同的应用和工作原理。本文将详细讨论数字电路和模拟电路的区别与联系。 首先,
    的头像 发表于 04-21 10:29 2686次阅读

    数字电路仿真元件符号是什么

    数字电路仿真元件通常用符号来表示。这些符号是通过简洁和易于理解的图形来表示元件的特性和功能。符号是数字电路设计和仿真过程中非常重要的一部分,帮助工程师和设计者有效地沟通和理解电路的功能。在本文
    的头像 发表于 04-21 09:20 1833次阅读

    数字电路与逻辑设计

    电子发烧友网站提供《数字电路与逻辑设计.ppt》资料免费下载
    发表于 03-11 09:21 4次下载

    两位格雷码减法器数字电路设计

    目前,针对数字电路研究的主要目标都是为了提高电路的运算速度、降低电路的功耗和减少电路逻辑输出的误差,因此延时、功耗和误差是数字电路三个最重要
    的头像 发表于 02-19 13:36 1042次阅读
    两位格雷码减法器<b class='flag-5'>数字电路设计</b>

    数字电路中的逻辑门电路分类

    数字电路中的逻辑门电路分类 数字电路是计算机系统中的重要组成部分,它们由逻辑门电路构成。逻辑门电路是一种基本的
    的头像 发表于 02-04 09:14 3418次阅读

    与模拟电路数字电路的优点

    模拟电路数字电路是电子工程中的两个基本概念。在很多应用中,数字电路已经取代了模拟电路,但是模拟电路仍然保留着许多优点,在某些特定的应用中仍
    的头像 发表于 01-24 14:25 1546次阅读

    数字电路和模拟电路的区别

    数字信号在时间上和取值上都是不连续的。数字信号存在“采样”,数字信号的值只能在采样点变化。数字信号存在“量化”,数字电路中使用的
    发表于 01-21 11:41 618次阅读
    <b class='flag-5'>数字电路</b>和模拟<b class='flag-5'>电路</b>的区别

    数字电路设计有哪些仿真验证流程

    数字电路设计的仿真验证流程是确保设计能够正确运行的重要步骤之一。在现代电子设备中,数字电路被广泛应用于各种应用领域,如计算机、通信设备、汽车电子等等。因此,设计师必须通过仿真验证来确保电路能够按照
    的头像 发表于 01-02 17:00 1420次阅读

    对话国产EDA和IP厂商,如何攻克大规模数字电路设计挑战?

    随着先进制程不断推进,以及AI、大数据、云计算等一系列新技术的快速发展,数字电路的处理能力越来越强,电路规模越来越大,对大规模数字芯片的需求也越来越多。因此,如何加速大规模数字电路设计
    的头像 发表于 12-28 08:23 1171次阅读
    对话国产EDA和IP厂商,如何攻克大规模<b class='flag-5'>数字电路设计</b>挑战?

    EDA+IP,攻克大规模数字电路设计挑战的“不二法门”

    ,对大规模数字芯片提出了更多需求,系统愈加复杂,设计挑战越来越大。因此,在当前行业现状和发展趋势下,如何加速大规模数字电路设计,就成为了业内芯片设计公司关注的焦点。
    的头像 发表于 12-16 08:23 1100次阅读
    EDA+IP,攻克大规模<b class='flag-5'>数字电路设计</b>挑战的“不二法门”

    数字电路和模拟电路的工作各有何特点?

    数字电路和模拟电路电路设计和控制中两种主要的电路类型。虽然它们都是电路的基本组成部分,但它们在工作原理、特点和应用方面有很大的区别。 首先
    的头像 发表于 12-08 10:06 2417次阅读