PCM编解码芯片控制(10)
发布时间:2021-06-07
发布时间:2021-06-07
VHDL课程设计
elsif (tim=4) THEN
pcm_out <= code_in(3);
elsif (tim=5) THEN
pcm_out <= code_in(2);
elsif (tim=6) THEN
pcm_out <= code_in(1);
elsif (tim=7) THEN
pcm_out <= code_in(0); --帧同步码结束--
elsif (tim>7 and tim<16) THEN
pcm_out <= to_Dx; --根据内部时钟参量 发送八位pcm码--
else
pcm_out <= 'Z'; -- 其他时隙输出为高阻状态-- end if;
END PROCESS;
PROCESS (clk_sys) --解码进程-- VARIABLE cnt : INTEGER RANGE 0 TO 8; --解码时序参量-- begin
if (clk_sys'event and clk_sys='1') then
if decode_en ='1' then --解码允许信号控制-- sreg(7 downto 1)<=sreg(6 downto 0); --移位寄存器描述--
sreg(0)<=pcm_in;--通过移位寄存器把串行pcm码转换成并行码-- end if;
if (cnt<8) then
cnt:=cnt + 1; --解码时序参量自增--
else --只输出8位防止信道噪声被误解码-- cnt := 8; --输出8位pcm码后解码时序停止-- end if;
if (sreg = code_de) then --检测帧同步码--
decode <= '1'; --检测到帧同步码时输出帧同步脉冲-- cnt:=0;
else