Tải bản đầy đủ (.pdf) (138 trang)

Thiết kế thiết bị test giao diện SPI 3 ứng dụng FPGA

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2 MB, 138 trang )

Đại Học Quốc Gia TP. Hồ Chí Minh
TRƯỜNG ĐẠI HỌC BÁCH KHOA

WX

HUỲNH BÙI HOÀNG NAM

THIẾT KẾ THIẾT BỊ TEST GIAO DIỆN SPI 3
ỨNG DỤNG FPGA
Chuyên ngành : KỸ THUẬT VÔ TUYẾN VÀ ĐIỆN TỬ
Mã số ngành : 2.07.01

LUẬN VĂN THẠC SỸ

THÀNH PHỐ HỒ CHÍ MINH 012-2004


CÔNG TRÌNH ĐƯC HOÀN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
------------***-------------

Cán bộ hướng dẫn khoa học : PGS.TS. LÊ TIẾN THƯỜNG

Cán bộ chấm nhận xét 1 : PGS.TS Khoa Học Nguyễn Kim Sách

Cán bộ chấm nhận xét 2 : TS. Phạm Hồng Liên

Luận văn thạc sỹ được bảo vệ tại
HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SỸ
TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày 30 tháng 12 năm 2004




Đại Học Quốc Gia Tp. Hồ Chí Minh

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

Độc Lập – Tự Do – Hạnh Phúc

------------------

------------------------

NHIỆM VỤ LUẬN VĂN SỸ
Họ và tên học viên: HUỲNH BÙI HOÀNG NAM

Phái: Nam

Ngày, tháng, năm sinh: 29/08/1979

Nơi sinh: Bình Dương

Chuyên ngành: KỸ THUẬT VÔ TUYẾN-ĐIỆN TỬ

Mã số: 2.07.01

TÊN ĐỀ TÀI: THIẾT KẾ THIẾT BỊ TEST GIAO DIỆN SPI 3

ỨNG DỤNG FPGA

II-NHIỆM VỤ VÀ NỘI DUNG:
Tìm hiểu về cách thức bắt tay truyền dữ liệu giữ thiết bị lớp LINK và thiết bị
lớp PHY sử dung giao diện SPI 3
Thiết kế một hệ thống phát và kiểm tra dữ liệu nhận giao tiếp với thiết bị lớp
PHY sử dụng giao diện SPI 3

III-NGÀY GIAO NHIỆM VỤ: 01/07/2004
IV-NGÀY HOÀN THÀNH NHIỆM VỤ: 30/11/2004
V-HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: PGS.TS. LÊ TIẾN THƯỜNG
CÁN BỘ HƯỚNG DẪN
(Ký tên và ghi rõ họ tên)

CHỦ NHIỆM NGÀNH
(Ký tên và ghi rõ họ tên)

BỘ MÔN QUẢN LÝ NGÀNH
(Ký tên và ghi rõ họ tên)

Nội dung và đề cương luận văn thạc só đã được Hội Đồng Chuyên Ngành thông qua.
Ngày
PHÒNG ĐÀO TẠO SĐH

tháng

năm

KHOA QUẢN LÝ NGÀNH


Lời cảm ơn


Trước tiên, em xin chân thành bày tỏ lòng biết ơn sâu thầy hướng dẫn,
PGS.TS. LÊ TIẾN THƯỜNG, người đã trực tiếp hướng dẫn, tận tình
chỉ bảo và tạo mọi điều kiện thuận lợi để em hoàn thành luận văn tốt
nghiệp này.
Em xin chân thành cảm ơn tất cả Phòng Sau Đại Học, cùng Quý thầy
cô và cán bộ của Khoa Điện-Điện Tử – Trường Đại Học Bách Khoa
TP.HCM đã hết lòng giảng dạy, truyền đạt kiến thức và giúp đỡ em
trong suốt thời gian học tập tại Trường.
Cuối cùng, xin gửi lời cảm ơn đến gia đình và bạn bè đã động viên,
giúp đỡ và hổ trợ trong suốt quá trình học tập và thực hiện luận văn
tốt nghiệp này.

TP.Hồ Chí Minh, tháng 12/2004
Tác giả


TÓM TẮT NỘI DUNG

Sự phát triển bùng nổ của Internet và các ứng dụng băng rộng như Video
theo yêu cầu (Video on demand) và hội nghị đa truyền thông đòi hỏi các mạng
truyền dẫn phải có băng thông lớn. Khi được triển khai công nghệ ghép kênh
phân chia bước sóng WDM (Wavelength Division Multiplexing), các mạng
truyền dẫn quang được đánh giá là một mạng truyền dẫn đầy hứa hẹn, có thể đáp
ứng đầy đủ băng thông cho các ứng dụng hiện tại cũng như các ứng dụng mới
trong tương lai.
Trong Luận Văn này, mạng toàn quang sử dụng công nghệ ghép kênh
phân chia bước sóng WDM được xem xét. Luận Văn tập trung vào việc tìm hiểu
công nghệ WDM và việc quản lý tài nguyên cho các yêu cầu kết nối và bảo vệ
trong mạng toàn quang WDM. Giải quyết bài toán định tuyến và gán bước sóng

góp phần quan trọng để nâng cao hiệu suất của các mạng quang định tuyến bước
sóng. Luận Văn xem xét bài toán định tuyến và gán bước sóng trong cả hai
trường hợp tónh và động. Một số thuật toán định tuyến và gán bước sóng trong cả
hai trường hợp tónh và động được tìm hiểu và trình bày; từ đó giới thiệu một
phương pháp mới cho vấn đề định tuyến và gán bước sóng động và tiến hành mô
phỏng.
Luận văn được trình bày như sau: Phần A sẽ giới thiệu chi tiết về mạng
truyền dẫn quang, công nghệ WDM và mạng toàn quang WDM. Phần B tìm hiểu
vấn đề định tuyến và gán bước sóng trong các mạng quang WDM và xem xét
một số thuật toán. Phần C mô phỏng giải pháp mới cho bài toán định tuyến và
gán bước sóng và nêu ý kiến kết luận.


