文档详情

FPGA十通道逻辑分析仪设计教程.pdf

发布:2017-09-26约1.63万字共14页下载文档
文本预览下载声明
基于FPGA 的十通道逻辑分析仪设计教程 小梅哥 2016 年7 月11 日星期一 设计初衷 基于FPGA 的十通道逻辑分析仪为芯航线为用户编写的精品例程,旨在通过例程给大家展示 一个原理正确、代码规范、架构科学、层次清晰的示例设计方案,本实例中的所有模块均由 小梅哥亲自编写并仿真测试通过,大家可以直接提取并用于自己的设计中。 基本功能介绍 10 路逻辑分析仪实例基于芯航线FPGA 学习套件进行开发,实例使用到了芯航线FPGA 学习 套件的FPGA 主板、4.3 寸TFT 屏、矩阵键盘、红外遥控外设。设计使用FPGA 采集10 路数 字波形数据,并存储在FPGA 片上缓存RAM 中,然后使用4.3 寸TFT 触摸液晶显示组件进行 波形显示。整个逻辑分析仪系统可使用矩阵键盘或者红外遥控进行控制,以调整数据采样率、 数据采样触发方式,并调整波形显示位置。在调整过程中,蜂鸣器在接收到控制信号后发出 按键音乐,以给用户提供明确的按键反馈信号,提升人机交互的体验。同时,设计还支持外 接基于74HC595 驱动方案的7 段8 位数码管模块(接在GPIO 0 上),用于显示当前系统的工 作状态。系统整体如下图所示: 基本组件设计 矩阵键盘驱动设计 矩阵键盘原理与驱动设计 本例中,矩阵键盘主要用于实现人机交互的控制信号输入部分,通过矩阵键盘输入控制 信号,来实现控制数据采样率、数据采样触发方式,并调整波形显示位置等功能,矩阵键盘 的具体设计思路和方案见 《芯航线FPGA 数字系统设计教程+实例解析》“芯航线 FPGA 数字 逻辑设计精品教程”部分的“FPGA 矩阵键盘驱动设计与验证”小节,本实例直接使用该小节 设计的矩阵键盘驱动模块,因此不再重复介绍。设计完成的矩阵键盘驱动模块如下图所示。 Clk Key_Flag Rst_n Key_Value[3:0] Key4x4_Board Key_Board_Row_i[3:0] Key_Board_Col_o[3:0] 模块每个信号的功能简介如下。 端口类型 端口名 描述 Input Clk 系统时钟50MHz Input Rst_n 系统复位,低有效 Input Key_Board_Row_i 矩阵键盘行控制线,按键未按下为高电平 Output Key_Board_Col_o 矩阵键盘列控制线,驱动列信号为低,实现 按键状态扫描, Output Key_Value 输出键盘键值 Output Key_Flag 按键检查成功标志信号,每当按键检测成 功,产生一个时钟周期的高脉冲 矩阵键盘驱动使用示例 在使用本模块时,只需要将Clk 连接到系统时钟输入,Rst_n 连接到系统复位引脚/信号, Key_Board_Row_i 和Key_Board_Col_o 分别与矩阵键盘的行列引脚相连即可。然后每次当按 下一次按键,待本模块进行抖动滤除并确认得到了按键按下信息后,会在Key_Value 端口上 输出当前检测到的按键值,并驱动Key_Flag 信号产生一个时钟周期的高脉冲,其他模块在 使用矩阵键盘的扫描结果时,只需要在Key_Flag 信号有效时(高脉冲期间)读取Key_Value 的值,并根据Key_Value 的值进行相应的操作即可,例如,使用矩阵键盘的1、3、5、7 键 简单控制4 个
显示全部
相似文档