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

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


mux:process(out1(16))

begin

if out1(16)=‘1’ then

ad<=out1(15 down to 0); --1号寄存器为幅度控制字

else

freq<=out1(15 downto 0); --0号寄

存器为频率控制字

end if;

end process mux;

end;

图3

    3.2 分频比可变的分频器模块设计

该设计主要是根据频率控制字决定分频倍数,从而输出与频率控制字相对应的频率时钟,此模块的输出可作为寻址计数器的时钟。具体代码如下:

process?clk? --clk为外部时钟(如晶振)

variable temp,fen:std_logic_vector(15 down to 0);?

constant temp1:std_logic_vector(15 down to 0):=“1111111111111111”;

variable a:std_logic;

begin

fen:=temp1-fen_in; --使分频后的频率正比于频率控制字

if clk=‘1’ and clk'event then

if temp=(‘0’&fen(15 down to 1)) then --相当于除2运算

a:=not a;

temp:=temp+1;

elsif temp=fen then

a:=not a;

temp:=“0000000000000000”;

else

temp:=temp+1;

end if;

end if;

fen out<=a; --fen out 为输入时钟的频率fen倍分频

end process;

3.3 寻址计数器设计

寻址计数器主要用于产生对ROM寻址输出波形数据的寻址信号,寻址空间为360字节,具体的程序代码如下:

process(clk)

variable temp:integer range 0 to 359;

begin

if clk=‘1' and clk'event then

if temp<359 then

temp:=temp+1;

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

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