ABSTRACT

SPI-3 fulfills the need for system designers to target a standard POS Physical
Layer interface. Although targeted at implementing POS, the SPI-3 specification
is not restricted to this application. It provides a versatile bus interface for
exchanging packets within a communication system.
SPI-3 defines the requirements for interoperable single-PHY (one PHY layer
device connected to one Link Layer device) and multi-PHY (multiple PHY layer
devices connected to one Link Layer device) applications. It stresses simplicity of
operation to allow forward migration to more elaborate PHY and Link Layer
devices.
In this thesis, all-SPI-n interface are studied. The thesis concentrates on designing
an equipment which stands in Link Layer (Link Layer device) to check data flows
of PHY layer device using SPI 3. This equipment has some functions as
following:



Standard packet bus interface
− Fully compliant with Optical Internetworking Forum’s System Packet
Interface level 3 for interconnection between test card and PHYSICAL
LAYER chip
− Programmable SPI3 data bus width 8-bit 16-bit or 32-bit
− Operates at 104Mhz and 32-bit interface supporting up to 3.328Gbps
cell/packet transfer
− Selectable byte level or packet level transfers with polled and direct status
indication


− Optional odd or even parity generating/checking on the receive/transmit
system interface
− Configurable single or multiple physical ports operation with in-band
addressing. Test card provides up to 128 physical ports for high speed
STS-48/VC-4-16

and

low

speed

STS-12/VC-4-4

(contains

28xVT1.5/21xVT2/14xVT3/7xVT6 or 12xDS3/12xE3)
− Advanced management options with error handling, SPI3 protocol
violation check and fully programmable oversized packet discard feature

− Packets transfer in multiple programmable data segments supported in
receive and transmit directions to increase flexibility and decrease
application buffer requirements when used in multiple physical ports


Non-standard packet bus interface
− Operates at 200Mhz and 32-bit data bus width supporting up to 6.4Gbps
cell/packet transfer

Supports 128 physical ports for high speed STS-96/VC-4-32 and low speed STS12/VC-4-4
The thesis is organized as follows:
Section I: is an introduction on SPI 3 interface (purposes, application…),
Programming language and tools used for designing
Section II: presents SPI 3 standard: protocol for transmitting data, function of
signals on interface
Section III: presents model, functions and operational methods of device. The
results, conclusion and some direction to continue this topic is presented in this
part.


THIẾT KẾ THIẾT BỊ TEST GIAO DIỆN SPI 3

THD:PGS-TS.LÊ TIẾN THƯỜNG

MỤC LỤC

PHẦN I: GIỚI THIỆU
Chương 1: Giới thiệu .............................................................................................. 1
1.1 Giới thiệu về chuẩn SPI 3 ................................................................................... 1
1.2 Giới thiệu về Verilog HDL ................................................................................. 3

1.2.1 Khái quát Verilog HDL................................................................................ 3
1.2.2 Lịch sử phát triển ngôn ngữ Verilog ............................................................ 4
1.3 Giới thiệu về hệ điều hành LINUX thời gian thực ............................................ 4

PHẦN II: CƠ SỞ LÝ THUYẾT (CHUẪN SPI 3)
Chương 2: Định nghóa liên quan đến chuẩn giao tiếp SPI 3 .............................. 7
Chương 3: Cách thức truyền dữ liệu sử dụng giao diện SPI 3 .......................... 9
3.1 Cách đặt tên tín hiệu ........................................................................................... 9
3.2 Độ rộng Bus dữ liệu ............................................................................................ 9
3.3 Tần số của Clock truyền ..................................................................................... 9
3.4 Vấn đề đồng bộ trong giao tiếp truyền gói ...................................................... 10
3.5 Tốc độ đường truyền cho các ứng dụng ........................................................... 12
Chương 4: Chức năng của các tín hiệu trên giao diện SPI 3........................... 13
4.1 Hướng Phát (Transmit side) .............................................................................. 13
4.1.1 Các tín hiệu hướng phát ............................................................................. 13
4.1.2 Phương thức chỉ định trạng thái trực tiếp ................................................... 18

MỤC LỤC

KS.HUỲNH BÙI HOÀNG NAM


THIẾT KẾ THIẾT BỊ TEST GIAO DIỆN SPI 3

THD:PGS-TS.LÊ TIẾN THƯỜNG

4.1.2.1 Hoạt động truyền dữ liệu đơn port ................................................... 18
4.1.2.2 Hoạt động truyền dữ nhiều port........................................................ 19
4.1.3 Chế độ hoạt động hỏi vòng (polling) kiểm tra trạng thái port ................ 19
4.1.3.1 Chế độ hoạt động truyền Byte-level................................................ 20

4.1.3.1 Chế độ hoạt động Packet-level ........................................................ 20
4.2 Các tín hiệu trên giao diện hướng thu .............................................................. 21
4.2.1 Ý nghóa chức năng của các tín hiệu ........................................................... 21
4.2.2 Giao diện truyền dữ liệu đơn port.............................................................. 25
4.2.3 Giao diện truyền dữ liệu đa port................................................................ 26
PHẦN C: PHẦN THIẾT KẾ HỆ THỐNG
Chương 5: Các tính năng của thiết bị ................................................................. 27
Chương 6: Sơ đồ khối tổng quát của hệ thống................................................... 29
Chương 7: Chức năng của các khối trong hệ thống ......................................... 31
7.1 Khối Tx SPI 3 (khối phát) ................................................................................. 32
7.1.1 RAM cấu hình trong chế độ hoạt động Buffer......................................... 34
7.1.2 RAM cấu hình trong chế độ hoạt động PRBS ......................................... 35
7.2 Khối Rx SPI 3 (Khối thu) .................................................................................. 36
7.3 Khối giả lập thiết bị lớp PHY ........................................................................... 39
7.3.1 Hướng TX.................................................................................................... 40
7.3.2 Hướng Rx .................................................................................................... 41
7.4 Cấu trúc và chức năng của thanh ghi và RAM được sử dụng để điều

