Nghiên cứu và thiết kế bộ chuyển đổi Ethernet-E1 trên công nghệ FPGA.pdf
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
1
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
2
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
3
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 t ng c ai công b trong b t k
( / 0 1 2
công trình nào khác.
TÁC GI LU N V N
3 4
Tr n c Chính
* +
4
DANH M C CÁC KÝ HI U, CÁC CH VI T T T
STT Vit t t
Ti ng Anh
Ti ng Vi t
1 CAS Channel Associated
Signalling
Báo hiu kênh riêng
2 CRC Cyclic Redundancy Check Kim tra d vòng
3 DCO Digital Control Oscillator B iu khin dao ng s
4 DHCP Dynamic Host
Configuration Protocol
Giao th+c cu hình ng máy ch.
5 EoPDH Ethernet over PDH Truyn ethernet trên nn h! t*ng
PDH
6 HDLC High-Level Data Link
Control
iu khin liên kt d$ liu m+c cao
7 MAC Media Access Control iu khin truy nhp
8 MII Media Independent
Interface
Chu'n giao din giao tip d$ liu IP
m+c vt lý
9 MLT-3 Multi-Level Transmit 3 Mã truyn d$ liu a m+c (Mt lo!i
mã &ng dây)
10 NRZ Non Return to Zero Mã &ng dây mà m+c tín hiu
không quay tr l!i m+c 0
11 NRZI Non Return to Zero
Inverted
Mt lo!i mã &ng dây ((o c.a mã
NRZ)
12 GFP Generic Framing Procedure Thut toán óng khung chung
13 PDH Plesiochronous Digital
Hierarchy
K thut phân cp s cn "ng b
14 SDH Synchronous Digital
Hierarchy
K thut phân cp s "ng b
5
DANH M C B NG BI U
B(ng 2.1 Mô t( giao din khi InitModule ............................................................23
B(ng 2.2 Tham s th&i gian tín hiu reset cho khi PHY Ethernet.........................24
B(ng 2.3. Mô t( giao din khi nl_frame...............................................................25
6
DANH M C CÁC HÌNH V , TH
Hình 1.1 Cu trúc khung d$ liu Ethernet..............................................................10
Hình 1.2 Cu trúc khung d$ liu c.a lu"ng E1 ......................................................12
Hình 1.3 Cu 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 Cu trúc khung GFP................................................................................15
Hình 1.6 So sánh khung d$ liu HDLC và GFP.....................................................17
Hình 1.7 Quá trình mapping d$ liu t0 khung GPF vào khung E1 .........................18
Hình 2.1 S " khi thit k b chuyn i E1-Ethernet........................................21
Hình 2.2 Gi(n " th&i gian tín hiu thu phát vt lý Ethernet ..................................22
Hình 2.3 Khi kh i t!o iu kin ban *u.............................................................23
Hình 2.4 Gi(n " th&i gian tín hiu reset cho khi PHY Ethernet ..........................24
Hình 2.5 Khi phân tích khung Ethernet................................................................25
Hình 2.6 Kt qu( mô ph)ng thc hin khi nl_frame.............................................28
Hình 2.7 S " thit k khi ghép kênh GFP.........................................................29
Hình 2.8 Lu " thut toán t!o tín hiu iu khin ghi RAM.................................31
Hình 2.9 Mô ph)ng thc hin thut toán t!o tín hiu iu khin ghi RAM ............33
Hình 2.10 Cu trúc d$ liu khung GFP.................................................................34
Hình 2.11 Lu " thut toán thc hin ghép kênh GFP.........................................35
Hình 2.12 Mô ph)ng thc hin thut toán GFP......................................................36
Hình 2.13 Thut toán t!o tín hiu iu khin c RAM.........................................38
Hình 2.14 Mô ph)ng các tín hiu iu khinc Ram...........................................38
Hình 2.15 S " khi ghép kênh E1_frame...........................................................39
Hình 2.16 Mô ph)ng thc hin t!o xung %nh th&i cho khi E1_frame ..................39
Hình 2.17 Mô ph)ng thc hin ghép kênh E1_frame.............................................40
Hình 2.18 Mô ph)ng d$ liu E1 chuyn thành chu5i bít ni tip tc E1............41
Hình 2.19 Quá trình khôi ph#c d$ liu và %nh th&i...............................................42
Hình 2.20 Tín hiu ã 1c khôi ph#c không có nhi6u..........................................42
7
Hình 2.21 Tín hiu ã 1c khôi ph#c có nhi6u....................................................43
Hình 2.22 *u ra b lc trung bình c.a tín hiu không có nhi6u............................43
Hình 2.23 *u ra b lc trung bình c.a tín hiu 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 vic b tách sóng pha...........................................45
Hình 2.26 Mô ph)ng khi khôi ph#c %nh th&i ......................................................45
Hình 2.27 S " thit k khi E1_deframe ............................................................45
Hình 2.28 Thut toán thc hin "ng b khung E1...............................................46
Hình 2.29 S " thit k khi GFP_deframe..........................................................47
Hình 2.30 Mô ph)ng thc hin "ng b GFP_Deframe .........................................48
Hình 2.31 Mô ph)ng t!o tín hiu iu khin ghi RAM .........................................49
Hình 2.32 Lu " thut toán iu khin tín hiu c Ram và ghép khung Ethernet
..............................................................................................................................49
Hình 2.33 Mô ph)ng t!o tín hiu c Ram và óng khung Ethernet ......................51
Hình 2.34 Mô ph)ng thc hin chuyn 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 thng E1_Ethernet ........................53
Hình 3.1 S " khi b chuyn i Ethernet-E1 ....................................................54
Hình 3.2 S " nguyên lý tng quát.......................................................................55
Hình 3.3 S " nguyên lý m!ch giao tip 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 l7p ráp hoàn ch-nh.........................................................................59
Hình 3.9 Mô hình th, nghim thc t....................................................................60
8
M U
Trong bi c(nh nhu c*u và s phát trin công ngh thông tin m!nh m8 nh
hin nay, h thng m!ng truyn d9n óng vai trò cc k2 quan trng và là xng
sng c.a bt k2 h thng thông tin nào. H thng m!ng l:i truyn d9n v:i ch+c
n/ng truyn t(i d$ liu ngày càng ph(i áp +ng 1c các yêu c*u nh dung l1ng
l:n, tính th&i gian thc c.a các d%ch v# tho!i, video…c.a các h thng +ng d#ng
truyn 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 truyn d9n c;ng phát trin không ng0ng và a d!ng.
Hin nay c s h! t*ng m!ng truyn d9n c.a n:c ta ch. yu v9n da trên nn
m!ng truyn d9n s, d#ng công ngh PDH và SDH; các thit b% cung cp d%ch v#
truyn thng nh tng ài, vi ba lu"ng …kt ni v:i m!ng truyn d9n theo chu'n
E1. Tuy nhiên, các thit b% cung cp d%ch v# hin !i nh truyn hình, voice IP …
ngày nay u 1c thit k theo chu'n IP và không th kt ni trc tip v:i h
thng truyn d9n theo chu'n E1. Nh vy, nhu c*u c*n ph(i chuyn i t0 giao din
Ethernet sang giao din E1 các thit b %*u cui IP s, d#ng 1c nn t(ng m!ng
truyn d9n hin nay là cc k2 c*n thit. Do ó tôi chn 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 thit k
1c mt thit b% bin i trung gian các thit b% *u cui v:i giao din IP s,
d#ng 1c c s h! t*ng m!ng truyn d9n chu'n E1 hin có. Bên c!nh ó, ây c;ng
là c hi cho b(n thân tôi, là ng&i làm công tác nghiên c+u trong mt c s nghiên
c+u trong n:c, có th làm ch. và áp d#ng công ngh hin !i vào thit k và s(n
xut thit b% vi6n thông.
Lun v/n 1c chia làm 3 chng:
Ch ng 1
T ng quan
Trình bày tng quan, ng7n gn v k thut Ethernet – over – PDH và các vn
liên quan.
Ch ng 2
Thi t k b chuy n i Ethernet-E1 trên công ngh FPGA
9
Trong chng này, tr:c ht phân tích và a ra các tiêu chí la chn nn
t(ng ph*n c+ng FPGA cho thit k. K n, trên c s lý thuyt chng 1, xây
dng s " khi chi tit, lp trình và mô ph)ng các khi ch+c n/ng trên FPGA, k
thut x, lý s, lu " thut toán c;ng nh kt qu( mô ph)ng trên các công c# thit
k.
Ch ng 3
K t qu và ánh giá
Trình bày c# th s " khi, s " nguyên lý, s " m!ch in c.a thit k
hoàn ch-nh. So sánh kt qu( mô ph)ng và kt qu( thc nghim c.a thit b%. ánh
giá kt qu( nghiên c+u, tính +ng d#ng kh( thi c.a tài.
10
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 h p c a nh ng k thu t và chu n cho
1 . $ '
phép chúng ta truy n các khung d li u Ethernet trên n n h t ng truy n d n PDH.
$ ! * 9
( / % # . ! 9
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 d n, các
thi t b truy n d n PDH ho c SDH có th cung c p cho ng i dùng d ch v
% 9 < & % #
Ethernet. Ngoài ra, k thu t này c ng phù h p v i xu h ng h i t c a m ng vi n
; 1 : : # . ! 6
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 c c u trúc khung d li u Ethernet và E1.
: ( 1 $
1.1.1 C u trúc khung Ethernet
Hình 1.1 C u trúc khung d li u Ethernet
$
11
1.1.1.1 Tr ng Preamble
ư
Tr ng Preamble g m có 8 byte xen k các bít ‘0’ và bít ‘1’, m c ích c a
& " 8 # .
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,
& + % - . % - . ,
m i 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
5 % - " % - . , % - .
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 c g i lên giao
: : , $ 1 ,
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
+ . : % $ ) $
. $ 8 1 ( ( * $ )
thì m t s byte d li u m s c 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 l i, thu t toán phát hi n l i CRC
& 5 5
1 , # ! % &
c 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 c tính
& " + % % 1
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 c th c hi n l y d li u D c nhân
& $ $ 1 $ 1
v i X
: n
và c chia b i a th c G(x).
1 +
12
1.1.2 C u trúc khung E1
Trong truy n d n PDH, c u trúc khung E1 v i t c 2.048 Mbps theo chu n
9 : '
G.704 c a ITU-T c nh ngh a nh sau:
. 1 % >
M t khung có th i gian 125µs c chia thành 32 khe th i gian b ng nhau
& 1 & =
và ánh s th t t TS0 n TS31; m i khe th i gian TS dài 3.9 µs g m m t t mã
+ 0 5 & " 0
8 bit. M i khung g m có 256 bit và chu k l p l i c a khung là 8000Hz. B ng thông
5 " 2 < ! . /
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
$ . "
13
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 c s d ng cho qu c t
+ * ? " 1 , #
(n u không dùng thì c t b ng 1) và b y bit còn l i là t mã ng b khung có
1 < = ( ! 0 "
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ì c t b ng 1), bit th hai luôn có giá tr
! 1 < = + %
b ng 1 tránh trùng v i t mã ng b khung, bit th ba dùng cho c nh báo xa khi
= : 0 " + (
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
" / ! ! *
1 0 " 1 !
c t mã ng b khung thì bit A c b t lên 1 báo cho tr m g c bi t.
M i a khung ch a 16 khung và có th i gian là 2ms. Các khung c ánh
5 + & 1
s th t t F0 n F15, trong ó 8 khung mang ch s ch n và 8 khung mang ch s
+ 0 - ? -
l . Khe th i gian TS16 c a khung F0 ch a t mã ng b a khung có giá tr
@ & . + 0 " %
0000xyxx 0000 y
trong ó 4 bit u có giá tr
* % là mã ng b a khung, bit th 6
" +
1 < = ( " * !
c t b ng 1 c nh báo m t ng b a khung u xa, các bit còn l i n
x u
không s d ng c t b ng 1. Các khe th i gian TS16 c a các khung t F1 n
, # 1 < = & . 0
14
F15 dùng truy n báo hi u. Báo hi u c a m i kênh tho i c mã hóa thành 4 bit
. 5 ! 1
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 t 1 n 15, n a bên ph i (tr ng s th p) s truy n báo hi u
. ! 0 , ( 8
c a các kênh tho i t 16 n 30. Nh v y ph i có 16 khe th i gian TS16 trong m t
. ! 0 ( &
0 . ! "
a khung v a 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 c g i là báo hi u kênh k t h p CAS (Channel
+ 1 1
Associated Signalling).
Trong tr ng h p lu ng E1 dùng truy n s li u, thì bit Si trong khe th i
& 1 " &
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
+ / . "
15
hình 1.4
Trong mô t ch c n ng các bit c a khe th i gian TS0 trong m i a
( + / . & 5
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
+ " + "
+ ? . 5
n khung 15. Bit th nh t trong các khung ch n c a m i 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
+ @ .
m i a khung con t o thành t mã ng b a khung CRC-4 , bit th nh t trong
5 ! 0 " +
khung 13 ch th l i bit c a CRC-4 c a a khung con th nh t, bit th nh t trong
- % 5 . . + +
khung 15 ch th l i bit c a CRC-4 c a a khung con th hai.
- % 5 . . +
1.1.3 Cấu trúc khung GFP
GFP c nh ngh a trong chu n G.7041 c a ITU.T s d ng HEC (Header
1 % > ' . , #
with Error Control) c minh h a nh hình v d i ây.
1 8 :
Hình 1.5 C u trúc khung GFP
16
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 c th i i m b t u c a khung GFP ti p theo trong
1 & 7 * .
chu i d li u n (vì a ch cu i cùng c a vùng d li u thì c ng là a
5 $ % - . $ ; %
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 l i. CRC-16 phát hi n m t l i và s a l i c dùng nhi u trong các
5 5 , 5 1
liên k t có t l l i bit cao.
- 5
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 t 0 n 65 535 octet. Tr ng này l i
( 0 & !
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 c ghép trong m t khung d li u
1 $
khác truy n d n trên m ng PDH. Nguyên t c c b n c a k thu t này là phát
9 ! 7 ( .
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 chu i d li u liên t c, ngoài ra Encapsulation c ng
& ! 5 $ # ;
th c hi n vi c phát hi n l i b ng vi c thêm chu i ki m tra khung (FCS) vào m i
5 = 5 5
khung. M t s chu n Encapsulation th ng c s d ng trong EoPDH là : High –
' & 1 , #
Level data link control (HDLC), Link Access Proceduce for SDH (LAPS/X.86), và
17
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 c a chu ng nh t.
1
GFP cung c p m t gi i pháp óng khung linh ho t dùng c cho c d li u
( ! 1 ( $
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 du ngoc ơn trên hình 1.6 c tính bng byte
Nh trên chúng ta có th th y cùng là ph n d li u Ethernet sau khi
hình 1.6 * $
1 * * * # 8 1 ! =
c tách ph n mào u và ph n ph i s c ó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à
&
18
Stop xu t hi n trong tr ng d li u và các c ó c n c thay th b ng m t chu i
& $ & * 1 = 5
d li u khác d n t i vi c b ng thông d li u s b t ng lên. i v i k thu t óng
$ 9 : / $ 8 % / :
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ù h p và có th d báo tr c.
( / 1 :
1.1.5 K thu t Mapping
Là quá trình mà các khung Encasulated Ethernet c t vào khung E1
1 <
truy n t i qua m ng truy n d n.
( ! 9
Hình 1.7 Quá trình mapping d li u t khung GPF vào khung E1
$ 0
m c 1.1.2
Trong v c u trúc khung E1, chúng ta ã bi t khe th i gian TS0
&
c a m i khung ch a thông tin ng b khung (v i kênh tho i) và ch a các bit ki m
. 5 + " : ! +
tra CRC-4 (v i kênh truy n s li u). Các khe th i gian t TS1 n TS31 c a m i
: & 0 . 5
khung trong c u trúc a khung (g m 16 khung) s c s d ng mang d li u
" 8 1 , # $
Encasulated Ethernet g i là các GFP octets nh . Khe th i gian TS1 trong
hình 1.5 &
khung th nh t c a a khung s dùng ch a d li u mào u ph c v cho vi c
+ . 8 + $ * # #
ghép n i d li u và c g i là Trong tr ng h p
$ 1 Concatenation overhead octet. & 1
d li u Encasulated Ethernet khi ghép lên khung E1 mà v n còn kho ng tr ng thì s
$ 9 ( 8
1 $ <
c chèn thêm các byte d li u g i là ho
GFP frame overhead c .
IDLE patten
19
D li u Encasulated Ethernet s c xáo tr n tr c khi c ghép lên
$ 8 1 : 1
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 ng ng và r t nhanh chóng c ng d ng vào th c t ; m i lo i u có nh ng
0 1 + # 5 ! $
1 : ! ( / ,
u và nh c 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 t tr i h n
/ ! : 1
c là kh n ng x lý song song. V i u i m v t tr i này, v i cùng m t bài toán x
( ( / , : 1 : ,
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 d hàn b ng tay cho bài toán thi t k
* 6 =
là phù h p v i th c t ch t o hi n t i Vi t Nam.
1 : ! !
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 nhi u,
! < , ! ) 6
quy t nh ng ng, ch ng Jitter, t o m ch tr … n u không can thi p sâu vào ph n
% B ! ! 6 *
c ng thì s không t i u c thi t k .
+ 8 1
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 c
* + * 1
quy t nh b i môi tr ng phát tri n ph n m m h tr trên nó, t cách th c l p
% & * 5 1 0 +
trình, ngôn ng , th vi n, các h th ng công c h tr i kèm. Môi tr ng phát tri n
$ # 5 1 &
ph n m m này s cho phép t n d ng c nhi u mô- un ph n m m ã c chu n
* 8 # 1 * 1 '
hóa tr c ó, không nh ng nâng cao c ch t l ng c a tài mà còn rút ng n
: $ 1 1 . 7
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 t khâu thi t k ban u (thông qua VHDL, Verilog HDL, ABEL ho c là v
0 * < 8
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 h tr mô ph ng các file d ng HDL ki m tra xem h th ng có
5 1 ) !
20
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 h p v i ph n m m ModelSim c a hãng Mentor Graphic ho c ph n m m System
1 : * . < *
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.
+ .
21
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à chu i d li u n i ti p có t c E1 theo chu n G.703.
. 5 $ '
B chuy n i này làm vi c theo ch song công, t c chu i bít u ra ph
5 * #
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 c thi t l p là 2048 kHz.
% " " 1
B chuy n i Ethernet - E1 c thi t k k t n i máy tính (PC) hay các
1
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).
!
22
- 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 s t o ra các tín hi u reset, i u khi n cho IC ngo i vi giao
" 8 ! !
ti p Ethernet, sau ó Txmodule và Rxmodul b t u làm vi c. Các khung Ethernet
7 *
thu c t IC PHY (DM9161A c a hãng DAVICOM) c l u tr , x lý và
1 0 . 1 $ ,
chuy n i thành chu i d li u n i ti p t c E1 b i kh i Txmodule, trong khi ó
5 $
chu i d li u n i ti p E1 c x lý và chuy n i thành các gói Ethernet b i kh i
5 $ 1 ,
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
h p. Tín hi u truy n d n l p v t lý là tín hi u b ng g c ã c mã hóa theo mã
1 9 : / 1
& 1 (
ng dây Manchester. Mã Manscherter c 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 c th c hi n b ng cách k t h p nhi u kh i nh b bi n i d
1 = 1 $
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 (m i xung có r ng 16 ms) duy trì k t
5
23
n i. N u máy thu trên m ng không nh n c các xung ó trong kho ng 100 ms thì
! 1 (
k t n i c quy t nh là có l i. Ngoài ra, các mô un thu phát v t lý có ch c n ng
1 % 5 + /
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à h tr giao di n chu n MII
* 5 1 '
(Media Independent Interface), c quy nh theo chu n IEEE 802.3u. Giao di n
1 % '
này c 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
1 : : :
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, h tr vi c phát hi n xung t khi thu phát d li u.
5 1 $
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 k g p ôi. M t i m n a c n
$ : 2 $ *
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 c
! & . $ * 1
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 c ch t t i s n
! & . * 1 ! &
â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
*
24
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 h p, khi c p ngu n IC PHY không th làm vi c
& 1 "
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 c thi t k
! ( 1
theo gi n th i gian c a IC PHY DM9161A c minh h a trong Table 2
( " & . 1
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 c gi m c i n áp th p ít nh t 10 ms, vì th
( 1 $ +
vi c dùng init_clk là 10 kHz s t o ra tín hi u reset theo úng yêu c u. sau ó m i
8 ! * :
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
( " &
25
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 ã c thu), d a trên
+ > 1
thông tin t tr ng Preamble và SFD, nl_frame t o ra các tín hi u b t u gói
0 & ! 7 *
(start_of_frame) và k t thúc gói (end_of_frame) Ethernet, trên c s ó tính toán
1 $ . " % - $
c 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 c chuy n thành các gói d li u byte 8 bit.
$ ! 1 $
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
chân
S l ng
$ ư'
chân
H ng d
ư( )
li u
* ư
c tr ng
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 h p
1
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 t PHY d ng nibble, chu n
* $ 0 ! '
MII
Rxdv_8 1 u ra Tích c c m c cao, thi t l p khi rxd_8
* +
26
thích h p
1
Rxclk_8 1 u ra o ng c rxclk_4
* ( 1
Rxd_8 8 u ra D li u 8 bit, thích h p t i s n d ng
* $ 1 ! &
rxclk_8 và rxdv_8 m c cao
+
Frame_start 1 u ra Xung b t u khung d li u
* 7 * $
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 b t u ki m
! ! ! 7 *
tra tr ng preamble. N u tín hi u rxdv_4 có m c ‘1’ và rxd_4 = “0101” có ngh a là
& + >
b t u tr ng preamble, khi ó fsm chuy n sang tr ng thái Hunt và thi t l p tín
7 * & !
hi u frame_end m c ‘0’.
+
Khi fsm ang tr ng thái Hunt, b t u ki m tra tr ng SFD, khi rxdv_4 có
! 7 * &
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 b t u gói
" & + 7 *
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 c l i c ng tr ng thái này, n u tín hi u rxdv_4 có m c ‘0’ thì fsm
1 ! ; ! +
s 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
8 ! +
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 s chuy n
! + 8
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 c l i, c ng tr ng thái này, n u
$ 1 ! ; !
rxdv_4 có m c ‘0’ thì fsm s chuy n sang tr ng thái idle và thi t l p tín hi u rxdv_8
+ 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:
= $ " $ % &
27
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 b t
! $ 7
* + ! & .
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 b t u khung frame_start lên m c 1. T i s ng d ng rxclk_4 ti p theo,
& 7 * + ! &
state l i c chuy n v tr ng thái thu nible th p và th c hi n ghép và ch t d li u
! 1 ! $
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 v , sau SFD”1101”, hai nible n i ti p nhau có giá tr “0000”, do v y
8 %
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 t là “1000” và
% * 1
“0100”, khi ó d li u rxd_8 s là “01001000”. T ng t d li u rxd_8 s c
$ 8 $ 8 1
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.
+ ! & .
28
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 t u khung n cu i khung Eth
( 0 *
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
( !
29
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” c t ch c theo chu n Dual Port Ram l u d
: 1 + ' $
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) t kh i nl_frame, x lý các gói d li u Ethernet. Sau ó a ra
0 , $
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 t kh i “Read Control” phát hi n và x lý tr ng
; ) 0 , !
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) t kh i
* 0
“Write Control” và d li u Ethernet “Rxd_8” t kh i “nl_frame”. Kh i này th c
$ 0
hi n vi c t o khung GFP và ghép các gói d li u Ethernet vào khung GFP ó. Sau
! $
1 :
ó các khung GFP c ghi vào b nh GFPframe_Ram.
30
Kh i “Read Control” nh n các tín hi u i u khi n u vào (Pdh_fr_start,
*
Pdh_clk) t kh i “PDHframe”, và tín hi u hwpointer t kh i “Write Control”
0 0
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:
"
31
Hình 2.8 L u thu t toán t o tín hi u i u khi n ghi RAM
" !
32
Tr ng thái “Start of frame”, khi nh n c c báo b t u khung Ethernet,
! 1 & 7 *
ngh a là “eth_fr_start” có m c ‘1’, ki m tra l n l t 8 a ch ti p theo sau v trí con
> + * 1 % - %
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 s tính toán c tr ng mào u c a khung GFP (g m 8 byte) r i sau
8 1 & * . " "
< * % ) ) " & : /
ó 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
! / $
m i byte Ethernet thu c. ng th i ki m tra tr ng thái b nh RAM, n u b nh
5 1 " & ! : :
không b tràn thì t ng con tr ghi lên 1 n v sau m i byte Ethernet thu c, n u
% / ) % 5 1
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 c l p i l p l i cho n khi xung báo k t thúc khung Ethernet “eth_fr_end”
1 < < !
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
& : : % ! )
v a thu b ng cách d ch con tr ghi v a ch b t u thu khung ó. Ng c l i, n u
0 = % ) % - 7 * 1 !
b nh không b tràn, t c là ta ã thu c toàn b d li u c a khung Ethernet, khi
: % + 1 $ .
ó th c hi n tính toán cHEC theo thu t toán CRC16.
Tr ng thái “GFP Header”, khi thu c toàn b khung Ethernet, t ng b m
! 1 /
% % * " & % - . )
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 c l p l i t tr ng thái ban u.
1 < ! 0 ! *
33
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 v , khi có xung báo hi u eth_frame_start,
( ) 8
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 s t ng lên 1 n v sau m i byte d li u c ghi vào RAM.
) 8 / % 5 $ 1
" & $ 8 1 !
ng th i b m dài d li u s c 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 v ta th y r ng, b m eth_cnt có giá tr
% * 8 = %
“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
+ / )
t 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
0 + . +
t ng n 8 (gfp_cnt(3) có m c ‘1’) thì b m d ng l i.
/ + 0 !
34
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 c tín hi u gfph_cnt(3) có m c ‘1’ t kh i “Write Control”, th c
1 + 0
hi n ghi t ng byte d li u Ethernet vào Ram v i a ch addr trùng v i con tr ghi
0 $ : % - : )
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 c nh v
. % . 1 % %
b i b m gfph_cnt(2..0), b m này có giá tr t 0 n 7. Giá tr 0 và 1 ng v i 2
% 0 % + :
byte Len ( dài d li u Ethernet ã c xác nh trong kh i “Write Control”), giá
$ 1 %
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:
"
35
!"#
$
%
&'()'
)*+
Hình 2.11 L u thu t toán th c hi n ghép kênh GFP
"
Thu t toán c mô ph ng trên Model Sim nh hình 2.12, khi có d li u
1 ) $
rxd_8 và rxdv_8 thích h p, cùng v i tín hi u gfph_cnt(3) có m c ‘1’, con tr c
1 : + )
waddr c gán v i giá tr con tr wpointer, quan sát trên hình v ta th y con tr
1 : % ) 8 )
waddr c t ng 9 n v t 1869 n 1878 khi có xung eth_frame_start xu t hi n,
1 / % 0
" & % 1 : $ %
ng th i giá tr ghi vào Ram là “datain” c 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 t là 0, 72, 109,
! $ $ * 1
59, 224 … cùng v i v trí con tr ghi t ng ng.
: % ) +
37
Trong hình v 2.12b, khi xung eth_frame_end xu t hi n báo hi u k t thúc
8
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 m i s n d ng c a rxclk_8. Và bi n m t ng l n
/ % ! 5 & . / *
l t t 0 n 8 và d ng l i không m n a. Khi ó t i v trí gfph_cnt có giá tr 0
1 0 0 ! $ ! % %
ho c 1 t ng ng v i giá tr con tr ghi c l u l i t i v trí u khung là 1870 và
< + : % ) 1 ! ! % *
1871, t i 2 v trí ó d li u ghi vào Ram “Datain” c gán v i l n l t 2 byte
! % $ 1 : * 1
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 t là 40 và 2, ng v i gfph_cnt có
% % * 1 + :
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 t ng v i giá tr con tr
& $ * 1 + : % )
ghi là 1874 n 1877. V trí con tr ti p theo 1878 s là ph n d li u Ethernet nh
% ) 8 * $
( * : ( )
ã 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” ) t kh i E1 frame thì th c hi n
$ 0
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 c l i, n u Ram b empty thì th c hi n gán d li u GFPdata v i d
: 1 ! % $ : $
li u IdleGFP m c nh.
< %
Thu t toán th c hi n nh sau
38
Pdh_ch_start = ‘1’
Ram empty?
(rpointer = hwpointer )
- rpointer = rpointer + 1
- GFPdata = dataout
START
- idlgfpcnt = idlgfpcnt + 1
- GFPdata = Idlegfp(idlgfpcnt)
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 b t u khung d li u E1
( = ! % 7 * $
“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 t mã ng b khung “10011011”. Do ó, tín hi u cho
" $ : 0 "
phép c Ram e1_enb không c active. Ti p theo, t khe th i gian 1 n khe th i
1 0 & &
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, t TS1 (e1_channel = 1) n TS31 (e1_channel = 31) con tr
( ) 0 )
/ % : 1
c Ram t ng lên m t n v cùng v i tín hi u cho phép c c active.
39
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 c th c hi n b i kh i “Frame Control”, kh i
% & 1
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 c t o ra v i m c ích t o ra các
* 1 ! : # !
xung nh th i xác nh v trí các byte d li u phù h p trong khung E1, sau ó b
% & % % $ 1
! 1 * !
m này l i c 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 t TS0 n TS31 trong c u trúc khung E1 (t ng ng v i b
& 0 + :
% 0
m 5 bít có giá tr t 0 n 31).
" & ! % & 7 * ! %
ng th i t o ra xung nh th i b t 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
) ! % &
40
Trong k t qu mô ph ng ta th y r ng, m t khung c b t u b i xung nh
( ) = 1 7 * %
th i b t ng khung E1 (frame_start) ng v i TS0, TS0 dùng ghép t mã ng
& 7 " + : 0 "
b khung E1 nên xung c byte d li u không c kích ho t. B t u t TS1 n
$ 1 ! 7 * 0
TS31 thì có 31 xung c byte d li u c kích ho t c d li u t kh i “GFP
$ 1 ! $ 0
frame”.
Sau khi t o ra các xung nh th i khung E1, các xung này c a n
! % & 1
kh i ghép kênh, t i v trí xung báo hi u b t u khung “frame_start” có m c ‘1’ thì
! % 7 * +
gán d li u E1 data v i byte t mã ng b khung E1 là "10011011", ti p theo ó
$ : 0 "
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”
! % + : $
1 0
c c ra t 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 c gán v i t mã
= ! % + $ 1 : 0
" 1 : $
ng b khung là “10011011”, sau ó E1 data c gán v i d li u GFP data toàn
‘1’.
Sau ó, các byte d li u E1 data c a n kh i bi n i d li u song
$ 1 $
song thành n i ti p. T ng bít trong byte d li u c gán lên chu i bít u ra theo
0 $ 1 5 *
clock E1 theo th t t bít có tr ng s cao nh t (msb) n bít có tr ng s th p
+ 0 0
nh t(lsb). Ví d , v i t mã ng b “10011011” thì chu i d li u E1 Out s là : 1 0
# : 0 " 5 $ 8
0 1 1 0 1 1
41
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 chu i bít n i ti p t c E1
) $ 5
2.5. Kh i giao ti p lu ng E1 (LIU)
$ +
Kh i này th c hi n vi c thu chu i d li u E1 t FPGA, sau ó th c hi n mã
5 $ 0
hóa HDB3 và phát ra ng dây E1. Ng c l i, th c hi n thu d li u E1 d ng
& 1 ! $ !
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 t d li u, ngh a là nó khôi ph c
+ / # 0 $ > #
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 ng d
! & . $ 1 $
li u thu v c ánh giá qua m u m t c a nó, m u m t c t o ra b ng cách l y
1 9 7 . 9 7 1 ! =
m u 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
9 % & . / / :
m u quy t nh bít truy n là 1 hay 0) và ch ng các khung (có dài là m t s
9 % "
symbol nh t nh) lên nhau.
%
Ví d : n u l y m u tín hi u t i t c c 10 m u /giây và mu n xem m t khung
# 9 ! 9
có dài 2 symbol thì chúng ra s c t tín hi u m i 20 m u 1 khung và ch ng l p các
8 7 5 9 " <
khung ó lên nhau theo th i gian. Các tín hi u ch ng l p lên nhau ó s mang nhi u
& " < 8
thông tin và c g i là bi u m t. Nó r t quan tr ng trong vi c xác nh i m l y
1 " 7 %
m u t i u, là i m mà ít nh y c m v i nhi u, t p âm, rung pha nh t và có quy t
9 ! ( : 6 !
%
nh an toàn là cao nh t.
42
Ta th y r ng, d li u sau khi thu v s có Jitter, do v y n u Clock mà ch t
= $ 8
d li u t i vùng hay s y ra Jitter thì các bit s b quy t nh sai. Do v y tr ng
$ ! ( 8 % % &
h p lý t ng nh t là tín hi u clk s ch t d li u t i chính gi a d li u, l i s s y
1 8 $ ! $ $ 5 8 (
ra khi Jitter c a clk l n h n 0.5 chu k bít.
. : 2
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 m u d li u, trên c s ó phát hi n s n c a
# * 9 $ & .
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) ã c khôi ph c (t c là ta ã phát i chu i d li u [+1,
1 # + 5 $ − 1, +1, − 1, .
. . ]) và sau ó l y m u t i b t k i m nào (khác các th i i m chuy n symbol) thì
9 ! 2 &
(
u cho k t qu úng.
Hình 2.20 Tín hi u ã c khôi ph c không có nhi u.
1 # 6
43
Hình 2.21 Tín hi u ã c khôi ph c có nhi u.
1 # 6
Tuy nhiên trong tr ng h p có nhi u thì d li u thu c có th quan sát
& 1 6 $ 1
1 & 1 9 ! 2 &
c nh Hình 2.21. Trong tr ng h p này, vi c l y m u t i b t k 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 c r ng s quy t nh tín
: & ( ( 1 = %
hi u nào ã c phát i là úng nh tr ng h p không có nhi u trên. B ng vi c
1 & 1 6 =
tính trung bình trong t ng kho ng chu k c a m t bít d li u chúng ta có th a ra
0 ( 2 . $
1 $ 1
c s ánh giá úng h n v bit d li u nào ã c 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ó nhi u
* . 6
Hình 2.23 u ra b l c trung bình c a tín hi u có nhi u
* . 6
44
Chú ý r ng c hai tr ng h p u ra c a b l c ph i h p có các nh mà t i
= ( & 1 * . 1 - !
1 - 1
ó b l c ph i h p l y chính xác symbol và nh d ng cho bi t +1 ã c phát,
t ng t nh âm cho bi t -1 c phát. M c dù ây v n nhi u nh trong Hình
- 1 < 9 6
2.22 tuy nhiên các nh này r t d xác nh c và a ra s ánh giá v d li u
- 6 % 1 $
(+1, -1) chính xác h n nhi u so v i vi c l y m u tín hi u mà không cho qua l c
: 9
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
> * *
$ * # 9 $ * , (
d li u c n khôi ph c l y m u 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 c l c ph i h p c a vào u vào
. 1 1 1 *
Datain c a m ch khôi ph c nh th i DPLL. B tách sóng pha s phát hi n tín hi u
. ! # % & 8
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 s i u khi n t ng hay gi m t n s
8 / ( *
c a DCO. Khi m ch vòng dpll ã khóa pha thì bít cao nh t c a DCO s c l y ra
. ! . 8 1
$ &
ch t d li u. B tách sóng pha Alexander (Alexander Phase Detector) th ng
1 , # # % & $ 0 5
c s d ng trong vi c khôi ph c nh th i và d li u t chu i 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 c
( - / ( * 1
! ) 6 * (
a qua b l c thông th p lo i b nhi u. 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
% . &
45
1 . <
c 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 c t symbol thu b ng kh i Slicer.
= $ 1 0 =
Clock khôi ph c c có s n d ng ch t vào chính gi a d li u.
# 1 & $ $
2.6.2.Kh i E1_deframe
$
Kh i E1 deframe thu chu i d li u E1 t i s n d ng c a clock ã c
5 $ ! & . 1
khôi ph c t kh i khôi ph c nh th i, s kh i b tách kênh E1 c minh h a
# 0 # % & " 1
nh hình
Sync and
Frame Control
DeMux
Serial To
Parallel
rd
GFP Data
8
Fr_ch_start
E1 Data
E1 In
E1 Clk
8
fr_start
Hình 2.27 S thi t k kh i E1_deframe
"
D li u E1 n i ti p c chuy n i thành d li u song song 8 bít, sau ó d
$ 1 $ $
li u song song này c a vào kh i ng b khung xác nh t mã ng b và
1 " % 0 "
% &
nh th i khung E1.
46
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 c t mã ng b khung, ngh a là E1 data có giá tr
1 0 " > %
“10011011”, thi t l p c phát hi n khung lên m c ‘1’ (frame_det = ‘1’), ng c l i
& + 1 !
n u E1_data khác t mã ng b khung thì xóa c (frame_det = ‘0’).
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 c t mã ng b khung thì tr ng thái h th ng t 00 s chuy n sang 01.
1 0 " ! 0 8
47
Khi tr ng thái 01, b t u t ng bi n m (cnt) s bít lên 1 n v theo xung
! 7 * / %
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 t mã ng b khung ti p theo) cùng th i i m thì gán tr ng thái
0 " & !
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 l i lên 1 n
% ( & / 5
v (error = error + 1), n u không x y ra tr ng h p này thì xóa bi n error v 0.
% ( & 1
Nh v y, n u x y ra 3 l i liên ti p (error = 3) thì thi t l p tr ng thái h th ng
( 5 !
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
: :
48
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 c t kh i E1_deframe c a vào kh i ng b
$ 1 0 1 "
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 s c n c vào s byte d li u Ethernet thu
! 8 / + $
1 ! $ 0 : " &
c t o ra các tín hi u i u khi n c d li u t 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 c khung Ethernet ã phát d i d ng
* ( # 1 : !
các byte n i ti p nhau. Sau ây là thu t toán th c hi n c th t ng kh i
# 0
2.6.4.Kh i ng b khung GFP
$ +
D li u GFP_Data c ghi vào m t thanh ghi d ch “buff” 4 byte n i ti p,
$ 1 %
d li u c d ch trái. Th c hi n tính toán cHEC t 2 byte Buff(3) và Buff(2) theo
$ 1 % 0
thu t toán Cyclic, sau ó so sánh cHEC v a tìm c v i hai byte Buff(1) và
0 1 :
Buff(0). N u hai giá tr này b ng nhau thì xác nh n ng b khung GFP ng th i
% = " " &
$ 0
a ra s byte d li u Ethernet trên khung GFP ó t 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 c t mã ng b c a khung GFP
= * 1 0 " .
thì tr ng thái “State” là “Hunt”, khi ki m tra úng t mã cHec thì tr ng thái state
! 0 !
chuy n sang “presyn”, ng th i ch t chi u dài d li u Ethernet là gfp_cnth = 70
" & $
$ 9 !
úng nh d li u phát. Mã cHec ti p theo v n úng và chuy n “state” sang tr ng
thái ng b “Syn”.
"
49
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 c chính là
: / % ) = 1
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 v trên ta th y, khi tr ng thái ng b GFP c
( ) 8 ! " 1
thi t l p thì con tr ghi wpointer b t u t ng theo m i byte d li u.
) 7 * / 5 $
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:
"
Ram empty?
(rpointer = wpointer + 1)
Counter byte _cnt:
0 to ethernet_len + 19
START
Case byte_cnt:
0 to 7 : preamble
8 : SFD
9 to Ethernet_len + 8 : Data
Ethernet_len + 9 to Ethernet_len + 19: IFGs
No
If
Byte_cnt = 9 to Ethernet_len + 19
Then
rpointer = rpointer + 1
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
"
50
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 c, n u bi n m này có giá tr b ng s
/ 1 % =
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 t 0 n 6 thì gán u ra Eth_8 v i các byte d li u
% 0 * : $
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 c c ra t b nh RAM
: $ 1 0 :
Ethbytecnt có giá tr t ethlength + 7 n ethlength + 19 thì gán Eth_8 v i d
% 0 : $
li u idle gi a các khung Ethernet.
$
Khi Ram không b empty và ethbytecnt n m trong kho ng t 8 n ethlength
% = ( 0
+ 7 thì th c hi n t ng d n con tr c rpointer.
/ * )
51
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 b t u khung
) ! 7 *
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 c chuy n thành các nible n i ti p theo quy lu t, 4
$ 1
bít th p chuy n i tr c và 4 bít cao chuy n i sau.
:
a
b
52
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 c a vào liên t c, kho ng cách gi a các gói
1 # ( $
Ethernet là 12 bytes (t ng ng v i 48 chu k rxclk_4). Clock PDH a vào có t c
+ : 2
TxE1clk = 2.048 Mhz.
Th c hi n loopback d li u DataE1, Clock txclk_4 (25 Mhz) cho ph n thu.
$ *
Ta thu c d li u u ra h th ng g m: txen_4, txd_4, cùng v i txclk_4 (25 Mhz)
1 $ * " :
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 c nh h n t c Ethernet phát vào. i u này theo tính
1 )
toán là úng vì b ng thông gi m i do t c ô truy n d n ch là 2048 Kbps.
/ ( 9 -
53
Hình 2.35 Mô ph ng u vào và u ra c a h th ng E1_Ethernet
) * * .
54
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
+ $
Trong s trên, ph n c ng c thi t k cho c chi u thu và chi u phát.
" * + 1 (
chi u phát, d li u d ng IP (ví d nh t máy tính ho c m t thi t b nào ó s d ng
$ ! # 0 < % , #
giao di n IP) c a vào qua gi c RJ45 (lo i HR911105A c a hãng Hanrun) qua
1 7 ! .
IC giao ti p v t lý DM9161A c chuy n thành d li u d ng s (mã hóa NRZ), d
1 $ ! $
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 c lo i b ph n header c a gói IP và óng gói theo chu n GFP,
$ 1 ! ) * . '
sau ó c óng khung E1 và a vào IC giao ti p lu ng E1 (DS32384T). D li u
1 " $
sau IC giao ti p E1 c a vào bi n áp lu ng T1094NL ch nh s a d ng xung
1 " - , !
HDB3 và a ra giao ti p v i ng dây. chi u thu, quá trình c th c hi n
: & 1
ng c l i, d li u d ng HDB3 t ng dây (lu ng E1) qua bi n áp lu ng vào IC
1 ! $ ! 0 & " "
giao ti p lu ng E1 bi n i thành d ng s (mã hóa NRZ). Sau ó, d li u s c
" ! $ 1
,
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 gi c RJ45 có tích h p bi n áp giao
$ 7 1
ti p v i thi t b u cu i IP.
: % *
Hình 3.1 S kh i b chuy n i Ethernet-E1
"
55
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
" ! "
56
M ch s d ng IC giao ti p lu ng E1 c a hãng DALLAS và c c u hình
! , # " . 1
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 t
+ + / " 0
HDB3 sang NRZ và ng c l i, ng th i khôi ph c th c hi n khôi ph c ng h và
1 ! " & # # " "
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
! % " :
& , # * 7
ng dây, s d ng u n i là gi c 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.
57
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 xo n UTP5(Unshielded Twisted Pair Category 5) cho t c
, # 7
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 gi c RJ45,
( : & : 7
m ch hình 3.4 s d ng gi c HR911105A có tích h p s n bi n áp bên trong. Ngoài
! , # 7 1 ?
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.
" %
58
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 c bi n i qua IC FAN1112D t o ra i n áp 1,2VDC. C 3
! 1 ! (
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
!
59
3.1.2.6 M ch l p ráp hoàn ch nh
& 0
Hình 3.8 M ch l p ráp hoàn ch nh
! 7 -
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 c l p 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
! 1 7 ! * - ( ( ! *
c ng sau khi ã thi t k l p ráp hoàn ch nh.
+ 7 -
Gi c J1 là gi c ngu n 5VDC u vào c p ngu n cho b ng m ch.
7 7 " * " ( !
Gi c J2 là gi c dùng cho u cu i IP s d ng u RJ45 c a Hanrun lo i
7 7 * , # * . !
HR911105A (s d ng các chân 1,2; 3,6).
, #
Gi c J3 c ng là gi c RJ45 nh ng s d ng cho giao di n lu ng E1 chu n
7 ; 7 , # " '
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 , t t
" " " 7
là ng b ).
"
Led L3: èn LOF báo m t khung E1 (sáng là m t ng b , t t là ng b ).
" 7 "
Led L4: không dùng.
J1
J2
J3
L1
L2
L3
L4
60
3.2 Kt qu th1 nghim trên m&ch hoàn ch0nh
3.2.1 Mô hình th1 nghim th!c t
Hình 3.9 Mô hình th nghi m th c t
,
Mô hình ki m tra c mô t trên
1 ( hình 3.6. Chúng ta có 2 b chuy n i
Ethernet-E1 c n i qua tuy n truy n d n E1 (PDH - giao di n G.703), u cu i
1 9 *
ng i dùng ( u g n) s d ng m t máy tính n i vào gi c RJ45 c a thi t b chuy n
& * * , # 7 . %
* < ! # !
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 Kt lun và kin ngh,
Lu n v n ã t c m c ích là thi t k c b chuy n i Ethernet – E1
/ ! 1 # 1
th c hi n trên công ngh FPGA, áp ng c yêu c u s d ng u cu i IP trên n n
+ 1 * , # *
h t ng PDH.
! *
Lu n v n ã nghiên c u lý thuy t v c u trúc m ng truy n d n PDH, lý
/ + ! 9
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 t
$ " # " " % & 0
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 c s n ph m.
& 1 ( '
61
Lu n v n ã hoàn thành c các m c tiêu và n i dung ch y u ã ra. Sau
/ 1 # .
khi hoàn thành lu n v n, b n thân tôi c ng ã làm ch c các công c thi t k
/ ( ; . 1 #
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 ng n và c ng do trình c a b n thân còn
& / 7 ; . (
h n ch cho nên trong khuôn kh lu n v n này, tôi m i nghiên c u c ph ng
! / : + 1
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 d n PDH. Trên c s ó, chúng ta có th phát tri n thêm các ph ng
9
pháp óng khung d li u Ethernet trên n n khung truy n d n PDH v i t c khác
$ 9 :
nhau ho c theo c u trúc khung truy n d n SDH.
< 9
Trong quá trình th c hi n lu n v n, tôi ã nh n c r t nhi u s giúp c a
/ 1 B .
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 d n khoa h c cùng các th y cô giáo trong Khoa
: 9 *
, 6 & ! B
i n t - Vi n thông – Tr ng i h c Bách Khoa Hà N i ã t n tình giúp 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
vi n thông - Trung tâm k thu t thông tin công ngh cao ã t o i u ki n giúp
6 ! B
tôi trong th i gian th c hi n và hoàn thành lu n v n.
& /
62
TÀI LIU THAM KHO
[1] Nguy n Qu c Bình (2001), K thu t truy n d n s , NXB Quân i.
6 9
[2] Nguy n Qu c Trung (2003), X lý tín hi u và l c s , NXB Khoa h c và K
6 ,
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.
. .