Skip to content

starbovo/Digital-System-Design2022

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 

Repository files navigation

Digital-System-Design2022


这里是小赵的NJUST数字系统综合设计代码仓库,欢迎参考。

如果觉得有帮到你请点亮右上角的star!

**欢迎更多同学成为此仓库的贡献者!如果你想成为此仓库的贡献者,请通过QQ(1598718223)**联系我。届时只需拉取我的远程库,在你的本地仓库添加你的修改,最后push上来就好啦!

本人是2020级电信专业的,这个实验课是由王建新老师指导,实验内容和任务要求可能和大家有所不同,但是一些共性的模块代码还是可以来参考的。

这是我的项目框图👇

项目框图

这是我们老师要求的内容👇

一、学号显示(八位LED数码管动态扫描)

把“2022”显示在左边四位LED数码管上,且点亮第4个 LED数码管的小数点,把个人学号最后4位显示在右边四位LED数 码管上,如下图所示; 数码管演示图

数码管的片选扫描时钟是将板载100MHz主频分频而来的10kHz时钟。

二、频率控制字设置的频率值显示

  1. 频率控制字K(8位二进制)用左边拨码开关SW7-SW0输入;

  2. 对应的频率值显示在8位LED数码管上,且点亮第4个LED数码管的小数点。 $$ f=\frac{K}{2^N} f_c $$ 其中 N = 8为相位累加器字长,fc = 10MHz为DDS时钟频率。

  3. 显示切换由右边地址开关DIP1-DIP0控制

    dip[1:0] 数码管显示
    00 2022.学号最后4位
    01 设置的频率值(小数点在KHZ上)

三、基于DDS的正弦信号产生(0-2MHz,频率步长小于40kHz)

  1. DDS原理框图

    dds

  2. 时钟产生:100MHZ主频分频而成的10MHZ时钟

  3. 存储器IP核的生成

    • 生成ROM波形文件dds_sin.coe
    • 通过示波器测量信号波形与频率值;
    • 检查示波器测量得到的频率值是否与设置的频率值一致。

四、正弦信号频率测量的FPGA实现

  1. 设计电路,测量外部输入正弦信号(加到A/D转换器)的频率 (范围:0-2MHz);

  2. 测量的频率值显示在8位LED数码管上,且点亮第4个LED数码管的小数点;

  3. 检查FPGA测量得到的频率值是否与输入信号频率值一致, 检查0-2MHz范围内的频率测量误差,要求误差绝对值不超过1Hz。

    注:频率测量电路调试时先用开发板产生的正弦信号作为输入,测试/验收时 对信号源产生的正弦信号要求同样可以测量频率。

五、提高部分:利用串口(手机蓝牙)设置正弦信号频率

  1. 在手机上输入代表频率的7位十进制数字(0000000-2000000)Hz

  2. 对应的频率值显示在8位LED数码管上,且点亮第4个LED数码管的小数点。

  3. 使用示波器测量产生的正弦信号频率值,检查是否与设置的频率值一致。

    • 要求1:误差绝对值小于20kHz。
    • 要求2:误差绝对值小于2kHz。

六、发挥部分:和本实验内容相关即可

  1. 设计了一个基于PWM原理的呼吸灯。
  2. 设计了一个调制度固定的AM调幅输出功能。

七、验收注意事项

  • 所有功能的Verilog HDL 程序需要合在一起运行;
  • 程序运行后复位信号只能使用一次;
  • 成绩以第一次验收为准,验收时要准备好回答问题。

使用小赵源文件的注意事项😎

文件模块功能列表

注:如使用VSCode等编辑器打开我的代码文件,请切换至GB2312编码模式以查看中文注释。vivado中的默认编码也为GB2312。

文件名 功能
top_module.v 顶层模块
freq_devision.v 分频模块
seg_display.v 四个一组的数码管模块
DDS.v 有两个DDS模块
swbin_to_dec.v 二进制转BCD模块
AD_fre.v 测频顶层模块(转方波后测频)
cymometer_direct.v 直接测频模块
bt_uart.v 蓝牙顶层模块(注意蓝牙部分均为高电平复位)
clk_div.v 蓝牙自带分频
clk_gen.v 蓝牙串口时钟产生
cmd_parse.v 蓝牙接收端命令解析模块
bcd_bin.v BCD转二进制模块
clogb2.txt 消抖模块的头文件
debouncer.v 按键消抖模块
meta_harden.v 异步信号转同步信号
reset_bridge.v 产生同步复位信号
rst_gen.v 蓝牙串口复位信号产生模块
uart_baud_gen.v 串口波特率产生模块
uart_rx.v 串口接收端顶层模块
uart_rx_ctl.v 串口接收端控制模块
pwm.v 呼吸灯模块
AM_create.v 产生AM调制波模块
cos_make.v AM载波产生模块
dds_sin.coe 8*2^8 DDS的coe文件
dds_sin14.coe 14*2^14 DDS的coe文件
cos.coe AM所用有符号coe文件

IP核配置

rom1(8*2^8)

rom2(14*2^14)(蓝牙)

clk_core(蓝牙)

乘法器(AM)

双口rom(AM)

最后😇

祝大家实验愉快!

About

小赵的数字系统综合设计代码仓库,欢迎参考

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors