1、8.7 TLC75248.7 TLC7524接口电路及程序设计接口电路及程序设计TLC7524接口电路设计nTLC5724是TI公司生产的8位D/A转换器,转换周期为100ns。TLC7524接口电路设计图接下页nFPGA与TLC7524的接口电路如上一页所示:nFPGA_IO18为TLC7524提供 8位并行数据。nTLC7524的CS、WR都是低电平有效,所以直接接地 TLC7524接口电路程序设计TLC7524 时序图 TLC7524输出控制时序图上图所示。根据TLC7524输出控制时序,利用接口电路图,通过改变输出数据,设计一个正弦波发生器。TLC7524是8位的D/A转换器,转换周期
2、为100ns,所以锯齿波形数据由256个点构成,每个点的数据长度为8位。FPGA的系统时钟为50MHz,必须对其进行分频处理,这里进行5分频,得到的正弦波的频率为156.25KHz。TLC7524接口电路输出控制程序 接口电路输出控制程序电路符号 TLC7524接口电路输出控制程序n-文件名:TLC7524.VHDn-功能:产生156.25KHz的正弦波。n-最后修改日期:2004.3.18。nlibrary ieee;nuse ieee.std_logic_arith.all;nuse ieee.std_logic_1164.all;nuse ieee.std_logic_unsigned.
3、all;nentity TLC7524 isn port( clk :in std_logic; -系统时钟n rst :in std_logic; -复位信号n data_out:out std_logic_vector(7 downto 0); -波形数据n end TLC7524; 接下页narchitecture behav of TLC7524 isnsignal b:integer range 0 to 63; -地址计数器nsignal q:integer range 0 to 4; -计数器nsignal d:integer range 0 to 255; -波形数据寄存器nb
4、egin接下页nprocess(clk) -此进程通过对系统时钟的分频,完成的地址计数器的循环计数nbeginnif rst=1 then b=0; -复位时,对地址寄存器清零 nelsif clkevent and clk=1 then n if q=4 then q=0; -此IF语句完成对系统时钟的5分频n if b=63 then b=0; -此IF语句完成对地址的循环计数n else b=b+1;n end if;n else q d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d null;nend case;nend process;ndata_out=conv_std_logic_vector(d,8); -正弦波波形数据输出nend behav;