NGHIÊN CỨU VÀ THIẾT KẾ MẠNG CÔNG NGHIỆP SỬ DỤNG CHIP FPGA VÀ CPU 89S8252 - Pdf 32

Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
___oOo___
NGUYỄN BẢO KỲ
NGHIÊN CỨU VÀ THIẾT KẾ
MẠNG CÔNG NGHIỆP SỬ DỤNG
CHIP FPGA VÀ CPU 89S8252
CHUYÊN NGÀNH : Vô Tuyến - Điện Tử
MÃ SỐ : 02.07.01
LUẬN VĂN THẠC SĨ
TP. HỒ CHÍ MINH, THÁNG 03 NĂM 2004
PHẦN 1
GIỚI THIỆU MẠNG CÔNG NGHIỆP
1.GIỚI THIỆU MẠNG CÔNG NGHIỆP
Trang 1
Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
Trong nhiều thập niên năm qua việc ứng dụng mạng thông tin vào lĩnh vực công
nghiệp đã bùng nổ rất mạnh mẽ.Các hệ thống mạng phát triển rất mạnh và đa
dạng .
Việc ứng dụng mạng công nghiệp đã mang lại những lợi ích rõ nét
 Chi phí lắp đặt hệ thống
 Nhân công điều hành
 Tiện ích quản lý hệ thống
 Cải thiện môi trường làm việc

Mở rộng ra từ mạng cục bộ ,các hệ thống cục bộ có thể kết nối với nhau tạo ra một
mạng diện rộng .Như vậy chỉ với một máy tính có thể quản lý tập trung mạng điều
khiển .
Trang 2
Mô hình hệ thống mạng điều khiển

0
KIT9
Mô hình kết nối các mạng cục bộ
Application
Presentation
Session
Transport
Network
Data link
Physical
Application
Transport
Internet
Network
access
Cấu trúc 4 lớp của mô hình TCP/IP so với mô hình OSI
OSI TCP/IP
Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
Lớp truy xuất mạng : Network Access Layer.
Lớp liên mạng : Internet Layer.
Lớp vận chuyển : Transport Layer.
Lớp ứng dụng : Application Layer.
Chức năng của các lớp :
2.1.1.Lớp truy xuất mạng (Network Access Layer):
Lớp truy xuất mạng đại diện cho các bộ phận kết nối vật lý như cáp, bộ chuyển đổi
(Adapter), card mạng, giao thức kết nối, giao thức truy cập mạng. Lớp này có nhiệm
vụ trao đổi dữ liệu giữa các máy chủ và mạng.
TCP/IP không định nghĩa lớp này mà dùng các chuẩn có sẵn như IEEE, X25,
RS232, ETHERNET,...
Trang 4

kênh truyền trống thì nó sẽ truyền.
Sau bit cuối cùng của một khung truyền trạm Ethernet phải đợi một khoảng thời
gian nhất định để tạo một khoảng cách giữa các khung. Khoảng cách này chính là
thời gian cho phép các trạm khác có thể chiếm kênh truyền.
Trong trường hợp xảy ra xung đột (khi có hai trạm cùng phát hiện ra kênh trống và
truyền dữ liệu lên), trạm Ethernet sẽ phát hiện ra xung đột nhờ so sánh dữ liệu trên
đường truyền với dữ liệu đã phát. Cả hai trạm sẽ cùng ngưng phát và chờ trong một
Trang 5
Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
khoảng thời gian ngẫu nhiên trước khi phát lại. Do thời gian chờ phát lại của mỗi
trạm là ngẫu nhiên nên có thể tránh được việc tái xung đột, tuy nhiên nếu điều này
xảy ra, các trạm sẽ phải chờ một lần nữa với thời gian chờ ngẫu nhiên tăng lên để
giảm xác suất tái xung đột.
2.2.2.Định dang khung Ethernet:
Preamble
(8 byte)
Destination
Address
(6 byte)
Source
Address
(6 byte)
Type
(2 byte)
Data
(46->1500
byte)
FCS
(3 byte)
2.2.2.1.Preamble :

