保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

基于CPLD的三相多波形函数发生器设计


else

temp:=0;

end if;

end if;

adress<=temp;

end process;

3.4 模360加法器设计

此模块用来产生120°的相移,以形成三相相差为120°的输出波形。由于寻址空间为360字节,故在输出寻址数大于360时,须对360取模。程序如下:

process(adress_in)

variable temp?integer range 0 to 511;

begin

temp:=adress in+120;--相移120°

if temp<360 then;

adress out<=temp?

else

adress_out<=temp-360;--综合工具不支持取模运算,故采用减法器来实现

end if;

end process;

3.5 查找表ROM设计

此模块主要用于存储各种波形数据,以便通过寻址计数器寻址输出并经D/A转换来输出各种波形,其中包括正弦波、三角波、方波以及锯齿波。代码如下:

process(adress,sel)

begin

if sel=“00” then --sel为波形选择端口,选择输出波形,00为正弦波

case adress is

when 000=>data<=0; when 001=>data<=4; ......--正弦波查找表

when others=>null;

end case;

else if sel=“01” then --01输出方波,

if adress<180 then

data<=255;

else

data<=0;

end if;

else if sel=“10” then --锯齿波

data<=adress/2;

else --三角波

if adress<180 then

data<=adress;

else

data<=adress-180;

end if;

end if;

《基于CPLD的三相多波形函数发生器设计(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/155286.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。