khiển thiết bị hoạt động ....................................................................................... 42
7.4.1 Các thanh ghi cấu hình chung của toàn bộ thiết bị ................................... 42
7.4.2 RAM và Thanh ghi khối Tx SPI 3.............................................................. 44
7.4.3 RAM và Thanh ghi khối Tx SPI 3.............................................................. 61

MỤC LỤC

KS.HUỲNH BÙI HOÀNG NAM


THIẾT KẾ THIẾT BỊ TEST GIAO DIỆN SPI 3


THD:PGS-TS.LÊ TIẾN THƯỜNG

7.4.4 RAM và Thanh ghi khối giả lập lớp PHY ................................................. 83
Chương 8: Kết quả, kết luận và hướng phát triển .......................................... 96
8.1 Kết quả thực hiện của đề tài ............................................................................ 96
8.1 Hạn chế của đề tài ........................................................................................... 97
8.2 Hướng phát triển ................................................................................................ 97
Phụ luc A – FPGA ................................................................................................. 98
Phụ luc B – Ngôn ngữ Verilog ........................................................................... 106

Tài liệu tham khảo ............................................................................................... 120

MỤC LỤC

KS.HUỲNH BÙI HOÀNG NAM


THIẾT KẾ THIẾT BỊ TEST GIAO DIỆN SPI 3

THD:PGS-TS.LÊ TIẾN THƯỜNG

DANH MỤC HÌNH VẼ

Hình vẽ

Trang

Hình 1.1 Mô hình giao tiếp SPI kết nối giữa thiết bị lớp LINK và thiết bị lớp PHY
..............................................................................................................................2
Hình 1.2 Mô hình giao tiếp SPI truyền gói dữ liệu trên SONET..........................3

Hình 4.1 Giao tiếp đơn port không định địa chỉ in-band ....................................18
Hình 4.2 Giản đồ thời gian hướng Tx ................................................................19
Hình 4.3 Giản đồ thời gian quá trình kiểm tra trạng thái port ............................20
Hình 4.4 Giao diện truyền dữ liệu đơn port........................................................25
Hình 4.4 Giao diện truyền dữ liệu nhiều port.....................................................26
Hình 5.1 Sơ đồ khối tổng quát của hệ thống.......................................................27
Hình 6.1 Sơ đồ khối chức năng tổng quát của hệ thống .....................................29
Hình 6.2 Giao diện vật lý của SPI 3 ...................................................................30
Hình 7.1 Sơ đồ khối chức năng của thiết bị ở hướng phát (Tx SPI 3).................32
Hình 7.2 Sơ đồ khối chức năng của thiết bị ở hướng phát (Tx SPI 3).................34
Hình 7.3 Cấu trúc của bộ nhớ khối Tx SPI 3 ở PRBS mode...............................35
Hình 7.4 Sơ đồ khối chức năng của thiết bị ở hướng thu (Rx SPI 3) ..................36
Hình 7.5 Khối Rx memory .................................................................................37
Hình 7.6 Sơ đồ khối quản lí bộ nhớ hướng Rx SPI 3 ..........................................38
Hình 7.7 Sơ đồ khối khối giả lập thiết bị lớp PHY .............................................37

DANH MỤC HÌNH VẼ

KS.HUỲNH BÙI HOÀNG NAM


THIẾT KẾ THIẾT BỊ TEST GIAO DIỆN SPI 3

THD:PGS-TS.LÊ TIẾN THƯỜNG

Lời mở đầu

SDH/SONET ra đời cuối thập niên 1980. SDH/SONET trở thành một phương
tiện hiệu quả và tiết kiệm cho các nhà cung cấp quản lý mạng. Mạng có thể dễ
dàng thích nghi với nhu cầu tăng băng thông của các ứng dụng và dịch vụ.

Khuynh hướng hiện này của thị trường viễn thông là tăng thị phần của kỹ thuật
SDH/SONET. Bởi vì chất lượng của SDH/SONET hơn hẳn các kỹ thuật khác như
PDH, ngày càng nhiều nhà cung cấp dịch vụ chuyển sang kỹ thuật SDH/SONET.
SPI 3 được phát triển cung cấp một giao diện truyền tả dữ liệu đơn giản,
đa năng và dễ dàng để truyền gói dữ liệu trên mạng SDH/SONET. Giao diện SPI
được sử dụng rất nhiều trong các ứng dụng và trở thành một thành phần không
thể thiếu trong các ứng dụng viễn thông.
Do đó tác giả chọn hướng nghiên cứu và thiết kế hệ thống test dữ liệu thực
hiện việc bắt tay truyền dữ liệu trên hệ thống SDH/SONET sử dụng giao diện
SPI 3 để thực hiện luận văn tốt nghiệp. Các mục đích mà luận văn này hướng tới
như sau:
Tìm hiểu về cách thức bắt tay truyền dữ liệu giữ thiết bị lớp LINK
và thiết bị lớp PHY sử dung giao diện SPI 3
Thiết kế một hệ thống phát và nhận dữ liệu giao tiếp với thiết bị lớp
PHY sử dụng giao diện SPI 3 có các tín năng sau

LỜI MỞ ĐẦU

KS.HUỲNH BÙI HOAØNG NAM


THIẾT KẾ THIẾT BỊ TEST GIAO DIỆN SPI 3

-

THD:PGS-TS.LÊ TIẾN THƯỜNG

Có thể lập trình giao diện có độ rộng bus truyền dữ liệu là 8bit, 16-bit hay 32-bit.

-


Khi hoạt động tại tần số 104Mhz và bus dữ liệu 32-bit thì có
thể cung cấp tốc độ truyền tải packet lên đến 3.328Gbps.

-

Truyền dữ liệu ở cấp độ packet level với cách thức bắt tay là
hỏi vòng (polling).

-

Tùy chọn phát odd/even parity ở hướng Tx và kiểm tra
odd/even parity ở hướng nhận

-

Thiết kế hổ trợ đến 128 port cho việc truyền tải gói dữ liệu

-

