例说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按钮进入下一个页面。

相关新闻

别再拍脑袋上线了:用大数据把 A/B 测试和在线实验平台这件事干“正经”

别再拍脑袋上线了:用大数据把 A/B 测试和在线实验平台这件事干“正经”

别再拍脑袋上线了:用大数据把 A/B 测试和在线实验平台这件事干“正经” 说句实在的,这几年我在后台看到最多的一句话是: 「这个功能先上线试试吧,不行再改。」 听着是不是很熟? 产品拍板、技术加班、运营祈祷&#xff…

2026/7/6 16:40:14 阅读更多 →
从零开始用自定义 Triton 内核编写 FlashAttention-2

从零开始用自定义 Triton 内核编写 FlashAttention-2

本文实现 FlashAttention-2 的前向传播,具体包括:为 Q、K、V 设计分块策略;流式处理 K 和 V 块而非物化完整注意力矩阵;实现在线 softmax 算法保证数值稳定性;支持因果和非因果两种注意力模式;用 Triton au…

2026/7/6 17:06:10 阅读更多 →
《惊爆技巧!程序人生靠技术投资,实现学习成长大跨越》

《惊爆技巧!程序人生靠技术投资,实现学习成长大跨越》

《惊爆技巧!程序人生靠技术投资,实现学习成长大跨越》 副标题:从迷茫到复利增长的程序员学习方法论 摘要/引言 你是否也曾经历过这样的困境: 每天刷技术文章、学新框架,却总感觉“学了就忘”,用不上实际…

2026/5/17 3:28:23 阅读更多 →

最新新闻

开源网络管理平台:企业级基础设施自动化解决方案深度解析

开源网络管理平台:企业级基础设施自动化解决方案深度解析

开源网络管理平台:企业级基础设施自动化解决方案深度解析 【免费下载链接】it-tools Collection of handy online tools for developers, with great UX. 项目地址: https://gitcode.com/GitHub_Trending/ittoo/it-tools 在当今分布式系统与云原生架构盛行的…

2026/7/6 17:06:41 阅读更多 →
零成本构建你的AI股票分析助手:从零到精通的实战指南

零成本构建你的AI股票分析助手:从零到精通的实战指南

零成本构建你的AI股票分析助手:从零到精通的实战指南 【免费下载链接】daily_stock_analysis LLM 驱动的多市场股票智能分析系统:多源行情、实时新闻、决策看板与自动推送,支持零成本定时运行。 LLM-powered multi-market stock analysis sys…

2026/7/6 17:04:38 阅读更多 →
Camunda BPM 7终极指南:如何在Java项目中快速集成开源工作流引擎

Camunda BPM 7终极指南:如何在Java项目中快速集成开源工作流引擎

Camunda BPM 7终极指南:如何在Java项目中快速集成开源工作流引擎 【免费下载链接】camunda-bpm-platform Camunda 7 CE is End of Life (EoL). Please check out Camunda 8 instead (https://github.com/camunda/camunda) or read about Camunda 7 Enterprise End o…

2026/7/6 17:02:36 阅读更多 →
OpenCode状态持久化:如何用企业级快照技术重塑开发工作流

OpenCode状态持久化:如何用企业级快照技术重塑开发工作流

OpenCode状态持久化:如何用企业级快照技术重塑开发工作流 【免费下载链接】opencode The open source coding agent. 项目地址: https://gitcode.com/GitHub_Trending/openc/opencode 当开发者在解决复杂问题时突然被打断,他们面临的不仅是思路中…

2026/7/6 16:58:31 阅读更多 →
Go项目配置管理难题:基于反射的TOML自动化解析实战

Go项目配置管理难题:基于反射的TOML自动化解析实战

Go项目配置管理难题:基于反射的TOML自动化解析实战 【免费下载链接】toml TOML parser for Golang with reflection. 项目地址: https://gitcode.com/gh_mirrors/toml/toml 在Go语言项目中,配置文件管理常面临类型安全、版本兼容性和文档同步的挑…

2026/7/6 16:54:28 阅读更多 →
国家图书馆ISBN插件:3分钟实现Calibre图书信息自动化管理的终极指南

国家图书馆ISBN插件:3分钟实现Calibre图书信息自动化管理的终极指南

国家图书馆ISBN插件:3分钟实现Calibre图书信息自动化管理的终极指南 【免费下载链接】NLCISBNPlugin 基于中国国家图书馆ISBN检索的calibre的source/metadata插件。https://doiiars.com/article/NLCISBNPlugin 项目地址: https://gitcode.com/gh_mirrors/nl/NLCIS…

2026/7/6 16:50:20 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