多路复用器是利用多路复用技术将多个终端的多路低速或窄带数据加载到一根高速或宽带的通信线上传输的设备。多路复用器的作用通俗的说,就是用来选择数字信号通路的,所以有时也称为数据选择器。
使用多路复用器的目的是为了充分利用通信信道的容量,大大降低系统的成本。例如,对于一对电话线来说,它的通信频带一般在100kHz以上,而每一路电话信号的频带一般限制在4kHz以下。此时,信道的容量远大于一路电话的信息传送量。
采用多路复用器,可使多路数据信息共享一路信道。当复用线路上的数据流连续时,这种共享方式可取得良好效果。显然,这样做比每台终端各用一根通信线路传送也更为经济。多路复用器总是成对使用的。一个连续终端,另一个在主机附近,它的作用是将接收的复合数据流,依照信道分离数据,并将它们送到对应的输出线上,故称为解多路复用器。
多路复用器即数据选择器,用来将 N 个输入通道的数据复用到一个输出通道上,多路复用器在数字系统中有着非常重要的应用。4选 1 多路复用器的实现结构如图 所示:
图中有四路数据 C0~C3,通过选择控制信号 S2、S1(地址码)从四路数据中选中一路数据送至输出端 z。
数据选择器的真值表如表 所示:
以4 选1 多路复用器为例:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity MUX4_1 is
Port ( c0 : in STD_LOGIC;
c1 : in STD_LOGIC;
c2 : in STD_LOGIC;
c3 : in STD_LOGIC;
s : in STD_LOGIC_VECTOR (1 downto 0);
z : out STD_LOGIC);
end MUX4_1;
architecture Behavioral of MUX4_1 is
begin
process(s) --if 语句描述
begin
if(s="00") then z<=c0;
elsif(s="01") then z<=c1;
elsif(s="10") then z<=c2;
else z<=c3;
end if;
end process;
--process(s) --case 语句描述
--begin
-- case s is
-- when "00" =>z<=c0;
-- when "01" =>z<=c1;
-- when "10" =>z<=c2;
-- when others =>z<=c3;
-- end case;
--end process;
end Behavioral;
维库电子通,电子知识,一查百通!
已收录词条48237个