1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Kỹ thuật máy tính: Thiết kế và hiện thực IP Ethernet 1Gbit

66 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiet Ke Va Hien Thuc IP Ethernet 1Gbps Tren FPGA
Tác giả Nguyen Ngoc Hai
Người hướng dẫn Ths Ngu Hieu Truong, TS. Doan Duy
Trường học Truong Dai Hoc Cong Nghe Thong Tin
Chuyên ngành Ky Thuat May Tinh
Thể loại Khoa Luan Tot Nghiep
Năm xuất bản 2023
Thành phố TP. Ho Chi Minh
Định dạng
Số trang 66
Dung lượng 15,59 MB

Nội dung

Đối với quá trình nhận, IP có khả năng nhận ra một gói tin ethernet được gửi tới từ tầng vật lý, trích xuất các trường thông tin, trường dữ liệu nhằm đảm bảo thựchiện các giao thức mà qu

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRUONG DAI HOC CONG NGHE THONG TIN

KHOA KY THUAT MAY TÍNH

NGUYEN NGOC HAI

KHOA LUAN TOT NGHIEP

THIET KE VA HIEN THUC IP ETHERNET 1Gbps TREN

FPGA

DESIGN AND IMPLEMENTATION ETHERNET IP 1 Gbit/s ON FPGA

KY SU KY THUAT MAY TÍNH

TP HO CHÍ MINH, 2023

Trang 2

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRUONG ĐẠI HỌC CÔNG NGHỆ THONG TIN

KHOA KỸ THUẬT MÁY TÍNH

NGUYEN NGOC HAI - 18520702

KHOA LUAN TOT NGHIEP

THIET KE VA HIEN THUC IP ETHERNET 1Gbps TREN

FPGA

DESIGN AND IMPLEMENTATION ETHERNET IP 1 Gbit/s ON FPGA

KY SU KY THUAT MAY TÍNH

GIANG VIEN HUONG DAN

Ths Ngô Hiếu Trường

TS Đoàn Duy

TP HÒ CHÍ MINH, 2023

Trang 3

THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP

Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số 75/QD-DHCNTT

ngày 15 tháng 2 năm 2023 của Hiệu trưởng Trường Dai học Công nghệ Thông tin.

Trang 4

LỜI CẢM ƠN

Lời đầu tiên, em xin gửi lời cảm ơn chân thành đến thầy hướng dẫn - ThsNgô Hiếu Trường và TS Đoàn Duy, các thầy đã tận tình trong quá trình làm khóaluận, cung cấp các trang thiết bị, cũng như dành nhiều thời gian chỉnh sửa, góp ýgiúp em có thể hoàn thành khóa luận một cách tốt đẹp

Bên cạnh đó, em cũng xin gửi lời cảm ơn đến Thầy/Cô và bạn bè khoa Kỹ

thuật máy tính nói riêng và trường Đại học Công nghệ Thông tin - Đại học quốc giaThành phó Hồ Chí Minh nói chung đã tận tình giảng dạy, truyền đạt các kiến thức

vô cùng bồ ich, cùng đồng hành và hỗ trợ trong suốt quá trình học tập tai trường Đạihọc Công nghệ Thông tin Những kiến thức và kinh nghiệm quý báu đó là tài sản vô

giá đối với quãng đường tương lai của em

Cuối cùng, xin dành lời cảm ơn sâu sắc đến ba mẹ và gia đình vì đã luôn sátcánh, động viên, tạo điều kiện và là chỗ dựa tinh thần vững chắc trên con đường học

tập của em.

Trong suốt quá trình thực hiện đề tài khóa luận, em không thé tránh khỏi

những khó khăn và sai sót do một số giới hạn liên quan đến chuyên ngành chuyênsâu Vì thế, mong các quý Thầy/Cô và các bạn sẽ thông cảm, và có thể đóng góp ý

kiến dé đề tài khóa luận này được phát trién và hoàn thiện hon trong tương lai

Một lần nữa em xin chân thành cảm ơn

TP Ho Chí Minh, ngày 01 tháng 02 năm 2023

Sinh viên thực hiện

Nguyễn Ngọc Hải

Trang 5

Chuong 2 TỎNG QUAN VE ETHERNET :-2222222++ev2vvsecrre 4

2.1 Mô hình OSI

2.1.1 Tổng quan mô hình OSI -:¿¿222+vvv+z+++ttvvvrvrrrrrrrrrri 4

2.1.2 Phạm vi của IP Ethernet trong mô hình OST

21.3, Giao thứỨc và 6 2.2 Media Access Control

2.2.1 Tống quan về Media Access Control (MAC) : ssccc2 6

2.2.2, Địa Chi MAC HH 7 2.3 Media Independent Interface - «5+ + S++k‡ekEkEekekekrrrkrkee 7

2.3.1 Tổng quan về Media Independent Interface (MII) 7

2.3.2 Gigabit Media Independent Interface (GMI]) - 8

2.4 — Frame Ă HT HH HH HH 10

2.4.1 Ethernet frame -ccccccrcrrrerrrrerrerrrrerrrrrrrrer 11

2.4.2 ARP paCKK TH HH TH HT HH HH ngư 13

2.4.3 Ipv4 packKet HH HH re 15 2.4.4 UDP datagram -.c SH re 17

2.5 Transaction -c.S.Sv v12 18

2.6 Giao thức AXĨ Ă HH ruườ 19

Trang 6

2.6.1 Tổng quan giao thức AXI .-¿-2ccc+22vvzreeccvvrrerrrseee 19

2.6.2 AXI Direct Memory Access

Chương 3 Ethernet IP COre - - + 5+5 28

3.1.1 Sơ đồ khối tổng quát của Ethernet IP 1 Gbit/s

