芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 3483|回复: 3

【AC609】AC620或AC609+2.8寸电阻屏+AD9767的触控DDS信号发生器实验

[复制链接]
  • TA的每日心情
    慵懒
    2021-2-24 10:16
  • 425

    主题

    785

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    15869
    QQ
    发表于 2023-4-18 10:17:01 | 显示全部楼层 |阅读模式

    案例简介

    基于2.8寸屏的触控DDS信号发生器


    案例说明

    该实验使用小梅哥AC609 FPGA核心板+基于ILI9341的2.8寸电阻触摸屏+ACM9767实现。用户可以通过2.8寸电阻触摸屏来设置两个DAC输出通道输出信号的波形类型、频率、相位。并通过ACM9767模块上的电位器调节输出信号的幅度大小。
    整个工程使用到了ucgui dds nios等技术。提供AC620开发板、AC609核心板两个硬件的工程。
    案例需要使用到AC620或AC609 FPGA开发板、ACM9767 高速DAC模块、2.8寸电阻触摸显示屏。
    FPGA部分实现DDS核心功能,NIOS II CPU 运行程序实现各种参数的设置和显示。
    为了快速开发界面,移植了ucGUI触摸界面,由于新版本的ucGUI已经不再开源,也没有针对NIOS II CPU的适配版本,所以这里还是使用了ucGUI3.98版本。差不多也就是大家都在用win10了,而我们还在用xp的既视感,不过,功能都能实现就行了。

    整个系统,包括NIOS II CPU、SDRAM、DDS核心功能都运行在125MHz,工作起来FPGA温度还是比较高的。

    除了UCGUI和LCD软件驱动程序以外,其他代码绝大部分为小梅哥编写,希望大家尊重版权,自己拿去学习研究是可以的,但是不希望看到出现在其他和我们类似的开发板产品的赠送资料里。


    工程源码

    基于AC620 FPGA开发板的工程源码: ac620_dds_pad.rar (2.63 MB, 下载次数: 187)
    基于AC609 FPGA核心板的工程源码: ac609_dds_pad.rar (3.28 MB, 下载次数: 217)

    两个工程除了引脚分配不一样,其他都一样。


    案例效果

    以下为实际运行照片:

    运行效果.jpg
    显示主界面.jpg
    参数设置界面.jpg
    参数输入界面.jpg
    输出波形.jpg



    案例实操

    以下以AC609核心板为例,介绍该高速触控DDS信号发生器的实验操作流程。AC620用户可以根据本帖内容类比实验。
    该实验使用小梅哥AC609 FPGA核心板+基于ILI9341的2.8寸电阻触摸屏+ACM9767实现。用户可以通过2.8寸电阻触摸屏来设置两个DAC输出通道输出信号的波形类型、频率、相位。并通过ACM9767模块上的电位器调节输出信号的幅度大小。

    该实验支持的输出信号参数如下所示:
    输出通道:2
    波形类型:正弦波、方波、锯齿波
    波形频率:1Hz~10MHz
    波形相位:0~359°
    触摸控制,使用非常方便,
    支持方波设定占空比
    支持设定双通道相对相位


    所需软件

    Quartus II 13.0版本(不建议使用其他版本,尤其是不建议使用高版本)
    下载地址:各种各厂家FPGA开发软件下载地址:http://www.corecourse.cn/forum.php?mod=viewthread&tid=28768


    所需硬件

    AC609V2.0核心板:https://item.taobao.com/item.htm?id=578483828109
    USB Blaster下载器:https://item.taobao.com/item.htm?id=607300420460
    基于ILI9341的2.8寸电阻触摸屏:https://item.taobao.com/item.htm?id=544099678656
    ACM9767高速DAC模块:https://item.taobao.com/item.htm?id=567261394163


    实验步骤
    1、安装好Quartus II 13.0软件

    2、将AC609资料中的【02-设计实例】->【ac609_dds_pad.rar】文件下载并解压到不含中文、不含空格的路径下,如下图所示:

    image.png

    3、打开Quartus II13.0软件,按键盘组合键Ctrl + J以打开现有工程,定位到刚刚工程的解压目录,选中AC609_LCD9341.qpf文件并打开,打开后在files选项中即可看到本工程所添加的各个功能模块,如下图所示。

    image.png

    4、使用键盘组合键Ctrl + L 按键对工程进行全编译以得到最终需要下载到FPGA的sof文件。

    5、在菜单栏中点击tools,然后选择Nios II Software Build Tools for Ecipse,以打开NIOS II软件开发环境。如下图所示

    image.png

    6、在workspace中选择之前解压的工程路径,也就是AC609_LCD9341.qpf文件所在路径,然后点击OK即可。如下图所示

    image.png

    7、在打开的界面中,Project Explor中右键选择Import以将已经编写好的软件程序导入进来。如下图所示

    image.png

    8、在打开的页面中,选择General下的 Existing Projects into Workspace选项,然后点击下一步。如下图所示

    image.png

    9、在Select root direction中选择工程文件夹,也就是AC609_LCD9341.qpf文件所在路径,,然后软件会自动检索到该路径下有2个工程,分布名为wave_draw和wave_draw_bp,确保两个工程都被勾选行,然后点击finish,如下图所示。

    image.png

    10、双击打开wave_draw_bsp工程下的settings.bsp文件,修改第7行和第9行的“D:\fpga\FPGA_Product\DDS\AC609_LCD9341”为你当前工程路径,也就是AC609_LCD9341.qpf文件所在路径,如“E:\AC609_DDS_PAD”,然后保存并关闭该文件,如下图所示。

    image.png

    image.png

    11、由于工程发布时候,是配置成了从EPCS FLASH中加载程序,所以这种配置无法进行在线调试,这里为了在线调试,需要先将CPU的从FLASH加载启动代码的选项取消,以使CPU直接从RAM运行。具体操作方法也很简单,选中dave_draw_bsp,右键,选择NIOS II -> BSP Editor以打开BSP配置界面。如下图所示

    image.png

    将左边的滑条拉到最下方,找到Advance选项并点击呈高亮,然后在右侧找到hal.link选项,去掉allow_code_at_reset和enable_alt_load选项,这样程序就可以在ram中运行了,最后点击Generate和exit按钮完成修改,如下图所示。
    image.png

    12、选中dave_draw_bsp,右键,选择NIOS II -> Generate BSP以将FPGA工程信息同步到CPU软件工程中,如下图所示

    image.png

    13、按下键盘Ctrl + B 组合键,以对工程进行全编译。工程用了uc/gui,所以文件比较多,大概需要3分钟左右。编译完了,还需要等待一会儿,大约2分钟,待软件更新makefile文件。

    14、将LCD显示屏插入开发板右侧的排母接口,注意靠下方按键对齐,上方会空出来2个母孔。

    15、将ACM9767模块插入开发板的GPIO0(上方的那个口)

    16、使用USB Blaster连接开发板和电脑,并给USB Blaster安装驱动。使用Type-C数据线或USB转圆孔数据线给开发板供电,将开关打开以确保开发板电源指示灯点亮。

    17、待软件编译完成后,回到Quartus软件,点击菜单栏的 【Tools】 -> 【Programer】以打开下载软件。如下图所示。

    image.png

    18、在programmer软件界面,点击add file按钮来添加需要下载到fpga芯片的文件,然后在弹出的窗口中,找到工程路径下,output_files文件夹下的AC609_LCD9341.sof文件。然后点击open按钮以添加到下载列表。如下图所示。

    image.png


    19、点击Start按钮,以将fpga编程文件下载到FPGA中。

    20、回到Nios II Software Build Tools for Ecipse软件中,点击菜单栏的【Run】->【Run Configurations...】选项,如下图所示。

    image.png

    21、双击【Nios II Hardware】选项以新建一个硬件调试配置,在右侧的Project Name中下拉选择“wave_draw”工程,如下图所示。

    image.png


    22、点击Target Connection选项以进入目标板连接选项,然后点击refresh connections选项以检测硬件连接。直到列表中出现两个设备,勾选上system ID check下的两个勾选项,以跳过对system id的检查。如下图所示。

    image.png

    23、点击Run按钮,以开始将软件程序下载到CPU中。程序下载成功后,可以看到LCD显示屏上就显示出了信息界面如下图所示。

    image.png

    24、如果下载过程中最后出现了下述保存,则证明第11步没有正确操作。

    image.png










    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-2-24 10:16
  • 425

    主题

    785

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    15869
    QQ
     楼主| 发表于 2023-4-20 22:54:54 | 显示全部楼层
    应用户需求,这里上传制作界面时候的gui设计源文件
    DDS_Desktop.zip (3.69 KB, 下载次数: 119)

    image.png



    DDS.zip (3.55 KB, 下载次数: 115)

    image.png




    DDS_MAIN.zip (3.75 KB, 下载次数: 112)

    image.png



    另外把UCGUIBuilder4.0工具也一并上传,注意,该软件仅支持32位系统,本人是在64位系统上装了一个32位的win7虚拟机才搞成的
    uCGUIBulider4.0.zip (9.92 MB, 下载次数: 147)

    如何使用UC/GUI开发图形界面,我就不多讲了,我也是跟着网络教程学习的,远未达到教别人的地步。大家有兴趣的网上自行找教程。


    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    1

    帖子

    12

    积分

    新手入门

    Rank: 1

    积分
    12
    发表于 2024-4-10 17:53:52 | 显示全部楼层
    image.png 有人解释为什我运行下载是下面那个界面呢?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-19 20:34
  • 0

    主题

    4

    帖子

    45

    积分

    新手上路

    Rank: 2

    积分
    45
    发表于 2024-4-17 20:40:17 | 显示全部楼层
    屏幕截图 2024-04-17 203842.png 小梅哥,按照步骤之后run,就这样子了,屏幕卡在这里了
    e77f6bcd6423e13c8feb4dd53d3a8bd.jpg
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

    GMT+8, 2024-5-3 03:41 , Processed in 0.121340 second(s), 37 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

    快速回复 返回顶部 返回列表