IF clk'EVENT and clk='1'THEN
IF n<'7' THEN
CASE n IS
WHEN '0' =>AD7714-1_in_DATA:="00010000";
WHEN '1' =>AD7714-1_in_DATA:="00100000";
WHEN '2' =>AD7714-1_in_DATA:="00100000";
WHEN '3' =>AD7714-1_in_DATA:="01010001";
WHEN '4' =>AD7714-1_in_DATA:="00110000";
WHEN '5' =>AD7714-1_in_DATA:="10000000";
WHEN '6' =>AD7714-1_in_DATA:="01011000";
END CASE;
END IF;
IF i<'8' THEN
AD7714-1_sclk<='0';
AD7714-1_din<=AD7714-1_in_DATA(i);
i:=i+1;
AD7714-1_sclk<='1';
ELSEIF n='6' THEN
IF m<'24' THEN
AD7714-1_sclk<='0';
AD7714-1_OUT_DATA(m)<=AD7714-1_dout;
i:='0';
AD7714-1_sclk<='1';
AND IF;
ELSE i:='0';
n:=n+1;
);
END AD7714;
ARCHITECTURE AD7714DATA OF AD7714 IS
SIGNAL Read_AD7714DATA:std_logic_vector(23 downto 0);
SIGNAL AD7714in_DATA:std_logic_vector(7 downto 0);
BEGIN
PROCESS(clk)
VARIABLE i:std_logic:='0';
VARIABLE m:std_logic:='0';
VARIABLE n:Integer; --读数据
BEGIN
AD7714pol<='1'; --初始化
AD7714sync<='1';
AD7714standby<='1';
AD7714buffer<='1';
AD7714cs<='0';
AD7714reset<='1';
--AD7714-1_in_DATA:="00010000"; --选模式寄存器
--AD7714-1_in_DATA:="00100000"; --自校准,增益1
--AD7714-1_in_DATA:="00100000"; --选滤波器高寄存器
--AD7714-1_in_DATA:="01010001"; --双极性24位
--AD7714-1_in_DATA:="00110000"; --选滤波器低寄存器
--AD7714-1_in_DATA:="10000000"; --第1个凹口产生的频率50HZ
IF (clk'EVENT and clk='1')THEN
IF n<'7' THEN
CASE n IS
WHEN '0'=>AD7714in_DATA<="00100000";
WHEN '1' =>AD7714in_DATA<="01010001";
WHEN '2' =>AD7714in_DATA<="00110000";
WHEN '3' =>AD7714in_DATA<="10000000";
WHEN '4' =>AD7714in_DATA<="00010000";
WHEN '5' =>AD7714in_DATA<="00100000";
WHEN '6' =>AD7714in_DATA<="01011000"; --选择数据寄存器
END CASE;
END IF;
IF i<'8' THEN
AD7714sclk<='0';
AD7714din<=AD7714in_DATA(i); --把数据写入AD7714
i:=i+1;
AD7714sclk<='1';
ELSIF n='6' THEN
IF AD7714drdy='0' THEN --如果AD有新数据产生,就读AD输出数据
IF m<"24" THEN
AD7714sclk<='0';
Read_AD7714DATA(m)<=AD7714dout;
i:='0';
AD7714sclk<='1';
END IF;
END IF;
ELSE i:='0';
n:=n+1;
END IF;