单片机+CPLD结构体系在电子设计中的应用
单片机程序
sdosend:
setb clk
setb end
mov r7,#06h
ssend:
rrc a
mov send,c
nop
nop
clr clk
nop
nop
setb clk
djnz r7,ssend
nop
nop
clr end
nop
nop
setb end
ret
VHDL 语言程序
Library ieee;
Use ieee.STd_logic_1164.all;
Entity pldse1 is
Port
(
so,clk,send :in std_logic
);
end pldse1;
architecture io1 of pldse 1 is
begin
process(cs)
begin
if(cs='0')then
casep qout is
when 000000=>
when 000001=>
when 000010=>
··················
when 000100=>
when 000101=>
when others=>null;
end case;
else null;
end if;
end procESS;
process(clk)
begin
if(clk'event and clk='0')then
qout=data qout(5 downto 1)
else null;
end if;
end process;
end io 1;
通过程序单片机/CPLD可以看出,利用CLK和SEND线发送控制信号;利用END作为结束位,无论什么情况,如果没有结束位的下降沿脉冲,PLD的输出端口不会改变,这样可确保输出信号的稳定。这种输出锁存使单片机在死机复位时依然不影响继电器原输出。PLD在接收到单片机的控制信号后首先暂存,直到收到END的下降沿脉冲时再把数据输出,作出相应的置高低电平的动作。
由上述设计可以看出,单片机和PLD在使用上有很强的互补性:在逻辑运算、智能控制方面,单片机具有不可替代的优越性;而在高速稳定等方面,PLD无疑是首选。因此,在目前的电子设计中,充分利用单片机+PLD结构将起到事半功倍的效果。
评论