liệu mang thông tin của lớp trên.Trong khi đó khung lệnh mang thông tin điều khiển
và không chứa thông tin của lớp trên.
 Start:Mở đầu khung
 Access control :Phân biệt khung Token hoặc khung lệnh /dữ liệu
 Frame control :Phân biệt loại thông tin điều khiển
 Destination address:Địa chỉ đến của khung
 Source address:Nơi xuất phát của khung
 Data:Có kích thước thay đổi mang thông tin
 FCS:Kiểm tra lỗi khung
 End:Kết thúc
 Frame status:Báo trạng thái khung nhận được
Trang 7
Start
Start
Access
control
Access
control
Frame
control
Frame
control
Destina
tion
address
Destina
tion
address
Source
address

n
) / G =Q + R /G
Kết quả phần dư R chính là CRC cần gán vào bản tin để phát .
Việc lấy bản tin nhân 2
n
tức là thêm vào số số không bằng bậc của đa thức sinh .
Sau đó thực hiện chia module – 2 cho đa thức sinh .Phần dư R chính là CRC cần
tìm .
Tại đầu phát bản tin M được thêm vào thành phần CRC trước khi phát
Tại đầu thu khi nhận được chuỗi dữ liệu cũng được xử lý như đầu phát .Tuy nhiên
kết quả cho R là bằng không thì kết luận việc truyền không bị lỗi .Nếu phần dư R
khác không thì kết luận việc truyềøn bị lỗi .
Có 2 cách thực hiện tính CRC:
 Phần cứng
 Phần mềm
Trong đề tài sử dụng tính CRC8 bằng phần mềm với đa thức sinh
CRC8 =X^8 + X^2 + X^1 + 1
Trang 8
Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252

Đa thức sinh :100000111 .Tính CRC-8
Tính CRC-8 có chuỗi dữ liệu sau với đa thức sinh 100000111
11110000 11010000 10101010 10000000 00000000
10000011 1
01110011 01
1000001 11
0110010 100
100000 111
010010 0111
10000 0111

hiệu từ máy tính gửi xuống cần được điều chế và giải điều chế .
KHẢO SÁT ĐIỀU CHẾ FSK
Tín hiệu điều chế FSK có tần số thay đổi tùy thuộc vào luồng dữ liệu nhị phân được
phát.
Điều chế FSK rất thông dụng với việc truyền dữ liệu tốc độ thấp từ 300 đến 1200
baud.
PHẦN 4
GIỚI THIỆU VỀ NGÔN NGỮ VHDL
Trang 10
0
1
Dạng tín hiệu FSK
0
1
Dạng tín hiệu giải điều chế FSK
Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
1.TỔNG QUAN VỀ VHDL
Very High Speed IC Hardware Description Language là một chuẩn dùng trong
công nghiệp được viết tắt là VHDL.Nó được coi là một ngôn ngữ mô tả phần cứng
có thề dùng thiết kế các hệ thống số với các cấp độ khác nhau :từ mức là các giải
thuật (cấp độ trừu tượng ) đến các mức cụ thể thực hiện trên các cổng logic.
Trong chương này chúng ta sẽ đề cập đến những vấn đề cơ bản của VHDL. với các
phương pháp thiết kế truyền thống .
VHDL là dạng mô tả ngôn ngữ gần gũi với người thiết kế .VHDL bắt đầu từ những
mô tả đơn giản đến các hệ thống phức tạp mới hình thành .Quá trình tiếp cận VHDL
cũng được thực hiện qua trình tự như vậy .Các mô tả đơn giản được chúng ta tiếp
cận ,sau đó các thiết kế phức tạp hơn được xây dựng trên nền tảng đó.Quá trình
chúng ta tiếp cận như vậy đối với VHDL giúp chúng ta hiểu rõ hơn hệ thống thay vì
chúng ta bắt tay ngay vào xây dựng một hệ thống lớn.
1.1.CÁC THUẬT NGỮ VHDL

thực thi cơ bản trong VHDL.Tất cả hoạt động được thể hiện dựa trên các mô tả
VHDL mà trong đó các mô tả được phân thành một hay nhiều các process.
1.2.CÁC KIỂU THIẾT KẾ TRUYỀN THỐNG
Trong thiết kế truyền thống, các công cụ CAE (Computer Aided Engineering) được
người thiết kế sử dụng .Khi sử dụng CAE,các người thiết kế phải tạo ra schematic
cho các thiết kế .
Các schematic bao gồm các ký hiệu mô tả các thành phần cơ bản của thiết kế và
được kết nối bằng những đường tín hiệu .Các ký hiệu mô tả đó phụ thuộc vào các
thư viện đã dựng sẵn .
Các thành phần cơ bản được kết nối bằng các đường tín hiệu .Các kết nối này rất
quan trọng việc xây dựng thiết kế ,các netlist tương ứng với mỗi thiết kế nhận được
từ những thiết kế này .Các netlist này giúp tạo ra các kiểu giả lập nhằm kiểm tra lại
thiết kế trước khi xây dựng ,đồng thời cung cấp các thông tin cho các phần mềm
xây dựng một thiết kế phần cứng thật sự .
Hình dưới mô tả một ví dụ thiết kế reset-set-flip-flop (RSFF) xây dựng theo một ký
hiệu mô tả cái khái quát flip-flop trên với thiết kế :
 Ngõ vào của thiết bị: SET và RESET.
 Ngõ ra của thiết bị : Q và QB.
 Chức năng của thiết bị được thể hiện qua tên của ký hiệu .
Các ký hiệu định rõ giao tiếp bên ngồi của thiết bị và chức năng của thiết kế.Các
kết nối bên trong ký hiệu thể hiện qua các schematic xây dựng trên những thành
phần cơ bản (trong ví dụ này các cổng logic được sử dụng ).
1.2.1.Tương quan giữa các ký hiệu và các entity
Trang 12
SET Q
RESET QB
Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
Tất cả các thiết kế đều dựa trên các ENTITY.Các ENTITY được xem là các ký hiệu
đại diện tồn tại trong các thiết kế dựa trên CAE.Dưới đây là phần mô tả ở mức trên
cho RSFF:

PORT MAP(reset,q,qb);
END netlist;
Từ khóa ARCHITECTURE được sử dụng bắt đầu cho mô tả kiến trúc của ENTITY.
ARCHITECTURE có tên là netlist và có tên ENTITY tương ứng là rsff.Trong
Trang 13
Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
ENTITY có thể có nhiều ARCHITECTURE trong nó ,các ARCHITECTURE có
thể là dạng mô tả hành vi hoặc đối với ví dụ trên nó có thể mô tả dưới dạng cấu trúc
.Giữa 2 từ khóa ARCHITECTURE và BEGIN là các khai báo cho các đường tín
hiệu hay các thành phần được sử dụng trong cấu trúc đó .
Trong ví dụ trên thành phần cổng logic NAND được khai báo cho
ARCHITECTURE.Trình biên dịch cần biết các thông tin về giao tiếp của các thành
phần được sử dụng trong ARCHITECTURE,các giao tiếp đó được mô tả sau từ
khóa PORT.Mọi mô tả được đặt giữa 2 từ khóa BEGIN và END ,các mô tả đó xảy
ra đồng thời với nhau .
Trang 14
Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
1.2.3.Thành phần component
Thành phần NAND được sử dụng 2 lần trong ví dụ trên tương ứng là U1 và
U2.Thành phần NAND được sử dụng với cái tên là U1 với ngõ đầu tiên nối với tín
hiệu set, ngõ thứ 2 nối với tín hiệu qb và ngõ thứ 3 nối với tín hiệu q.Nếu chúng ta
quan sát mô tả của COMPONENT chúng ta sẽ thấy ngõ đầu tiên là a,ngõ thứ 2 là
b,đó là 2 ngõ vào ,ngõ thứ 3 là ngõ ra với tên là c.Do đó các ngõ sẽ có các tín hiệu
tương ứng nối với nó.Cụ thể là :Ngõ a của thành phần NAND trong U1 nối với tín
hiệu set,ngõ b nối với tín hiệu qb và ngõ c sẽ được nối với tín hiệu q.Đối với
U2,chúng ta sẽ thấy được các kết nối sau từ khóa PORT MAP.Chúng ta còn một
cách mô tả qua đó chúng ta sẽ thấy mọi kết nối được rõ ràng hơn .
U1:PORT MAP(a=>set,
B=>qb,
C=>q);

