• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

AD7680驱动VHDL代码Quartus仿真

08/09 09:18
570
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240R0194SG23.doc

共1个文件

名称:AD7680驱动VHDL代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:AD7680驱动VHDL代码

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

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序运行

4. 仿真波形

部分代码展示:

LIBRARY ieee;
   USE ieee.std_logic_1164.all;
   USE ieee.std_logic_unsigned.all;
use IEEE.NUMERIC_STD.ALL;
ENTITY AD7680_042 IS
   PORT (
      clk         : IN STD_LOGIC;--时钟
      AD_start    : IN STD_LOGIC;--AD开始采集使能信号,需要一个高电平脉冲启动AD采集
      CS_n        : OUT STD_LOGIC;--AD7680信号
      SDATA       : IN STD_LOGIC;--AD7680数据
      SCLK        : OUT STD_LOGIC;----AD7680 CLK
      Student_ID  : OUT STD_LOGIC_VECTOR(15 DOWNTO 0)--输出学号042
   );
END AD7680_042;
ARCHITECTURE trans OF AD7680_042 IS
   --定义信号
   SIGNAL data_count  : STD_LOGIC_VECTOR(4 DOWNTO 0) := "11001";
   
   SIGNAL CS_n_reg    : STD_LOGIC := '1';
   
   SIGNAL AD_data     : STD_LOGIC_VECTOR(15 DOWNTO 0) := "0000000000000000";
   
   SIGNAL AD_data_reg : STD_LOGIC_VECTOR(15 DOWNTO 0) := "0000000000000000";
SIGNAL AD_data_sub : STD_LOGIC_VECTOR(15 DOWNTO 0) := "0000000000000000";
BEGIN
--计数进程,AD_start信号有效后,当CS_n为低电平时开始计数,采用24时钟周期的时序
   PROCESS (clk)
   BEGIN
      IF (clk'EVENT AND clk = '1') THEN
         IF (AD_start = '1') THEN
            data_count <= "00000";
         ELSIF (data_count = "11001") THEN--计数到25
            data_count <= "11001";
         ELSIF(CS_n_reg='0' )THEN
            data_count <= data_count + "00001";--累加
         END IF;

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=918

  • 2-240R0194SG23.doc
    下载

相关推荐