【紫光同创盘古PGX-Nano教程】——(盘古PGX-Nano开发板/PG2L50H_MBG324第七章)序列检测器实验例程 - FPGA开发者技术社区 - 电子技术william hill官网 - 广受欢迎的专业电子william hill官网 - 威廉希尔官方网站
分享 收藏 返回

Mill 关注 私信
[文章]

【紫光同创盘古PGX-Nano教程】——(盘古PGX-Nano开发板/PG2L50H_MBG324第七章)序列检测器实验例程

适用于板卡型号:
紫光同创PG2L50H_MBG324开发平台(盘古PGX-Nano)

一:盘古盘古PGX-Nano开发板简介
PGX-Nano 是一套以紫光同创 FPGA 为核心的开发板,选用紫光同创 logos2 系列 28nm 工艺的 FPGA(PG2L50H_MBG324)。集成下载器芯片,极大的便利 了用户的使用。 板卡搭载一颗容量为 2MB 的 SRAM 用于数据缓存,DAC 芯片用于产生模 拟信号进行测试验证,esp32 模组进行 WIFI、蓝牙透传;预留了丰富的扩展 IO 用于用户验证、测试外接模块威廉希尔官方网站 功能,一组串口进行串行通信;同时为用户提 供基础的硬件威廉希尔官方网站 资源,例如 led 灯、按键、拨码开关等。


二:实验目的
在连续信号中,检测是否包含特定序列,例如检测“1101”中是否包含“01”


三:实验要求
1、拨码开关SW7-SW4作为序列信号输入;
2、S1-S0按键作为特定信号输入序列,按键按下后对应的LED灯会亮起,表示对应位为1,再按一下会熄灭,表示对应位为0;
3、S2为序列检测开始和序列检测结束按键,初次按下S2,开始检测,此时LED2也会被点亮,显示当前状态,再按一下停止检测,LED2熄灭;结束后序列串中出现特定序列的次数显示在数码管上。


四:实验原理
SW7~SW4的状态为检测序列;
LED1~LED0为特定序列;
左侧数码管显示的结果为LED[1:0]在SW[7:4]中出现的次数;


五:实验源码(完整源码查看demo源文件)
方案设计
从实验目的分析此实验的实现需要有三个功能模块:
1、按键LED模块;
按键调整特定序列,由按键S[1:0]控制特定序列值;S2控制是否检测;输出用LED来显示及保存特定序列,同时也将特定序列与检测使能信号传递给检测模块;
2、序列对比模块;
由拨码开关提供待检测序列,接收按键控制模块传递过来的特定序列与检测使能信号控制与待检测序列进行比较;比较结果输出给到数码管显示模块进行显示;
3、数码管控制模块
数码管显示模块的目标是将统计结果显示出来,用动态数码管显示的方式即可;
对应模块之间的连线如下框图:
顶层模块(含数码管显示模块)设计
按键LED控制模块
按键消抖
序列检测模块设计


六:实验现象
实验步骤:
1、按下轻触按键S2,进入检测状态;
2、调整输入序列,更改拨码开关的输入值(SW[7:4]);
3、调整固定序列,通过轻触按键改变LED状态(LED[1:0]);
4、按下轻触按键S2,退出检测,查看数码管显示的统计结果,重新执行前面三个步骤;
实验现象举例:
当SW[7:4]=4’b1010;LED[1:0]=2’b01时,按下S2后数码管显示数字1;
当SW[7:4]=4’b1010;LED[1:0]=2’b10时,按下S2后数码管显示数字2;


更多回帖

×
发帖