⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tlc5510.vhd

📁 altera Quartus II TLC晶片控制 可控制暫存器
💻 VHD
字号:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;

ENTITY TLC5510 IS
	PORT(	CLK 	: 	IN	STD_LOGIC;	--采样控制Cctl_GP_LatchFlag输入
			D		: 	IN	STD_LOGIC_VECTOR(7 DOWNTO 0);	--8位AD数据
			ADCLK	: 	OUT	STD_LOGIC;	--TLC5510的CLK
			ADOE	: 	OUT STD_LOGIC;	--TLC5510的OE输出使能低电平有效
			DATA	: 	OUT STD_LOGIC_VECTOR(7 DOWNTO 0));	--8位数据

END ENTITY TLC5510;


ARCHITECTURE behavioural OF TLC5510 IS

	TYPE 	ADS_STATES IS (State0_typ,State1_typ);
	
	SIGNAL	sta_G_CurrentState	:	ADS_STATES;
	SIGNAL  sta_G_NextState 	:	ADS_STATES;
	SIGNAL  ctl_GP_LatchFlag 	:	STD_LOGIC;

BEGIN

COM:	PROCESS(sta_G_CurrentState)	--A/D采样控制状态机
		BEGIN
			CASE sta_G_CurrentState IS
				WHEN State0_typ => ADCLK <= '1' ; ctl_GP_LatchFlag <= '1' ; --DCLK <= '0';
					sta_G_NextState <= State1_typ;
				WHEN State1_typ => ADCLK <= '0' ; ctl_GP_LatchFlag <= '0' ; --DCLK <= '1';
					sta_G_NextState <= State0_typ;
				WHEN OTHERS => ADCLK <='0' ; ctl_GP_LatchFlag <= '0' ; --DCLK <= '1';
					sta_G_NextState <= State0_typ;
			END CASE;
		END PROCESS COM;

REG:	PROCESS (CLK)	--状态机驱动进程
		BEGIN 
			IF(CLK'EVENT AND CLK = '1')THEN
				sta_G_CurrentState <= sta_G_NextState;
			END IF;
		END PROCESS REG;

LATCH:	PROCESS(ctl_GP_LatchFlag)--ctl_GP_LatchFlag上升沿锁存数据
		BEGIN
			IF ctl_GP_LatchFlag'EVENT AND ctl_GP_LatchFlag = '1'  THEN  DATA <= D;
			END IF;
		END PROCESS LATCH;
		
ADOE <= '0';

END ARCHITECTURE behavioural;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -