Cấu trúc mạch

Một phần của tài liệu SỬ DỤNG NGÔN NGỮ VHDL XÂY DỰNG CHUYỂN MẠCH KHÔNG GIAN ĐƠN GIẢN (Trang 109 - 118)

Ma trận chuyển mạch 4*4 gồm 16 cổng AND 9 ngõ vào và 2 ngõ ra được kết

nối như hình 4.5 X X X X X X X X X X X X

Chương 4: Thiết kế mạch và nạp Kit 97 U1 AND10 1 2 3 4 5 6 7 8 9 10 11 row4 U1 AND10 1 2 3 4 5 6 7 8 9 10 11 U1 AND10 1 2 3 4 5 6 7 8 9 10 11 row1 D Y U1 AND10 1 2 3 4 5 6 7 8 9 10 11 U1 AND10 1 2 3 4 5 6 7 8 9 10 11 C O L 2 U5 OR4 1 2 3 45 U2 OR4 1 23 45 C O L 4 B U1 AND10 1 2 3 4 5 6 7 8 9 10 11 U1 AND10 1 2 3 4 5 6 7 8 9 10 11 Z U1 AND10 1 2 3 4 5 6 7 8 9 10 11 U1 AND10 1 2 3 4 5 6 7 8 9 10 11 U3 OR4 1 23 45 A row2 row3 U1 AND10 1 2 3 4 5 6 7 8 9 10 11 U1 AND10 1 2 3 4 5 6 7 8 9 10 11 U1 AND 10 1 2 3 4 5 6 7 8 9 10 11 C X T U1 AND10 1 2 3 4 5 6 7 8 9 10 11 U1 AND10 1 2 3 4 5 6 7 8 9 10 11 U1 AND10 1 2 3 4 5 6 7 8 9 10 11 U1 AND10 1 2 3 4 5 6 7 8 9 10 11 C O L 3 U4 OR4 1 23 45 C O L 1 Hình 4.5. Mô hình ma trận chuyển mạch 4*4

Cấu tạo của mỗi cổng AND :

 Một ngõ ra bình thường và một ngõ ra đảo. Cổng AND nằm ở cột nào thì ngõ ra được nối tương ứng với cột đó.

 9 ngõ vào bao gồm:

- Ngõ thứ nhất được nối với ngõ vào tín hiệu, cổng AND nằm ở

hàng nào thì ngõ vào được nối tương ứng với hàng đó.

- Hai ngõ tiếp theo nối vào chân điều khiển hàng, cột theo quy luật nằm ở hàng nào, cột nào thì nối vào hàng, cột tương ứng.

- Sáu ngõ còn lại gồm 3 ngõ được nối với ngõ ra đảo của các cổng AND nằm cùng hàng với nó và 3 ngõ ra đảo của các cổng AND nằm cùng cột với nó nhằm mục đích disable các cổng AND tại hàng và cột đang có kênh thoại.

Chương 4: Thiết kế mạch và nạp Kit 98

Ví dụ:

Giả sử các cổng AND được đánh số thứ tự như sau:

Khi A-X thông thoại qua cổng AND (1) thì các cổng AND (2), (3), (4), (5),

(9), (13) có một chân nối với ngõ ra đảo của cổng AND(1) nên bị disable.

4.3.2. Code chương trình Cổng AND9: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL;

---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code.

--library UNISIM;

--use UNISIM.VComponents.all; entity CONGAND9 is

PORt ( E : in STD_LOGIC_VECTOR (7 downto 0); I : in STD_LOGIC;

Z : out STD_LOGIC; ZBU : out STD_LOGIC); end CONGAND9;

architecture Behavioral of CONGAND9 is begin

Z <= I AND E(7) AND E(6) AND E(5) AND E(4) AND E(3) AND E(2) AND E(1) AND E(0); ZBU <= NOT(I AND E(7) AND E(6) AND E(5) AND E(4) AND E(3) AND E(2) AND E(1) AND E(0));

1 2 3 4

5 6 7 8

9 10 11 12 13 14 15 16

Chương 4: Thiết kế mạch và nạp Kit 99 end Behavioral;  Tổng đài 4*4: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL;

---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code.

--library UNISIM; --use UNISIM.VComponents.all; entity td44nhieukenh is Port ( A : in STD_LOGIC; B : in STD_LOGIC; C : in STD_LOGIC; D : in STD_LOGIC; X : out STD_LOGIC; Y : out STD_LOGIC; Z : out STD_LOGIC; T : out STD_LOGIC;

ROW : in STD_LOGIC_VECTOR (4 downto 1); COL : in STD_LOGIC_VECTOR (4 downto 1)); end td44nhieukenh;

