名称: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
阅读全文
570