码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • AD7321代码SPI接口模数转换连接DAC0832输出verilog


    名称:AD7321代码12位ADC,SPI接口模数转换连接DAC0832输出

    软件:QuartusII

    语言:VHDL

    代码功能:

    使用VHDL语言编写代码,实现AD7321的控制,将模拟信号转换为数字信号,再经过处理后,将数据通过DAC0832转换为模拟信号输出

    AD7321输入,(2000-输入)/6(仿真输出=009),DAC0832输出。

    要求:有vhdl代码(详尽注释),有fpga连线图,有完整功能仿真结果,有方案分析。

    演示视频:AD7321代码12位ADC,SPI接口模数转换连接DAC0832输出

    FPGA代码Verilog/VHDL代码资源下载网:www.hdlcode.com

    代码下载:

    AD7321代码12位ADC,SPI接口模数转换连接DAC0832输出(代码在文末付费下载)软件:QuartusII语言:VHDL代码功能:使用VHDL语言编写代码,实现AD7321的控制,将模拟信号转换为数字信号,再经过处理后,将数据通过DAC0832转换为模拟信号输出AD7321输入,(2000-输入)/6(仿真输出=009),DAC0832输出。要求:有vhdl代码(详尽注释),有fp名称:AD7321代码12位ADC,SPI接口模数转换连接DAC0832输出(代码在文末付费下载)软件:QuartusII语言:VHDL代码功能:使用VHDL语言编写代码,实现AD7321的控制,将模拟信号转换为数字信号,再经过处理后,将数据通过DAC0832转换为模拟信号输出AD7321输入,(2000-输入)/6(仿真输出=009),DAC0832输出。要求:有vhdl代码(详尽注释),有fpicon-default.png?t=N7T8http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=219

    部分代码展示

    LIBRARY ieee;
       USE ieee.std_logic_1164.all;
       USE ieee.std_logic_unsigned.all;
    --AD控制模块,输出011110011010
    ENTITY AD7321 IS
       PORT (
          clk     : IN STD_LOGIC;--时钟
          rst     : IN STD_LOGIC;--复位
          CS_n    : OUT STD_LOGIC;--AD控制信号
          SCLK    : OUT STD_LOGIC;--AD控制信号
          DOUT    : IN STD_LOGIC;--AD控制信号
          DIN     : OUT STD_LOGIC;--AD控制信号
          DB      : OUT STD_LOGIC_VECTOR(11 DOWNTO 0)--输出AD值
       );
    END AD7321;
    ARCHITECTURE behaval OF AD7321 IS
       TYPE State_type IS (s_init, s_cs_h, s_sclk, s_end);  -- 定义状态
       SIGNAL state : State_type;
       SIGNAL cs_h_cnt : STD_LOGIC_VECTOR(3 DOWNTO 0) := "0000";--CS计数
       SIGNAL sclk_cnt : STD_LOGIC_VECTOR(7 DOWNTO 0) := "00000000";--sclk计数
    BEGIN
    --状态机控制
       PROCESS (clk, rst)
       BEGIN
          IF (rst = '1') THEN--复位
             state <= s_init;
          ELSIF (clk'EVENT AND clk = '1') THEN--时钟上升沿
             CASE state IS
                WHEN s_init =>--初始状态
                   state <= s_cs_h;
                WHEN s_cs_h =>--cS高电平状态
                   IF (cs_h_cnt >= "1010") THEN--计数10个时钟
                      state <= s_sclk;
                   END IF;
                WHEN s_sclk =>--SCLK状态
                   IF (sclk_cnt >= "00100000") THEN--计数32时钟
                      state <= s_end;--结束
                   END IF;
                WHEN s_end =>--结束状态
                   state <= s_init;
                WHEN OTHERS =>
             END CASE;
          END IF;
       END PROCESS;
       
       --根据状态控制CS信号
       PROCESS (clk, rst)
       BEGIN
          IF (rst = '1') THEN
             CS_n <= '1';--复位
          ELSIF (clk'EVENT AND clk = '1') THEN--时钟上升沿
             IF (state = s_cs_h) THEN--CS高电平状态
                CS_n <= '1';--输出高电平
             ELSIF (state = s_sclk) THEN--SCLK状态
                CS_n <= '0';--输出低电平
             END IF;
          END IF;
       END PROCESS;
       
       --根据状态控制SCLK信号
       PROCESS (clk, rst)
       BEGIN
          IF (rst = '1') THEN
             SCLK <= '1';--复位
          ELSIF (clk'EVENT AND clk = '1') THEN--时钟上升沿
             IF (state = s_sclk) THEN--SCLK状态
                SCLK <= NOT(sclk_cnt(0));--SCLK输出sclk_cnt(0)取反信号作为SCLK
             ELSIF (state = s_end) THEN
                SCLK <= '1';
             END IF;
          END IF;
       END PROCESS;
    

    设计文档:

    设计文档.doc

    1. 工程文件

    2. 程序文件

    连线图

    3. 程序编译

    4. RTL图

    5. 仿真图

  • 相关阅读:
    外卖市场繁荣背后,外卖员保障缺失的困境与突围
    JDK中字符的宽度计算流程
    酒店管理系统
    中秋节的九个冷知识
    Cadence OrCAD Capture 设置线的长度绝对延迟约束的方法
    Flask微服务注册到Nacos
    Educational Codeforces Round 137C 1743C Save the Magazines
    英国入境前需要准备什么?
    [PyTorch][chapter 57][WGAN-GP 代码实现]
    Qt Creator 编译 libxlsxwriter
  • 原文地址:https://blog.csdn.net/diaojiangxue/article/details/134097434
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号