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

例说FPGA:可直接用于工程项目的第一手经验【3.5】

第17章 工程实例15——工业现场实时监控界面设计

本章导读

既然是玩显示,并且是用灵活可编程的FPGA来玩,那么我们就一定要玩出点花样来。这不,笔者特意用这个工程实例设计了如同示波器般能够实时采集波形并逐点移动的显示界面,说起来简单,但其中奥妙恐怕只有读者深入其中才能够体会得到。

17.1 功能概述

本实例在之前几个案例的基础上加上了SF-BASE子板模块,使用该子板模块上的AD采集功能,将AD采集数据在7寸液晶屏上进行实时的播放,达到模拟工业现场实时监控界面的效果。

如图17-1所示,这是本实例的功能框图。AD采集控制由一个专门的模块负责,通过片上系统的一个8pin输入PIO连接到NIOS II供读取。波形控制部分也有一个专门的模块组件,即wave_controller组件,挂在NIOS II的Avalon-MM总线下,在NIOS II软件层可以通过这个组件实现波形区域的设置、波形点数据的写入。与在前面工程中单纯只是LCD驱动不同,该工程还必须在lcd_driver.v模块中产生一些波形控制的特殊逻辑。在波形显示效果上,NIOS II每写入一个新的波形点数据,LCD上的波形就将会如同示波器一样向左滚动一个点,如果写入速度足够快,那么就可以达到和示波器一样的实时显示效果。该功能应用和心电图显示也非常类似。

当然了,本实例工程除了上述的AD采集波形显示功能外,我们还演示了方波波形、三角波波形和正弦波波形的实时滚动播放,这三种波形和AD采集波形之间通过触摸屏点击显示界面的按钮进行切换。

17.2 装配说明

本工程实例的装配如图17-2所示。VIP板的3个插座都用上了,VIP核心板的P2连接SF-USB子板P1,SF-USB子板上的UART将用于显示界面背景图的烧录以及字库的烧录;VIP核心板的P3连接SF-BASE子板的P1,用于AD采集数据的传输;VIP核心板的P4连接SF-L70子板的P3,进行LCD的显示驱动。

17.3 IP核配置——双口RAM

①在新建的工程中,执行菜单Tools→MegaWizard Plug-In Manager命令。在弹出的选项卡中选择“Creat a new custom megafunction variation”,然后单击Next按钮。

②接着选择我们所需要的IP核,如图17-3所示进行设置。

·在“Select a megafunction from the list below”下面的列表框中选择IP核为“Memory Compiler→RAM:2-PORT”。

·在“Which device family will you be using”后面的下拉栏中选择我们所使用的器件系列为“Cyclone IV E”。

·在“Which type of output file do you want to create?”下面选择语言为“Verilog HDL”。

·在“What name do you want for the output file?”下面输入工程所在的路径,并且在最后面加上一个名称,这个名称是我们现在正在例化的片内双口RAM IP核的名称,这里我们可以为其起名叫waveRAM,然后单击Next按钮进入下一个页面。

http://www.jsqmd.com/news/359187/

相关文章:

  • AI与提示架构整合的评估方法论:提示工程架构师的指标体系
  • 大数据领域Kafka的性能优化最佳实践
  • 例说FPGA:可直接用于工程项目的第一手经验【3.4】
  • 热销复盘:招商林屿缦岛203套售罄背后的客户逻辑分析
  • 比特币调研
  • Git 撤销操作的 3 种实用场景
  • 实战指南:大数据批处理项目搭建
  • 【计算机毕业设计案例】基于Spring Boot的代驾管理系统基于springboot+小程序的平安代驾平台小程序(程序+文档+讲解+定制)
  • 热销方法论:招商林屿缦岛如何构建不可复制的市场优势
  • 小程序毕设项目推荐-基于springboot+小程序的平安代驾平台小程序uniapp+springboot微信小程序的代驾系统的设计与实现【附源码+文档,调试定制服务】
  • 基于SpringBoot+Vue的书籍阅读交流平台设计与实现
  • OpenClaw-VSCode:在 VS Code 里玩转 OpenClaw,远程管理+SSH 双剑合璧
  • 小程序毕设项目推荐-基于springboot+小程序的高校毕业生离校管理系统高校毕业生服务管理系统小程序【附源码+文档,调试定制服务】
  • 基于SpringBoot+Vue的高校校友管理系统设计与实现
  • 输入图片,点击按钮,返回下一个state的图片,llm给标签,循环,能训练出按钮对应的标签吗
  • Solutions - 【LGR-266-Div.2】洛谷 2 月月赛 I 「CROI」Round 3
  • 平枝栒子2026年2月8日保山农民街
  • 在 iOS 18 离线徒步地图,如何存储和调用? - 教程
  • springV1
  • P1678 烦恼的高考志愿 二分查找的板子题
  • PNG文件格式理解
  • 金碧荷(也有叫红塔金秋的),云南特产,是春兰与豆瓣兰的自然串种瑰宝。保山农民街看到过2026年2月8日
  • 从Java到AI:我的转型之路 Ⅱ —— 手撸一个DeepSeek工具库
  • Qt-qrc机制简单介绍
  • RustFS高可用集群部署实战:轻松搭建企业级分布式存储架构
  • 信不信?这个 SQL 题,可以难倒大部分人
  • Qt——多媒体
  • 浏览器(如chrome)代理抓包时提示Your Connection is not private 问题临时处理
  • 我有 8种从 Spring中获取 Bean的方式!
  • CAPL学习-ETH功能函数-方法类2 - 详解