3.1.2 — Clock St HH HH Hà ae 29

3.1.3 Interface

3.1.4 Module MAC oo eeecceessesesseesseseestesseeseeseesessesssenseseesessesssenseseesesecs 30

3.1.4.1 Sơ đồ khối tổng quan module MAC

3.1.4.4 LESR l2 ố ci.eiec.e 32

3.1.5 Module Ipv4 cẶ Ăn 34

3.1.5.1 Sơ đồ khối tổng quan -¿-:+++222+++tetvrxrrrrrrrvecree 34

3.1.5.2 Ipv4 RX và Ipv4 TX ST net 35 3.1.5.3 ARP HH HH Hư 35 3.1.5.4 ATDit€T Ăn HH reo 7 3.1.6 Module UDP - 5c srrseerHeereeiec OT

Chương 4 HIỆN THỰC TREN PHAN CỨNG - -: 22ccccccce2 394.1 Kiểm thử chức năng của IP Ethernet 1Gbit/s trên FPGA 39

Trang 7

4.2 Tích hợp IP Ethernet vào một hệ thống SOC -: -:: ss 454.2.1 Xây dựng hệ thống SoC.

4.2.2 Xây dựng hệ thống SoC trên phần mềm Vivado - 464.2.3 Xây dựng chương trình trên phần mềm Vitis

4.2.4 KẾtquả ì 2H nnHereerrerrii 48

4.2.5 Tài nguyên phần cứng sử dung

Chương5 Tổng kết -52ccccccccrverrrrrreccerrreccerrr 0)5.1 Kếtluận

5.2 Khó khăn gặp phải 222 22222221211 50 5.3 Hướng phát triên - «5-5 tr 51

Trang 8

DANH MỤC HÌNH

Hình 2.1: Mô hình OSI [2] -¿ 5-5252 S5£2SSE£*2EEEEEEEkEErkererrrkerrrrrerree 4

Hình 2.2: Phạm vi của IP Ethernet trong mô hình OSI [I] - eee 5

Hình 2.3: Sơ đồ định thời của GMIH Rx 22 2-+2E22EE2EE2EEt2EEtrxerrxerrkesree 10Hình 2.4: Sơ đồ định thời của GMII Tx -22222++++2222Evvvrvrrrrtrrrrrrrrcee 10

Hình 2.5: Đóng gói dữ liệu trong mỗi giao thức [I] : c¿cs++c5sccscs+2 10

Hình 2.6: Cấu trúc một frame Ethernet [3] 2z z+£+x++EE++£xz+Ex+rxezrxezree 11

Hình 2.7: Cấu trúc ARP packet [9] sàn vn ng Hư 14Hình 2.8: Cấu trúc của một Ipv4 Header [§][10] -cc+¿+cccvsvccc+2 16

Hình 2.9: Cấu trúc của một UDP datagram [ Ï Ï] -¿-¿-+ + +<s<z++++<ecexss+ 18Hình 2.10: Kiến trúc chung của giao thức AXI4 -: :c222vcz2ccvvcceez 20

Hình 2.11: Một transaction đọc của giao thức AXXÌ4 ¿-¿ «5 š++5++<c+c<c+ 21

Hình 2.12: Một transaction ghi của giao thức AXĨ4 -¿-¿ ¿c<c+c+c+xsccccsee 2

Hình 2.13: Kết nối tín hiệu giữa hai module AXI 4 Stream - 23

Hình 2.14: Tín hiệu của Master AXI4 Stream -¿- 25+ 5s se sssrrrrsexserry 24

Hình 2.: IP DMA Xilin - -5 5:25: 1 2t tt tt HE HH rrờ 25

Hình 3.1: Sơ đồ khối tong quan của IP Ethernet IGbit/s [12] - 28

Hình 3.2: Interface của IP Ethernet IGBit/s [ I3] - ¿+55 +5 ++xsecesex+e>ex 29

Hình 3.3: Sơ đồ khối tổng quan module MAC - 2: ©2z+22+zz+zvzzveceee 30

Hình 3.4: FMS quá xử lý frame Ethernet cho GMIII - - ¿5+ 55++x+c+cexcr+ 31 Hình 3.5: FMS quá trình tạo frame Ethernet cho GMII - 2 2 +5<++ 32

Hình 3.6: Cấu trúc thanh ghi LESR Galios [14] - 55+ s+cexseeeeeeree 33Hình 3.7: Sơ đồ khối tổng quan của module Ipv4 [12] -cc+ 34

Hình 3.8: Mô tả cơ chế hoạt động của module ARP ¿-¿c+c+ccccrerecee 36Hình 3.9: Hình Sơ đồ khối tổng quan module ARP [12] : :: 36

Hình 3.10: sơ đồ khối tổng quan của module UDP - - ¿z+2+cc++¿ 37

Hình 4.1: Mô tả mô hình thử nghiệm IP trên EPGA 5+ 5555+ 552 39

Hình 4.2: Xây dựng mô hình hoạt động của IP Ethernet trên board VC707 40

Hình 4.3: Cấu hình Ipv4 trên PC

Trang 9

Hìn

Hinl

Hin!

Hìn

Hìn

Hinl

Hin!

Hìn

Hinl

h 4.4: PC nhận duoc ARP reply -¿ - - + 55+ ket rưy 42