Hệ thống hổ trợ định dạng các loại tải dữ liệu được phát :
ATM,GFP,HDLC

-

Đảm bảo tính ngẫu nhiên của luồng dữ liệu phát trên hệ
thống SONET (sử dụng các đa thức sinh tạo chuỗi ngẫu nhiên
PRBS)

Từ yêu cầu và mục đích như vậy, nội dung quyển luận văn này sẽ được

trình bày theo bố cục như sau:
Luận Văn gồm 3 phần
Phần 1: Giới thiệu
Phần này giới thiệu một số nét khái quát cơ bản về đề tài bao gồm: giới thiệu
về giao diện truyềndữ liệu SPI 3 và ứng dụng của nó trong việc truyền gói trên
mạng SDH/SONET. Phần này cũng giới thiệu về ngôn ngữ được sử dụng để thiết
kế hệ thống và hệ điều hành được sử dụng để điều khiển hoạt động của hệ
thống.

LỜI MỞ ĐẦU

KS.HUỲNH BÙI HOÀNG NAM


THIẾT KẾ THIẾT BỊ TEST GIAO DIỆN SPI 3

THD:PGS-TS.LÊ TIẾN THƯỜNG

Phần 2: Cơ sở lý thuyết (chuẩn SPI 3)
Trình bày tóm tắt một số lý thuyết cơ bản liên quan đến phương thức bắt tay
truyền dữ liệu trên giao diện SPI 3
Chương 2: Định nghóa liên quan đến chuẩn giao tiếp SPI 3
Đề cập đến các định nghóa liên quan đến giao tiếp SPI nói chung,
vai trò và vị trí của giao tiếp trong ứng dụng viễn thông.
Chương 3: Cách thức truyền dữ liệu sử dụng giao tiếp SPI 3
Đề cập đến vấn đề đặt tên các tín hiệu của giao diện, độ rộng bus
dữ liệu, tần số clock hoạt đông của giao tiếp, vấn đề đồng bộ trong việc
truyền gói dữ liệu và tốc độ đường truyền ứng dụng cho giao tiếp này
Chương 4: Chức năng của các tín hiệu trên giao diện SPI 3
Chương này trình bày ý nghóa và chức năng của từng tín hiệu được

sử để thực hiện việc truyền gói dự liệu giữa thiết bị lớp LINK và thiết bi
lớp PHY.
Phần 3 : Phần thiết kế hệ thống
Phần này gồm 4 chương: giới thiệu về cấu trúc thiết kế, cách thức hoạt
động của hệ thống và kết quả thu được sau thời gian thực hiện luận văn.
Chương 5: Các tính năng của thiết bị
Các tín năng mà hệ thống sẽ hổ trợ
Chương 6: Sơ đồ khối tổng quát của hệ thống
Giới thiệu sơ đồ khối thiết kế của hệ thống, chức năng và nhiệm vụ
của các khối chính trong hệ thống.
Chương 7: Chức năng của các khối trong hệ thống
Trình bày chức năng chi tiết của từng khối trong hệ thống
LỜI MỞ ĐẦU

KS.HUỲNH BÙI HOÀNG NAM


THIẾT KẾ THIẾT BỊ TEST GIAO DIỆN SPI 3

THD:PGS-TS.LÊ TIẾN THƯỜNG

Chương 8: Kết quả thực hiện, kết luận và hướng phát triển
Trình bày kết quả thu được, những mặt hạn chế khi thực hiện đề tài
và giới thiệu một số hướng phát triển tiếp theo

Do thời gian và trình độ có hạn nên kết quả thu được chỉ dừng lại ở giai
đoạn cơ bản. Tác giả mong rằng sẽ nhận được nhiều ý kiến đóng góp và xây
dựng để có thể tiếp tục phát triển và hoàn thiện đề tài trong thời gian sắp tới. Tôi
xin chân thành cảm ơn!
Tp.Hồ Chí Minh tháng 12/2004

Tác giả

LỜI MỞ ĐẦU

KS.HUỲNH BÙI HOÀNG NAM


THIẾT KẾ THIẾT BỊ TEST GIAO DIỆN SPI 3

THD:PGS-TS.LÊ TIẾN THƯỜNG

1
GIỚI THIỆU
1.1 Giới thiệu về chuẩn SPI 3
Chuẩn SPI 3 đưa ra một giao thức để kết nối các thiết bị lớp Vật lí (Physical
Layer: PHY) đến các thiết bị lớp Liên kết (Link Layer) thực hiện việc truyền gói dữ
liệu trên SONET. SPI 3 (POS-PHY 3) đáp ứng nhu cầu đối với các nhà thiết kế hệ
thống nhằm thiết kế một giao diện lớp vật lí truyền gói dữ liệu trên SONET chuẩn .
Mặc dù mục tiêu thiết kế là để thực hiện việc truyền gói dữ liệu trên SONET, chuẩn
giao tiếp này cũng được sử dụng cho các ứng dụng khác. Nó cung cấp một giao diện
bus linh động dùng để trao đổi các gói dữ liệu bên trong một hệ thống truyền thông.
SPI 3 đã được phát triển với sự hợp tác với nhóm phát triển SATURN bao gồm tất cả
các ứng dụng có tốc độ truyền lên đến 2.4Gbit/s. SPI 3 định nghóa các yêu cầu để các
ứng dụng PHY đơn (một thiết bị lớp PHY kết nối đến một thiết bị lớp LINK) và các
ứng dụng multi-PHY (nhiều thiết bị lớp PHY kết nối đến một thiết bị lớp LINK) có
thể cùng hoạt động. SPI 3 nhấn mạnh tính đơn giản của hoạt động truyền dữ liệu cho
phép hướng đến các thiết bị lớp LINK và lớp PHY phức tạp hơn .
Tài liệu chuẩn này định nghóa:
-


Cấu trúc vật lí của POS-PHY bus

-

Giao thức báo hiệu để truyền dữ liệu

-

Cấu trúc dữ liệu thường dùng để lưu trữ dữ liệu vào trong các FIFO

Các thông tin trong chuẩn này được đưa ra như là một chuẩn tham khảo đối với các
nhà phát triển khác nhau của các mạch tích hợp hay các thiết bị cấp hệ thống.

CHƯƠNG 1: GIỚI THIỆU

1

HVTH: KS.HUỲNH BÙI HOÀNG NAM


THIẾT KẾ THIẾT BỊ TEST GIAO DIỆN SPI 3

THD:PGS-TS.LÊ TIẾN THƯỜNG

System Packet Interface (SPI-3)
System

to

Optics


System Packet
Interface (SPI)

Transmit
Link Layer
Device

Transmit
Interface

Data
Status

Data
Receive Link
Layer Device

PHY
Device

Status

Receive
Interface

Hình 1-1 Mô hình giao tiếp SPI kết nối giữa thiết bị lớp LINK và thiết bị lớp PHY

CHƯƠNG 1: GIỚI THIỆU


2

HVTH: KS.HUỲNH BÙI HOÀNG NAM


THIẾT KẾ THIẾT BỊ TEST GIAO DIỆN SPI 3

System

to

TX

Optics
TXREFCK
TXREFCK

TFCLK
TDATA [31:0]
TENB
TMOD[1:0]
TPRTY
TSOP
TEOP
TERR
TSX

Link
Layer
NP

ATM
SAR

THD:PGS-TS.LÊ TIẾN THƯỜNG

C

TXDATA [15:0]

D

TXDSC

Framer

TXDCK
TXCKSRC

DTPA[3:0]
STPA
PTPA
TADR[6:0]

A

B

Serdes

RXDATA [15:0]

RXDSC

RFCLK
RENB
RDAT[31:0]

Supports:
RXDCK
Packet over SONET
ATM over SONETB
RXS
Frame Relay over SONET

RMOD[1:0]
RPRTY
RVAL
RSOP
REOP
RERR
RSX

A

RXREFCK

RX

RXREFCK

Optics to System


Hình 1-2 Mô hình giao tiếp SPI truyền gói dữ liệu trên SONET

1.2 Giới thiệu về Verilog HDL
1.2.1 Khái quát Verilog HDL
Verilog HDL là một trong hai ngôn ngữ mô tả phần cứng thông dụng nhất hiện
nay được sử dụng thiết kế phần cứng. Ngôn ngữ còn lại là VHDL.
Verilog HDL mô phỏng các mạch điện tử và hệ thống. Được ứng dụng để thiết
kế mạch điện tử, Verilog tham gia kiểm tra trong quá trình chạy mô phỏng, phân tích
việc định thời, phân tích kiểm tra và tổng hợp.
Verilog HDL là chuẩn của IEEE – số 1364. Các văn bản chuẩn được biết là
“Tham khảo ngôn ngữ”, hoặc LRM. Nó là văn bản chính xác và đầy đủ của ngôn ngữ
Verilog HDL.
Chuẩn IEEE 1364 đồng thời định nghóa về giao diện ngôn ngữ lập trình, hoặc PLI.
Đây là một tập hợp các thủ tục phần mềm cho phép liên hệ hai chiều giữa Verilog và
các ngôn ngữ khác (thường là C).

CHƯƠNG 1: GIỚI THIỆU

3

HVTH: KS.HUỲNH BÙI HOÀNG NAM


THIẾT KẾ THIẾT BỊ TEST GIAO DIỆN SPI 3

THD:PGS-TS.LÊ TIẾN THƯỜNG

Ngôn ngữ Verilog HDL có khả năng mô tả bản chất xử lý, luồng dữ liệu hoặc các
thành phần cấu trúc của một thiết kế, thời gian trễ và cơ chế tổng hợp dạng sóng cho

phép giám sát các đáp ứng và kiểm tra lỗi, tất cả những thao tác trên được thực hiện
với cùng một ngôn ngữ. Hơn nữa, Verilog HDL cung cấp một giao diện ngôn ngữ lập
trình mà qua đó, nội dung của một thiết kế có thể được truy xuất trong khi chạy mô
phỏng bao gồm cả việc giám sát tiến trình mô phỏng.
Verilog HDL không chỉ định nghóa cú pháp mà còn định nghóa rõ ràng ý nghóa
mô phỏng cho mỗi cấu trúc ngôn ngữ. Do đó, những mô hình được viết bằng ngôn ngữ
này có thể được kiểm tra trong phần mô phỏng của Verilog HDL. Verilog HDL thừa
kế rất nhiều các cấu trúc, các câu lệnh của ngôn ngữ lập trình C. Verilog HDL cung
cấp rất nhiều khả năng mô phỏng, một số rất phức tạp, tuy nhiên phần cốt lõi cơ bản
của ngôn ngữ khá đơn giản và nó cũng đủ để mô phỏng hầu hết các ứng dụng.
1.2.2 Lịch sử phát triển ngôn ngữ Verilog
Ngôn ngữ Verilog HDL được Gateway Design Automation phát triển lần đầu tiên
vào năm 1983 như là một ngôn ngữ dùng để mô tả phần cứng cho các sản phẩm mô
phỏng của họ. Lúc bấy giờ, Verilog HDL là một ngôn ngữ thuộc chủ quyền riêng,
nhưng nhờ vào sự phổ biến của các sản phẩm mô phỏng mà Verilog HDL đã được
chấp nhận như một ngôn ngữ thực tiễn và khả dụng đối với nhiều nhà thiết kế. Sau
những cố gắng để tăng cường sự phổ biến của ngôn ngữ, Verilog HDL đã được sử
dụng rộng rãi từ năm 1990. Tổ chức Open Verilog HDL International (OVI) được
thành lập để phát triển Verilog HDL. Vào năm 1992, OVI quyết định chuẩn hóa
Verilog HDL như một chuẩn của IEEE. Những nỗ lực này cuối cùng cũng thành công
và Verilog Hardware Description Language trở thành một tiêu chuẩn của IEEE vào
năm 1995.
1.3 Giới thiệu về hệ điều hành LINUX thời gian thực
• Nhiệm vụ của hệ điều hành
Phần này trình bày những nhiệm vụ cơ bản của hệ điều hành, bao gồm: quản lý
task (nhiệm vụ) và phân chia thời gian (scheduling), dịch vụ ngắt, liên lạc giữa các
tiến trình và đồng bộ, quản lý bộ nhớ.
− Quản lý task
Quản lý task là một nhiệm vụ hàng đầu của hệ điều hành: task phải được tạo ra
và xóa đi khi hệ điều hành đang hoạt động; task có thể thay đổi mức ưu tiên của nó,

thay đổi ràng buộc thời gian, bộ nhớ cần thiết; …. Quản lý task đối với một hệ điều
hành thời gian thực còn khó khăn hơn hệ điều hành thông thường: nếu một task được
tạo ra, nó phải được cấp bộ nhớ nó cần mà không bị trễ, bộ nhớ này phải được khóa
CHƯƠNG 1: GIỚI THIỆU

4

HVTH: KS.HUỲNH BÙI HOÀNG NAM


THIẾT KẾ THIẾT BỊ TEST GIAO DIỆN SPI 3

THD:PGS-TS.LÊ TIẾN THƯỜNG

cứng trên bộ nhớ chính để tránh bị trễ do dịch vụ swapping; thay đổi mức độ ưu tiên
trong thời gian chạy ảnh hưởng đến đáp ứng thời gian chạy của toàn hệ thống và từ đó
có thể đoán trước được điều đó ảnh hưởng quan trọng đến hệ điều hành thời gian thực
như thế nào. Vì vậy, quản lý tiến trình động là một vấn đề nhức đầu đối với hệ điều
hành thời gian thực.
Trong thực tế, nhiều task hoạt động ở cùng một thời điểm, và hệ điều hành phải
có nhiệm vụ chia sẽ tài nguyên hiện có cho các task. CPU là một trong những tài
nguyên quan trọng và việc quyết định chia sẽ CPU như thế nào cho các task được gọi
là sắp xếp thời gian (scheduling).
Hệ điều hành thời gian thực và hệ điều hành thông thường sử dụng các giải thuật
sắp xếp thời gian khác nhau. Chúng đều sử dụng theo cùng một nguyên lý, như cách
ứng dụng khác nhau để thỏa mãn các tiêu chuẩn thực thi khác nhau. Một hệ điều hành
thông thường hướng tới mức đạt được trung bình cao nhất, còn hệ điều hành thời gian
thực hướng tới tính đáp ứng tiền định.
− Dịch vụ ngắt
Hệ điều hành phải có khả năng phục vụ các phần cứng ngoại vi, như: bộ định

thời, motor, cảm biến, thiết bị liên lạc, ổ đóa,… Tất cả chúng có thể yêu cầu sự chú ý
của hệ điều hành theo các không đồng bộ vào thời điểm chúng cần hệ điều hành sử
dụng, hệ điều hành phải đảm bảo nó luôn sẵn sàng phục vụ các yêu cầu đó. Các loại
yêu cầu đòi hỏi sự chú ý được gọi là ngắt. Ngắt được chia làm hai loại: ngắt cứng và
ngắt mềm.
Với ngắt cứng, thiết bị ngoại vi có thể đặt một bit trên kênh phần cứng cụ thể để
kích thích bộ xử lý để báo hiệu thiết bị cần dịch vụ. Kết quả là bộ xử lý lưu lại trạng
thái hiện tại của nó, và nhảy vào địa chỉ của nó trong bộ nhớ đã được kết nối với phần
cứng này lúc khởi động.
Với ngắt mềm, nhiều bộ xử lý có sẵn các chỉ thị phần mềm khi sản xuất, các chỉ
thị giúp sinh ra các ngắt cứng từ phần mềm. Kết quả là bộ xử lý nhảy vào một địa chỉ
đã được định trước.
− Liên lạc và đồng bộ
Liên lạc giữa các tiến trình (Inter-Process Communication) là một tập các chức
năng có từ thời ban sơ. Nhờ vào chúng, hệ điều hành có thể đáp ứng được yêu cầu
trao đổi thông tin giữa các task và đồng bộ các hoạt động của task. Còn hệ điều hành
thời gian thực thì phải liên lạc và đồng bộ theo các tiền định.
− Quản lý bộ nhớ.
Các task khác nhau trong hệ thống đều yêu cầu một phần của bộ nhớ hiện có,
thường được đặt ở một địa chỉ phần cứng cụ thể. Nhiệm vụ của hệ điều hành là cấp
cho mỗi task dung lượng bộ nhớ nó cần, ánh xạ bộ nhớ thực vào bộ nhớ đã dùng trong
CHƯƠNG 1: GIỚI THIỆU

5

HVTH: KS.HUỲNH BÙI HOÀNG NAM


THIẾT KẾ THIẾT BỊ TEST GIAO DIỆN SPI 3


THD:PGS-TS.LÊ TIẾN THƯỜNG

