[VHDL] DAC驱动

[复制链接]
2181|6
 楼主| 用劲儿飞吧 发表于 2016-7-15 11:24 | 显示全部楼层 |阅读模式
本帖最后由 用劲儿飞吧 于 2016-7-15 15:57 编辑

刚接触FPGA,实在不熟悉,附图是DAC2904时序,怎么写驱动时序啊,哪位大侠有类似的并口DAC驱动没啊,万分感激啊

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
cnb12345 发表于 2016-7-15 14:55 | 显示全部楼层
看不到图
 楼主| 用劲儿飞吧 发表于 2016-7-15 15:58 | 显示全部楼层

把图上了,帮忙看看代码行不

library IEEE;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
--实体
entity da1_test is
    port (
          clk:in STD_LOGIC  ;  --系统主时钟
          da1_clk:out std_logic;  --给DA的时钟
          da1_d:out std_logic_vector(13 downto 0)  --给DA的数据
                        );
end da1_test;
------------------------------------------------
architecture topdesign_arch of da1_test is
------------------------------------------------
signal count_clk:std_logic_vector(13 downto 0);
------------------------------------------------

begin
-------------------------------------------------
da1_clk <=clk;  --给DA的时钟
--da_clk <=not count_clk(0);  --给DA的时钟
-------------------------------------------------

process(clk)
begin
        if clk'event and clk='1' then
-------------------------------------------------
           count_clk<=count_clk+1;
           da1_d<=count_clk(13 downto 0);
-------------------------------------------------
        end if ;
-------------------------------------------------
end process;
-------------------------------------------------
end topdesign_arch;
 楼主| 用劲儿飞吧 发表于 2016-7-15 15:59 | 显示全部楼层

这是个生成锯齿波的程序。。。
玄德 发表于 2016-7-15 16:22 | 显示全部楼层

先把WRTx、CLKx拉低,然后输出DATA IN数据;
延时ts时间之后,再把它们拉高,并保持tLPW、tCPW时间,然后拉低;
上述动作重复一次,前次给查的DATA IN数据将在DAC端输出。

时序就是这意思,实现这个波形就可以。

 楼主| 用劲儿飞吧 发表于 2016-7-15 17:00 | 显示全部楼层
玄德 发表于 2016-7-15 16:22
先把WRTx、CLKx拉低,然后输出DATA IN数据;
延时ts时间之后,再把它们拉高,并保持tLPW、tCPW时间,然后 ...

延时怎么实现啊,计数器么?
玄德 发表于 2016-7-15 17:08 | 显示全部楼层
用劲儿飞吧 发表于 2016-7-15 17:00
延时怎么实现啊,计数器么?


当然。


您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

21

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部