77范文网 - 专业文章范例文档资料分享平台

任意波形信号发生器 - 图文(3)

来源:网络收集 时间:2019-04-09 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

三、相关模块具体程序实现

? 正斜率斜波设计模块:

process(clk,reset)is begin

if(reset='1') then tmp<=\ elsif(clk'event and clk='1') then

if(tmp<\

tmp<=tmp+'1';

--未达最大值以正斜率递增

--异步复位

else

tmp<=\

--达最大值后维持高电平

end if;

end if; Q<=tmp; end process;

? 正弦波设计模块:

DAC0832的分辨率是8位,这样,将模拟信号的正弦波在一个周期内平均分成255

份,由于已经确定每周期的取样点数为64 ,所取的值为该点对应的正弦值,可用加法计数器和译码电路完成。首先对幅度为1的正弦波的一个周期分为64个采样点,根据正弦波的函数关系计算得到每一点对应的幅度值,然后量化为8位二进制数据,最大值为255,最小值为0,以此得到正弦波波表。加法计数器生成译码电路的64个输入值,译码电路查波表输出。具体进程如下: process(clk,reset)is begin

if(reset='1') then tmp<=31;

--异步复位

--clk、reset分别为时钟和复位信号

elsif(clk'event and clk='1') then

if(tmp=63) then

tmp<=0;

else

10

tmp<=tmp+1;

end if; case tmp is

when 00=>d<=255;when 01=>d<=254;when 02=>d<=252; when 03=>d<=249;when 04=>d<=245;when 05=>d<=239; when 06=>d<=233;when 07=>d<=225;when 08=>d<=217; when 09=>d<=207;when 10=>d<=197;when 11=>d<=186; when 12=>d<=174;when 13=>d<=162;when 14=>d<=150; when 15=>d<=137;when 16=>d<=124;when 17=>d<=112; when 18=>d<=99;when 19=>d<=87;when 20=>d<=75; when 21=>d<=64;when 22=>d<=53;when 23=>d<=43; when 24=>d<=34;when 25=>d<=26;when 26=>d<=19; when 27=>d<=13;when 28=>d<=8;when 29=>d<=4; when 30=>d<=1;when 31=>d<=0;when 32=>d<=0; when 33=>d<=1;when 34=>d<=4;when 35=>d<=8; when 36=>d<=13;when 37=>d<=19;when 38=>d<=26; when 39=>d<=34;when 40=>d<=43;when 41=>d<=53; when 42=>d<=64;when 43=>d<=75;when 44=>d<=87; when 45=>d<=99;when 46=>d<=112;when 47=>d<=124; when 48=>d<=137;when 49=>d<=150;when 50=>d<=162; when 51=>d<=174;when 52=>d<=186;when 53=>d<=197; when 54=>d<=207;when 55=>d<=217;when 56=>d<=225; when 57=>d<=233;when 58=>d<=239;when 59=>d<=245; when 60=>d<=249;when 61=>d<=252;when 62=>d<=254; when 63=>d<=255;when others=>null;

end case;

end if;

Q<=conv_std_logic_vector(d,8); end process;

11

--整形数据强制转换为8位位矢量

? 锯齿波设计模块:

锯齿波在一个周期内的波形也是线性增长的,所以锯齿波的取值可以从0递加到

最大值,再返回到0,循环实现。 process(clk,reset)is begin

if(reset='1') then tmp<=\ elsif(clk'event and clk='1') then

if(tmp<\

tmp<=tmp+'1';

--异步复位 --检测时钟上升沿

--clk、reset分别为时钟和复位信号

else

tmp<=\

--输出最大是降为零

end if;

end if; Q<=tmp;

? 方波设计模块:

由于方波的占空比是50%,且只有两个状态,所以方波的取样比较简单。即前半周

期取样点取值为低电平“00000000”,后半周期取样点取值为高电平“11111111”就可以了。通过与“11111111”异或,交替送出8位全0和全1,并给以10个时钟延时实现,20个时钟为一个周期。 process (clk,reset) is begin

if(reset='1') then tmp<=\ elsif(clk'event and clk='1') then

if(cc<9) then

cc<=cc+1;

--异步复位 --检测时钟上升沿

else

cc<=0;

end if;

if cc=9 then tmp<=tmp xor \

12

--异或取反

end if;

end if;

Q<=tmp; end process;

? 波形信号选择控制模块:

波形数据信号选择器通过设置四位选择开关,根据四位外部开关的状态,选择调

用上述设计的四种波形模块的一种或其中二者的组合。用CASE语句设计完成要求信号选择,在外接开关的控制下选择输出一种波形数据输出,或完成两种波形的线性组合。波形组合是将波形每一时刻的数值相加,为了不超出DAC0832的输出范围,做相应的除2操作 。

process (ob,si,dl,sq) is begin

tmp<=ob&si&dl&sq; case tmp is

--将四位开关并置为四位信号数组

--斜波选择 --正弦波选择 --锯齿波选择 --方波选择

when \ when \ when \ when \

when \组合波形 when \ when \ when \ when \ when \ when others=>null; end case; end process;

? 顶层模块主要部分设计:

13

1.元件定义及例化

元件定义语句在结构体说明部分进行描述如下(以选择模块元件定义为例):

component chs is

port(ob,si,dl,sq: in std_logic;

obl,sin,dlt,squ: in std_logic_vector(7 downto 0);

Q:out std_logic_vector(7 downto 0)); end component chs;

之定义元件对应的元件例化语句置于结构主体中:

u4: chs port map(ob,si,dl,sq,JJ,KK,LL,ZZ,Q);

2.进程启动DAC832: process(clk)is begin

if(clk'event and clk='1') then

if(reset='1') then wr<='1'; else wr<='0'; end if;

end if; end process;

3.信号衰减选择与衰减档位显示进程 process(tc,J,K,L,Z)is begin case tc is

--检测选择信号 --不衰减

--2倍衰减

--4倍衰减

when \

when \

LL<='0'&L(7 downto 1);ZZ<='0'&Z(7 downto 1);

when \LL<=\

14

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库任意波形信号发生器 - 图文(3)在线全文阅读。

任意波形信号发生器 - 图文(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/581283.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: