AD芯片AD7606b驱动设计VHDL代码Quartus仿真
·
名称:AD芯片AD7606b驱动设计VHDL代码Quartus仿真(文末获取)
软件:Quartus
语言:VHDL
代码功能:
AD7606B输入(4800-输入)/8(仿真时=学号后3位),PWM输出(600=100%)
1. 工程文件

2. 程序文件



3. 程序编译

4. RTL图

5. 仿真图
整体仿真图

AD7606B控制模块


PWM控制模块


部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; --adc7606b控制模块 ENTITY AD_ctrl IS PORT ( clk : IN STD_LOGIC;--时钟 rst_n : IN STD_LOGIC;--复位 AD_RD : OUT STD_LOGIC;--AD的接口 AD_CS : OUT STD_LOGIC;--AD的接口 AD_BUSY : IN STD_LOGIC;--AD的接口 AD_DATA_IN : IN STD_LOGIC_VECTOR(15 DOWNTO 0);--输入AD值 AD_OS : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);--AD的OS接口 AD_convst : OUT STD_LOGIC;--AD的接口 AD_RST : OUT STD_LOGIC;--AD的接口 AD_CHN1_o : OUT STD_LOGIC_VECTOR(15 DOWNTO 0)--输出通道1得值 ); END AD_ctrl; ARCHITECTURE behave OF AD_ctrl IS type state_type is (S0,S1,S2,S3,S4); SIGNAL current_state,next_state: state_type; SIGNAL sample_cnt : integer; SIGNAL CONVST_CNT : STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL channel_cnt : STD_LOGIC_VECTOR(2 DOWNTO 0); SIGNAL CONVST : STD_LOGIC; SIGNAL ADRD : STD_LOGIC; BEGIN --状态机控制 PROCESS (clk, rst_n) BEGIN IF (rst_n = '0') THEN current_state <= S0; ELSIF (clk'EVENT AND clk = '1') THEN current_state <= next_state; END IF;
源代码
点击下方的公众号卡片获取
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)