⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fsk_decode.vhd

📁 使用DDS技术
💻 VHD
字号:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
ENTITY fsk_decode IS                                     --解调程序
    PORT (     CLK : IN  STD_LOGIC;
            receive  : in STD_LOGIC_VECTOR(7 DOWNTO 0) ;
             s:out std_logic);
 END;
architecture behave of  fsk_decode is
signal q:std_logic_vector(7 downto 0):=(others=>'0');
signal m:STD_LOGIC_VECTOR(4 DOWNTO 0):="00000";    --过零检测的计数器
signal reg:STD_LOGIC_VECTOR(7 DOWNTO 0);           --暂存接收到的dds信号
begin
 process(clk)
   begin
if clk 'event and clk='1' then
   q<=q+1;reg<=receive;
end if;
 end process;
process(q(7))
begin 
if q(7) 'event and q(7)='0' then
    if m<13 then  s<='0';   --根据判断的次数,解调出信号
     else  s<='1';
   end if; 
end if;
end process;
process(clk)       
   begin
if clk 'event and clk='1' then
    if q<"00000010" then m<="00000";
    elsif reg>"01111000" and reg<"10001000" then m<=m+1;
                --对接收到的信号,检测通过一定范围的次数
    end if;   
end if;
end process;
end behave;
 
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -