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 tố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.
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.
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)
56
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. Ngồ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 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
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 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
59
3.1.2.6 M&ch l p ráp hoàn ch0nh
Hình 3.8 M!ch l7p ráp hồ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. J1 J2 J3 L1 L2 L3 L4
60
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 tố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.
61
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 hồ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