h 4.5: PC gửi ARP redU€S( St HH HH HH HH 42

h 4.6: Dùng netcat để kết nối UDP tới Ip chỉ định -: -: 42

h 4.7: Các gĩi tin UDP bắt được bằng phần mềm White Shark 43

h 4.8: Tài nguyên của IP Ethernet sau khi biên dịch với board VC707 44

4.9: Mơ hình hệ thống SoC kết nối với IP Ethernet thơng qua DMA [18] 45

h 4.10: Sợ đồ hệ thống SoC với IP Ethernet xây dựng trên phần mềm Vivado 46 h 4.11: Kết nối tới board -: -2cccvvctrtttEEEtttrrrtrtrttrirrrrrrrrrriirrrrrriii 48 h 4.12: Dùng Realterm quan sát dit liệu qua ạt ¿+5 + s+<+x++s+> 48 h 4.13: Tài nguyên sử dụng của hệ thống SoC và IP Ethernet 49

Trang 10

DANH MỤC BANG

Bang 2.1: Mô hình OSI và các giao thức tương ứng [I][2] - 6

Bảng 2.2: Các phiên bản của MII và tốc độ tương thích - -s 8

Bang 2.3: Các tín hiệu truyền \JJ§€ 00110 9

Bảng 2.4: Các tín hiệu nhận với GMII [Š] ¿+ +5 S*k‡£vEkrvrerekeeekekree 9

Bang 2.5: Mô tả các tín hiệu AXIS Masfer ¿- c5 S25 terrrrrrrsee 23

Bang 3.1: Danh sách các Arbiter và các giao thức đầu vào, đầu ra [12] 37

Trang 11

Field-programmable gate array

Institute of Electrical and Electronics Engineers

Carrier-sense multiple access with collision detection

Media-independent interface

Frame check sequence

Address Resolution Protocol

Internet Protocol version 4

Advanced eXtensible Interface

Advanced eXtensible Interface Stream

User Datagram Protocol

Logic Link Control

Medium access control

Transmission Control Protocol

Dynamic Host Configuration Protocol

Gigabit media-independent interface

Least significant bit

Most significant bit

Physical layer

Cyclic redundancy check

Start frame delimiter

Trang 12

FSM Finite state machines

LFSR Linear-feedback shift register

ICMP Internet Control Message Protocol

PCS Physical coding sublayer

PMA Physical Medium Attachment

DMA Direct memory access

SoC System-on-Chip

DDR SDRAM Double Data Rate Synchronous Dynamic Random-Access

Memory MIG Memory Interface Generator

Trang 13

TÓM TÁT KHÓA LUẬN

Khóa luận tập trung thực hiện thiết kế và hiện thực IP Ethernet 1Gbit/s đảm bảotheo tiêu chuẩn chung của IEEE802.3 Đảm bảo có thé thực hiện các giao thức trên

hệ thống mạng, nhằm mục đích giao tiếp với PC và truyền nhận đữ liệu

Thực chất khi dữ liệu được chuyên trong hệ thống mạng được đóng gói thànhcác frame Vì vậy, đề tài tập trung vào việc xử lý các Ethernet frame, Ipv4 packet vàUDP datagram và các giao thức được quy định sẽ lý ở mỗi trường thông tin đối vớimỗi đơn vị dữ liệu được đóng gói

Bởi vì IP Ethernet không mới và đã rất phổ biến, nhưng việc nhu cầu tích hợp IP

có kích thước nhỏ gọn vào một hệ thống SoC là việc cần thiết khi tài nguyên trên

mỗi phần cứng luôn có giới hạn Vì vậy em đã chọn hiện thực IP Ethernet 1Gbit/s

cùng giao thức truyền dữ liệu là UDP để có thé thực hiện đơn giản hơn

Kết quả đánh giá em dựa trên 3 tiêu chí là tốc độ, kết nối được với PC và tài

nguyên sử dụng Qua thực nghiệm khi nạp IP Ethernet lên FPGA, IP đã có thể thựcđược tất cả các chức năng như mục tiêu đề ra ở tốc độ IGbit/s Ngoài ra, em cũng

đã phát triển thêm việc tích hợp IP này vào hệ thống SoC và sử dụng một softprocessor để cấu hình và điều khiển IP co bản đã hoàn thành việc nhận đữ liệu tuy

nhiên vẫn gặp một số khó khăn nhất định ở van đề gửi dữ liệu

Trang 14

Chương 1 GIỚI THIỆU

1.1 Lý do chọn đề tài

Ngày nay, ngoài máy tính dé bàn, máy tính xách tay, điện thoại thì các ứng dụng

nhúng đều tìm cách sử dụng Internet nhằm mở rộng phạm vi tiếp cận và ứng dụngcủa chúng Nhu cầu kết nối trực tiếp thiết bị vào các Internet này đã khiến cho nhiều

nhà sản xuất lớn triển ASIC (Mạch tích hợp dành riêng cho ứng dung) hoặc các thưviện có thể tái sử dụng cho vi điều khiển, được thiết kế đặc biệt cho mục đích này

Va thiết kế lõi IP chính là yếu tổ thiết yếu của việc tái sử dụng thiết kế

1.2 Mục tiêu và phương pháp thực hiện

1.2.1 Mục tiêu

Thiết kế và hiện thực IP Ethernet 1 Gbit/s chức năng nhận gửi các gói tin

ethernet.

Đối với quá trình nhận, IP có khả năng nhận ra một gói tin ethernet được gửi tới

từ tầng vật lý, trích xuất các trường thông tin, trường dữ liệu nhằm đảm bảo thựchiện các giao thức mà quốc tế đã quy chuẩn chung

Đối với quá trình gửi, IP dựa vào các trường thông tin, trường dữ liệu được ngườidùng cung cấp, thực hiện các giao thức được quốc tế quy chuẩn, đóng gói các

trường thông tin thành một gói tin ethernet hoàn chỉnh để gửi tới tầng vật lý để

người nhận có thể hiểu được

Trang 15

© - Giao thức MII đối với Ethernet có tốc độ là 1000 Mbit/s hoạt động với tần số

125 Mhz.

e_ Cấu trúc về Ethernet frame, Ipv4 frame, ARP frame

e Thuật toán FCS (Frame Check Squence) cụ thể là CRC-32

e Giao thức ARP (Address Resolution Protocol)

Ngoài ra, em cũng tim hiểu các sử dụng các công cụ và nền tang hệ thống được

công cụ đó hỗ trợ nhằm mục đích hiện thực IP trên FPGA

© Phan mềm Vivado nhằm mục đích biên dịch thiết kế, sửa lỗi và hiện thực

trên phần cứng

¢ _ Cấu trúc bus AXI 4 Stream để giao tiếp với các khối thiết kế của em với các

khối thiết kế được phần mềm cung cấp sẵn

e Tim hiểu về FPGA và cách nạp lên kit FPGA Xilinx Virtex 707

e Chay chương trình bằng thiết kế trên FPGA và đánh giá kết quả

Trang 16

Chương 2 TONG QUAN VE ETHERNET

2.1 M6 hinh OSI

2.1.1 Tổng quan mô hình OSI

Mô hình OSI (Open Systems Interconnection) là mô hình cho các chuẩn giao thứctruyền thông dữ liệu mà không đề cập chỉ tiết về công nghệ hay phần cứng Môhình OSI bao gồm bảy tầng mà hệ thống máy tính sử dụng để giao tiếp qua mạng

và nó trở thành tiêu chuẩn đầu tiên cho truyền thông mang [1]

OSI model Apptication

Hình 2.1: Mô hình OSI [2]

e Tầng Physical: Truyền/nhận các chuỗi bit qua các thiết bị kết nỗi mang vật

lý.

e Tang Datalink: Tạo/gỡ bỏ khung Frames, kiểm soát luồng và kiểm tra lỗi

của dữ liệu trên đường truyền

e Tầng Network: Đảm bảo truyền chính xác dữ liệu giữa các thiết bị cuối

trong kết nối mạng

e Tang Transport: Nhận dữ liệu từ tầng Session chia thành các gói tin nhỏ hơn

và truyền xuống tang Network, hoặc nhận dữ liệu từ tang Network, phục hồi,ghép nối các gói dữ liệu có liên quan và gửi đến tầng Session

Trang 17

e Tang Session: Kiểm soát các phiên truyền/nhận giữa các máy tính Thiết lập,

quản lý và kết thúc các phiên truyền/nhận dữ liệu giữa các ứng dụng

° Tầng Presentation: Nén, mã hóa, chuyển đổi dữ liệu và giải mã dữ liệu đảm

bảo sự bảo mật của thông tin khi truyền/nhận trong mạng

e Tầng Application: Tương tác giữa các ứng dụng người dùng và mạng

Ậ MI

Hình 2.2: Phạm vi của IP Ethernet trong mô hình OSI [1]

Trong mô hình OSI, chuẩn Ethernet được mô tả hoạt động nằm ở tầng Physical

và tang Data link Pham vi dé tài của em sẽ thực hiện thiết kế phần cứng các lớp

như mô tả trong Hình 2.2:

© Media Independent Interface (MII) có nhiệm vụ thực hiện giao tiếp giữa tang

Data link và tầng Physical [3]

e© Media Acess Control (MAC) có nhiệm vụ xử lý các gói tin Ethernet [3]

e Cuối cùng, UDP/IP có nhiệm vụ xử lý các gói tin UDP/IP [4]

Chức năng, giao thức chính được thực hiện ở mỗi lớp sẽ được chính bày chỉ tiếthơn trong các mục tiếp theo

Trang 18

2.1.3 Giao thức

Các giao thức được sử dụng và đơn vị dữ liệu ở mỗi tầng trong mô hình OSI được

liệt kê trong Bảng 2.1.

Bảng 2.1: Mô hình OSI và các giao thức tương ứng [1][2]

Mô hình OSI Giao Thức PDU (Protocol data unit)

Application DHCP, DAQ, echo, Data

Presentation

Session

Transport UDP Datagram

Network Ipv4 Packet

Data Link ARP, MAC Frame

Physical IEEE 802.3 (GMII) Bit

2.2 Media Access Control

2.2.1 Tổng quan về Media Access Control (MAC)

Media Access Control có thé dịch là lớp điều khiển cho phép truy cập phươngtiện, đồng thời cung cấp khả năng ghép kênh và điều kiển luồng [3]

Như trong Hình 2.2, khối MAC được kết nối với tang Physical thông qua khối

MII Khi truyền dữ liệu, MAC sẽ gắn vào dữ liệu một số trường thông tin đề gửi tớitầng Physical như Preambles, Pading, FCS, Các trường này sẽ được đề cập chỉ tiết

hơn trong mục tiếp theo của bài báo cáo Và MAC sẽ gửi dữ liệu khi được chophép Lớp này cũng chịu trách nhiệm truyền lại các gói tin nếu tim thấy tắc nghẽn,

xung đột Tuy nhiên, trong phạm vi bài khóa luận này, dữ liệu sẽ được truyền nhận

qua giao thức Full Duflex nên không có các tín hiệu bị nghẽn hay xung đột, vì vậy

chức năng truyền lại các gói tin của MAC sẽ không được hiện thực.

Trang 19

Khi nhận dữ liệu, MAC sẽ phải kiểm tra tính toàn vẹn của dữ liệu thông quatrường thông tin CRC mà nó nhận được Nếu nhận được một frame đúng, nó chịutrách nhiệm loại bỏ các phần mở đầu, phần đệm trước khi đưa dữ liệu xử lý ở giao

thức cao hơn.

2.2.2 Địa chi MAC

Địa chi MAC là một day số có độ rộng 48 bit của phần cứng máy tính, được nhà

sản xuất thiết lập có định lên card mạng Địa chi MAC có thể hiéu như là địa chỉ vật

lý của thiết bị mạng đó, muốn gửi dữ liệu đến thiết bị thì phải biết địa MAC của

thiết bị đó

Địa chi MAC bao gồm 6 byte, được biểu diễn bằng 6 cặp chữ số và được ngăncách bởi dấu hai chấm Địa chỉ Mac có 3 loại: Unicast, Broadcast, Multicast

e Unicast: Dia chi Unicast MAC được sử dụng cho máy nguồn, là địa chỉ mà

nó chỉ được gửi đến một thiết bị mạng cụ thể Nếu LSB của byte đầu tiên của

một địa chỉ MAC có gia trị là 0, thì địa chi MAC nay chỉ tiếp cận một card

mạng nhận.

© Multicast: Địa chi Multicast dùng để gửi dữ liệu đến nhóm thiết bị Đối với

địa chỉ Multicast ở tầng Data link, LSB của byte đầu tiên của một địa chỉMAC có giá trị 1 Vi du, IEEE sẽ cung cấp các địa chỉ 01-80-C2-xx-xx-xx

(01-80-C2-00-00-00 đến 01-80-C2-FF-FF-FF) cho các địa chỉ của các nhómthiết bị để kết nối với nhau

e_ Broadcast: Địa chi Broadcast có tất cả các bit đều mang giá trị 1

(FF-FF-FF-FF-FF-FF) Các frame có địa chi MAC là FF-FF-FF-FF-FF-FF sẽ được kếtnỗi với mọi máy tính thuộc mang LAN đó

2.3 Media Independent Interface

2.3.1 Tổng quan về Media Independent Interface (MII)

Media-independent interface (MII) được định nghĩa là một giao diện tiêu chuẩn

dé kết nối khối MAC thuộc tang datalink tới tầng vat lý của mô hình OSI Media

Trang 20

independent ở đây có nghĩa là các loại thiết bị PHY khác nhau, với các loại kết nối

khác nhau (ví dụ như cáp xoắn, cáp đồng trục, cáp quang, ), đều có thể dựa vào

chuẩn đã được quy định trước mà kết nối tới MAC mà không phải thay đồi thiết kế

Do đó, bat kỳ khối MAC nào cũng có thé kết nói được tới một PHY bat kỳ [3]

MII ban đầu truyền dữ liệu mạng bằng cách sử dụng 4 bit nibbles theo mỗi hướng(4 bit dit liệu truyền, 4 bit dữ liệu nhận) Dữ liệu được chạy ở tốc độ 25 MHz dé dat

được thông lượng 100 Mbit/s Thiết kế MII ban đầu đã được mở rộng để hỗ trợgiảm tín hiệu và tăng tốc độ Một số phiên bản được phát triển của Ethernet được

liệt kê trong Bảng 2.2.

Bảng 2.2: Các phiên bản của MII và tốc độ tương thíchTên biến thé Tốc độ

Reduced media-independent interface (RMII) 100Mbit/s

Gigabit media-independent interface (GMII) 1000Mbis/s

Reduced gigabit media-independent interface (RGMII) 1000MbiUs

Serial media-independent interface (SMII)

Serial gigabit media-independent interface (serial GMII, SGMII) | 1000Mbit/s

High serial gigabit media-independent interface (HSGMII) 2.5Gbit/s

Quad serial gigabit media-independent interface (QSGMII) SGbit/s

10-gigabit media-independent interface (XGMII) 10Gbit/s

2.3.2 Gigabit Media Independent Interface (GMI)

Vi khóa luận này thiết kế một IP Ethernet chuẩn 1 Gbit/s nên sẽ lựa chon phiênbản GMII dé tham khảo quy định các tín hiệu và tốc độ truyền nhận trên module

MII The Gigabit media-independent Interface (GMII) là một giao diện giữa lớp con

MAC và tầng Physical (Hình 2.1) Interface này hoạt động ở tốc độ lên đến 1000

Mbit/s, được triển khai bằng giao diện dữ liệu có tốc độ 125 MHz với các đường dữ

Trang 21

liệu 8 bit riêng biệt để nhận và truyền, và tương thích ngược với đặc điểm kỹ thuật

MII và có thé hoạt động ở tốc độ dự phòng 10 hoặc 100 Mbit/s [5]

GMII lần đầu tiên được định nghĩa cho 1000BASE-X trong IEEE 802.3z-1998 vàsau đó được kết hợp vào IEEE 802.3-2000 trở đi

Các tín hiệu truyền được mô tả trong Bảng 2.3:

Bảng 2.3: Các tín hiệu truyền với GMII [5]

Tên tínhiệu | Mô tả

GTXCLK Tín hiệu Clock cho gigabit TX (125Mhz)

TXD[7:0] Dữ liệu truyền

TXEN Tín hiệu cho phép truyền

TXER Tín hiệu lỗi (sử dụng dé dé cố ý làm hỏng gói dit liệu nếu cần )

Các tín hiệu nhận được mô tả trong Bảng 2.4:

Bảng 2.4: Các tín hiệu nhận với GMII [Š]

Tên tínhiệu | Mô tả

RXCLK Tín hiệu Clock nhận dữ liệu

RXD[7:0] Dữ liệu nhận

RXDV Xác nhận dữ liệu hợp lệ

RXER Tín hiệu báo dữ liệu lỗi

Trang 22

gmii_rx_ clk |

gmii_‹_ dv

gmii_rxd x xén5)< D1 KX D2XD3 )xÉn0è< D6 << D6 D7 Dạ XDI x