các task khác, thực hiện các hoạt động thích hợp khi task sử dụng bộ nhớ mà nó không
được cấp.
• Hệ điều hành Linux thời gian thực
Bộ sắp xếp thời gian của hệ điều hành Linux thời gian thực xử lý nhân (kernel) hệ
thống như các tiến trình rỗi. Linux chỉ thực thi khi không có task thời gian thực nào để
chạy và nhân thời gian thực đang nằm chờ. Task không thể ngăn các ngắt hoặc cản
chúng đạt mức ưu tiên cao hơn. Dù đang ở bất kỳ trạng thái nào, thời gian đáp ứng
cho các ngắt không thể bị chậm trễ. Khi một ngắt xảy ra, nhân thời gian thực can
thiệp ngắt và xác định sẽ gởi đi các gì.
Linux thời gian thực tách cơ chế nhân thời gian thực ra khỏi cơ chế nhân Linux
thông thường để có thể tối ưu một cách độc lập và giữ cho nhân thời gian thực thật
nhỏ gọn và đơn giản.
Linux thời gian thực được thiết kế để các nhân thời gian được không bao giờ bị chờ
để giải phóng bất kỳ tài nguyên nào. Nhân thời gian thực không trực tiếp yêu cầu bộ
nhớ, chia sẽ clock hoặc đồng bộ cấu trúc dữ liệu, ngoại trừ một số tình huống cần điều
khiển chặc chẽ.
Có hai biến thể của Linux thời gian thực cứng: RTLinux và RTAI. RTLinux được
phát triển ở Viện kỹ thuật New Mexico bởi Micheal Barabanov dưới sự chỉ đạo của
giáo sư Victor Yodaiken. Real-Time Application Interface (RTAI) được phát triển ở
Dipartimento di Ingeneria Aerospaziale, Politecnico di Milano bởi giáo sư Paolo
Mantegazza.
Trong hệ điều hành RTLinux và RTAI, tất cả các ngắt được khởi tạo bởi nhân thời
gian thực và được chuyển cho Linux chỉ khi không có task nào đang thực thi.
Trong RTLinux và RTAI, nhân thời gian thực, tất cả các thành phần của nó và ứng
dụng thời gian thực đều chạy trong không gian địa chỉ nhân Linux như là các module
nhân. Khi một module nhân được nạp vào hệ điều hành, nó tự khởi tạo để sẵn sàng
phục vụ. Module nhân có thể được nạp và giải phóng một cách linh động.
Thuận lợi có được khi chạy hệ thống thời gian thực trong không gian địa chỉ nhân

là thời gian chuyển đổi giữa các task được tối thiểu đi. Một bất lợi lớn nhất là khi có
lỗi trong task thời gian thực sẽ làm toàn bộ hệ thống bị hỏng, bởi vì không có sự tách
biệt trong không gian bộ nhớ được bảo vệ cho các task riêng lẽ.

CHƯƠNG 1: GIỚI THIỆU

6

HVTH: KS.HUỲNH BÙI HOAØNG NAM


THIẾT KẾ THIẾT BỊ TEST GIAO DIỆN SPI 3

THD:PGS-TS.LÊ TIẾN THƯỜNG

2
ĐỊNH NGHĨA LIÊN QUAN ĐẾN CHUẨN
GIAO TIẾP SPI 3
Giao tiếp SPI 3 định nghóa giao tiếp các thiết bị lớp vật lí SONET/PDH và các thiết bị
lớp LINK, giao tiếp này có thể được sử dụng để thực hiện các giao thức dựa trên gói
như HDLC và PPP .
Facility Interface

PHY-Link Interface

PMD
Device

Link
Layer


PHY

Facility : Cáp quang, cáp xoắn, cáp đồng trục
Link Layer : Lớp chức năng chuyển mạch
PHY : Lớp vật lí
PMD : Lớp phụ thuộc môi trường vật lí
SPI 3 định rõ giao diện PHY-LINK . Facility Interface (SONET OC-3) được định
nghóa bởi một số tổ chức định chuẩn quốc gia và quốc tế trong đó có BELLCORE và
ITU

CHƯƠNG 2: ĐỊNH NGHĨA LIÊN QUAN

7

HVTH: KS.HUỲNH BÙI HOÀNG NAM


THIẾT KẾ THIẾT BỊ TEST GIAO DIỆN SPI 3

THD:PGS-TS.LÊ TIẾN THƯỜNG

Chức năng chính của thiết bi này là : Thiết bị được sử dụng để kiểm tra các tính
năng của các thiết bị mạng truyền dữ liệu giữa lớp vật lí (Physical Layer Device) và
thiết bị lớp Link (Link Layer Device) sử dụng giao thức SPI 3 thông qua giao diện vật
lí SPI 3. Thiết bị giao tiếp với thiết bị ứng dụng lớp vật lí thông qua giao tiếp SPI 3
của thiết bị đó.
Thiết bị hổ trợ giao diện: SPI level 3 (SPI3) với độ rộng bus dữ liệu 8-bit, 16-bit
và 32-bit, 128 physical port. Độ dài segment dữ liệu có thể lập trình được: 64/128
bytes.

Đối với các gói dữ liệu chiều dài thay đổi, Thiết bị test cung cấp giao tiếp SPI3
được định nghóa bởi The Optical Internetworking Forum OIF. Giao tiếp SPI3 được
phát triển cho các ứng dụng truyền tải gói dữ liệu giữa thiết bị lớp vật lí và thiết bị lớp
Link. SPI3 dùng cho tất cả các ứng dụng có bit rates lên đến 6.4Gbps với 200Mhz
system clock.
Thiết bị kiểm tra này cung cấp các mode hoạt động truyền dữ liệu nhiều port, như
được định nghóa trong tài liệu tham khảo (SPI3 modes). Trong SPI3 mode, các port
được truy xuất bằng địa chỉ in-band (7 bit đại chỉ).

CHƯƠNG 2: ĐỊNH NGHĨA LIÊN QUAN

8

HVTH: KS.HUỲNH BÙI HOAØNG NAM


THIẾT KẾ THIẾT BỊ TEST GIAO DIỆN SPI 3

THD:PGS-TS.LÊ TIẾN THƯỜNG

3
CÁCH THỨC TRUYỀN DỮ LIỆU SỬ DỤNG
GIAO DIỆN SPI 3
3.1 Cách đặt tên tín hiệu
Giao diện truyền luồng dữ liệu từ thiết các thiết bị lớp LINK đến thiết bị lớp vật lí
PHY được đặt tên là giao diện phát (Transmit Interface). Giao diện luồng dữ liệu
được truyền từ thiết bị lớp vật lí đến thiết bị lớp LINK được xem là giao diện nhận
(Receive Interface) .
3.2 Độ rộng Bus dữ liệu
Các thiết bị có thể tương thích với chuẩn SPI 3 (POS-PHY) hổ trợ cấu trúc bus dữ