q<=’1’;
qb<=’1’;
END IF;
END PROCESS;
END sequential;
Các mô tả được thực hiện bắt đầu bằng một từ khóa PROCESS và kết thúc bằng từ
khóa END PROCESS.
1.2.6.Mô tả PROCESS
Một mô tả PROCESS gồm 3 phần.Phần đầu tiên gọi là danh sách độ nhạy
(SENSITIVITY LIST);phần thứ hai được coi là phần khai báo (DECLARATION)
đặt trước từ khóa BEGIN và phần sau từ khóa BEGIN là phần mô tả .Các tín hiệu
đặt trong dấu ngoặc đơn sau từ khóa PROCESS là danh sách độ nhạy của
PROCESS khi có sự thay đổi giá trị xảy ra trên một trong các tín hiệu trong danh
sách này,các lệnh trong PROCESS sẽ được thực thi .
1.2.7.Vùng khai báo của PROCESS
Phần khai báo biến của PROCESS nằm trong khoảng giữa cuối danh sách độ nhạy
và từ khóa BEGIN.Trong ví dụ trên,phần khai báo này được để trống.Trong phần
này các biến hay các hằng số được khai báo ,các biến khai báo chỉ được hiểu trong
phạm vi PROCESS đó .Khi gán giá trị cho biến ta dùng ký hiệu “:= “ .Chú ý trong
một PROCESS ta không khai báo SIGNAL .
1.2.8.Vùng thực thi tuần tự trong PROCESS
Các mô tả trong phần này sẽ được thực thi một cách tuần tự trong PROCESS khi có
bất kỳ tín hiệu nào thay đổi trong danh sách độ nhạy sau từ khóa PROCESS.Trong
ví dụ này các mệnh đề IF sẽ được kiểm tra đầu tiên và thực thi khi các mệnh đề IF
này đúng .
1.2.9.Các mô tả Configuration
Một ENTITY có thể có hơn một ARCHITECTURE,phần này cung cấp sự chỉ định
ARCHITECTURE nào đó được sử dụng trong thiết kế trong số nhiều
ARCHITECTURE mà một ENTITY có thể có,và chỉ định cặp ENTITY-
ARCHTECTURE nào ứng với các COMPONENT được khai báo .Ta xét ví dụ sau :

lập trình trực tiếp mà không phải sử dụng bất kỳ 1 công cụ chế tạo mạch tích hợp
nào.
Các thiết bị lập trình được đóng vai trò quan trọng lâu dài trong thiết kế các phần
cứng số. Chúng là các chip đa dụng có thể được cấu hình theo nhiều cách cho nhiều
ứng dụng. Loại đầu tiên của thiết bị có thể lập trình được sử dụng rộng rãi là
Programmable read-Only Memory (PROM). PROM là thiết bị lập trình chỉ được 1
lần gồm 1 dãy các ô nhớ chỉ đọc. PROM có thể thực hiện bất kỳ hàm logic theo
bảng sự thật nào bằng cách sử dụng các đường địa chỉ như các ngõ nhập và ngõ
xuất được xác định bởi nội dung các bit nhớ.
Có 2 loại PROM cơ bản, 1 loại chỉ có thể được lập trình bởi nhà sản xuất và 1 loại
có thể được lập trình bởi người dùng. Loại thứ nhất được gọi là mask-
programmable và loại thứ 2 được gọi là field-programmable. Khi sản xuất các chip
logic, hiệu suất tốc độ cao có thể đạt được với các chip mask-programmable vì các
kết nối bên trong thiết bị được thực hiện bằng phần cứng khi sản xuất. Ngược lại,
các kết nối của field-programmable luôn cần đến 1 số loại chuyển mạch lập trình
được (cầu chì chẳng hạn) và vì vậy chậm hơn kết nối cứng. Tuy nhiên, thiết bị field-
programmable chứa đựng các ưu điểm có giá trị hơn sự hạn chế về tốc độ.
 Các chip field-programmable rẻ hơn các chip mask-programmable khi sản xuất
với số lượng nhỏ.
 Các chip field-programmable có thể được lập trình tức thì trong vài phút,trong