--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; architecture Behavioral of td44nhieukenh is

COMPONENT CONGAND9 is

PORt ( E : in STD_LOGIC_VECTOR (7 downto 0); I : in STD_LOGIC;

Z : out STD_LOGIC; ZBU : out STD_LOGIC); END COMPONENT; COMPONENT CONG_OR_4 IS -- Port ( A : in STD_LOGIC; B : in STD_LOGIC; C : in STD_LOGIC; D : in STD_LOGIC; Z : OUT STD_LOGIC); END COMPONENT;

Chương 4: Thiết kế mạch và nạp Kit 100

SIGNAL OUT_AND :STD_LOGIC_VECTOR (16 downto 1); SIGNAL OUT_AND_BU :STD_LOGIC_VECTOR (16 downto 1); Begin

U0 : CONGAND9 PORT MAP (I => A, E(7) => OUT_AND_BU(2),

E(6) => OUT_AND_BU(3),E(5) => OUT_AND_BU(4),E(4) => OUT_AND_BU(5), E(3) => OUT_AND_BU(9),E(2) => OUT_AND_BU(13),E(1) => ROW(1),

E(0) => COL(1), Z =>OUT_AND(1) , ZBU => OUT_AND_BU(1));

U1 : CONGAND9 PORT MAP (I => A, E(7) => OUT_AND_BU(1),

E(6) => OUT_AND_BU(3),E(5) => OUT_AND_BU(4),E(4) => OUT_AND_BU(6), E(3) => OUT_AND_BU(10),E(2) => OUT_AND_BU(14),E(1) => ROW(1), E(0) => COL(2), Z =>OUT_AND(2) , ZBU => OUT_AND_BU(2));

U2 : CONGAND9 PORT MAP (I => A, E(7) => OUT_AND_BU(1),

E(6) => OUT_AND_BU(2),E(5) => OUT_AND_BU(4),E(4) => OUT_AND_BU(7), E(3) => OUT_AND_BU(11),E(2) => OUT_AND_BU(15),E(1) => ROW(1), E(0) => COL(3), Z =>OUT_AND(3) , ZBU => OUT_AND_BU(3));

U3 : CONGAND9 PORT MAP (I => A, E(7) => OUT_AND_BU(1),

E(6) => OUT_AND_BU(2),E(5) => OUT_AND_BU(3),E(4) => OUT_AND_BU(8), E(3) => OUT_AND_BU(12),E(2) => OUT_AND_BU(16),E(1) => ROW(1), E(0) => COL(4), Z =>OUT_AND(4) , ZBU => OUT_AND_BU(4));

--===================

U4 : CONGAND9 PORT MAP (I => B, E(7) => OUT_AND_BU(6),

E(6) => OUT_AND_BU(7),E(5) => OUT_AND_BU(8),E(4) => OUT_AND_BU(1), E(3) => OUT_AND_BU(9),E(2) => OUT_AND_BU(13),E(1) => ROW(2),

E(0) => COL(1), Z =>OUT_AND(5) , ZBU => OUT_AND_BU(5));

U5 : CONGAND9 PORT MAP (I => B, E(7) => OUT_AND_BU(5),

E(6) => OUT_AND_BU(7),E(5) => OUT_AND_BU(8),E(4) => OUT_AND_BU(2), E(3) => OUT_AND_BU(10),E(2) => OUT_AND_BU(14),E(1) => ROW(2), E(0) => COL(2), Z =>OUT_AND(6) , ZBU => OUT_AND_BU(6));

U6 : CONGAND9 PORT MAP (I => B, E(7) => OUT_AND_BU(5),

E(6) => OUT_AND_BU(6),E(5) => OUT_AND_BU(8),E(4) => OUT_AND_BU(3), E(3) => OUT_AND_BU(11),E(2) => OUT_AND_BU(15),E(1) => ROW(2), E(0) => COL(3), Z =>OUT_AND(7) , ZBU => OUT_AND_BU(7));

Chương 4: Thiết kế mạch và nạp Kit 101

