.5 Khi phân tích khung Ethernet

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 26 - 29)

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

26

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

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

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 t0 *u khung n cu i khung Eth

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 26 - 29)