khi các chip mask–programmable khi sản xuất phải mất hàng tuần hay hàng
tháng.
Trang 18
Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
Hai biến thể field-programmable của PROM là Erasable Programmable Read-Only
Memory (EPROM) và Electrically Erasable Programmable Read- Only Memory
(EEPROM) cung cấp 1 ưu điểm: cả hai có thể được xóa và lập trình lại nhiều lần.
Một loại thiết bị lập trình được khác, được thiết kế đặc biệt để thực hiện các mạch
logic là Progammable Logic Device (PLD). Một PLD thông thường gồm một dãy
các cổng AND được nối với một dãy các cổng OR. Mạch logic có thể được thực

block có thể được kết nối bằng các nguồn kết nối chung. Các nguồn kết nối gồm
các đoạn dây nối (segment) có thể có chiều dài khác nhau. Bên trong các kết nối là
các chuyển mạch lập trình được dùng để nối các logic block với các đoạn dây hoặc
các đoạn dây với nhau. Mạch logic được cài đặt trong FPGA bằng cách ánh xạ logic
vào các logic block riêng rẻ và sau đó nối các logic block cần thiết qua các chuyển
mạch.
Các logic block
Cấu trúc và nội dung của logic block được gọi là kiến trúc của nó. Kiến trúc của
logic block có thể được thiết kế theo nhiều cách khác nhau. Một số logic block có
Trang 20
Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
thể chỉ đơn giản là các cổng AND 2 ngõ nhập. Các logic block khác có cấu trúc
phức tạp hơn như các multiplexer hay các bảng tìm kiếm (look up-table). Trong một
số loại FPGA, các logic block có thể có cấu trúc hồn tồn giống như PAL. Hầu hết
các logic block chứa 1 số loại flip-flop, để hỗ trợ cho việc thực hiện các mạch tuần
tự.
Các nguồn kết nối
Cấu trúc và nội dung của các nguồn kết nối trong FPGA được gọi là kiến trúc
routing (routing architecture). Kiến trúc routing gồm các đoạn dây nối và các
chuyển mạch lập trình được. Các chuyển mạch lập trình được có thể có nhiều cấu
tạo khác nhau như pass transistor được điều khiển bởi cell SRAM, các cầu chì
nghịch (anti-fuse), EPROM transistor và EEPROM transistor. Giống như logic
block có thể nhiều cách khác nhau để thiết kế các kiến trúc routing. Một số FPGA
cung cấp nhiều kết nối đơn giản giữa các logic block, một số khác cung cấp ít các
kết nối hơn nên routing phức tạp hơn .
Ứng dụng của FPGA
FPGA có thể sử dụng trong hầu hết các ứng dụng hiện đang dùng MPGA, PLD và
các mạch tích hợp nhỏ (SSI).
Các mạch tích hợp ứng dụng đặc biệt (ASICs)
FPGA là một phương tiện tổng quát nhất để thực hiện các mạch logic số. Chúng đặc

FPGA cho phép có thể thay đổi theo mong muốn cấu trúc cuả một máy đang hoạt
động. Một ví dụ là các thiết bị máy tính từ xa có thể được thay đổi trực tuyến để
khắc phục sự cố hay có lỗi thiết kế. Kiểu FPGA thích hợp nhất cho các ứng dụng
này là những FPGA có các chuyển mạch lập trình được.
Tóm lại FPGA có thể sử dụng có hiệu quả trong nhiều ứng dụng thực tế. Nếu so
sánh với MPGA thì nó có 2 lợi điểm quan trọng: FPGA có giá thành tạo mẫu thấp
hơn, thời gian chế tạo ngắn hơn.
Trang 22
Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
PHẦN 6
TỔNG QUAN PROJECT MANAGER
Project Manager là một ứng dụng cho phép tích hợp xử lý các môi trường thiết kế
khác nhau như :
 Trình soạn thảo hình vẽ.
 Trình soạn thảo ngôn ngữ.
 Trình soạn thảo trạng thái .
Project Manager thực hiện các chức năng sau :
 Tự động tải các trình soạn thảo thiết kế khi Project được mở.
 Kiểm tra lỗi các trình soạn thảo thiết kế khi Project được mở .
 Hiển thị các quá trình biên dịch .
 Hiển thị trạng thái và tất cả các lỗi trong cửa sổ trạng thái .
 Hiển thị thông tin các trình soạn thảo .
Project Manager hỗ trợ các họ Xilinx sau
 Virtex
 VirtexE
Trang 23
Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252
 Virtex2
 Spartan
 Spartan2


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status