U7 : CONGAND9 PORT MAP (I => B, E(7) => OUT_AND_BU(5),

E(6) => OUT_AND_BU(6),E(5) => OUT_AND_BU(7),E(4) => OUT_AND_BU(4), E(3) => OUT_AND_BU(12),E(2) => OUT_AND_BU(16),E(1) => ROW(2), E(0) => COL(4), Z =>OUT_AND(8) , ZBU => OUT_AND_BU(8));

--====================

U8 : CONGAND9 PORT MAP (I => C, E(7) => OUT_AND_BU(10),

E(6) => OUT_AND_BU(11),E(5) => OUT_AND_BU(12),E(4) => OUT_AND_BU(1), E(3) => OUT_AND_BU(5),E(2) => OUT_AND_BU(13),E(1) => ROW(3),

E(0) => COL(1), Z =>OUT_AND(9) , ZBU => OUT_AND_BU(9));

U9 : CONGAND9 PORT MAP (I => C, E(7) => OUT_AND_BU(9),

E(6) => OUT_AND_BU(11),E(5) => OUT_AND_BU(12),E(4) => OUT_AND_BU(2) ,E(3) => OUT_AND_BU(6),E(2) => OUT_AND_BU(14),E(1) => ROW(3),

E(0) => COL(2), Z =>OUT_AND(10) , ZBU => OUT_AND_BU(10));

U10 : CONGAND9 PORT MAP (I => C, E(7) => OUT_AND_BU(9),

E(6) => OUT_AND_BU(10),E(5) => OUT_AND_BU(12),E(4) => OUT_AND_BU(3), E(3) => OUT_AND_BU(7),E(2) => OUT_AND_BU(15),E(1) => ROW(3),

E(0) => COL(3), Z =>OUT_AND(11) , ZBU => OUT_AND_BU(11));

U11 : CONGAND9 PORT MAP (I => C, E(7) => OUT_AND_BU(9),

E(6) => OUT_AND_BU(10),E(5) => OUT_AND_BU(11),E(4) => OUT_AND_BU(4), E(3) => OUT_AND_BU(8),E(2) => OUT_AND_BU(16),E(1) => ROW(3),

E(0) => COL(4), Z =>OUT_AND(12) , ZBU => OUT_AND_BU(12)); --===============================

U12 : CONGAND9 PORT MAP (I => D, E(7) => OUT_AND_BU(14),

E(6) => OUT_AND_BU(15),E(5) => OUT_AND_BU(16),E(4) => OUT_AND_BU(1), E(3) => OUT_AND_BU(5),E(2) => OUT_AND_BU(9),E(1) => ROW(4),

E(0) => COL(1), Z =>OUT_AND(13) , ZBU => OUT_AND_BU(13));

U13 : CONGAND9 PORT MAP (I => D, E(7) => OUT_AND_BU(13),

E(6) => OUT_AND_BU(15),E(5) => OUT_AND_BU(16),E(4) => OUT_AND_BU(2), E(3) => OUT_AND_BU(6),E(2) => OUT_AND_BU(10),E(1) => ROW(4),

E(0) => COL(2), Z =>OUT_AND(14) , ZBU => OUT_AND_BU(14));

Chương 4: Thiết kế mạch và nạp Kit 102

E(6) => OUT_AND_BU(14),E(5) => OUT_AND_BU(16),E(4) => OUT_AND_BU(3), E(3) => OUT_AND_BU(7),E(2) => OUT_AND_BU(11),E(1) => ROW(4),

E(0) => COL(3), Z =>OUT_AND(15) , ZBU => OUT_AND_BU(15));

U15 : CONGAND9 PORT MAP (I => D, E(7) => OUT_AND_BU(13),

E(6) => OUT_AND_BU(14),E(5) => OUT_AND_BU(15),E(4) => OUT_AND_BU(4), E(3) => OUT_AND_BU(8),E(2) => OUT_AND_BU(12),E(1) => ROW(4),

E(0) => COL(4), Z =>OUT_AND(16) , ZBU => OUT_AND_BU(16));

--==================================

U16 : CONG_OR_4 PORT MAP (A => OUT_AND(1), B => OUT_AND(5), C => OUT_AND(9), D => OUT_AND(13), Z => X);

U17 : CONG_OR_4 PORT MAP (A => OUT_AND(2), B => OUT_AND(6), C => OUT_AND(10), D => OUT_AND(14), Z => Y);

U18 : CONG_OR_4 PORT MAP (A => OUT_AND(3), B => OUT_AND(7), C => OUT_AND(11), D => OUT_AND(15), Z => Z);

