You are on page 1of 63

B GIÁO DC VÀ ÀO TO

TRNG I HC BÁCH KHOA HÀ NI


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

TRN C CHÍNH

NGHIÊN CU VÀ THIT K B CHUYN I ETHERNET-E1


TRÊN CÔNG NGH FPGA

Chuyên ngành : K thut Truyn thông

LUN VN THC S K THUT


K THUT TRUYN THÔNG

NGI HNG DN KHOA HC


TS. Phm Thành Công

Hà Ni – 2014
MC LC

LI CAM OAN .................................................................................................... 3


DANH MC CÁC KÝ HIU, CÁC CH VIT TT ............................................ 4
DANH MC BNG BIU ..................................................................................... 5
DANH MC CÁC HÌNH V,  TH .................................................................. 6
M U ................................................................................................................ 8
Chng 1 TNG QUAN ....................................................................................... 10
1.1 Tng quan v k thut Ethernet – over – PDH (EoPDH) ........................ 10
1.1.1 Cu trúc khung Ethernet ......................................................................... 10
1.1.2 Cu trúc khung E1 .................................................................................. 12
1.1.3 Cu trúc khung GFP ............................................................................... 15
1.1.4 K thut Frame encapsulation ................................................................ 16
1.1.5 K thut Mapping .................................................................................. 18
1.2 Lí do la chn công ngh FPGA .................................................................. 19
Chng 2 THIT K B CHUYN I ETHERNET – E1 TRÊN CÔNG
NGH FPGA ........................................................................................................ 21
2.1 Thit k b chuyn i Ethernet – E1 trên FPGA ......................................... 21
2.2 Khi thu phát Ethernet (PHY Ethernet) ........................................................ 22
2.3 Khi kh i t!o (Initmodule) ........................................................................... 23
2.4. Khi Txmodule ........................................................................................... 25
2.4.1. Khi nl_frame ....................................................................................... 25
2.4.3. Khi Write Control Signals genetator ................................................... 30
2.4.4. Khi GFP Header và Ethernet Signals mapper ...................................... 34
2.4.5. Khi Read Control Signals genetator ..................................................... 37
2.4.6. Khi E1_frame ...................................................................................... 39
2.5. Khi giao tip lu"ng E1 (LIU) ..................................................................... 41
2.6. Khi Rxmodule ........................................................................................... 41

1
2.6.1. Khôi ph#c d$ liu và %nh th&i .............................................................. 41
2.6.2.Khi E1_deframe ................................................................................... 45
2.6.3.Khi Gfp_deframe ................................................................................. 47
2.6.4.Khi "ng b khung GFP ....................................................................... 48
2.6.5.Khi t!o tín hiu iu khin ghi RAM .................................................... 49
2.6.6.Khi t!o tín hiu iu khin c RAM và óng khung Ethernet ............. 49
2.6.7.Khi chuyn i d$ liu 8 bít thành chu'n MII ...................................... 51
2.7. Kt qu( mô ph)ng h thng ......................................................................... 52
Chng 3 KT QU VÀ ÁNH GIÁ .................................................................. 54
3.1 S " khi và thit k ph*n c+ng .................................................................. 54
3.1.1 S " khi .............................................................................................. 54
3.1.2 S " nguyên lý ..................................................................................... 55
3.2 Kt qu( th, nghim trên m!ch hoàn ch-nh .................................................... 60
3.2.1 Mô hình th, nghim thc t ................................................................... 60
3.2.2 Kt lun và kin ngh% ............................................................................. 60
TÀI LIU THAM KHO ..................................................................................... 62

2
LI CAM OAN

Tôi cam oan ây là công trình nghiên c+u c.a riêng tôi. Các s liu và kt
qu( nêu trong lun v/n là trung thc và cha t0ng 1c ai công b trong bt k2
công trình nào khác.

TÁC GI LU3N V4N

Tr*n +c Chính

3
DANH MC CÁC KÝ HIU, CÁC CH VIT TT

STT Vit tt Ting Anh Ting Vit


1 CAS Channel Associated Báo hiu kênh riêng
Signalling
2 CRC Cyclic Redundancy Check Kim tra d vòng
3 DCO Digital Control Oscillator B iu khin dao ng s
4 DHCP Dynamic Host Giao th+c cu hình ng máy ch.
Configuration Protocol

5 EoPDH Ethernet over PDH Truyn ethernet trên nn h! t*ng


PDH

6 HDLC High-Level Data Link iu khin liên kt d$ liu m+c cao
Control
7 MAC Media Access Control iu khin truy nhp
8 MII Media Independent Chu'n giao din giao tip d$ liu IP
Interface m+c vt lý
9 MLT-3 Multi-Level Transmit 3 Mã truyn d$ liu a m+c (Mt lo!i
mã &ng dây)

10 NRZ Non Return to Zero Mã &ng dây mà m+c tín hiu


không quay tr l!i m+c 0

11 NRZI Non Return to Zero Mt lo!i mã &ng dây ((o c.a mã
Inverted NRZ)

12 GFP Generic Framing Procedure Thut toán óng khung chung

13 PDH Plesiochronous Digital K thut phân cp s c n " ng b


Hierarchy
14 SDH Synchronous Digital K thut phân cp s "ng b
Hierarchy

4
DANH MC BNG BIU

B(ng 2.1 Mô t( giao din khi InitModule ............................................................ 23


B(ng 2.2 Tham s th&i gian tín hiu reset cho khi PHY Ethernet ......................... 24
B(ng 2.3. Mô t( giao din khi nl_frame ............................................................... 25

5
DANH MC CÁC HÌNH V,  TH

Hình 1.1 Cu trúc khung d$ liu Ethernet .............................................................. 10


Hình 1.2 Cu trúc khung d$ liu c.a lu"ng E1 ...................................................... 12
Hình 1.3 Cu trúc a khung c.a lu"ng E1 .............................................................. 13
Hình 1.4 Các bit ch+c n/ng CRC c.a lu"ng E1 ..................................................... 14
Hình 1.5 Cu trúc khung GFP ................................................................................ 15
Hình 1.6 So sánh khung d$ liu HDLC và GFP ..................................................... 17
Hình 1.7 Quá trình mapping d$ liu t 0 khung GPF vào khung E1 ......................... 18
Hình 2.1 S " khi thit k b chuyn i E1-Ethernet ........................................ 21
Hình 2.2 Gi(n " th&i gian tín hiu thu phát vt lý Ethernet .................................. 22
Hình 2.3 Khi kh i t!o iu kin ban *u ............................................................. 23
Hình 2.4 Gi(n " th&i gian tín hiu reset cho khi PHY Ethernet .......................... 24
Hình 2.5 Khi phân tích khung Ethernet ................................................................ 25
Hình 2.6 Kt qu( mô ph)ng thc hin khi nl_frame ............................................. 28
Hình 2.7 S " thit k khi ghép kênh GFP ......................................................... 29
Hình 2.8 Lu " thut toán t!o tín hiu iu khin ghi RAM ................................. 31
Hình 2.9 Mô ph)ng thc hin thut toán t !o tín hiu iu khin ghi RAM ............ 33
Hình 2.10 Cu trúc d$ li u khung GFP ................................................................. 34
Hình 2.11 Lu " thut toán thc hin ghép kênh GFP ......................................... 35
Hình 2.12 Mô ph) ng thc hin thut toán GFP ...................................................... 36
Hình 2.13 Thut toán t!o tín hiu iu khin c RAM ......................................... 38
Hình 2.14 Mô ph) ng các tín hiu  iu khin c Ram ........................................... 38
Hình 2.15 S " khi ghép kênh E1_frame........................................................... 39
Hình 2.16 Mô ph) ng thc hin t!o xung %nh th&i cho khi E1_frame .................. 39
Hình 2.17 Mô ph) ng thc hin ghép kênh E1_frame ............................................. 40
Hình 2.18 Mô ph) ng d$ liu E1 chuyn thành chu5i bít ni tip tc  E1 ............ 41
Hình 2.19 Quá trình khôi ph#c d$ liu và %nh th&i ............................................... 42
Hình 2.20 Tín hiu ã 1c khôi ph#c không có nhi6u. ......................................... 42

6
Hình 2.21 Tín hiu ã 1c khôi ph #c có nhi6u. ................................................... 43
Hình 2.22 *u ra b lc trung bình c.a tín hiu không có nhi6u ............................ 43
Hình 2.23 *u ra b lc trung bình c.a tín hiu có nhi6u ...................................... 43
Hình 2.24 Khôi ph#c %nh th&i DPLL .................................................................... 44
Hình 2.25 S " nguyên lý làm vic b tách sóng pha ........................................... 45
Hình 2.26 Mô ph) ng khi khôi ph#c %nh th&i ...................................................... 45
Hình 2.27 S " thit k khi E1_deframe ............................................................ 45
Hình 2.28 Thut toán thc hin "ng b khung E1 ............................................... 46
Hình 2.29 S " thit k khi GFP_deframe.......................................................... 47
Hình 2.30 Mô ph) ng thc hin "ng b GFP_Deframe ......................................... 48
Hình 2.31 Mô ph)ng t!o tín hiu iu khin ghi RAM ......................................... 49
Hình 2.32 Lu " thut toán iu khi n tín hiu c Ram và ghép khung Ethernet
.............................................................................................................................. 49
Hình 2.33 Mô ph) ng t!o tín hiu c Ram và óng khung Ethernet ...................... 51
Hình 2.34 Mô ph) ng thc hin chuyn  i 8 bít thành nible 4 bit .......................... 52
Hình 2.35 Mô ph) ng *u vào và *u ra c.a h thng E1_Ethernet ........................ 53
Hình 3.1 S " khi b chuy n i Ethernet-E1 .................................................... 54
Hình 3.2 S " nguyên lý tng quát ....................................................................... 55
Hình 3.3 S " nguyên lý m!ch giao tip lu"ng E1 ............................................... 55
Hình 3.4 S " nguyên lý m!ch FPGA .................................................................. 56
Hình 3.5 S " nguyên lý m!ch thu phát Ethernet ................................................. 57

Hình 3.6 S " nguyên lý m!ch ngu"n .................................................................. 58


Hình 3.7 M! ch in PCB .......................................................................................... 58
Hình 3.8 M! ch l7 p ráp hoàn ch-nh ......................................................................... 59
Hình 3.9 Mô hình th, nghim thc t .................................................................... 60

7
M U

