.17 Mơ ph)ng th ch in ghép kênh E1_frame

Một phần của tài liệu Nghiên cứu và thiết kế bộ chuyển đổi ethernet e1 trên công nghệ fpga (Trang 41)

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 tồ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

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 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

42

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 Q 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 vng 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.

43

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

44

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

ngun 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,

45

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

Sync and Frame Control

DeMux rd Serial To Parallel

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 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.

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 tố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.

47

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

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 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 tố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 tốn cHEC t0 2 byte Buff(3) và Buff(2) theo

thu t tố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”.

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 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:

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

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 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.

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 b7t *u khung 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.

a

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 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

53

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 1c thi t k cho c( chi u thu và chi u phát.

Một phần của tài liệu Nghiên cứu và thiết kế bộ chuyển đổi ethernet e1 trên công nghệ fpga (Trang 41)