U19 : CONG_OR_4 PORT MAP (A => OUT_AND(4), B => OUT_AND(8), C => OUT_AND(12), D => OUT_AND(16), Z => T);

end Behavioral;

4.3.3. Kết quả mô phỏng bằng Test Bench

Ta có thể mô phỏng chương trình bằng công cụ Test Bench. Sau khi mô phỏng ta được dạng sóng như hình sau:

Chương 4: Thiết kế mạch và nạp Kit 103

Hình 4.6. Mô phỏng chuyển mạch 4*4

Từ mô hình ma trận chuyển mạch 4*4 như trên, ta có thể mở rộng thành ma trận 8*8. Mô hình kết nối bao gồm 64 cổng AND được nối với nhau. Mỗi cổng

AND bao gồm 17 ngõ vào và 2 ngõ ra, sơ đồ kết nối và nguyên lý hoạt động tương

tự như chuyển mạch 4*4 đã trình bày ở trên. Sau khi mô phỏng bằng Test Bench, ta được dạng sóng ra của tổng đài 8*8 như sau:

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI

Nghiên cứu kỹ thuật chuyển mạch tổng đài là một quá trình lâu dài. Với sự ra đời và đổi mới của nhiều hệ thống tổng đài điện tử hiện nay đáp ứng tính di động

trong mạng không dây, nhưng cũng làm tăng thêm nhiều khó khăn trong việc quản

lý và điều hành, thiết kế một hệ thống mạng đáp ứng nhu cầu người sử dụng càng

tăng. Bên cạnh đó cũng có nhiều vấn đề mới nảy sinh, vì vậy việc nghiên cứu và xây dựng một hệ thống mới luôn là vấn đề hàng đầu.

Trong giới hạn là một đồ án tốt nghiệp của mình chúng em chỉ ứng dụng

những gì đã có trước để xây dựng một mô hình tổng đài đơn giản. Với mục tiêu chính là tìm hiểu ngôn ngữ lập trình mới hiện nay là VHDL, sử dụng công cụ ISE để tạo mã VHDL, bước đầu tìm hiểu làm quen với KIT Spartan 3E, sử dụng KIT để kiểm tra và mô phỏng mạch.

Với vốn kiến thức còn hạn chế, chúng em xin dừng lại ở những chuyển mạch đơn giản. Hướng phát triển cho đề tài sẽ bao gồm chuyển mạch không gian kết

hợp với thời gian, các mô hình chuyển mạch phức tạp hơn (về kích thước và chức năng) và kiểm chứng bằng nhiều cách sử dụng kit FPGA.

TÀI LIỆU THAM KHẢO

Tiếng Việt:

1. Cơ sở Kỹ thuật chuyển mạch & Tổng đài – 2 tập – Nguyễn Hồng Sơn - NXB Giáo dục 2001.

2. Giáo trình Kỹ thuật Chuyển mạch – TS.Hoàng Minh, ThS.Hoàng Trọng

Minh – Học Viện Bưu Chính Viễn Thông HN – 2008.

3. Giáo trình cơ sở lý thuyết tổng đài (dùng cho các trường công nhân bưu điện

– hệ 18 tháng), Tổng Công ty Bưu chính Viễn thông Việt Nam, NXB Bưu

điện.

4. Hệ thống viễn thông 2 – Lê Tiến Thường – NXB ĐHQG TPHCM 2005.

5. Hệ thống viễn thông, Vũ Đình Thành, NXB Đại học Quốc gia TP HCM

2003.

6. Kỹ thuật chuyển mạch – Mai Văn Quý, Nguyễn Hữu Kiên, Nguyễn Văn Giáo

– Học Viện Kỹ Thuật Quân Sự HN – 2003.

7. Sổ tay lập trình VHDL. Nguồn Internet, biên tập bởi lythanhthuan.

8. Tổng Quan Viễn Thông – ThS. Nguyễn Văn Đát, ThS. Nguyễn Thị Thu

Hằng, KS. Lê Sỹ Đạt, KS. Lê Hải Châu – 2007.

9. Switching Engineering – Nguyễn Việt Duy – 2004.

Tiếng Anh:

1. VHDL Programming by Example 4th - Tác giả Douglas L. Perry. - Nhà xuất

Một phần của tài liệu SỬ DỤNG NGÔN NGỮ VHDL XÂY DỰNG CHUYỂN MẠCH KHÔNG GIAN ĐƠN GIẢN (Trang 109 - 118)