Trong bi c(nh nhu c*u và s phát trin công ngh thông tin m!nh m8 nh
hin nay, h thng m!ng truyn d9n óng vai trò cc k2 quan trng và là xng
sng c.a bt k2 h thng thông tin nào. H thng m!ng l:i truyn d9n v:i ch+c
n/ng truyn t(i d$ liu ngày càng ph(i áp +ng 1c các yêu c*u nh dung l1ng
l:n, tính th&i gian thc c.a các d%ch v# tho!i, video…c.a các h thng +ng d#ng
truyn thông và công ngh thông tin.   áp +ng 1c nhu c*u s, d#ng d%ch v#
ngày càng cao, các công ngh truyn d9n c;ng phát trin không ng 0ng và a d!ng.
Hin nay c s h! t*ng m!ng truyn d9n c.a n:c ta ch. yu v9n da trên nn
m!ng truyn d9n s, d#ng công ngh PDH và SDH; các thit b% cung cp d%ch v#
truyn thng nh tng ài, vi ba lu"ng …kt ni v:i m!ng truyn d9n theo chu'n
E1. Tuy nhiên, các thit b % cung cp d%ch v# hin !i nh truyn hình, voice IP …
ngày nay u 1c thit k theo chu'n IP và không th kt ni trc tip v:i h
thng truyn d9n theo chu'n E1. Nh vy, nhu c*u c*n ph(i chuyn i t0 giao din
Ethernet sang giao din E1  các thit b % *u cu i IP s, d#ng 1c nn t(ng m!ng
truyn d9n hin nay là cc k2 c*n thit. Do ó tôi chn  tài “Nghiên cu và thit
k b chuyn i Ethernet - E1 trên công ngh FPGA” v:i m#c ích thit k
1c mt thit b% bin i trung gian  các thit b% *u cui v:i giao din IP s,
d#ng 1c c  s h! t*ng m!ng truyn d9n chu'n E1 hi n có. Bên c!nh ó, ây c;ng
là c hi cho b(n thân tôi, là ng&i làm công tác nghiên c+u trong mt c s nghiên
c+u trong n:c, có th làm ch. và áp d#ng công ngh hi n !i vào thit k và s(n
xut thit b% vi6n thông.
Lun v/n 1c chia làm 3 ch ng:
Chng 1 Tng quan
Trình bày tng quan, ng7n gn v k thut Ethernet – over – PDH và các vn
 liên quan.
Chng 2 Thit k b chuyn i Ethernet-E1 trên công ngh FPGA

8
Trong chng này, tr:c ht phân tích và a ra các tiêu chí  la chn nn
t(ng ph*n c+ng FPGA cho thit k. K n, trên c s lý thuyt chng 1, xây
dng s " khi chi ti t, lp trình và mô ph)ng các khi ch+c n/ng trên FPGA, k
thut x, lý s, lu " thut toán c;ng nh  kt qu( mô ph)ng trên các công c# thit
k.
Chng 3 Kt qu và ánh giá
Trình bày c# th s  " khi, s " nguyên lý, s " m!ch in c.a thit k
hoàn ch-nh. So sánh kt qu ( mô ph)ng và kt qu( thc nghim c.a thit b%. ánh
giá kt qu( nghiên c+u, tính +ng d#ng kh( thi c.a  tài.

9
Chưng 1. TNG QUAN

1.1 Tng quan v k thut Ethernet – over – PDH (EoPDH)


Ethernet – over – PDH (EoPDH) là tp h1p c.a nh$ng k thut và chu'n cho
phép chúng ta truyn các khung d$ liu Ethernet trên nn h! t*ng truyn d9n PDH.
iu này cho phép m rng kh( n/ng cung cp d%ch v# c.a m!ng truyn d9n, các
thit b% truyn d9n PDH ho<c SDH có th cung cp cho ng&i dùng d%ch v#
Ethernet. Ngoài ra, k thut này c;ng phù h1p v:i xu h:ng hi t# c.a m!ng vi6n
thông th h m:i, v:i công ngh IP là ch. !o. Các k thut chính x, d#ng trong
EoPDH là óng gói khung d$ liu (frame encapsulation) %nh d!ng khung GFP theo
chu'n G.7041; ánh x! d$ liu Ethernet trên khung d$ liu PDH (mapping Ethernet-
over-PDH framing). Ngoài ra còn có các k thut khác trên l:p cao hn nh
VLAN tagging, phân quyn u tiên QoS và mt s giao th+c l:p +ng d#ng nh
DHCP server, giao din ng&i dùng s, d#ng HTML.  hiu rõ k thut EoPDH,
tr:c ht chúng ta ph(i hiu 1c cu trúc khung d$ liu Ethernet và E1.

1.1.1 Cu trúc khung Ethernet

Hình 1.1 Cu trúc khung d$ liu Ethernet

10
1.1.1.1 Trưng Preamble
Tr&ng Preamble g"m có 8 byte xen k8 các bít ‘0’ và bít ‘1’, m#c ích c.a
tr&ng này là thông báo khung và cho phép các máy thu trên m!ng "ng b v:i
khung ang n. Trong cu trúc khung theo chu'n IEEE 802.3 thì còn có thêm
tr&ng SOF (Start of Frame) là byte cui trong 8 byte preamble kt thúc b=ng 2 bit
‘1’ liên tip  xác %nh *u khung.

1.1.1.2 Trưng Desstiation and Source Address


Tr&ng này ch+a %a ch- MAC c.a máy nhn và %a ch- MAC c.a máy g,i,
m5i %a ch- MAC này g"m 6 byte. %a ch- c.a máy g,i là duy nht còn %a ch- c.a
máy nhn có th là mt (unicast), nhiu (multicast), ho<c qu(ng bá (broadcast).

1.1.1.3 Trưng Type (Ethernet)


Tr&ng này dùng cho giao th+c l:p trên cho bit d$ liu ch+a trong frame là
lo!i d$ liu c.a giao th+c l:p trên nào.

1.1.1.4 Trưng Length (IEEE 802.3)


Tr&ng này cho bit chiu dài tính theo s byte c.a tr&ng d$ liu.

1.1.1.5 Trưng Data


Ngay sau khi l:p vt lý và l:p liên kt x, lý xong, d$ liu 1c g,i lên giao
th+c c.a l:p cao hn k tip. n v% d$ liu nh) nht là 64 byte, nu d$ liu không
. thì mt s byte d$ liu m s8 1c chèn thêm vào  b(o (m ph*n d$ liu nh)
nht c.a khung ph(i là 64 byte.

1.1.1.6 Trưng Frame Check Sequence


Tr&ng FCS cung cp k thut phát hin l5i, thut toán phát hin l5i CRC
1c s, d#ng cho máy thu và máy phát  t!o ra giá tr% CRC cho tr&ng FCS.
Tr&ng FCS bao g"m 4 byte (32 bít) ch+a các giá tr% CRC, các giá tr% này 1c tính
toán nh mt hàm ni dung c.a các tr&ng: %a ch- ích, %a ch- ngu"n, chiu dài
tr&ng d$ liu, d$ liu. Thut toán mã hóa 1c thc hin ly d$ liu D 1c nhân
v:i X n và 1c chia b i a th+c G(x).

11
1.1.2 Cu trúc khung E1
Trong truyn d9n PDH, cu trúc khung E1 v:i tc  2.048 Mbps theo chu'n
G.704 c.a ITU-T 1c %nh ngh>a nh sau:

Mt khung có th&i gian 125µs 1c chia thành 32 khe th&i gian b=ng nhau
và ánh s th+ t t0 TS0 n TS31; m5i khe th&i gian TS dài 3.9 µs g"m mt t0 mã
8 bit. M5i khung g"m có 256 bit và chu k2 l<p l!i c.a khung là 8000Hz. B/ng thông
mà mt khe th&i gian chim 64kbps.

Hình 1.2 Cu trúc khung d$ liu c.a lu"ng E1

12
Hình 1.3 Cu trúc a khung c.a lu"ng E1

Các khe TS0 +ng *u các khung ch?n g"m bit Si 1c s, d#ng cho quc t
(nu không dùng thì 1c <t b=ng 1) và b(y bit còn l!i là t0 mã "ng b khung có
giá tr% là 0011011. Các khe TS0 +ng *u các khung l@ g"m bit th+ nht là Si dùng
cho m!ng quc t (nu không dùng thì 1c <t b=ng 1), bit th+ hai luôn có giá tr%
b=ng 1  tránh trùng v:i t0 mã "ng b khung, bit th+ ba dùng cho c(nh báo xa khi
mt "ng b khung, n/m bit còn l!i dùng cho quc gia. Khi tr!m *u xa không thu
1c t0 mã "ng b khung thì bit A 1c bt lên 1  báo cho tr!m gc bit.

M5i a khung ch+a 16 khung và có th&i gian là 2ms. Các khung 1c ánh
s th+ t t0 F0 n F15, trong ó 8 khung mang ch- s ch?n và 8 khung mang ch- s
l@. Khe th&i gian TS16 c.a khung F0 ch+a t0 mã "ng b a khung có giá tr%
0000xyxx trong ó 4 bit *u có giá tr% 0000 là mã "ng b a khung, bit th+ 6 y
1c <t b=ng 1  c(nh báo mt "ng b a khung *u xa, các bit còn l!i x nu
không s, d#ng 1c <t b=ng 1. Các khe th&i gian TS16 c.a các khung t0 F1 n

13
F15 dùng  truyn báo hiu. Báo hiu c.a m5i kênh tho!i 1c mã hóa thành 4 bit
a, b, c, d và ghép vào n,a khe th&i gian TS16; n,a bên trái (trng s cao) truyn báo
hiu c.a các kênh tho!i t0 1 n 15, n,a bên ph(i (trng s thp) s8 truyn báo hiu
c.a các kênh tho!i t0 16 n 30. Nh vy ph(i có 16 khe th&i gian TS16 trong mt
a khung v0a .  truyn báo hiu cho 30 kênh tho!i và "ng b a khung.
Phng th+c truyn báo hiu trên 1c gi là báo hiu kênh kt h1p CAS (Channel
Associated Signalling).

Trong tr&ng h1p lu"ng E1 dùng  truyn s liu, thì bit Si trong khe th&i
gian TS0 là bit kim tra d vòng CRC.

Hình 1.4 Các bit ch+c n/ng CRC c.a lu"ng E1

14
Trong hình 1.4 mô t( ch+c n/ng các bit c.a khe th&i gian TS0 trong m5i a
khung g"m 16 khung. Có th coi nh a khung 16 khung g"m 2 a khung con, a
khung con th+ nht g"m khung 0 n khung 7; a khung con th+ hai g"m khung 8
n khung 15. Bit th+ nht trong các khung ch?n c.a m5i a khung con là các bit
kim tra d chu trình C1, C2, C3, C4 (CRC-4) . Bit th+ nht trong các khung l@ c.a
m5i a khung con t!o thành t0 mã "ng b a khung CRC-4 , bit th+ nht trong
khung 13 ch- th% l5i bit c.a CRC-4 c.a a khung con th+ nht, bit th+ nht trong
khung 15 ch- th% l5i bit c.a CRC-4 c.a a khung con th+ hai.

1.1.3 Cấu trúc khung GFP


GFP 1c %nh ngh>a trong chu'n G.7041 c.a ITU.T s, d#ng HEC (Header
with Error Control) 1c minh ha nh hình v8 d:i ây.

Hình 1.5 Cu trúc khung GFP

15
1.1.3 .1 Trưng GFP Core Header

Tr&ng GFP Core Header có ch+c n/ng qu(n lý liên kt d$ liu gi$a các
khung GFP v:i l:p phía trên. Tr&ng GFP Core Header có chiu dài 4 byte và ch+a
2 tr&ng là Payload Length Indicator (PLI) và Core HEC (cHEC).

• Trng Payload Length Indicator (PLI): có  dài 2 byte, dùng  ch-


kích th:c tính theo byte c.a d$ liu GFP payload. Tr&ng này c;ng cho
chúng ta bit 1c th&i im b7t *u c.a khung GFP tip theo trong
chu5i d$ liu n (vì %a ch- cui cùng c.a vùng d$ liu thì c;ng là %a
ch- c.a khung d$ liu tip theo).
• Trng Core HEC (cHEC): có  dài 2 byte, ch+a các bit kim tra d
vòng (Cyclic Redundancy Check) CRC-16 v:i ch+c n/ng b(o v, gi$
nguyên tr!ng c.a Core Header. Các tr&ng cHEC liên tip dùng  kim
tra d vòng theo chu'n CRC-16. CRC-16 có th phát hin mt hay nhiu
bit l5i. CRC-16 phát hin mt l5i và s,a l5i 1c dùng nhiu trong các
liên kt có t- l l5i bit cao.

1.1.3 .2 Trưng GFP Payload

ây là ph*n còn l!i c.a khung GFP sau tr&ng GFP Core Header. Tr&ng
này có  dài có th dao ng trong kho(ng t0 0 n 65 535 octet. Tr&ng này l!i
bao g"m 3 tr&ng con là: Payload header, Payload information và Payload FCS.

1.1.4 K thut Frame encapsulation


Là mt k thut ó các khung Ethernet 1c ghép trong mt khung d$ liu
khác  truyn d9n trên m!ng PDH. Nguyên t7c c b(n c.a k thut này là phát
hin byte *u tiên và byte cui cùng c.a khung Ethernet, sau ó thc hin ánh x!
các khung Ethernet r&i r!c thành chu5i d$ liu liên t#c, ngoài ra Encapsulation c;ng
thc hin vic phát hin l5i b=ng vic thêm chu5i kim tra khung (FCS) vào m5i
khung. Mt s chu'n Encapsulation th&ng 1c s, d#ng trong EoPDH là : High –
Level data link control (HDLC), Link Access Proceduce for SDH (LAPS/X.86), và

16
Generic Framing Procedure (GFP). M<c dù v m<t lý thuyt có nhiu k thut có
th s, d#ng  óng khung d$ liu Ethernet nhng hin nay, GFP là k thut có
nhiu u im và là mt phng pháp 1c a chung nht.
GFP cung cp mt gi(i pháp óng khung linh ho!t dùng 1c cho c( d$ liu
có cu trúc khung c %nh và thay i. Không ging nh gi(i pháp óng khung
HDLC, GFP không dùng byte c&  phân %nh d$ liu thay vào ó là khung phân
%nh HEC.

Hình 1.6 So sánh khung d$ liu HDLC và GFP

Chú ý: Các ch s trong d u ngo c ơn  trên hình 1.6  c tính bng byte

Nh trên hình 1.6 chúng ta có th thy cùng là ph*n d$ liu Ethernet sau khi
1c tách ph*n mào *u và ph*n ph# i s8 1c óng khung l!i b=ng cách thêm vào
các tr&ng nh Start Flag, Stop Flag k thut HDLC và GFP Core Header, GFP
Payload Header k thut GFP.  k thut óng khung HDLC, khi các c& Start và

17
Stop xut hin trong tr&ng d$ liu và các c& ó c*n 1c thay th b=ng mt chu5i
d$ liu khác d9n t:i vic b/ng thông d$ liu s8 b% t/ng lên. i v:i k thut óng
khung GFP, vic s, d#ng khung phân %nh HEC cho phép GFP không ph(i thay th
c& trong tr&ng d$ liu, <c im này em l!i cho GFP u im quan trng là có
th cung cp t(i trng có b/ng thông phù h1p và có th d báo tr:c.

1.1.5 K thut Mapping


Là quá trình mà các khung Encasulated Ethernet 1c <t vào khung E1 
truyn t(i qua m!ng truyn d9n.

Hình 1.7 Quá trình mapping d$ liu t0 khung GPF vào khung E1

Trong m c 1.1.2 v cu trúc khung E1, chúng ta ã bit khe th&i gian TS0
c.a m5i khung ch+a thông tin "ng b khung (v:i kênh tho!i) và ch+a các bit kim
tra CRC-4 (v:i kênh truyn s liu). Các khe th&i gian t0 TS1 n TS31 c.a m5i
khung trong cu trúc a khung (g"m 16 khung) s8 1c s, d#ng  mang d$ liu
Encasulated Ethernet gi là các GFP octets nh hình 1.5. Khe th&i gian TS1 trong
khung th+ nht c.a a khung s8 dùng  ch+a d$ liu mào *u ph#c v# cho vic
ghép ni d$ liu và 1c gi là Concatenation overhead octet. Trong tr&ng h1p
d$ liu Encasulated Ethernet khi ghép lên khung E1 mà v9n còn kho(ng trng thì s8
1c chèn thêm các byte d$ liu gi là GFP frame overhead ho<c IDLE patten.

18
D$ liu Encasulated Ethernet s8 1c xáo trn tr:c khi 1c ghép lên
khung E1.

1.2 Lí do l!a ch"n công ngh FPGA


Trong nh$ng n/m qua, các công ngh m:i nh FPGA, DSP, ARM phát trin
không ng0ng và rt nhanh chóng 1c +ng d#ng vào thc t; m5i lo!i u có nh$ng
u và nh1c im riêng so v:i các lo!i khác nh kh( n/ng tái cu hình, tc  x, lý,
công sut tiêu th# hay các b x, lý toán hc ph+c t!p. Ưu im c.a FPGA là kh(
n/ng linh ho!t trong thay i cu hình, can thip sâu vào l:p vt lý và v1t tri hn
c( là kh( n/ng x, lý song song. V:i u im v1t tri này, v:i cùng mt bài toán x,
lý thì ch- c*n mt IC có tc  xung nh%p thp c;ng có th x, lý các bài toán ph+c
t!p trong khi các dòng DSP, ARM c*n có tc  làm vic cao hn nhiu l*n. M<t
khác v:i iu kin ch t!o trong n:c, công ngh m!ch in còn nhiu h!n ch thì
vic làm m!ch v:i tc  quá cao là rt khó kh( thi, vì lý do này nên vic chn linh
kin có tc  không c*n quá cao, có kiu chân d6 hàn b=ng tay cho bài toán thit k
là phù h1p v:i thc t ch t!o hin t!i Vit Nam.
Mt u im c.a FPGA n$a là kh( n/ng can thip sâu vào ph*n c+ng. Trong
thit k các m!ch s chúng ta g<p rt nhiu bài toán thc t nh x, lý lo!i b) nhi6u,
quyt %nh ngBng, chng Jitter, t!o m!ch tr6… nu không can thip sâu vào ph*n
c+ng thì s8 không ti u 1c thit k.
Vic la chn ph*n c+ng nào cho vic thc hin thit k còn mt ph*n 1c
quyt %nh b i môi tr&ng phát trin ph*n mm h5 tr1 trên nó, t0 cách th+c lp
trình, ngôn ng$, th vin, các h thng công c# h5 tr1 i kèm. Môi tr&ng phát trin
ph*n mm này s8 cho phép tn d#ng 1c nhiu mô-un ph*n mm ã 1c chu'n
hóa tr:c ó, không nh$ng nâng cao 1c cht l1ng c.a  tài mà còn rút ng7n
th&i gian thit k s(n ph'm. Xilinx ISE (Integrated Software Environment) là mt
b ph*n mm thit k c.a Xilinx , cho phép ta thc hin các h thng nhúng c.a
Xilinx t0 khâu thit k ban *u (thông qua VHDL, Verilog HDL, ABEL ho<c là v8
Schematic) cho n khâu cui cùng là n!p thit k c.a mình lên IC kh( trình FPGA.
Xilinx ISE còn h5 tr1 mô ph)ng các file d!ng HDL  kim tra xem h thng có

19
ho!t ng úng nh yêu c*u c*n thit k hay không. Ngoài ra, Xilinx ISE còn có th
kt h1p v:i ph*n mm ModelSim c.a hãng Mentor Graphic ho<c ph*n mm System
Generator c.a Xilinx  thc thi nh$ng tác v# mô ph)ng vit b=ng ngôn ng$
VHDL.

Vì nh$ng lý do nêu trên, tôi chn ngôn ng$ mô t( ph*n c+ng VHDL và công
c# thit k ISE c.a hãng Xilinx  làm công c# chính cho  tài lun v/n “Nghiên
c+u và thit k b chuyn i Ethernet – E1 trên công ngh FPGA ” c.a mình.

20
Chưng 2. THIT K B# CHUYN I ETHERNET – E1 TRÊN CÔNG
NGH FPGA

2.1 Thit k b chuyn i Ethernet – E1 trên FPGA


B chuyn i Ethernet – E1 thc hin vic chuyn i d$ liu gi$a các gói
c.a khung MAC Ethernet và chu5i d$ liu ni tip có tc  E1 theo chu'n G.703.
B chuyn i này làm vic theo ch  song công, tc  chu5i bít *u ra ph#
thuc vào tín hiu xung nh%p "ng h" (xung clock) a vào. Trong thit k này, tín
hiu xung nh%p "ng h" 1c thit lp là 2048 kHz.
B chuyn i Ethernet - E1 1c thit k  kt ni máy tính (PC) hay các
thit b% có giao din d%ch v# IP (có th ho!t ng t!i các tc  10 Mbps ho<c 100
Mbps) v:i m!ng truyn s liu PDH, SDH, vì vy d!ng d$ liu ph(i tuân th. theo
chu'n tc  c s E1 (G.703-ITU).

Hình 2.1 S " khi thit k b chuyn i E1-Ethernet


Khi x, lý Khung Ethernet, GFP và E1 trên FPGA g"m 3 ph*n chính nh sau:
- Mô un kh i t!o (Thc hin kh i t!o các tín hiu clock, tín hiu reset và iu
khin các khi ngo!i vi).

21
- Mô un phát (Thc hin thu d$ liu Eth và x, lý chuyn i d$ liu thành
lu"ng E1  phát lên &ng dây).
- Mô un thu (Thu d$ liu lu"ng E1 trên &ng dây và chuyn i thành d$
liu Ethernet).
Các mô-un chính trong thit k này là Initmodule, Txmodule, Rxmodul. Khi
bt ngu"n, Initmodule s8 t!o ra các tín hiu reset, iu khin cho IC ngo!i vi giao
tip Ethernet, sau ó Txmodule và Rxmodul b7t *u làm vic. Các khung Ethernet
thu 1c t0 IC PHY (DM9161A c.a hãng DAVICOM) 1c lu tr$, x, lý và
chuyn i thành chu5i d$ liu ni tip tc  E1 b i khi Txmodule, trong khi ó
chu5i d$ liu ni tip E1 1c x, lý và chuyn i thành các gói Ethernet b i khi
Rxmodule.

2.2 Kh$i thu phát Ethernet (PHY Ethernet)


 kt ni mô un Ethernet-E1 v:i các m!ng Ethernet, ta ph(i s, d#ng mt
IC giao tip vt lý  chuyn i các tín hiu s thành các tín hiu tng t thích
h1p. Tín hiu truyn d9n l:p vt lý là tín hiu b/ng gc ã 1c mã hóa theo mã
&ng dây Manchester. Mã Manscherter 1c mô t( nh sau:

Hình 2.2 Gi(n " th&i gian tín hiu thu phát vt lý Ethernet

Khi này 1c thc hin b=ng cách kt h1p nhiu khi nh b bin i d$
liu song song thành ni tip, b chuyn i mã NRZ thành mã NRZI và các b mã
hóa/ gi(i mã nh% phân thành MLT-3. Ngoài ra khi không có gói  truyn, b thu
phát PHY truyn các xung iu khin (m5i xung có  rng 16 ms)  duy trì kt

22
ni. Nu máy thu trên m!ng không nhn 1c các xung ó trong kho(ng 100 ms thì
kt ni 1c quyt %nh là có l5i. Ngoài ra, các mô un thu phát vt lý có ch+c n/ng
phát hin sóng mang và phát hin xung t  thông tin cho l:p MAC trong quá
trình thu phát d$ liu.
H*u ht các b thu phát vt lý cung cp và h5 tr1 giao din chu'n MII
(Media Independent Interface), 1c quy %nh theo chu'n IEEE 802.3u. Giao din
này 1c thit k  kt ni b thu/phát tín hiu l:p vt lý PHY v:i l:p MAC. Giao
din qu(n lý c.a chu'n MII cho phép cu hình và iu khin mt ho<c nhiu b
thu/phát PHY.
Giao din khi thu PHY bao g"m: RXD [3:0], RX_DV, RX_CLK, RX_ER
và giao din khi phát PHY bao g"m: TXD[3:0], TX_EN, TX_CLK, TX_ER.
Trong ó, tín hiu Clock thu/phát t!o dao ng có t*n s 2.5 Mhz trong ch 
Ethernet tc  10 Mbps hay 25 Mhz trong ch  Ethernet tc  100 Mbps. Ngoài
ra, MII còn có tín hiu CRS, h5 tr1 vic phát hin xung t khi thu phát d$ liu.
Giao din MII cung cp bus d$ liu 4 bit, vì vy ta có th dùng mt thanh ghi
8 bít  c và lu d$ liu MII v:i mt clock có chu k2 gp ôi. Mt im n$a c*n
chú ý là các tín hiu d$ liu và các tín hiu vào ra khác c.a b thu phát PHY u
thay i t!i s&n âm c.a clock. Do vy khi cht d$ liu, các tín hiu ph*n thu 1c
cht t!i s&n dng c.a RX_CLK và các tín hiu bên ph*n phát 1c cht t!i s&n
âm c.a TX_CLK.

2.3 Kh$i kh%i t&o (Initmodule)

Hình 2.3 Khi kh i t!o iu kin ban *u


B(ng 2.1 Mô t( giao din khi InitModule
Ký hiu chân S$ lư'ng chân Hư(ng d) liu *c trưng
Init_clk 1 *u vào Clock 10khz
reset 1 *u vào Tín hiu reset h thng, tích

23
cc m+c cao
Phy_reset 1 *u ra Tích cc m+c thp, reset IC
PHY
Out_en 1 *u ra Tích cc m+c cao, cho phép
txmodule và rxmodule làm
vic bình th&ng

Trong mt s các tr&ng h1p, khi cp ngu"n IC PHY không th làm vic
bình th&ng do mt vài chân IC có m+c không xác %nh. Vì vy ph(i thc hin kh i
t!o ch  làm vic cho IC PHY. Tr:c tiên, thc hin reset IC PHY, cu hình ch
 ho!t ng cho IC PHY (fulldulex, auto …), sau ó m:i kích ho!t các mô un Tx
và Rx làm vic. Vic t!o tín hiu reset và iu khin IC PHY ph(i 1c thit k
theo gi(n " th&i gian c.a IC PHY DM9161A 1c minh ha trong Table 2
B(ng 2.2 Tham s th&i gian tín hiu reset cho khi PHY Ethernet

Tín hiu reset_phy ph(i 1c gi$ m+c in áp thp ít nht 10 ms, vì th
vic dùng init_clk là 10 kHz s8 t!o ra tín hiu reset theo úng yêu c*u. sau ó m:i
chuyn lên m+c in áp cao sau 40 ns, gi(n " th&i gian nh hình sau

Hình 2.4 Gi(n " th&i gian tín hiu reset cho khi PHY Ethernet

24
2.4. Kh$i Txmodule
Mô un Txmodule bao g"m các khi nl_frame, gfp_frame, E1_frame. Mô
un nl_frame thc hin vic phân tích gói d$ liu Ethernet, trong kho(ng th&i gian
tín hiu phy_rxen có m+c in áp cao (ngh>a là mt khung ã 1c thu), da trên
thông tin t0 tr&ng Preamble và SFD, nl_frame t!o ra các tín hiu b7t *u gói
(start_of_frame) và kt thúc gói (end_of_frame) Ethernet, trên c s ó tính toán
1c s byte d$ liu c.a gói Ethernet (bao g"m %a ch-, d$ liu và CRC). Các gói
d$ liu d!ng nibble 4 bit 1c chuyn thành các gói d$ liu byte 8 bit.

2.4.1. Kh$i nl_frame

Hình 2.5 Khi phân tích khung Ethernet

B(ng 2.3. Mô t( giao din khi nl_frame


Ký hiu S$ lư'ng Hư(ng d) *c trưng
chân chân liu
En 1 *u vào Tích cc m+c cao, khi thit lp mô un
ho!t ng bình th&ng
Rxdv_4 1 *u vào Tích cc m+c cao, thit lp khi rxd_4
thích h1p
Rxclk_4 1 *u vào 25 Mhz trong ch  100Mbps, 2.5
Mhz trong ch  10Mbps
Rxd_4 4 *u vào D$ liu t0 PHY d!ng nibble, chu'n
MII
Rxdv_8 1 *u ra Tích cc m+c cao, thit lp khi rxd_8

25
thích h1p
Rxclk_8 1 *u ra (o ng1c rxclk_4
Rxd_8 8 *u ra D$ liu 8 bit, thích h1p t!i s&n dng
rxclk_8 và rxdv_8 m+c cao
Frame_start 1 *u ra Xung b7t *u khung d$ liu
Frame_end 1 *u ra Xung kt thúc khung d$ liu

Thut toán thc hin mô un nl_frame nh sau:


Kh i t!o fsm tr!ng thái “idle”, khi ang tr!ng thái idle, fsm b7t *u kim
tra tr&ng preamble. Nu tín hiu rxdv_4 có m+c ‘1’ và rxd_4 = “0101” có ngh>a là
b7t *u tr&ng preamble, khi ó fsm chuyn sang tr!ng thái Hunt và thit lp tín
hiu frame_end m+c ‘0’.
Khi fsm ang tr!ng thái Hunt, b7t *u kim tra tr&ng SFD, khi rxdv_4 có
m+c ‘1’ và rxd_4 có giá tr% “1101” thì fsm chuyn sang tr!ng thái thu nible thp
Low và "ng th&i thit lp tín hiu frame_start lên m+c ‘1’  báo hiu b7t *u gói
d$ liu.
Khi fsm ang tr!ng thái Low, thit lp tín hiu rxdv_8 xung m+c ‘0’. Nu
tín hiu rxdv_4 có m+c ‘1’ thì fsm chuyn sang tr!ng thái thu nibble cao High, "ng
th&i thit lp tín hiu frame_start xung m+c ‘0’ và gán d$ liu rxd_4 vào thanh ghi
rxd_4_low. Ng1c l!i c;ng tr!ng thái này, nu tín hiu rxdv_4 có m+c ‘0’ thì fsm
s8 chuyn sang tr!ng thái idle và thit lp tín hiu frame_end lên m+c ‘1’  báo
hiu kt thúc gói d$ liu.
Khi fsm ang tr!ng thái High, nu rxdv_4 có m+c ‘1’ thì fsm s8 chuyn
sang tr!ng thái low, "ng th&i thit lp tín hiu rxdv_8 m+c ‘1’ và ghép d$ liu
rxd_4 và rxd_4_low thành d$ liu 8 bit rxd_8. Ng1c l!i, c;ng tr!ng thái này, nu
rxdv_4 có m+c ‘0’ thì fsm s8 chuyn sang tr!ng thái idle và thit lp tín hiu rxdv_8
m+c ‘0’.
Mô ph)ng mô un nl_frame trên ph*n mm modelSim, quan sát trên hình
2.6 ta thy r=ng d$ liu Ethernet a vào g"m có các bus d$ liu và %nh th&i:

26
rxd_4, rxclk_4, rxdv_4. Lúc *u, cha có d$ liu gói Ethernet thì trên bus rxd_4
truyn các nible preamble “0101” và tr!ng thái là idle, khi có d$ liu báo hiu b7t
*u khung n SFD “1101” và rxdv_4 có m+c ‘1’ t!i s&n dng c.a rxclk_4 thì
thit lp state sang tr!ng thái thu nible thp “Low”, t!i s&n dng c.a rxclk_4 tip
theo thit lp state sang tr!ng thái thu nible cao “High”, "ng th&i khi ó thit lp
c& báo b7t *u khung frame_start lên m+c 1. T!i s&ng dng rxclk_4 tip theo,
state l!i 1c chuyn v tr!ng thái thu nible thp và thc hin ghép và cht d$ liu
c.a nible thp và cao tr:c ó thành mt byte d$ liu rxd_8, thit lp rxdv_8 lên
m+c ‘1’  báo hiu byte rxd_8 là úng.
Nh trên hình v8, sau SFD”1101”, hai nible ni tip nhau có giá tr% “0000”, do vy
t!i s&n dng rxclk_4 và rxdv_8 có m+c ‘1’ thì byte d$ liu rxd_8 có giá tr% là
“00000000”. Tng t, hai nible thp và cao sau ó có giá tr% l*n l1t là “1000” và
“0100”, khi ó d$ liu rxd_8 s8 là “01001000”. Tng t d$ liu rxd_8 s8 1c
cht t!i nh$ng nible tip theo.
Khi State dang tr!ng thái “Low”, khi phát hin báo hiu kt thúc khung Ethernet
là rxdv_4 có m+c ‘0’, thc hin chuyn state thành tr!ng thái idle  thu khung tip
theo, "ng th&i thit lp c& báo kt thúc khung frame_end lên m+c ‘1’ và xóa c& ó
v m+c ‘0’ t!i s&ng dng c.a rxclk_4 tip theo.

27
Hình 2.6 Kt qu( mô ph)ng thc hin khi nl_frame

a, Mô t( thc hin thut toán nl_frame t0 *u khung n cui khung Eth

b, Mô t( thc hin thut toán nl_frame giai o!n *u khung Ethernet

c, Mô t( thc hin thut toán nl_frame giai o!n cui khung Ethernet

28
2.4.2. Kh$i GFP_frame

Hình 2.7 S " thit k khi ghép kênh GFP

Khi GFP_frame g"m 4 khi c b(n: GFPframe_Ram (B nh: lu d$ liu);
Write control signals generator (t!o các tín hiu iu khin ghi d$ liu vào b nh:
Ram); Read control signals generator (t!o các tín hiu iu khin c b nh: Ram);
GFP header signals generator (t!o các tín hiu mào *u cho khung d$ liu GFP).
B nh: “GFPframe_Ram” 1c t ch+c theo chu'n Dual Port Ram  lu d$
liu  x, lý.
Khi “Write control” nhn các tín hiu *u vào (Eth_fr_start, Eth_fr_end,
Rxclk_8, Rxdv_8) t0 khi nl_frame, x, lý các gói d$ liu Ethernet. Sau ó a ra
con tr) ghi “wpointer” và d$ liu khung phân %nh cHEC, "ng th&i a ra giá tr%
con tr) “hwpointer” ch- th% v% trí c.a khung phân %nh cHEC. M<t khác khi này
c;ng nhn tín hiu con tr) c t0 khi “Read Control”  phát hin và x, lý tr!ng
thái c.a “GFPframe_Ram” là full hay empty.
Khi “GFP header “ nhn các tín hiu *u vào (wpointer, cHEC) t0 khi
“Write Control” và d$ liu Ethernet “Rxd_8” t0 khi “nl_frame”. Khi này thc
hin vic t!o khung GFP và ghép các gói d$ liu Ethernet vào khung GFP ó. Sau
ó các khung GFP 1c ghi vào b nh: GFPframe_Ram.

29
Khi “Read Control” nhn các tín hiu iu khin *u vào (Pdh_fr_start,
Pdh_clk) t0 khi “PDHframe”, và tín hiu hwpointer t0 khi “Write Control” 
phát hin và x, lý tr!ng thái c.a b nh: Ram là empty hay full.

2.4.3. Kh$i Write Control Signals genetator


Lu " thut toán thc hin nh sau:

30
Hình 2.8 Lu " thut toán t!o tín hiu iu khin ghi RAM

31
Tr!ng thái “Start of frame”, khi nhn 1c c& báo b7t *u khung Ethernet,
ngh>a là “eth_fr_start” có m+c ‘1’, kim tra l*n l1t 8 %a ch- tip theo sau v% trí con
tr) ghi hin t!i xem có b% tràn hay không. Nu không tràn thì thc hin t/ng con tr)
hin t!i lên 9 %a ch- v:i m#c ích  trng 8 %a ch- ó  sau khi phân tích gói
Ethernet ta s8 tính toán 1c tr&ng mào *u c.a khung GFP (g"m 8 byte) r"i sau
ó <t 8 byte mào *u ó vào v% trí con tr) ã b) trng. "ng th&i v:i vic t/ng con
tr) ghi lên 9 %a ch-, thc hin reset b m d$ liu khung Ethernet và b m xác
%nh tr&ng mào *u khung GFP.
Tr!ng thái “Payload Ethernet”, thc hin t/ng b m d$ liu Ethernet sau
m5i byte Ethernet thu 1c. "ng th&i kim tra tr!ng thái b nh: RAM, nu b nh:
không b% tràn thì t/ng con tr) ghi lên 1 n v% sau m5i byte Ethernet thu 1c, nu
b nh: b% tràn trong khi thu d$ liu Ethernet thì xut ra c& báo tràn b nh:
“hramfull”. Nu Ram không b% tràn, thc hin t/ng con tr) ghi lên 1 n v%, quá
trình 1c l<p i l<p l!i cho n khi xung báo kt thúc khung Ethernet “eth_fr_end”
xut hin.
Khi kt thúc khung d$ liu ethernet thì c& “eth_fr_end” xut hin, sau ó
thc hin kim tra c& báo tràn b nh:, nu b nh: b% tràn thì lo!i b) khung Ethernet
v0a thu b=ng cách d%ch con tr) ghi v %a ch- b7t *u thu khung ó. Ng1c l!i, nu
b nh: không b% tràn, t+c là ta ã thu 1c toàn b d$ liu c.a khung Ethernet, khi
ó thc hin tính toán cHEC theo thut toán CRC16.
Tr!ng thái “GFP Header”, khi thu 1c toàn b khung Ethernet, t/ng b m
%nh v% trí mào *u khung GFP "ng th&i lu %a ch- c.a con tr) ghi lúc ó. Sau ó
quá trình 1c l<p l!i t0 tr!ng thái ban *u.

32
Hình 2.9 Mô ph)ng thc hin thut toán t!o tín hiu iu khin ghi RAM

Kt qu( mô ph)ng nh trên hình v8, khi có xung báo hiu eth_frame_start,
thc hin kim tra 8 %a ch- tip theo c.a con tr) iu khin ghi “wpointer”, nu
Ram không b% “full” thì thc hin t/ng wpointer lên 9 n v% (wpointer = wpointer
+ 9), nh trên hình mô ph)ng, giá tr% c.a con tr) ghi ban *u là 6941, sau khi có
xung eth_frame_start thì giá tr% con tr) ghi t/ng lên là 6950.
Tip theo, khi xung eth_frame_start m+c ‘0’ thì thc hin iu khin ghi d$ liu
vào RAM, con tr) ghi s8 t/ng lên 1 n v% sau m5i byte d$ liu 1c ghi vào RAM.
"ng th&i b m  dài d$ liu s8 1c kích ho!t.
Khi xut hin xung eth_frame_end, thc hin cht  dài d$ liu Ethernet và tính
toán giá tr% mào *u cHec. Trên hình v8 ta thy r=ng, b m eth_cnt có giá tr%
“0000000000011101”, giá tr% cHec có giá tr% “0010100000000010” úng v:i thut
toán tính cHec.
Sau ó xung eth_frame_end xung m+c ‘0’, thc hin t/ng con tr) gfp_cnt
t0 0 n 7, t+c là lúc này bít cao nht c.a b m gfp_cnt(3) có m+c ‘0’, khi b m
t/ng n 8 (gfp_cnt(3) có m+c ‘1’) thì b m d0ng l!i.

33
2.4.4. Kh$i GFP Header và Ethernet Signals mapper

Hình 2.10 Cu trúc d$ liu khung GFP

Khi nhn 1c tín hiu gfph_cnt(3) có m+c ‘1’ t0 khi “Write Control”, thc
hin ghi t0ng byte d$ liu Ethernet vào Ram v:i %a ch- addr trùng v:i con tr) ghi
wpointer. Khi tín hiu “ghph_cnt(3)” có m+c ‘0’, thc hin t!o các byte Hearder
c.a khung GFP và ghi vào Ram, v% trí các byte Header c.a khung GFP 1c %nh v%
b i b m gfph_cnt(2..0), b m này có giá tr% t0 0 n 7. Giá tr% 0 và 1 +ng v:i 2
byte Len ( dài d$ liu Ethernet ã 1c xác %nh trong khi “Write Control”), giá
tr% 2 và 3 +ng v:i 2 byte cHEC, giá tr% 4 và 5 +ng v:i 2 byte Type (kiu d$ liu
khung GFP), giá tr% 6 và 7 +ng v:i 2 byte tHEC. Cu trúc khung và %nh th&i khung
GFP nh trình bày d:i ây.
Lu " thut toán:

34
&'()'



   
 )*+    

$

 !"#

%

Hình 2.11 Lu " thut toán thc hin ghép kênh GFP

Thut toán 1c mô ph)ng trên Model Sim nh hình 2.12, khi có d$ liu
rxd_8 và rxdv_8 thích h1p, cùng v:i tín hiu gfph_cnt(3) có m+c ‘1’, con tr) c
waddr 1c gán v:i giá tr% con tr) wpointer, quan sát trên hình v8 ta thy con tr)
waddr 1c t/ng 9 n v% t0 1869 n 1878 khi có xung eth_frame_start xut hin,
"ng th&i giá tr% ghi vào Ram là “datain” 1c gán v:i d$ liu rxd_8 có giá tr% là 0.
T!i các byte d$ liu ethernet tip theo, d$ liu ghi vào Ram l*n l1t là 0, 72, 109,
59, 224 … cùng v:i v% trí con tr) ghi tng +ng.

35
b

Hình 2.12 Mô ph)ng thc hin thut toán GFP

36
Trong hình v8 2.12b, khi xung eth_frame_end xut hin báo hiu kt thúc
khung Ethernet, thc hin reset b m gfph_cnt v giá tr% “0000”, sau ó thc hin
t/ng b m lên mt n v% t!i m5i s&n dng c.a rxclk_8. Và bin m t/ng l*n
l1t t0 0 n 8 và d0ng l!i không m n$a. Khi ó t!i v% trí gfph_cnt có giá tr% 0
ho<c 1 tng +ng v:i giá tr% con tr) ghi 1c lu l!i t!i v% trí *u khung là 1870 và
1871, t!i 2 v% trí ó d$ liu ghi vào Ram “Datain” 1c gán v:i l*n l1t 2 byte 
dài Ethernet. Trong d$ liu mô ph)ng này thì  dài d$ liu là 70, và kt qu( mô
ph)ng úng theo tính toán.
Hai v% trí tip theo là cHec có giá tr% l*n l1t là 40 và 2, +ng v:i gfph_cnt có
giá tr% là 2 và 3 cùng v:i giá tr% con tr) ghi là 1872 và 1873, kt qu( úng theo tính
toán. Tip theo là các tr&ng d$ liu “type”, “tHec” l*n l1t +ng v:i giá tr% con tr)
ghi là 1874 n 1877. V% trí con tr) tip theo 1878 s8 là ph*n d$ liu Ethernet nh
ã mô t( ph*n tr:c, nh vy kt qu( mô ph)ng ã úng theo tính toán trong thit
k.

2.4.5. Kh$i Read Control Signals genetator


Khi có xung c d$ liu (“pdh_ch_start” ) t0 khi E1 frame thì thc hin
kim tra tr!ng thái c.a b nh: RAM. Nu Ram không b% Empty thì thc hin t/ng
con tr) c lên 1 n v%, "ng th&i gán d$ liu GFPdata v:i d$ liu *u ra c.a b
nh: RAM. Ng1c l!i, nu Ram b% empty thì thc hin gán d$ liu GFPdata v:i d$
liu IdleGFP m<c %nh.
Thut toán thc hin nh sau

37
START

Pdh_ch_start = ‘1’
Ram empty?
(rpointer = hwpointer )

- idlgfpcnt = idlgfpcnt + 1 - rpointer = rpointer + 1


- GFPdata = Idlegfp(idlgfpcnt ) - GFPdata = dataout

Hình 2.13 Thut toán t!o tín hiu iu khin c RAM

Hình 2.14 Mô ph)ng các tín hiu iu khin c Ram
Trên kt qu( ModelSim, ta thy r=ng t!i v% trí xung b7t *u khung d$ liu E1
“e1_frstart” thì ch- s khe th&i gian “e1_channel” có giá tr% là 0, do t!i v% trí ó ta
gán lu"ng d$ liu E1 v:i t0 mã "ng b khung “10011011”. Do ó, tín hiu cho
phép c Ram e1_enb không 1c active. Tip theo, t0 khe th&i gian 1 n khe th&i
gian 31 thc hin c Ram và gán v:i lu"ng d$ liu E1 “e1_byte”. Nh ta thy trên
kt qu( mô ph)ng, t0 TS1 (e1_channel = 1) n TS31 (e1_channel = 31) con tr)
c Ram t/ng lên mt n v% cùng v:i tín hiu cho phép c 1c active.

38
2.4.6. Kh$i E1_frame
S " khi thc hin b ghép kênh E1 nh sau

Hình 2.15 S " khi ghép kênh E1_frame

Các xung %nh th&i khung E1 1c thc hin b i khi “Frame Control”, khi
này t!o ra các xung khung “fr_start” và xung c d$ liu “rd”. V:i Clock E1(2.048
Mhz) làm *u vào tham chiu, mt b m 3 bít 1c t!o ra v:i m#c ích t!o ra các
xung %nh th&i xác %nh v% trí các byte d$ liu phù h1p trong khung E1, sau ó b
m này l!i 1c a vào  làm *u vào tham chiu cho mt b m 5 bít  t!o
ra các khe th&i gian t0 TS0 n TS31 trong cu trúc khung E1 (tng +ng v:i b
m 5 bít có giá tr% t0 0 n 31).
"ng th&i t!o ra xung %nh th&i b7t *u khung E1 (fr_start) t!i v% trí TS0.
Sau ây là kt qu( mô ph)ng b t!o xung inh th&i khung E1

Hình 2.16 Mô ph)ng thc hin t!o xung %nh th&i cho khi E1_frame

39
Trong kt qu( mô ph)ng ta thy r=ng, mt khung 1c b7t *u b i xung %nh
th&i b7t "ng khung E1 (frame_start) +ng v:i TS0, TS0 dùng  ghép t0 mã "ng
b khung E1 nên xung c byte d$ liu không 1c kích ho!t. B7t *u t0 TS1 n
TS31 thì có 31 xung c byte d$ liu 1c kích ho!t  c d$ liu t0 khi “GFP
frame”.
Sau khi t!o ra các xung %nh th&i khung E1, các xung này 1c a n
khi ghép kênh, t!i v% trí xung báo hiu b7t *u khung “frame_start” có m+c ‘1’ thì
gán d$ liu E1 data v:i byte t0 mã "ng b khung E1 là "10011011", tip theo ó
t!i v% trí xung rd tích cc m+c ‘1’ thì thc hin gán E1 Data v:i d$ liu “GFP data”
1c c ra t0 khi GFP frame.

Hình 2.17 Mô ph)ng thc hin ghép kênh E1_frame

Trên kt qu( mô ph)ng, gi( s, d$ liu GFP data a vào toàn ‘1’, ta thy
r=ng t!i v% trí xung frame_start lên m+c ‘1’, d$ liu E1 Data 1c gán v:i t0 mã
"ng b khung là “10011011”, sau ó E1 data 1c gán v:i d$ liu GFP data toàn
‘1’.
Sau ó, các byte d$ liu E1 data 1c a n khi bin i d$ liu song
song thành ni tip. T0ng bít trong byte d$ liu 1c gán lên chu5i bít *u ra theo
clock E1 theo th+ t0 t0 bít có trng s cao nht (msb) n bít có trng s thp
nht(lsb). Ví d#, v:i t0 mã "ng b “10011011” thì chu5i d$ liu E1 Out s8 là : 1 0
011011

40
Sau ây là kt qu( mô ph)ng trên ph*n mm ModelSim

Hình 2.18 Mô ph)ng d$ liu E1 chuyn thành chu5i bít ni tip tc  E1

2.5. Kh$i giao tip lu+ng E1 (LIU)


Khi này thc hin vic thu chu5i d$ liu E1 t0 FPGA, sau ó thc hin mã
hóa HDB3 và phát ra &ng dây E1. Ng1c l!i, thc hin thu d$ liu E1 d!ng
HDB3 trên &ng dây, sau ó gi(i mã HDB3 thành d!ng d$ liu E1 d!ng NRZ và
a v FPGA.

2.6. Kh$i Rxmodule

2.6.1. Khôi ph c d) liu và ,nh thi


Khi DPLL có ch+c n/ng khôi ph#c clock t0 d$ liu, ngh>a là nó khôi ph#c
l!i clock sao cho s&n dng c.a clock cht vào úng gi$a s liu. Cht l1ng d$
liu thu v 1c ánh giá qua m9u m7t c.a nó, m9u m7t 1c t!o ra b=ng cách ly
m9u giá tr% trên min th&i gian c.a tín hiu b/ng gc (sau lc thu b/ng gc, tr:c ly
m9u quyt %nh bít truyn là 1 hay 0) và ch"ng các khung (có  dài là mt s
symbol nht %nh) lên nhau.
Ví d#: nu ly m9u tín hiu t!i tc c 10 m9u /giây và mun xem mt khung
có  dài 2 symbol thì chúng ra s8 c7t tín hiu m5i 20 m9u 1 khung và ch"ng l<p các
khung ó lên nhau theo th&i gian. Các tín hiu ch"ng l<p lên nhau ó s8 mang nhiu
thông tin và 1c gi là biu " m7t. Nó rt quan trng trong vic xác %nh im ly
m9u ti u, là im mà ít nh!y c(m v:i nhi6u, t!p âm, rung pha nht và có  quyt
%nh an toàn là cao nht.

41
Ta thy r=ng, d$ liu sau khi thu v s8 có Jitter, do vy nu Clock mà cht
d$ liu t!i vùng hay s(y ra Jitter thì các bit s8 b% quyt %nh sai. Do vy tr&ng
h1p lý t ng nht là tín hiu clk s8 cht d$ li u t!i chính gi$a d$ liu, l5i s8 s(y
ra khi  Jitter c.a clk l:n hn 0.5 chu k2 bít.

Hình 2.19 Quá trình khôi ph#c d$ liu và %nh th&i


K thut hay dùng hin nay trong thit k mt b DPLL là dùng gi(i pháp
Oversampling, ngh>a là ta dùng nhiu clk v:i pha khác nhau (hay nói cách là s,
d#ng mt clk có t*n s rt cao)  ly m9u d$ liu, trên c s ó phát hin s&n c.a
d$ liu và quyt %nh xem clk nào có pha sao cho s&n cht vào kho(ng chính gi$a
d$ liu.
Nu ta xem xét sóng hình vuông th hin trên Hình 2.20 là tín hiu "ng pha
(vuông pha) ã 1c khôi ph#c (t+c là ta ã phát i chu5i d$ liu [+1, − 1, +1, − 1, .
. . ]) và sau ó ly m9u t!i bt k2 im nào (khác các th&i im chuyn symbol) thì
u cho kt qu( úng.

Hình 2.20 Tín hiu ã 1c khôi ph#c không có nhi6u.

42
Hình 2.21 Tín hiu ã 1c khôi ph#c có nhi6u.
Tuy nhiên trong tr&ng h1p có nhi6u thì d$ liu thu 1c có th quan sát
1c nh Hình 2.21. Trong tr&ng h1p này, vic ly m9u t!i bt k2 th&i im nào
khác v:i th&i im chuyn i các bít không (m b(o 1c r=ng s quyt %nh tín
hiu nào ã 1c phát i là úng nh tr&ng h1p không có nhi6u trên. B=ng vic
tính trung bình trong t0ng kho(ng chu k2 c.a mt bít d$ liu chúng ta có th a ra
1c s ánh giá úng hn v bit d$ liu nào ã 1c phát i. Vì vy b lc
Matched filter tt nht ây là mt b lc trung bình (median filter).

Hình 2.22 *u ra b lc trung bình c.a tín hiu không có nhi6u

Hình 2.23 *u ra b lc trung bình c.a tín hiu có nhi6u

43
Chú ý r=ng c( hai tr&ng h1p *u ra c.a b lc phi h1p có các -nh mà t!i
ó b lc phi h1p ly chính xác symbol và -nh dng cho bit +1 ã 1c phát,
tng t -nh âm cho bit -1 1c phát. M<c dù ây v9n nhi6u nh trong Hình
2.22 tuy nhiên các -nh này rt d6 xác %nh 1c và a ra s ánh giá v d$ liu
(+1, -1) chính xác hn nhiu so v:i vic ly m9u tín hiu mà không cho qua lc
trung bình.
 khôi ph#c %nh th&i  cht d$ liu, ta +ng d#ng gi(i pháp Oversampling,
ngh>a là dùng mt clk cao hn nhiu l*n (ít nht là 16 l*n và càng cao càng tt) tc
 d$ liu c*n khôi ph#c  ly m9u d$ liu *u vào và x, lý. V c b(n, da theo
nguyên lý vòng khóa pha PLL.

Hình 2.24 Khôi ph#c %nh th&i DPLL


Bit cao nht c.a symbol sau khi 1c lc phi h1p 1c a vào *u vào
Datain c.a m!ch khôi ph#c %nh th&i DPLL. B tách sóng pha s8 phát hin tín hiu
s:m hay mun so v:i pha c.a b dao ng DCO (Digital Controlled Oxilator –
Nguyên lý tng t nh NCO), thông tin v pha s8 iu khin t/ng hay gi(m t*n s
c.a DCO. Khi m!ch vòng dpll ã khóa pha thì bít cao nht c.a DCO s8 1c ly ra
 cht d$ liu. B tách sóng pha Alexander (Alexander Phase Detector) th&ng
1c s, d#ng trong vi c khôi ph#c %nh th&i và d$ liu t0 chu5i bít ni tip b i
vì nguyên lý n gi(n và vic thc thi trên FPGA  n gi(n. S " khi nh Hình
2.24.
Kt qu( X và Y cho phép iu ch-nh t/ng hay gi(m t*n s DCO, X và Y 1c
a qua b lc thông thp  lo!i b) nhi6u. Trong ph*n này, b lc n gi(n là vic
có bao nhiêu s kin X ho<c Y  quyt %nh iu ch-nh DCO. Trong lun v/n này,
do tín hiu là lý t ng không ch%u tác ng c.a môi tr&ng truyn sóng nên b lc

44
1c thit k khi có hai s kin liên tip ging nhau c.a X ho<c Y thì cho phép iu
ch-nh DCO. iu khin DCO n gi(n là t/ng hay gi(m b m  t!o ra t*n s
t/ng hay gi(m, tng t ph*n tích l;y pha c.a b dao ng NCO.

D$ liu s:m pha so v:i clk

Clk s:m pha so v:i d$ liu

Alexander Phase Detector

Hình 2.25 S " nguyên lý làm vic b tách sóng pha

Hình 2.26 Mô ph)ng khi khôi ph#c %nh th&i


Hình trên ta thy r=ng, d$ liu thu 1c t0 symbol thu b=ng khi Slicer.
Clock khôi ph#c 1c có s&n dng cht vào chính gi$a d$ liu.

2.6.2.Kh$i E1_deframe
Khi E1 deframe thu chu5i d$ liu E1 t!i s&n dng c.a clock ã 1c
khôi ph#c t0 khi khôi ph#c %nh th&i, s " khi b tách kênh E1 1c minh ha
nh hình
GFP Data fr_start E1 In
E1 Data
8 Sync and Serial To
DeMux rd E1 Clk
Frame Control Parallel
Fr_ch_start 8

Hình 2.27 S " thit k khi E1_deframe

D$ liu E1 ni tip 1c chuyn i thành d$ liu song song 8 bít, sau ó d$
liu song song này 1c a vào khi "ng b khung  xác %nh t0 mã "ng b và
%nh th&i khung E1.

45
Khi "ng b khung E1 (Sync Frame) có lu " thut toán nh sau:

,!-.

0
&/
.

 
  

,11
0

 
 

  

,11
, 0

 
 
,11
   
0
 /
  

Hình 2.28 Thut toán thc hin "ng b khung E1

Khi phát hin 1c t0 mã "ng b khung, ngh>a là E1 data có giá tr%
“10011011”, thit lp c& phát hin khung lên m+c ‘1’ (frame_det = ‘1’), ng1c l!i
nu E1_data khác t0 mã "ng b khung thì xóa c& (frame_det = ‘0’).
Ban *u, tr!ng thái c.a h thng là state[1..0] là 00 và tr!ng thái "ng b là
sync có giá tr% 0, tr!ng thái tip theo gán state(0) v:i frame_det, do vy khi phát
hin 1c t0 mã "ng b khung thì tr!ng thái h thng t0 00 s8 chuyn sang 01.

46
Khi tr!ng thái 01, b7t *u t/ng bin m (cnt) s bít lên 1 n v% theo xung
nh%p clock E1, nu cnt có giá tr% 255 (s bít trong mt khung E1) và xung frame_det
(xung phát hin t0 mã "ng b khung tip theo) cùng th&i im thì gán tr!ng thái
tip theo n 11 và xóa b êm cnt v giá tr% 0.
Khi tr!ng thái 11, tip t#c t/ng bin cnt và kim tra xung frame_det t!i cnt
b=ng 255, nu hai giá tr% này cùng x(y ra t!i mt th&i im thì thit lp tr!ng thái
n 01 và xóa b m v 0.
Tr!ng thái 01là tr!ng thái "ng b, ngh>a là thit lp sync có giá tr% ‘1’. 
tr!ng thái 01 ("ng b), tip t#c kim tra bin m cnt và xung frame_det, nu hai
giá tr% này không cùng x(y ra cung mt th&i im thì t/ng bin m s l5i lên 1 n
v% (error = error + 1), nu không x(y ra tr&ng h1p này thì xóa bin error v 0.
Nh vy, nu x(y ra 3 l5i liên tip (error = 3) thì thit lp tr!ng thái h thng
v tr!ng thái ban *u, xóa error v giá tr% 0 và tin hành tìm kim và "ng b l!i.

2.6.3.Kh$i Gfp_deframe

Hình 2.29 S " thit k khi GFP_deframe

Khi GFP_deframe bao g"m các khi ch. yu: Khi "ng b khung GFP
(Sync GFP frame); khi Ram (GFPdeframe_RAM – dual Ram), khi iu khin ghi
b nh: (Write Control signals generator); khi iu khin c b nh: (Read Control

47
signals Generator); khi t!o các byte mào *u c.a khung Ethernet và ghép d$ liu
v:i các byte mào *u ó (Ethernet Header và Mux).
D$ liu GFP_Data thu 1c t0 khi E1_deframe 1c a vào khi "ng b
khung GFP  tách các byte mào *u c.a khung GFP, tính toán t(i trng d$ liu
trên khung GFP và a tín hiu "ng b  kích ho!t khi t!o tín hiu iu khin 
ghi d$ liu sau khi ã tách các byte mào *u vào b nh: Ram.
B t!o tín hiu iu khin c s8 c/n c+ vào s byte d$ liu Ethernet thu
1c  t!o ra các tín hiu iu khin  c d$ liu t0 b nh: Ram, "ng th&i iu
khin khi t!o ra các byte mào *u Ethernet và khi ghép d$ liu Ethernet cùng v:i
các byte mào *u ó. Kt qu( là khôi ph#c 1c khung Ethernet ã phát d:i d!ng
các byte ni tip nhau. Sau ây là thut toán thc hin c# th t0ng khi

2.6.4.Kh$i +ng b khung GFP


D$ liu GFP_Data 1c ghi vào mt thanh ghi d%ch “buff” 4 byte ni tip,
d$ liu 1c d%ch trái. Thc hin tính toán cHEC t0 2 byte Buff(3) và Buff(2) theo
thut toán Cyclic, sau ó so sánh cHEC v0a tìm 1c v:i hai byte Buff(1) và
Buff(0). Nu hai giá tr% này b=ng nhau thì xác nhn "ng b khung GFP "ng th&i
a ra s byte d$ liu Ethernet trên khung GFP ó t0 hai byte buff(3) và buff(2),
ngh>a là eth_cnt = buff(3) & buff(2).
D$ liu mô ph)ng nh hình sau

Hình 2.30 Mô ph)ng thc hin "ng b GFP_Deframe


Ta thy r=ng, lúc *u khi cha kim tra 1c t0 mã "ng b c.a khung GFP
thì tr!ng thái “State” là “Hunt”, khi kim tra úng t0 mã cHec thì tr!ng thái state
chuyn sang “presyn”, "ng th&i cht chiu dài d$ liu Ethernet là gfp_cnth = 70
úng nh d$ liu phát. Mã cHec tip theo v9n úng và chuyn “state” sang tr!ng
thái "ng b “Syn”.

48
2.6.5.Kh$i t&o tín hiu iu khin ghi RAM
Khi h thng ã "ng b khung GFP, thc hin t/ng giá tr% con tr) ghi
wpointer lên mt n v%. Lu ý r=ng, c*n ph(i có thêm iu kin eth_cnt khác 0 thì
m:i t/ng giá tr% con tr) ghi b i vì nu eth_cnt b=ng 0 thì các byte thu 1c chính là
d$ liu IdleGFP.

Hình 2.31 Mô ph)ng t!o tín hiu iu khin ghi RAM
Kt qu( mô ph)ng hình v8 trên ta thy, khi tr!ng thái "ng b GFP 1c
thit lp thì con tr) ghi wpointer b7t *u t/ng theo m5i byte d$ liu.

2.6.6.Kh$i t&o tín hiu iu khin "c RAM và óng khung Ethernet
Lu " thut toán nh sau:

START

Ram empty?
(rpointer = wpointer + 1)

No

If
Byte_cnt = 9 to Ethernet _len + 19 Counter byte _cnt:
Then 0 to ethernet_len + 19
rpointer = rpointer + 1

Case byte_cnt:
0 to 7 : preamble
8 : SFD
9 to Ethernet_len + 8 : Data
Ethernet_len + 9 to Ethernet_len + 19: IFGs

Hình 2.32 Lu " thut toán iu khin tín hiu c Ram và ghép khung Ethernet

49
Tr:c tiên kim tra tr!ng thái c.a b nh: Ram xem có Empty hay không,
ngh>a là kim tra iu kin rpointer = wpointer + 1. Nu Ram không b% empty, thc
hin t/ng bin m s byte Ethernet thu 1c, nu bin m này có giá tr% b=ng s
byte Ethernet cng v:i 19 byte, ngh>a là iu kiên ethbytecnt = ethlenth + 19 th)a
mãn thì kh i ng l!i bin m. Trong ó, 19 byte có ý ngh>a bao g"m 12 byte idle
là kho(ng cách gi$a hai khung Ethernet, 7 byte preamble và 1 byte cho SFD.
Nu ethbytecnt có giá tr% t0 0 n 6 thì gán *u ra Eth_8 v:i các byte d$ liu
preamble (01010101),
Ethbytecnt có giá tr% b=ng 7 thì gán d$ liu Eth_8 v:i byte SFD (11010101),
Ethbytecnt có giá tr% l:n hn 7 và nh) hn ho<c b=ng ethlength + 6 thì gán
Eth_8 v:i d$ liu 1c c ra t0 b nh: RAM
Ethbytecnt có giá tr% t0 ethlength + 7 n ethlength + 19 thì gán Eth_8 v:i d$
liu idle gi$a các khung Ethernet.
Khi Ram không b% empty và ethbytecnt n=m trong kho(ng t0 8 n ethlength
+ 7 thì thc hin t/ng d*n con tr) c rpointer.

50
b

Hình 2.33 Mô ph)ng t!o tín hiu c Ram và óng khung Ethernet
a, Mô ph)ng giai o!n b7t *u khung
b, Mô ph)ng giai o!n kt thúc khung

2.6.7.Kh$i chuyn i d) liu 8 bít thành chu-n MII


D$ liu 8 bít song song 1c chuyn thành các nible ni tip theo quy lut, 4
bít thp chuyn i tr:c và 4 bít cao chuyn i sau.

51
Hình 2.34 Mô ph)ng thc hin chuyn i 8 bít thành nible 4 bit

2.7. Kt qu mô ph.ng h th$ng


D$ liu mô ph)ng *u vào h thng g"m có: D$ liu Ethernet rxd_4,
rxclk_4(25 Mhz) và rxdv_4 1c a vào liên t#c, kho(ng cách gi$a các gói
Ethernet là 12 bytes (tng +ng v:i 48 chu k2 rxclk_4). Clock PDH a vào có tc
 TxE1clk = 2.048 Mhz.
Thc hin loopback d$ liu DataE1, Clock txclk_4 (25 Mhz) cho ph*n thu.
Ta thu 1c d$ liu *u ra h thng g"m: txen_4, txd_4, cùng v:i txclk_4 (25 Mhz)
a vào.
So sánh d$ liu Ethernet phát và thu ta thy hoàn toàn ging nhau, tuy nhiên
tc  gói Ethernet thu 1c nh) hn tc  Ethernet phát vào. iu này theo tính
toán là úng vì b/ng thông gi(m i do tc ô truyn d9n ch- là 2048 Kbps.

52
Hình 2.35 Mô ph)ng *u vào và *u ra c.a h thng E1_Ethernet

53
Chưng 3. KT QU VÀ ÁNH GIÁ

3.1 S + kh$i và thit k ph/n cng

3.1.1 S + kh$i

Hình 3.1 S " khi b chuyn i Ethernet-E1

Trong s " trên, ph*n c+ng 1c thit k cho c( chiu thu và chiu phát. 
chiu phát, d$ liu d!ng IP (ví d# nh t0 máy tính ho<c mt thit b% nào ó s, d#ng
giao din IP) 1c a vào qua gi7c RJ45 (lo!i HR911105A c.a hãng Hanrun) qua
IC giao tip vt lý DM9161A 1c chuyn thành d$ liu d!ng s (mã hóa NRZ), d$
liu s này giao tip v:i chip FPGA b=ng giao din theo chu'n MII (Media
Independent Interface) ho<c RMII ( ây, s, d#ng giao din MII). Trong chip
FPGA, d$ liu 1c lo!i b) ph*n header c.a gói IP và óng gói theo chu'n GFP,
sau ó 1c óng khung E1 và a vào IC giao tip lu"ng E1 (DS32384T). D$ liu
sau IC giao tip E1 1c a vào bin áp lu"ng T1094NL  ch-nh s,a d!ng xung
HDB3 và a ra giao tip v:i &ng dây.  chiu thu, quá trình 1c thc hin
ng1c l!i, d$ liu d!ng HDB3 t0 &ng dây (lu"ng E1) qua bin áp lu"ng vào IC
giao tip lu"ng E1 bin i thành d!ng s (mã hóa NRZ). Sau ó, d$ liu s 1c
a vào chip FPGA x, lý E1_deframe, GFP deframe sau ó a vào IC giao tip
vt lý thành d$ liu IP và cui cùng a ra gi7c RJ45 có tích h1p bin áp  giao
tip v:i thit b% *u cui IP.

54
3.1.2 S + nguyên lý

Hình 3.2 S " nguyên lý tng quát

3.1.2.1 M&ch giao tip lu+ng E1 (LIU)

Hình 3.3 S " nguyên lý m!ch giao tip lu"ng E1

55
M!ch s, d#ng IC giao tip lu"ng E1 c.a hãng DALLAS và 1c cu hình
làm vic ch  c+ng. IC này có ch+c n/ng chuyn i tín hiu lu"ng E1 t0
HDB3 sang NRZ và ng1c l!i, "ng th&i khôi ph#c thc hin khôi ph#c "ng h" và
t!o xung nh%p cho các khi tip theo. Bin áp lu"ng T1094NL dùng  giao tip v:i
&ng dây, s, d#ng *u ni là gi7c RJ45.

3.1.2.2 M&ch FPGA th!c hin óng khung và gii óng khung GPF, E1

Hình 3.4 S " nguyên lý m!ch FPGA

M!ch FPGA thc hin vic óng khung và gi(i óng khung GFP và E1.
M!ch s, d#ng IC XC3S500E c.a hãng Xilinx. Ngoài ra còn có ph*n cp ngu"n, b
nh: EEPROM  lu chng trình và b dao ng chu'n t!o xung nh%p 2,048MHz
cp cho các khi.

56
3.1.2.3 M&ch giao tip v(i /u cu$i IP

M!ch s, d#ng IC thu phát Ethernet l:p vt lý DM9161A c.a hãng DaviCom.
ây là IC thu phát Ethernet l:p vt lý s, d#ng in áp thp 3,3V dùng cho tc 
100BASE-TX và 10BASE-T.  phía &ng dây analog, IC này cung cp giao din
s, d#ng cáp xo7n UTP5(Unshielded Twisted Pair Category 5) cho tc 
100BASE-TX ho<c UTP5/UTP3 cho tc  10BASE-T. Phía còn l!i, IC DM9161A
cung cp giao din MII  kt ni v:i chip FPGA, c;ng là kt ni gi$a l:p MAC và
l:p vt lý.

Hình 3.5 S " nguyên lý m!ch thu phát Ethernet

IC này ph(i ni v:i mt bin áp &ng dây tr:c khi ni vào gi7c RJ45,
m!ch hình 3.4 s, d#ng gi7c HR911105A có tích h1p s?n bin áp bên trong. Ngoài
ra c;ng c*n ph(i cung cp xung "ng h" 25MHz cho IC DM9161A ho!t ng ch
 MII. Chú ý IC DM9161A c;ng có th ho!t ng ch  RMII v:i xung "ng
h" cung cp có giá tr% 50MHz.

57
3.1.2.4 M&ch ngu+n

Hình 3.6 S " nguyên lý m!ch ngu"n

M!ch ngu"n s, d#ng *u vào 5VDC (qua adapter), qua IC FAN1086 bin
i thành in áp 3,3VDC, qua IC LF25CDT  bin i thành 2,5VDC . in
áp 3,3VDC l!i 1c bin i qua IC FAN1112D  t!o ra in áp 1,2VDC. C( 3
m+c in áp này cung cp cho toàn b IC và các LED hin th% trên b(ng m!ch ho!t
ng.

3.1.2.5 M&ch in PCB

Hình 3.7 M!ch in PCB

58
3.1.2.6 M&ch lp ráp hoàn ch0nh

J1
L1

J2 L2

L3

L4
J3

Hình 3.8 M!ch l7p ráp hoàn ch-nh

Sau khi thit k xong ph*n c+ng, ph*n mm và chu'n b% linh kin, b(ng
m!ch 1c l7p ráp, n!p ph*n mm và hiu ch-nh. Hình 3.5 mô t( b(ng m!ch ph*n
c+ng sau khi ã thit k l7p ráp hoàn ch-nh.

Gi7c J1 là gi7c ngu"n 5VDC *u vào cp ngu"n cho b(ng m!ch.

Gi7c J2 là gi7c dùng cho *u cui IP s, d#ng *u RJ45 c.a Hanrun lo!i
HR911105A (s, d#ng các chân 1,2; 3,6).

Gi7c J3 c;ng là gi7c RJ45 nhng s, d#ng cho giao din lu"ng E1 chu'n
G.703 (s, d#ng các chân 1,2; 4,5).

Bn èn LED dùng  ch- th% tr!ng thái ho!t ng c.a m!ch.

Led L1: èn báo ngu"n Power.

Led L2: èn LOS báo hiu mt "ng b lu"ng E1 (sáng là mt "ng b, t7t
là "ng b).

Led L3: èn LOF báo mt khung E1 (sáng là mt "ng b, t7t là "ng b).

Led L4: không dùng.

59
3.2 Kt qu th1 nghim trên m&ch hoàn ch0nh

3.2.1 Mô hình th1 nghim th!c t

Hình 3.9 Mô hình th, nghim thc t

Mô hình kim tra 1c mô t( trên hình 3.6. Chúng ta có 2 b chuyn i
Ethernet-E1 1c ni qua tuyn truyn d9n E1 (PDH - giao din G.703), *u cui
ng&i dùng (*u g*n) s, d#ng mt máy tính ni vào gi7c RJ45 c.a thit b% chuyn
i, *u xa ni vào mt máy tính khác ho<c ni vào m!ng IP (ví d# nh m!ng
Internet). Chúng ta có th kim tra tuyn kt ni b=ng cách kt ni gi$a 2 máy tính
(kim tra b=ng lnh ping), ho<c dùng máy tính *u g*n  truy cp Internet, kim
tra b/ng thông b=ng cách truy cp vào trang www.speedtest.net ....

3.2.2 Kt lu n và kin ngh,


Lun v/n ã !t 1c m#c ích là thit k 1c b chuyn i Ethernet – E1
thc hin trên công ngh FPGA, áp +ng 1c yêu c*u s, d#ng *u cui IP trên nn
h! t*ng PDH.

Lun v/n ã nghiên c+u lý thuyt v cu trúc m!ng truyn d9n PDH, lý
thuyt v cu trúc m!ng Ethernet và phng pháp bin i Ethernet-E1. Ngoài ra,
lun v/n c;ng ã +ng d#ng các thut toán x, lý s hin !i nh k thut x, lý a
tc , k thut óng khung, gi(i óng khung, vòng khóa pha s DPLL, thut toán
ghi và c d$ liu không "ng b, thut toán khôi ph#c xung "ng h" %nh th&i t0
d$ liu …trên nn chip kh( trình FPGA s, d#ng ngôn ng$ miêu t( ph*n c+ng
VHDL vào thit k thc t  cho ra &i 1c s(n ph'm.

60
Lun v/n ã hoàn thành 1c các m#c tiêu và ni dung ch. yu ã  ra. Sau
khi hoàn thành lun v/n, b(n thân tôi c;ng ã làm ch. 1c các công c# thit k
nh ph*n mm thit k m!ch Altium, gói công c# ISE c.a Xilinx dùng ngôn ng$
lp trình VHDL  lp trình cho chip kh( trình FPGA , có th +ng d#ng vào thc t
cho các bài toán khác.

Do th&i gian thc hin lun v/n ng7n và c;ng do trình  c.a b(n thân còn
h!n ch cho nên trong khuôn kh lun v/n này, tôi m:i nghiên c+u 1c phng
pháp óng khung d$ liu Ethernet trên nn khung E1 (chu'n PCM31) theo cu trúc
khung truyn d9n PDH. Trên c s ó, chúng ta có th phát trin thêm các phng
pháp óng khung d$ liu Ethernet trên nn khung truyn d9n PDH v:i tc  khác
nhau ho<c theo cu trúc khung truyn d9n SDH.

Trong quá trình thc hin lun v/n, tôi ã nhn 1c rt nhiu s giúp B c.a
các th*y cô giáo và các "ng nghip. *u tiên, tôi xin chân thành c(m n TS. Ph!m
Thành Công – Giáo viên h:ng d9n khoa hc cùng các th*y cô giáo trong Khoa
in t, - Vi6n thông – Tr&ng !i hc Bách Khoa Hà Ni ã tn tình giúp B tôi.
"ng th&i, tôi c;ng xin c(m n các "ng nghip t!i phòng Nghiên c+u công ngh
vi6n thông - Trung tâm k thut thông tin công ngh cao ã t!o iu kin giúp B
tôi trong th&i gian thc hin và hoàn thành lun v/n.

61
TÀI LIU THAM KHO

[1] Nguy6n Quc Bình (2001), K thut truyn d9n s, NXB Quân i.

[2] Nguy6n Quc Trung (2003), X, lý tín hiu và lc s, NXB Khoa hc và K
thut.

[3] ITU-T BasicA (1999), 2.048Mbps Technology Basics and Testing


fundamentals.

[4] ITU-T G.8040/Y.1340, GFP frame mapping into Plesiochronous Digital


Hierarchy (PDH).

[5] Renliang Gu (2009), IP Core Specification, www.opencore.org

[6] Datasheet c.a IC DS33Z11 c.a hãng Dallass v Ethernet mapper.

[7] Datasheet c.a IC DM9161A c.a hãng DaviCom.

[8] Datasheet c.a IC DS21348T c.a Dallass.

62

You might also like