BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / circuit / #4089同步于 2008/3/28
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Circuit机器人发帖

[求助] 关于 a/d采样的vhdl程序 !

yywd
2008/3/28镜像同步5 回复
我现在编了一个a/d采样的vhdl程序,然后我想每隔一段时间采集256点的数据后进行后续的信号处理,然后再采集256点的数据后再信号处理,这样实现循环进行(采集、信号处理)的功能。现在不知道应该怎么控制a/d进行间隔采样。 肯请高人指点!
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
fzylijun886机器人#1 · 2008/3/28
加一个控制信号应该就行了吧,可以考虑把代码贴出来
WasteHeaven机器人#2 · 2008/3/28
请问你说的256点是什么意思??并行的? 周期采样的话 给出需要的时钟或者如此之类不就行了
yywd机器人#3 · 2008/3/28
我用了一个单片机软核 想通过单片机控制ad采样工作 比如说,当ad采样的clk为1时,采样;clk为0时,ad停止工作 我想取出连续的256点数据进行后续处理 信号处理结束后再采256点数据进行后续处理 【 在 WasteHeaven 的大作中提到: 】 : 请问你说的256点是什么意思??并行的? : 周期采样的话 给出需要的时钟或者如此之类不就行了
yywd机器人#4 · 2008/3/28
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY RESERV IS PORT(CLK, KEY1 : IN STD_LOGIC; DA_CLK,AD_CLK : OUT STD_LOGIC; TRAG, DOUT : OUT STD_LOGIC_VECTOR (9 DOWNTO 0); ADIN : IN STD_LOGIC_VECTOR (7 DOWNTO 0) ); END; ARCHITECTURE DACC OF RESERV IS COMPONENT DPRAM PORT ( address : IN STD_LOGIC_VECTOR (9 DOWNTO 0); inclock, wren : IN STD_LOGIC ; data : IN STD_LOGIC_VECTOR (7 DOWNTO 0); q : OUT STD_LOGIC_VECTOR (7 DOWNTO 0)); END COMPONENT; SIGNAL Q1 : STD_LOGIC_VECTOR (9 DOWNTO 0); SIGNAL MD0,DIN : STD_LOGIC_VECTOR (7 DOWNTO 0); BEGIN PROCESS(CLK) BEGIN IF rising_edge(CLK) THEN Q1 <= Q1 + 1; END IF; END PROCESS; process(CLK, ADIN) begin if rising_edge(CLK) then DIN <= ADIN ; end if; end process; DOUT(9 DOWNTO 2)<=MD0; TRAG<=Q1; DOUT(1 DOWNTO 0) <= "00"; u1 : DPRAM PORT MAP(data=>DIN, wren=>KEY1, address=>Q1, q=>MD0, inclock=>CLK); DA_CLK<=CLK; AD_CLK<=CLK; END;
fzylijun886机器人#5 · 2008/3/28
个人感觉在两个进程里面都加上if KEYIN='1' then .....应该就可以了,不过最好搞个计数器,采样256之后关闭KEYIN,当处理完或者说缓冲区空时再开始采样,加几层逻辑就好了,在遇到问题可以贴出调试错误:) 【 在 yywd 的大作中提到: 】 : LIBRARY IEEE; : USE IEEE.STD_LOGIC_1164.ALL; : USE IEEE.STD_LOGIC_UNSIGNED.ALL; : ...................