liệu 32-bit hoặc 8 bit hoắc có hổ trợ cả hai . Giao diện bus là Point-to-Point (một ngõ
ra chỉ điều khiển một tải ngõ vào) chính vì vậy bus dữ liệu 32-bit sẽ chỉ hỗ trợ cho
một thiết bị . Để hỗ trợ cho nhiều thiết bị có tốc độ bit thấp hơn với các kết nối Pointto-Point, cấu trúc bus dữ liệu 8-bit được sử dụng . Vì vậy mỗi thiết bị lớp vật lí sẽ sử
dụng giao diện 8-bit để giảm tổng số lượng pin được yêu cầu .
Để hỗ trợ cho việc truyền các gói dữ liệu có chiều dài thay đổi, các tín hiệu
RMOD[1:0] được được định nghóa để định rõ số lượng byte hợp lệ trong cấu trúc bus
dữ liệu 32-bit . Mỗi double-word phải chứa 4 byte hợp lệ của dữ liệu gói cho đến khi
double-word cuối cùng của việc truyền gói dữ liệu được đánh dấu bởi các tín hiệu
REOP hoặc TEOP . Double-word cuốic cùng của việc truyền dữ liệu này chứa từ 1
đến 4 byte hợp lệ được xác định bởi giá trị của RMOD[1:0] hoặc TMOD[1:0] .
3.3 Tần số của Clock truyền
Các thiết bị có thể tương thích với POS-PHY có thể cung cấp tần số clock truyền
dữ liệu lên đến 104Mhz. Một số thiết bị có thể hổ trợ hoạt động ở nhiều tần số khác
nhau. Nói chung, các thiết bị được thiết kế cho các ứng dụng một hay nhiều thiết bị
lớp PHY, ở đó tốc độ ở lớp PHY tổng cộng đạt gần 622 Mbit/s sẽ sử dụng giao diện
với cấu trúc bus dữ liệu 8-bit dữ liệu với giá trị clock của FIFO 104Mhz. Các thiết bị

CHƯƠNG 4: CHỨC NĂNG CỦA CÁC TÍN HIỆU TRÊN SPI3 9

KS.HUỲNH BÙI HOÀNG NAM


THIẾT KẾ THIẾT BỊ TEST GIAO DIỆN SPI 3

THD:PGS-TS.LÊ TIẾN THƯỜNG

được thiết kế cho các ứng có tốc độ ở lớp PHY tổng cộng đạt gần 2.4 Gbit/s sẽ sử
dụng giao diện với cấu trúc bus dữ liệu 32-bit dữ liệu với giá trị clock của FIFO
104Mhz.
3.4 Vấn đề đồng bộ trong giao tiếp truyền gói

Giao diện truyền gói dữ liệu hổ trợ việc truyền gói dữ liệu ở hướng phát và hướng
nhận tại giá trị tốc độ clock độc lập với tốc độ bit của đường truyền (line bit rate) .
Với yêu cầu như vậy, các thiết bị lớp vật lí phải cung cấp việc tách riêng tốc độ gói
bằng cách sử dụng các FIFO .
Để đơn giản hóa việc giao tiếp giữa các thiết bị lớp LINK và các thiết bị lớp vật lí
và để hổ trợ các giao diện nhiều thiết bị lớp PHY người ta sử dụng các FIFO. Các tín
hiệu điều khiển đều được cung cấp đến thiết bị lớp LINK và PHY cho phép cả hai
thực hiện việc điều khiển luồng dữ liệu . Bởi vì giao tiếp bus truyền là Point to Point,
giao tiếp hướng nhận của thiết bị lớp vật lí truyền dữ liệu đến thiết bị lớp LINK. Đối
với giao diện hướng phát, giá trị ngưỡng báo trạng thái sẵn sàng nhận dữ liệu của
FIFO được thực hiện ở mức byte dữ liệu .
Ở hướng nhận, khi thiết bị lớp vật lí đã nhận được những byte cuối của gói dữ liệu
truyền (một gói nhỏ đã truyền xong hay những byte cuối của một gói dữ liệu lớn) hay
là đã nhận được số lượng byte được định nghóa trước trong FIFO hướng nhận của nó,
nó gởi địa chỉ in-band theo sau là dữ liệu của FIFO đến thiết bị lớp LINK. Dữ liệu
trên bus của giao diện được đánh dấu với tính hiệu RVAL được tích cực . Với thiết bị
lớp PHY nhiều port với nhiều FIFO, Việc phát dữ liệu trên mỗi port được thực hiện
theo cơ chế round-robin khi đã có dữ liệu đầy đủ trong FIFO của nó. Thiết bị lớp
LINK có thể dừng quá trình truyền luồng dữ liệu bằng cách không tích cực tín hiệu
RENB
Ở hướng phát khi thiết bị lớp vật lí có đủ bộ nhớ để chứa số lượng byte đã được
định nghóa trước trong FIFO hướng phát của nó, nó sẽ thông báo cho thiết bị lớp LINK
biết bằng cách tích cực tín hiệu sẵn sàng nhận gói dữ liệu (TPA). Thiết bị lớp LINK
sau đó có thể ghi địa chỉ in-band theo sau là dữ liệu gói đến thiết bị lớp PHY sử dụng
tín hiệu báo dữ liệu hợp lệ (TENB). Thiết bị lớp LINK sẽ giám sát việc chuyển đổi
trạng thái tín hiệu TPA từ cao xuống thấp để biết được FIFO trong thiết bị lớp PHY là
gần đầy (số lượng byte được ghi vào trong FIFO có thể do người sử dụng lựa chọn
nhưng phải được định nghóa trước) và thiết bị lớp LINK sẽ trì hoãn việc truyền dữ liệu
để tránh việc tràn FIFO.
SPI 3 định nghóa việc điều khiển truyền dữ liệu ở cả hai mức: byte và packet level

trong hướng phát. Khi truyền dữ liệu ở cấp độ byte, thông tin về trạng thái của FIFO
được cập nhật trên mỗi chu kì clock truyền. Khi truyền dữ liệu ỡ cấp độ gói, thông tin
CHƯƠNG 3: CHỨC NĂNG CỦA CÁC TÍN HIỆU TRÊN SPI3 10

KS.HUỲNH BÙI HOÀNG NAM


×