gmii_r_er [I

Tin hiệu nhận lỗi, Bỏ Z

qua dữ liệu này trong

Trang 23

Dữ liệu từ tầng cao nhất trong mô hình mạng được gói gọn trong tầng tiếp theo,sau đó dữ liệu tầng này tiếp tục được gói gọn trong tầng tiếp theo, việc đóng gói nàyxảy ra ở mỗi cấp độ của giao thức Quá trình đóng gói trong phạm vi khóa luận nay

có thé dễ dàng hiểu được khi nhìn vào Hình 2.5

Việc đóng gói dữ liệu cung cấp tính trừu tượng cho các giao thức, giao thức caonhất sẽ gửi dữ liệu xuống các lớp khác Dữ liệu bắt đầu đóng gói cho đến khi chúng

đến lớp cuối cùng và dữ liệu được truyền đi Điều này đơn giản hóa việc giao tiếp

và tương tác giữa các lớp.

2.4.1 Ethernet frame

6 bytes 6 bytes 2 bytes 46 to 1500 bytes 4 bytes

DST SRC TYPE/ FCS

MAG MAC LENGTH DAT | (CRC) |

Hình 2.6: Cấu trúc một frame Ethernet [3]

Một frame Ethernet điển hình bao gồm hai phần chính: phần Header và phầnPayload Kích thước tối đa của phần Payload là 1500 byte; nhưng trong một số biếnthé tốc độ cao của giao thức, hỗ trợ khả năng gửi các frame khổng 16 tăng giới hạn

lên tới 9000 byte [3]

Các phần chính của frame Ethernet có thể được nhìn thấy trong Hình 2.6, em

tiến hành giải thích từng trường thông tin:

e Preamble and Start frame delimiter (SFD):

Một gói Ethernet bắt dau bằng 7 byte Preamble và 1 byte Start Frame Dilimiter

(SDF) Phần mở dau (Preamble) bao gồm 56-bit xem kẽ các bit 0 và 1, cho phép dễ

dàng đồng bộ giữa tín hiệu của hệ thống nhận dữ liệu với tốc độ nhận dir liệu từ bêngửi Theo sau đó là 1 byte SDF có giá trị 0xD5 để đồng hóa mức byte và đánh dấu

một frame mới đến Các thiết bị truyền nhận dir liệu tốc độ theo chuẩn Gigabit

Ethernet sử dụng bus GMII, là giao diện rộng có độ rộng 8 bit, do đó, chuỗi

11

Trang 24

Preamble mở dau và theo sau bởi SED sẽ là 0x55 0x55 0x55 0x55 0x55 0x55 0x55

0xD§ (theo byte).

e Destination MAC address :

Trường Destination Address theo sau trường Preamble Mỗi giao diện Ethernetđược gán một địa chỉ 48 bit duy nhất, được gọi là địa chỉ phần cứng hoặc địa chỉ vật

lý của giao diện Trường địa chỉ đích nay chứa 48 bit địa chi Ethernet tương ứng với

địa chỉ giao diện của trạm mà khung được gửi đi, ngoài ra địa chỉ này còn có thé là

dia chi multicast hoặc broadcast.

M6t giao dién Ethernet doc moi khung trong qua trinh nhan va thong qua it nhấttrường địa chỉ đích Nếu địa chỉ đích không không khớp với địa chỉ giao diện của

một tram nào đó và cũng không khớp với địa chỉ multicast hoặc broadcast, thì nó sẽ

được phép bỏ qua dữ liệu của khung này Dưới đây là hai tiêu chuan triển khai địa

chi bit.

e Source MAC address :

Trường tiếp theo trong khung là Source Address (dia chỉ nguồn) Day là dia chỉthực của thiết bị đã gửi khung Địa chỉ nguồn không được sử dụng theo bat kỳ cách

thức nào bởi giao thức Ethernet MAC, mặc dù nó phải luôn là địa chỉ unicast của

thiết bị gửi khung Nó được cung cấp đề sử dụng các giao thức mạng cấp cao hơn

và hỗ trợ khắc phục sự cố Nó cũng được sử dụng bởi các bộ chuyền mạch để xây

dựng một bảng liên kết các địa chỉ nguồn VỚI Các cổng chuyển mạch Một trạm

Ethernet sử dung dia chỉ vat lý của nó làm địa chỉ nguồn trong bat kỳ khung nào mà

nó truyền đi

e EtherType:

Trường thông tin này có thể đại diện cho hai thứ khác nhau:

Đối với các giá trị lớn hơn 1536, nó cho biết giao thức lớp trên (tang Network)

được đóng gói trong phần Payload Ví dụ: giao thức Ipv4 là 0x0800 trong trường

Ethertype và giao thức ARP là 0x0806 Các khung Ethernet II sử dụng trường theo cách này.

12

Trang 25

Đối với các giá trị từ 0 đến 1500, nó biểu thị độ dài của tải trọng theo byte.

e Payload

Kích thướng tối thiểu của trường Payload là 42 byte khi trường tag 802.1Q được

sử dụng và 46 byte nếu không sử dụng trường IEEE 802.1Q tag Nếu trọng tải ngắn

hơn thì bắt buộc phải gắn phần đệm vào nhằm đảm bảo kích thước tối thiểu Vàkích thước tối đa của trường Payload là 1500 byte

được tạo bởi trạm truyền, giá trị CRC đồng thời được tính toán 32 bit của giá trị

CRC là kết quả của phép tính này được đặt trong trường FCS khi khung được gửi

đi Hệ số x31 của da thức CRC được gửi dưới dạng bit đầu tiên của trường và hệ số

x0 là bit cuối cùng

CRC được tính toán lại bởi giao diện trong trạm nhận khi khung được đọc vào.

Kết quả của phép tính thứ hai này được so sánh với giá trị được gửi trong trườngFCS bởi trạm gốc Nếu hai giá trị giống hệt nhau, thì trạm nhận được cung cấp mức

độ đảm bảo cao rằng không có lỗi nào xảy ra trong quá trình truyền qua kênh

Ethernet Nếu các giá trị không giống nhau, thì giao diện có thể loại bỏ khung vàtăng bộ đếm lỗi khung

2.4.2 ARP packet

Giao thức phân giải địa chi (ARP - Address Resolution Protocol) là một giao thức

được sử dụng trong truyền thông để khám phá địa chỉ lớp liên kết của thiết bị đượcliên kết với địa chỉ lớp mạng đã cho Giao thức này được định nghĩa trong IETF

RFC 826 [9]

13

Trang 26

Trong trường hợp làm việc với Ipv4 qua Ethernet, giao thức ARP sẽ tìm địa chỉ

MAC của một hệ thống cụ thể với mà địa chỉ IP tương ứng mà nó đã nhận được.Giao thức ARP là một giao thức rất quan trọng trong bộ giao thức Internet, vì Ipv4cần giao thức đó đề có thé truyền thông điệp một cách chính xác

Cấu trúc các trường thông tin của một ARP Packet được mô tả trong Hình 2.7

Octet/offset 0 1

0 Hardware type (HTYPE)

2 Protocol type (PTYPE)

4 Hardware address length Protocol address length

Hình 2.7: Cầu tric ARP packet [9]

e Hardware type - HTYPE (2 bytes)

Trường này chỉ định loại giao thức liên kết mang Ví du: Ethernet là 1

14

Trang 27

e Protocol type - PTYPE (2 bytes)

Trường nay chi định giao thức mạng mà yêu cau ARP đang thực hiện Đối

với Ipv4, giá trị này có giá trị 0x0800.

e Hardware length - HLEN (1 bytes)

Độ dai (tinh bằng byte) của một địa chỉ phần cứng Độ dài địa chỉ Ethernet là

6.

e Protocol length — PLEN (1 bytes)

Độ dai (tinh bằng byte) của địa chỉ liên mạng Giao thức liên mạng được chỉ

định trong PTYPE Vi dụ: Độ dài địa chỉ Ipv4 là 4.

se Operation - OPER (2 bytes)

Chi định thao tác mà người gửi dang thực hiện: 1 cho reqest, 2 cho reply.

e Sender hardware address — SHA (6 bytes)

Dia chi IP của người gửi Trong một request ARP, trường này được sử dụng

để chỉ ra địa chỉ của máy gửi yêu cầu Trong một reply ARP, trường nàyđược sử dụng dé chỉ ra địa chỉ của máy đang yêu cầu đang tìm kiếm địa chi

MAC.

e Sender protocol address — SPA (4 bytes)

Dia chi MAC của người gửi.

e Target hardware address — THA (6 bytes)

Dia chi IP của người nhận Trong request ARP, trường nay bị bo qua Trong

một reply ARP, trường này được sử dụng dé chi ra địa chỉ của máy chủ khởi

tạo request ARP.

e Target protocol address — TPA (4 bytes)

Dia chi MAC của người gửi.

2.4.3 Ipv4 packet

Ipv4 là viết tắt của Internet Protocol Version 4, và đã được chuẩn hóa lần đầu

tiên trong bản MIL-STD-1777 bởi bộ quốc phòng Hoa Ký Giao thức Internet IP đã

trải qua nhiều phiên bản khác nhau và phiên bản Ipv4 là phiên bản đầu tiên được sử

15

Trang 28

dụng rộng rãi trên toàn thế giới và hiện vẫn còn đang là một trong những giao thứcphổ biến của Internet trên toàn thế giới [8]

Ipv4 là giao thức mang tính hướng dữ liệu Nó không quan tâm đến thứ tựtruyền các gói tin, cũng không đảm bảo gói tin sẽ đến đích hay không Nó chỉ có cơ

chế đảm bảo tính toàn vẹn dữ liệu khi truyền trong mạng

Một IP packet bao gồm phần Header và phần Data Một IP packet không có

trường kiểm tra dữ liệu hoặc bất phân Footer được gắn Vào sau phần dữ liệu Cấu

trúc các trường thông tin của một Ipv4 được miêu tả như Hình 2.8 dưới đây.

Offset | Octet 0 1 2 3

Octet Bit |0 15 24 31

0 0 Version THL DSCP ECN Toltal Length

4 32 Identification Flags Fragment Offset

8 64 Time to live Protocol Header Checksum

32 256 Option (if IHL > 5)

Hình 2.8: Cấu trúc của một Ipv4 Header [8][10]

Tóm tắt ý nghĩa của các trường thông tin trong phần Header của Ipv4 packet:

e Version (4 bit):

Chi ra phiên ban của Ip dang được dùng là Ipv4 (0100) hoặc Ipv6 (0110).

Nếu trường này có giá trị khác với giá trị của phiên bản IP trên thiết bị nhận,thiết bị nhận sẽ từ chối và loại bỏ các gói tin này

e IP Header Length - IHL (4 bit):

Lưu giá trị chiều dài của phan header ,tinh theo word với mỗi word có độrộng 32 bit Vì trường Header Length nên phần Header sẽ có tối ta 16 word

16

Trang 29

Thông thường, phần Hearder dài 5 word (20 byte) Đồng thời, trường này cũnggiúp ta xác định byte đầu tiên của phần Data trong Ip packet.

e Differentiated Services Code Point— DSCP (8 bit):

Chỉ ra cách thức xử ly data, chi định sử dụng độ ưu tiên hay không, thiết lập

Bit 0 : Không dùng, luôn có giá trị bằng 0

Bit 1 : Chỉ ra rằng biết gói có phân mảnh hay không

Bit 2 : Nếu packet có sự phân mảnh dữ liệu thì mảnh này cho biết mảnh này

có phải là mảnh cuối hay không

e Fragment Offset (13 bit):

Luu vị trí offset của các mảnh so với gói di liệu gốc dé có thé ghép lạichính xác phần dữ liệu đã bị phân mảnh

2.4.4 UDP datagram

User Datagram Protocol hay UDP là một trong hai giao thức được sử dụng ở tang

Transport trong mô hình OSI Nó được định nghĩa chính thức trong chuẩn RFC 768

UDP là một giao thức truyền nhận dữ liệu thường được sử dụng thay thế cho TCP.UDP sử dụng mô hình truyền thông không nết nối, phan UDP Header chi có phần

tính toàn checksum và sử dụng các port như việc đỉnh địa chỉ cho phần Data của

17

Trang 30

UDP Bởi vì không sử dụng cơ chế bắt tay (Handshake), nên dữ liệu truyền nhậnbằng giao thức UDP không đáng tin cậy, thứ tự các gói tin hoặc việc trùng lặp cácgói tin Vì thế nên khi việc truyền nhận dữ liệu yêu cầu tính chính xác cao, người ta

thường lựa chọn giao thức TCP thay vì UDP UDP được sử dụng trong các ứng

dụng cần sự chính xác so với thời gian thực, bởi vì nó không cần phải chờ đợi, gửi

lại gói tin và cho phép bỏ qua gói tin [11]

Cấu trúc của một UDP datagram được mô tả như trong Hình 2.9 dưới đây:

UDP Header

Hình 2.9: Cấu trúc của một UDP datagram [11]

¢ Source Port (2 byte): Số port bên gửi

¢ Destination Port (2byte): Số port bên nhận

¢ Length (2 byte): Chiều dai của phần UDP Header va UDP data Chiều dài tối

thiểu là 8 byte (Chiều hài của phan Header và không có phan Data)

e Checksum (2byte): Giá trị của trường này được sử dụng để kiểm tra lỗi của

phan Header và phan Data Tuy nhiên, đối với Ipv4 trường này là không bắtbuộc và được gán giá trị bằng 0 nếu không sử dụng

2.5 Transaction

18

Trang 31

2.6 Giao thức AXI

2.6.1 Tổng quan giao thức AXI

AXI là một phần của Advanced Microcontroller Bus Architecture (AMBA), một

họ các bus điều khiên vi xử lý được giới thiệu lần đầu tiên vào năm 1996 Phiên bản

đầu tiên của AXI lần đầu tiên được đưa vào AMBA 3.0 vào năm 2003 AMBA 4.0được phát hành vào năm 2010, bao gồm phiên bản chính thứ hai của AXI là AXI4,

Với giao diện eXtensible nâng cao, giao thức AXI4 dựa trên kết nói điểm tới điểm

để tránh chia sẻ bus, do đó băng thông cao và độ trễ thấp hơn AXI được cho là phổ

biến trong tat cả các kết nói giao diện AMBA

Có ba loại giao thức AXI4:

* AXI4 - Full: Dành cho yêu cầu ánh xạ bộ nhớ đối với hiệu suất cao

* AXI - Lite: Đối với giao tiếp ánh xạ bộ nhớ thông lượng thấp, đơn giản (vídụ: đến và đi từ các thanh ghi trang thái và điều khién)

* AXI4 - Stream: Truyền streaming data với tốc độ cao

19

Trang 32

Write address channel

Address and Control

Write data channel write data write data write data

—> ——>

Write response channel

Master ¢ write Slave

Interface response Interface

Read address channel

Address and

—> ——>

Control

Read data channel

Hình 2.10: Kiến trúc chung của giao thức AXI4Kiến trúc chung của giao thức AXI4 bao gồm AXI Master và AXI Slave như

hình 2.10, giao tiếp với nhau qua 5 kênh riêng biệt (2 kênh cho việc đọc và 3 kênh

cho việc ghi dữ liệu):

e Kênh địa chỉ ghi (Write Address Channel)

e Kénh ghi dữ liệu (Write Data Channel)

e Kênh phản hồi tín hiệu ghi dữ liệu (Write Response Channel)

e Kênh địa chỉ đọc (Read Address Channel)

e Kênh đọc dữ liệu (Read Data Channel) Thông qua AXI Interconnect, bus

AXI có thể thực hiện giao tiếp giữa nhiều AXI Masters và AXI Slavers

20

Trang 33

Address and Control

Read data channel

Hình 2.11: Một transaction đọc của giao thức AXI4

Một transaction đọc bắt đầu từ việc Master thông qua kênh địa chỉ đọc, gửi tín

hiệu thông báo cần đọc cũng như địa chỉ đọc tới Slave như Hình 2.11 Sau khi nhận

được tín hiệu từ Master, Slave sẽ gửi trả lại dữ liệu về cho Master cũng như các tínhiệu báo đọc transaction thành công Bằng cách làm việc với Master và Slave, giao

thức AXI4 hoạt động trên năm kênh khác nhau, và vì mỗi kênh có tín hiệu duy nhất

của riêng mình, nên nó có thể gửi phản hồi liên tục để có thể nhận và ghi dữ liệu.Bằng cách đó, kênh có mức độ ưu tiên sẽ được phản hồi trước tiên, v.v Nguồn phảicung cấp tín hiệu hợp lệ và tín hiệu nhận được phản hồi thích hợp từ bộ thu

Một transaction ghi sử dụng dia chỉ ghi, ghi dữ liệu và ghi các kênh phản hồi

như Hình 2.12 Giao thức AXI hỗ trợ burst có độ dài biến thiên, từ 1 đến 16 dit liệutruyền cho mỗi burst, mỗi burst có kích thước truyền từ 8-bit đến 1024-bit

21

Ngày đăng: 23/10/2024, 00:38