Tải bản đầy đủ (.pdf) (56 trang)

Truyền dữ liệu giữa các máy tính

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (17.41 MB, 56 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC Tự NHIÊN
Đề tài
TRƯYÊN Dữ LIÊU GIỮA CẤC MẤY TINH
Mã sô: QG.95-20
C h ù tr í d ề tà i: GVC. Hà Quan2 Thụy.
Viên Tin hoc và Điên từ
H ầ n ò i - !996
ĐẠI HỌC QUOC GIA IIÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC Tự NHIÊN
Đe tài
TRUYÊN l)ữ LIÊU GIỮA CÁC MÁY TÍNH
Ma số: QG.95 20
Chù trì dề tài: five, fin Quang Thụy,
Viện Till hoc và Điện tử
Ị iỉi nội - !9L)6
TRUYÊN Dữ LIỆU GIỮA CẤC MÁY TINH
Mã số: QG.95-20
Chù trí đề tài: GVC. Hà Quang Thụy,
Những nguô i tham eicT CN. Đỗ Hữu PliLÍ
NCS. Nguyễn nài Châu
sv. Nguyễn llồng Long
Hà nội - 1996
T Ó M T Ấ T B Á O C Ả O
I. TÊN ĐÊ TÀI: TRU YẾN DỮ LIỆU GIỮA CÁC MẢY TINH
Ma số: QG.95-20
II. TÊN CHỦ TRÌ ĐÊ TÀI
Hà Quang Thụy, GVC, CBGD Viện Till học và Điện từ
TÊN CẢN BỘ THAM GIA PIIOI HOP
ỉ. Đỗ Hữu Pliú,
2. Nguyễn Hài Châu, NCS


3. Nguyễn Hồng Long, s v K37
3
PHẦN BÁ O CÁO KẾT QUÀ NGHIÊN c ư u
MỞ ĐẦU
Truyền dữ liệu qua các máy tinh theo các phương thức khác nhau, mỗi
phưong thiíc cho một lọi diểin liêng và có phạm vi Ưng dụng cụ thể. Nội
dung nói trên đa đưọc nghiên CƯU, khảo sát khá công phu dối vói các Iiưóe
phát trien. Tuy đã cổ rất nhiều thành công trong Nnli vực nối trên song vẫn
có nhiêu vân đê đưọc đặt ra đối vối bài toán này. Kết nối các máy tính vói
nhau trong một hệ thống vơi các nhu cầu rlnli cũng nliir nhu cầu động. Đối
với nước ta nói chung và trong Đại học Quốc gia Hà nội nổi riêng, dề tài nói
trên càng cần đưọc khảo sát khi dặt vấn dề phát triển việc đào tạo, nghiên
CƯU khoa học và triển khai ifng dụng (rên CÍÌC mạng LAN, W A N. Internet và
Transnet.
ĐÊ TÀI ĐƯ Ợ C ĐẶT RA NHẤM TỚI CẤC MỤC ĐÍCH SAU:
- Nghiên cừu một số cíích lliơc truyền tlơ liêu giưa các máy tính. Quíí trinh
nghiên cifu các vấn (lề và triển khai (hử nghiệm tkrọc tiến hành qua các giai
đoạn: Thu thập tài liệu, tham kliào díínlì giá và di đến lập chuông trinh thử
nghiệm,
- Xây dụn g bộ phan mềm tluỉ' nghiệm các kết quà dã nghiên cifu, cho chạy
thứ và đánh giá.
- Thông qua hoạt động cùa đề thi dế lập họp một số CÍÍI1 bọ trè và sinh viên
năm cuối xay dựng một nhóm làm việc dê liến hành các công việc lâu tlhi.
III, MỤC TIÊU VẢ NÔI DUNG NGIIIÊN c ứ u
- Các báo cíío khoa liọc: Nghiên CƯU một cííeh có hệ lining các nôi dung liên
quan. Thông qua đó có đưọc kết quả thông qua các báo cáo khoa hoc. Buóc
đầu xây d ự ng m ột nh óm làm việc về các nội dung đ ư ọc nghiên CƯU dê khi có
công việc trong ĐHỌCỈIIN cổ thề triển khai được k.ip tluVi.
- Clurong trinh thủ nghiệm: Xây dựng một hoặc hai chuông trinh thừ
nghiệm chi dặt các thuật toán giải quyết.

- Một sô thi liệu liên quan đến Hull vực nói trên: Các thi liệu vê mạng, vê các
phu ong pháp nén và truyền dư liệu.
IV. CÁC KẾT QUẢ THU ĐƯỢC
/. Các chương trĩnh thứ nghiêm
Các chương trình thừ nghiệm được viết trên ngôn ngữ c và phần mềm lam
việc trong môi trưòng DOS. Bộ cluro'iig trinil gôm 2 phân:
- Truyền dữ liệu qua fííc máy tính theo đưỏng dây điện thoai công cọng,
- Nghiên CƯU cắc plunriig pliílp nén dũ liệu nhằm I11ỊIC ctich lăng tốc dỏ truyền
và phù họp vơi điều kiện Việt nam.
4
2. Báo cáo khoa học sinh viên về một chương trình thứ nghiệm:
Báo cáo nói trên cfa đưọc trinh bày tại Hội nghi khoa hoc sinh viên năm
1996. Nội dung của chưong trinh thử nghiệm và háo cáo khoa hoc đirực trinh
bày trong phụ lục kềm theo.
3. Xêm ina khoa học:
Một xêmine khoa học trong 8 tháng về các vấn dề liên quan
V. HỌP TÁC QUỐC TẾ
Đa tiên hành trao đôi (có xin ý kiến cùa Phòng hành chính đối ngoai) liên hệ
với công ty Superlogic tại Hông kỏng để hop tíic trong việc truyền dữ liệu
song chưa tiến hành (luọc.
VI. KINH PHÍ CỦA ĐÊ TẢI
- Đưọc duyệt: 4.000.000 tl
- Đa đưọc cấp : 3.300.000 cì (Ba triệu ba trăm nghi
11
đồng)
- Kinh phí đỉi sử dụng:
S ố TT
Tên khoản mục
Số tiền
1.

Mua 2 card dể tluì' cliucrng trình truyền dử liệu
2.099.500 lĩ
2.
Mua sách tiếng Nga về Mạng, truyền (liỉ liệu 35 1.000 (t
3.
Chi công cho Hội thảo và viết chuông trình
480.000 đ
4.
Gửi Fax sang Ilồng kôtig đề kết nối quốc tế 53.000 d
5.
Ân loát, Photocopy tài liệu
316.500 d
Tồng cộng 3.300.000 cl
(Ba triệu ha trăm nghiII đồng chần)
Các nội dung clii tiêu trên đã thực hiện theo sự hư ứng dẫn cùa phòng
tài vụ.
Vlỉ. ÁP DỤNG KẾT QUẢ
Đỉ\ chạy cturong trinh thử nghiệm theo đu ỏng dây diện thoại Viếl nam
trong các điều kiện thòi tiết. Trong nhiều tiưcVng họp clurmig trinh hoại động
hình tlurông tuy vậy, trong ỉiiột sô trưỏng hop còn gặp dông hộ hóa. Cliưong
trinh cũng cần clirọc cài liến dẻ tĩmg tốc (lộ truvên. Mịít khác, việc \ù lý vân
đề đồng bộ hóa cần ilirực lliể liiẹn lồ rhng lion. Iliệu IỊUỈI cìia việc I1ỐI1 chí
liệu cỉa cri song chira cno.
VIII. KẾT LUẬN
So vơi muc tiêu ban đầu đề ra là 02 bộ chương trinh thử nghiệm, 01 hô
phận cưng ghép nối, 01 háo cáo khoa học, thi liệu giới thiêu phần mềm thử nghiệm
thì về cơ bắn nội dung triền khai phù liọp vói mục tiêu đặt ra klii đề nghi dề tài.
Xác nhận và nhận xét cùa Ban CIÙI tri đề thi
lanh đạo Viện
Đề thi đạt yêu cầu dặt ra so vói

mục tiêu ban đầu cùa đề tài.
Viện trư ỏng
PGS. Nguyễn lliTu Xý (ỈVC. lỉà Ọuang Tliụy
Xác nhận cùa trường
6
SUM M ARY
Name of object: "Translation data between computers"
Odinator: Ha Quang Thuy, Lecturer, Institute of Informatics and Electronics,
Member: - Do Huu Phu, Researcher,
- Nguyen Hai Chau, P.D. granduated student.
- Nguyen I long Long, student.
In oder to develope the researching of translation data between
coinputerẻs, the object considers the problems to make some computer utilities
for translation data on the Vietnam telephone lines.
The object is considered by a group of young researchers and students.
The problems of the object are developed in a science seminar.
A science article are made by students who take part in the object and
the article if showed in the student scientify conference of the University of
Science in 1996.
7
DANF! SẤCH CẤ C CÔNG TRINH KHOA MỌC VẢ KẾT QUẢ NGHIẾN c ứ u
Báo cáo khoa học sinh viên (phụ lục)
đề tài: Chi tiến phirong pháp truyền số liệu XMODEM và clnrong trinh tlur
nghiêm
MỤC' U K
Pliim I : Cải li Oil plitnmu pliỉí |> Inivcn so IU II X-mmlcin 1 n
í lmơii" I. (ỈỈỚHIiiíir w; (tho llirn XMObKiM rlmắn in
1.1, < 'óc kh:íi DÌỌm cIiiiu í!. 1 0
1
.

2
.
( iitii ih iC n
\ ( '
J!Ì.I<> 11II ÍT N m o ilc m ( R ( 10
I . V ( ';íc im rlii'in v;I nlttrựr (liíMn di:i f.irio tlniv XMOI )|M ( lĩ( 12
< h iK in ji 1 : ( < :'ũ 110 11 t*iíìo lh ii( ’' X l\ I ( )l)l',[\ĩ 1 Kí 13
) I Nơ (lổ clmiiỊ',. 1 3
. .

.
14
2 . 1 . I ImíỊI
1
(
1.111
';ir;i s:ii
I Iniflf f HM1 . r
r i ií i n II : ri n rơ N g h ì n h l i m Itf’l m m
<)
I'll ỉl II I: (Tnl (lê n plim rnư pliiip ( n i y ô n s o liC'if X -m o il c in
C lim n iK I. CỉlếVI lliiệ u VC Jil.io flure X M O D IỈ M cluiiilt
1.1. Các khái nlcin cjnijig.
N jiiiy M;iy k ill limy tính Cíì nliíìn dirụt' phf> Infill lỌnp liii thì viCr k^l n<>i
piíĩn ciìc máy lính vói nlinu liờ iiCii liốl sức c:)íi lliiốt. MA hình k(M nối (Idn
piíMi nliíll lỉ\ lliiổl IỌ|) MiỌI pho Ilníc (hri) còn goi l;'i lim lục) linyOn dir liOn
piữn h:ii mny lính,
Khi til im iou lí)Ị) mỌI (lườiip fmyt'ii (lir liỌn fi,iír:i li;ũ h;iy iiliiíMĩ m:íy
Ííuli. Im 1'ltíti ('lủ rn inỌI s 6 (ịiiy (lịnh v'0 klm O n (lọnp. Iliời /»in II, ivích III lie
làm vice IrOi 1 rlinIM/Ĩ ImyOii (ló (lò rỊOtip bồ (ỊMíì liìn h IM111 viỌc < :i<

m áy tính. ( Yic (Ịiiy (tịnh (ló rlược gọi flum p 111 luỌt pi:io llìức (liny còn G('i
In thú lục) cho viỌc IniyV-ti srt lic-n.
Mộ( £Ìiio tlníc pliAi <l:tm hrìo (luực CÍÍC lính rltíìi snn :
l ínli <lưii gl;ni: (iiíio thúc ptiAi «1(111 Jỉi:ìn ((fi tmh < ó lliõ
<\Õ
(lìitip lft|*
liìn li. tníì liÓM I>M11 ;ĩ I ll ' ll n/ỉi'r InMy . (Ỉ<>t)j2 (liời lói và (liòi J’iiii) ImyOĩi Im Kii
lliiòn.
Tính ( 0 dong: (ỉiíio lliitc
sĩ'
Im yíii (ói (l;i (líí liỌn (rí II múc Imì lliiòn
lổup phí
I fn i! tin tà y : I iCu (hực 10 (lirờn/! IniyCn kliòu p phiii lit lý 1HỜ1IJ> (1(1 (1(1
Ri; 1 (> (Ịiiív |»h;ti pli.il Ilk'll (lược Iiliíh ự lỏi Xíìv 1.1 IiOii <lư»'iiiíỉ IttiyOn v;i Ịiln i
có C'(1 clic chỉ ra chhili x:íc ihii£ (lif liỌu (lược Iniyni ilOn (lích mội ('ách
<liínj> í
1
;íM.
líllll niClil clco (5i:n> I lure |)li:ìi CM í kliíì n;lnj> <Miy<'n flữ liCĩi nlimili Iili.il
IIOI1JZ m ọi lóV (lọ CII I íliiờnp Im yCn.
Till uliièii klinn/ỉ I'lt.ii I'M nr mol eino llníc lino ciinp llif'.'i m;ìu flnơ( lítl ( ;i
các línti 011A f liCn nhmi.E tion^ lnrờiự hơị> lí n.u (lun.G tu Ihè l!i pliiii (liọi)
iíív piíio tlnrr lliír li lỉỢ|» nhíìl.
1,2. (ĩlúi LLiU u vfjiin« Hil'rc Xmoijcm c iu :
Mội Ịroii/Ĩ nhíriip flino lĩnh' phổ lii^n Iiliiíl l;> pÌMd llurc Xmodem clo Wni(l
( lills lin n s c ii H116I kí'. ( ìino lliức X m o d e m c ó Itliíínp (!:“)(’ I H u i y^H SMII
I- (lino 1I1ÚC liếp nliỉỊn íIír liỌn chin nhò ỉhíiiih các gỏi có kích Ihirớc lìì
1 28 l»yle SÍIII (lo c liH yò n pó i (lữ lieu 110-11 (lư ờ n p < III y Oil (lốn inti 1111 ộ 11. Tíii
Iicfi nil.ỊII C!ÍC goi (Itrợc liOn kơl lọi tlihnTi tiiỌ! file <lứ liỌii nlnr liic bnn ílíìn.
+ Maì 111 ròi 1 /ĩ ílíutp (lò thực liiCn piíio lliức líìl (lơn ei.Hi. có lliổ là (|t!!ì

(hrờ iig (Irty (liỌii Ilio ại (|||()||£ (111 a M o d e m ) liny sir (lụn g (lily iưii hự c lic'|i
liíii c ổ n g Iirìi tiC'p cùn lini m .íy lính
+ lỉiỌu snííl (Miy'Cii (lữ liỌn c;m.
I lio n p pinn llìirc co sư (Imip llmíH Infill pli.íi liiỌn lỗi (lơn J!Í:ÌI1 /ỉiií|>
kiO m Ini (lọ I in rỌy CUM m ó i liư ờn j) sir
I Itn ơiiỊí lluíc liont (lOnp cua pin o lliứ c X m o d e m Iilnr s;tu :
l)íí liOn (llíực li^Ịi 111),ill ơ (lí\ii piri v;ì (lirơc cliin n h o lliiin h CMC (lo,'III có
(lọ ílíii lỉi I 2 8 byl<\ iSíhi (lo (loiin (lír liỌn 11 (>ì IiOii (lirợc X m o d e m (lóng £ÓÍ
llin n li luỌt /ĩ«>i th ỏ n p lít) có (A ll In k' 11 111 r SÍMI :
í)All )Ị(‘)i
Srt IŨỌ11 1 rh íìn
Dir 1 ion
l ổn a
/’ ói 1 hổsimg
kiổm (ta
Dftn gói 1:1 ký kr (Iftu pói sun (i ll A).
iSrt liiCn m 'n I số (1 Ilf Ilf ('Mil Jỉói 1IK1HIỈ £i;i III hr 0 (l^n 2,'ĩ‘ĩ. Kill srt liicu
Jĩói (lạl pin (lị 2 5 5 (111 p o i li fp Ilic'o sc m m t£ so liiCu In 0 .
PI1ÌÌ11 bổ stm# lr» piĩt III 23.s (Oxl F) liìr (li r.rt liiỌi! />(')!
I>fr JiCn I)no gV\ni I 2 R by lc (Hr liCn cfln IniyO n.
k id m Ira l.ì H |)i! liinj; kiCm Itn CÍIM (Hr lien, I on;z kic’iM tin flnc/fc
(full llico công Mure :
TỔ||JỈ kiC m Iim - < l; iln |0 | X O R ( h l n | l| X O R X(.)R (liilnl
Troll g (ló <l;)ln| 11, 11 n I n 12 1

(Infill 23.') I lii Cite bylc (Hr lie II.
S:m (l(') til lliiổt I0|> (lườn.c IniyOn (lir lieu piirn niíìy |)lỉ!ÍI In A VM mny 111),Til
I;i H llico i’ino llnrc Xni(iil< tii như s;ni :
Hước
1

: Miíy B I it'll Hit' phiil l>>lc N A K vtii klif';iti.E Iltỡi pirm lr>
1 0
piiH
1116I Irtn I>hMI. Miiy n ( If I'11;ìI nhir v;)Y fir’ll kill uliMii (111<tc- p(>i tit'll,
lĩiíớ c 2 : Máy A pui Hftu liCn.
[Ịirớc í ' M íív I' Iitiíìn (lir<u- pói (lú liọii. kiiMn li;i IẢ|)^ k iôm tin \ !\ so Síìnli
tió V(ìi irtnp kiò m Mil etS lidiip U(ii 'lir liỌM. N én li:ii toiip n;iy s:íi khát' tiliMM.
111.1) M sc pin b y lr N A K y ^ n (.'All im;iy A I ill fit liti f>ni (li'r licit T ini Ini m .íy H
r.r £iri hylc A( K yf'M rfill ntiiy A ph.il fiep pói (lir liCii lifp lhro.
Ih u n iiiy A Vi) H n r li^|)
1
1I c l.ip h i In rúc
2
v;i \ elm (!< II khi Iiiio lic-l .III f rOn
lĩirơr '1 : Miíy A J’.tti !>yir 1'.(> I f I ■' n c I f )[ 1 1 n I I.SI ì IH t f >t 1) (Ir kốl llnír I ’ 11 i < M
làm viỌc.
lỉiró r r» ! Mỉíy A kn llnic pint'll hint vice.
H ifoc C) : M il) H nil,'III (liri.tc l<yk’ I '( )l Siiti (1(1 liin p k(M (line* I'liif
‘11
I.'HII
vice.
(Milo 111 ire Xmndriti Iifttu/J tkii (1(111 pi.in. <|(' hip liìtili. I V Ic piiiM flii lie'll
cftn IniyOn vri lollop ;;(} dir liỌn Ị*h;Vi In It'fn: ( 111 i n '1 In Ir 1*6 Mine ( lid
mỗi ;:<>i CÓ 12« fiyir dir liỌu CÍÌU Iinydi ( iiilM llilic 1I-IV fl(' HIM Ivvi. hp
llillll ll^ll l;i CO thò (lillij! IroitG (•;)(■ (Ilftflljj liuy(n It'i’c f|A c;in tun kill'll!' I I'
lliơ i Jji in đi' Iion/J k ill liiiy f n . | ) if u Iiỉiy Ịiuií (lid J’ i.io thức \mn<!< III III'
iiOii plicí biốii 1(111(1 líĩi I f 0-11 liflu hoi Ciíc moil/’ Ml All E fin ItiC’M liny.
D ọ Im cỌy l:i (III flijrli Ikiịi, I tiy vilv. lion/* m(>( ';() iMMfiw! ||<*|) III! I I'V lr
Iftiip klOm ItM kliftnj! flu IÁI flỏ I>11 ;if liiCti kilt XIIÍÌI biCu Iihi('n I'it l/'i lintip
một /ĩói.

(lino 11 lire IniyOn !S m od e m Inin virc d im rliố (kv 11:) 11 <i(>np ci'nir (hull
d u p le x ) , lire hi l:ii nil'll llirfi (lii'm ( lủ ((I m o l phf;i Im yt'ii tliMiii; fin V i (III
máy A RMII kin piri HIM /!Ói (hi ph;ii d ill (Idi in.'iy I' I Til I' t i k^l (|M:i tin MI • < i
/ĩiri li^l' £(>i lir'l* lilt'd.
I >U;i Ill'll /’j;to 11 lức Xtitodcm . 1:1 c;ii I fi ll lliỉmh mol J»i;Io Unit I1MÍ
CÓ (On lii X m oM cm ( R( ’ Iilimn !;inj! k!);i Ii.inj! p ln l I lie n l6i Ill'll)! kill
liuyi'n. Diòii! CMi lirn <hiy UÍ1Í11 CUM X m o d e m ( R ( ’ 'in Vffi Xm ndc n t |:t :
Tli.'iy v l IIIOI Itylr I ỔII/Ĩ k i^in Ilf! IImròi I t SII flunp b;ii h vic kil III II I
( k ( ’ (( ’y rlc R(’clmi<l:iiH‘y ( ’lun k) c lio mọi khói I b\!c dir liỌii 11'n II
nhy IÌIM
1
Tsmnrlcm ( 'R (' CỎ lh(' IiiCh (lifMc liflH li^i c;
1
c Ini
1
(ti
1
(i Ml N()
phííl liiCn ')')/)<)'{, die Ini t Ml \ :| 'ĩ< c;í(’ loi 2 lũi. I )ir liỌn lionn
j’ iiio 11 MIC X m n f lr m f 'K ( diHH' p(ii \ (it ('.ill li III I ill ir SUIT :
1
)ÌÌII ;M)i
SÁ liiỌn
rilUn
1
)ir lion
1
()I>^ V, ir’m
;><>i
1

)^ sim p ( R c
IVilM Ini JM0IM’ Iilur firto llii’rc X m o d e m . lliúc X iiin iln u < R( lit u
1
'>1
jiiiio I hức (I(ÍII pir’m . (lõ I j)| > IiiiiIi. |)hn It if’11 IrOn \ :'| CO Hull tin c;iy c;ii<
( I I full v) CMC nil íliổm (l<> HIM ill' fit (In clion J’ino llnrc n M \ (If’ llur Iipliif'nt
v ice iMtj Cit dir IìỌm I’iifn hili Iti;iv (full c -i nli:in
1 ì Các irn (lidm vìì ulnrơc cuit J'jno Lhirc XMODIỊM ( p.(
Illy nliiCii Iroug íỊUiì tlìnli Ihù ngliiCm vh ngliiCn ci'ni, pliííl IÚỘI1 M1 nV
gino lliức XM ODliM CRC cỏ I1IỘI srt mi (li(*m vi\ nlurực (hổm sail :
1.3.1 ưn (ỉiổnì :
c ÍÍC bill! liu (‘/in Imy^n (lirợo chin nhò llirlnli cííc (’ói cổ kírl) flnr<v Ih
12 8 hy lc Viì (lư ợc lu ôn lự lM iyổ n (li. Ỉ3ĨÒII UÌIV lỉìm c h o líi (lí (lim g |>li:íl hiOii
lỏi vA sưa lỏi lion g *;,ic J’ói Iin lum lỉì tlong cà Iiiọt bíìn liu lớn. Khi có d ie
lỏi kliOng kliíic pliục (luợc crtn tm yén lili fill viỌc Iniyòii ỉại mỌI gói ỉin có
lAi IIIÍH íl 1h(M ginn h(tn lii Ciỉ một Iì:
1
n liu lớn.
Việc Ị);m mã pliííl hiỌn lAi CRC (l;ì cho phép. pli.1l lìiỌn (iươc CÍÍC gói
111 Ang I in bị Imyòn sai 11 ong khi tiuyòn (lo (tó bno ílược lln (ItiiiỊĩ (l:in
cùn bàn tin.
C-'ic g ói IhOiiị’ liu <lu<v (líínti r-Á Im ng khi Im y^ ii c h o plirp In <IA HíHiỊ'
liOti kếl cííc gói lại ờ |)hf;i nliíìn llihnli hàn liu CÍÌII Imyèn.
1.3.2 Nhược (fi(Vn
ViỌc Irnyòn cííc pói lliOng lin lltro ^’ i ĩio lliức’ X M O l> l:.M ílươc íĩ(1i
phương pliííp ‘‘slop mid W!ii(” . IIH'O plnrơnp pháp Iiiìv 11 lì 1'ltál lmyi'11
(li mọi gói ỉ in snii (ló (lợi b(Mi Illicit !ií’i lời k A| «111 ;'i Ih (In nliíìn < hí M f’ 11M V
chưn sail (If) HUM Imyòn |’/)i liop IIm-o (Jhi;í trình n;K' (luợc lỉiỊt (li ỉ Ọp lại (lf’n
khi Iniyòn hối cííc gói MiAnp fiti Sừ (lụnp, |i|nr<fiiị> ph:í|i II.ì V khAruz 1ÍÌU
(lụng (hrợc hci klià nfliiỊ2 (ù ;t r;k’ (lườiip Imyòn song cCinp ((nil (IHỊ)lcx) 11 i<•

lh cííc (lirc'/ng liu yl'n In i rliiòn
N^II
1
1liỉnli tmvòii !ĩiAiif> lin x:iy in lnrờiiỊi hợp lil (lirờng lniyi'11
víll lý qu;í Xflu (ví till Iilnr bị nhi^ti. Iiỏnp,. ì
110
CÍH’ p/ti lliAii|> liu liiAn litíMi
ph;ìi Imyòn <!i IniyÒM l:ii nhiòu líìn. NỐII klirtnp, mỌI f\ịVì lliAiif! Im n:ìo
ỉm y^n rliiMỊĩ 11)1 viỌc tiuv^n lỉlp í!i liip Ini !h \I> híin
( )i;m llurr XM ()I>I:M ( l^( ’ rlurí) SỪ (Iịiiiịi c;ìc IIiiiỌ! (orìn Ill'll nliiìm ííi.un
liớl k ír ll llnrức CÙM C!ÌC lii’m till (ló c íin i’ (i(vl kiỌm lliới f<i:m Iniyòn mA|
h;’in (iu.
0(1 còn cố (ilifnig Itnit cliO cùn Ị> in<ì 111 úc XMí iiOn cm fin Iiglii^n nrn
mỌI số pl(U(iiif> I'll:'!1 mIkmii kliik' pliỊK' cú liiỌn (pin Cíic’ Itnii (’lií1 (ló lioi)Ị>
(li^u kiỌti IIlực 1C ờ ViỌi N:im.
( Inf(fi)jr 2 : Cílc Citi liíM) 1’ino lliức XM()I)I:,M ( K('
1
.1 . Sư dò cliHM)',
Mir (lii lion ( ÍÌII
1 ilr (III 1 i('H Iiliiln
1111Y 011
(It rực
II II
'Ị IMI IMC IH-H (lir
JiC n
_____
Mill Im im'* IH'II
13
II
II

1 il(' (lír liỌn (là 1)1
nén
I'ik’ (lir licit fin l)i
Ill’ll
IJ
íl
1 Im tuc lii^n <|f)i
»lír 1 iOn lliAnh <loii£
mfi sứii s;ũ
Tlnì 1 HO biốn (k»i
m à SUM s:ii lliỉmli
(lit lion
II

Ị File mil str:i Síú
1‘ilc IH!Ì sim sni 1
II
fl
’Him lu r cliiíi V<1
(lóntĩ />ói tlir liCu
lltoo £Ìno thức
X m o dim ( IU '
11 lũ Im’ (hr liCn
kirm 11 ft Yí\ k fl
11 Ái Cík' gói tlirn
p h o llnrc
X j ik h Icim cue '
u

( 'ílc fi<Yi

Xmodem ( 'IU.'
( ííc /ĩói
Xmodrm ( R(
II II
1 hù 1 (10 llltvOlt lilt
llico pino llnrc
Xmodem c RC
Thù lite nhíìn tin
lli(Mì EMO (litre
Xmodem ( RC
II

I >ường ItityCn Ví)! ly
2
.2
Ị luiill_u>/ụI sừn Sĩií
Tron/ĩ khi IniyC-ii I hr lion <1:k- 1'iCM li) khi iniyOn (|!in te le p h o n e line hi/; 11
lương nliiòii I’’ k li6 iif. tlií' (liíuli khoi. Tionp giíio ỉliức Xmodem nifir <lii r1:ì
cô Tổng kiổm Irn híìní! pliirơnp |tli;í|> ( 'R (’ nlnrnj* VÃ II (‘ô lnrờnp hợp ỊtliMi
Imv'On (li Imy'Cii Ini mỌI g ó i n ilĩon líln khi (•() lÃi 'Hill hion lim ijt khi
luiy l'n Khi (ló In pliíìi sư (lin ự Cik’ tlniẠỈ lonTi sun s;ti (lè lniy('ii pói 'ló íM
14
sno clio smi khi luiyfcii (lốn tlícli (ự bnI! lliíln các (Ift lion có Hid phục hoi liờ
lại nếu có lỗi xilííl ỈIÌÔII liOn (lirìtng tmyttii.
Ví (lụ nốu In £ỉlti tliổin cflc í!íf liệu pint Iilihfii phnl hiỌn và sứa sni klii có lỗi
, nhưng cliíuh brill lliíìn CMC (1ft liỌn phụ Iiííy CÍÌIIR có klin nniip bị lAi Imtự
khi tmy'On. Vộy lliilộl lonn sừn sni phíii (Inm lùm rhug n£fi} (.0 khi (lír liỌti
phụ Ihốm vfto l)j sni Jijc (rong khi IniyiỂM thì khi nliỌn la vãn cỏ lliè khỏi
phục lại (lưực tlữ liệu liíiu (!ftu,
Thuật loíín snu clio phép tỷ JC lỗi Irong khi liuy'en Ih l bil Irfcn 7 bit lie'll

liếp. Trong |)||Í\|| liổp fi.ni em SC Irình l)i>y plnronp phnp mờ ĩf>Mjĩ clio pfK'P
Síú sổ n l)il trong m l)il Síũ liỡii liếp.
Tliuạt loíín sừíi sai nhu san :
Ta se xíìy (lựng mọt hhin s6 I Síio cho :
r : \ÌẠ — > 13,
JI| lẠp cnc srt 4 lift.
J?7 lh IẠp các số 7 bit.
và có lính cliitì 1A : V x.y e Ki ỉliì I(X) viì Ky) Síù kliiic íl nliA'1 3 hit lioiip
biển điên nil ị pliíìn. 1 J>i'Cu nhy (tíìm biìo
1
ill! ^ klti í(x) và r(y) S.MII kill tniyOn
bị uliiẻu lluình í(X)' và [(>■)' Ihì f(x)' |(y >* (*).
Khi <1íì liiết linm r llil thay clio viỌc lii ItuyCn một SA’ 1 bĩl l:ì X In lnt)Cn
í í X) lf\ mỌI so 7 l)iỉ, cìiíi sử ta Hiu (lirực f( X) ’ ờ phin nliỌn . (lo hàm f( X) ró
lính clvfll (*) HỄI1 lừ í(X)’ In cổ llid xác (tịnli (lược duy Iiliíìi mỌI tihm í(x)
b;in tííìu. Mại kliíìc (lo liíim í(x) tn (Iri xác dịnli lừ liướe VM (1 n Ihổitg nlúi
(lỏi với cà phía nhọn vh juiri nOii In có tho’ sny (lirực X lù f(x).
Ví du :
Tít cỏ lùn li 1' Iiliif san :
X 0
l
2
3

5
r>
7
l(x)
0
7

25 30
CN 1
T
1
45 51 52
X
B
9
10
11
12 13 M
15
t(x)
75
76 82 85
97 102
120 127
Khi In mitổti chuyên '\ hil o oio h ( - 2 flrr) (lír liOn l;i pliíii cỌnp lliOm 'i
bit Him lliMiili d m yô n mọl RÓ 7 l>il 001 1 00 11) (- 25 (lcc). ( ii;\ sir (tirớiic
clm y ^n l'ị nliỉ^H.kíM f|ii;ì nlifln (iươc ờ (Vỉìn ki;i lỉì : 0 0 0 ! f){)| I) ( - ọ (loe). SA
7 hit 0001 ()011> cliỉ (luy nlifli tiliỌd (lược lir sổ 001 I 0(111) khi l)ị nliì^H vì
15
vây ta (lổ dnng biết rìíng số thực sự (iiiyOii là OOI10011) và từ dó biổt riin.a
4 hit (lír liệu thực sự là ooioh.
ThiiẠl loan này giúp ta kliỏng phíìi truyồn nhiìữu lYìn một gói khi (lường
Imyỏn bị nliiẽu. Ngoài ra lliuẠt toiín tiny CÒI1 1,'un cho dữ lien cfin Iruvèiì
tăng kích tliướ lên khn lớn nhưng (liên này In có lliể khíỉc phục Iron* pliíUi
tiốp theo líì Iiéii flữ LiỌu.
Ta có lliổ mở rộng llm;Ịt loán nhy Iron# trường hợp lý lẹ lỏi cao hơn :
Giả sử cliổu kiCn kliácli quan cho phép (lường tniyen có tv lẹ lõi In II bit

có thể l)Ị sai trỏn
111
bit liên tiếp.
s = 1 + 2 111 * (ill — 1 )* *( Ill 4-1 — i) liì sỏ các sổ có
111
lúi có the
nhạn (lirợc khi tntyOn môt sổ có in hit
2 m
k = ỉog2[ —- I là số hit Clin X.
Klii (ló lfi c'an piiài lìm liiim f có (Inns f : Bị,

> Bm llìòn mỉĩn tính (/li;ìi
V x.y <E !3|t thì f(x ) VÌI f(y ) sni kliík* ít nhiil ( 2 +!) M ) hit Iton g biểu (iiõii Iilu
phiìn.
Như trong ví flu trẻn In có m =7.11=1 :
s=1+7=8
k = ỉog2(27 (liv H) - 4.
nồM liiim f có tlạng lít f : n
.1


> n7
2-3- Thuflt tofln nén
Như (l;l Irlnh bí\v Irong sơ (lò (/luma ờ tiỂn Ilìiiủl !o;ín nén tlươc sử 'lum;,
trước khi ta sừ (lụng mã sửa sai như một pliương pháp (lỡ 1:1111 siànt kích
thước cùa file trước khi clirực biến dổi thành mã sửa s;ii và Inivển irOn
dường (niyòn.
Trong (lề lài nỉlv em SỪ đụng plurưng pháp nén cùn Huffman <Ur;i trôn
(ÀI1 su :iì xuíVi hiện cùa cnc ký lự.
<liâ sử fa có II ký (ự nt. n2, với dãy lán suAt xuíú hiện ỉ,ì k|, k:,

Ta x;ìv dựng ruột cAv nhị phíln (heo các hước sau :
lỉư ớ c /: Sắp xếp lại dãy tíìn suất theo Ihứ tự lãng (iÁn. Kliỏiio giâm tính
tổng quá ỉ ta si à sử IA k,, k
2
, , kn.
ỉ ì ir ớ c 2 :
Ta chọn at, n2 hợp lại (hành rnộl mít duy nhíll cún c;]y là <1.,+ | vơi
tàn SUÍ1Ì lít (k 1+ k2).
ỉĩơ ớ c J : Xoíí n,, Í1: rn khỏi <lõv tlnne xét v;i (Ịimy lại bước I với (l;n
cho (íốn khí não chỉ CÒI1 mội ký 1ự Irong dãy.
Ta (lược mội Ciìy nhi phĩìn với c.ic lá la các kỷ tự Cíiri nen. Rrty giờ la chì
cíin thay I h ố c íl c nỉi.inh bổn phải lai m ỏ i nút líì 0 Vci c á c Iihíính b en Irái lỉi
I
Các ký tự (lược mã hóa hằng clmÀi 0,1 dựn trOn (lường (li lứ £ốc (mon 'ới
lá lương ứng vtVi ký lợ (ló).
Ví dụ :
'Va có mộl (Ííian dữ liọ.u bno Ẹổm 30 bvit* <Umi' ' !
16
' '' THƯ1
VTfUCCb
Giá trí
Tần suất xuất hiên Mã Huffman Số bit
30
11 l 1 1
234
10 10 20
(59

100
18

15
3
000
9
rổng sổ li\ 58 hit.
Tỷ ỉệ nón là ( 2 4 0 - 5 8 )/ 2 4 0 = 7 5 .8 %.
Việc áp (lụng phương pháp nén Huffman làm dọ lớn của file dữ liệu aiảm
(li (láng kể lìr 15% clốn 60% (lộ lớn ban đáu. Vì vây nến khi la áp dụng
HutẠI to.ín sửa sai dược giới thiiỉu ờ Irôn lliì dộ lởn cùn (ìíe mã sửa sai cữne
kliAng lớn hơn nlìiềii so với file dữ liệu ban HÀU ( Nếu theo la áp dụng ví
<iụ trên tlìl kích thước cùn file mã sửa sai sẽ bang 1.75 kích lliước file fiữ
liệu han (IÀU).
Plinn II : nimơnu írìiilỉ (Im nghiêm
I.Giới jjnOu vỏ dnr<mií trình Xmodem CRC
Cl
11
rưng liình XmodemCRC (lược lliiổt kế Iihnui mục flit'll tru\ en (lừ
liẹn giĩhi hni m;íy tính Cíí nhiìn <FO thõii.q qua cổng tiỏi tiép (serial porn
D ườ ng Iniyèn í lữ tiõii 1«') cáp not Hire Liếp gifra hni m áy lionc là (lường
ílíìy (iiôn Ihoại với bộ (lie'll chố và giòi (liền cliế (MoDein).
1.1. Đtrờng Irtiyồn vậl !ý
Nlnr (n (In nói ờ Hỏn (lường ỉruyèn vật lý mà ta sir (lụng (’ó lliể lỉì liíiy
n ố i £Ìfrn hai c o n g nồ i tiep h o ậ c là (lfly diên thoai th ô n e qua M oH ein .
NỐI
1
lii íhìng day noi gitìn hai cổng nổi riếp (serinl) Clin hni máy lính
thì kổ lừ h íc La Mối hiii c ổ n g lại v ớ i Iihnu (lườn.e Im y èíi vậ i Jý (tà rlược itiiết
lí)p xong. sau (ló (íi có thể sử flung (lể tru yên dữ liệu ngay mà khổnc ph:ii
liìrn thêm sì mrn.
Nốti In (iiìn.q ílườn.E ỉn iy cn !,ì d a y đ iôn llio.ii thì v iõ c ihirl lộp ilin'ine

IniyCn Irớ Iiẻn p hứ c lọp ÍH1I1 nì! n h iêu . Trước lict đ oi VỚI tnõl Hiny £'n \ n
nhân (I'eti t'ftn phải có mọi (lườnp fifty (liên thoại, mót Modem (in (lược nrti
vào cổii.tĩ uói liếp cùn m áy tính.
Modem lÀ viết t;íl cùn Modulator micl DI•Morlulaloi là inôt mạch
(liên lứ d im e (lể biốn dổi líu liiẹn sổ 111,ìn h tín hiCu lươ ng tự và n.cưcK- Ini.
N liìi M o cim i m il ng ư ờ i l!i c ỏ the In iy c n cá c tín hiOn s ò trêu (lườiiE 'lôv
(liẹn thoại inôl Oíícli (lẻ (lítnp.
Các Modem flfcu có inôt họ lộnh tương ứng (lô iTiíìy tínlt có lliò m
lônli cho nó một cách Hàng. Cnc Modem có hai kiểu lòm viôc là đnln
mode và comninnH mode. Data mode (lirực (Inug (lổ truy'Cn (lữ liổ còn
command mode clirợc (lùng flể máy tính lliiết lộp c.ác thnin số ctio Módrni
và quay số,
Từ command mode chuyển tlrônh (Intn mode khi Modem b;1t (Víìtt
nối (lược với một Modem khác. Từ (lata mode cliuyổn tliành cominnnri
mode khi hạn gửi +++ ra Modem .
Kill nmốn thiết lộp đường truyền piữn hai máy lính ta gữi ra Modern
lCnli quay số thông qua cổng nối liếp. Só diệu thoại bị £oi chính là sổ'
máy cùn máy nhộn. San khi hni Modem thiết lập xong rlirímg imvtMi
cliúne sè Iríi lại HIM OK cho các máy lúilt V
!1
lúc flỏ <lưỜTi£ ímvẽu cliĩ (lươr
lliiếl lộp. ĨOii kếl lliúc ịihiCn lỉim việc 1 mi máy lính (lèn ,eưi lOnh críi (lường
tniyCn ch o M o d e m CÙM m ìn h (lổ giãi p h ó n g (lường tnivốn.
Khi làm YĨỌc với M od ern. sử rlụlip m ột sổ lỌiih cct brin smi :
A T P T
11
Q u ny sô" (liện Uidíú n b àniĩ
111.1
Tone.
A T Dni Quay sổ (liện llioĩỊj II bíinp mã Pulse,

ATI 10 Cất (lường tniiyên kốl llníc phiôii làm viỌc.
A'lVn Trong <ló :
VO Mn Modem Inì líú lit s6 (Numci ic).
VI Mil M o d e m (rà h i Ih m ỏi string.
AT&F SiV đun.e c;íc thnni só fnctorv Hcfnull cũn Modem
/Vi’/, ,Sử (ItuiR c;íc llinm sổ <icfiiuu cun VĩodcMii (lươc lini lư
(rước
+++ Ilioíìt khỏi dití (lộ (InIn fjổ trờ vò chố (lộ cnmmnnd.
1,2.Các IIIlì lục tniy tihO|) cổng nối liếp ờ mức lliííp.
1 .2 .! . '
11)11
lụ c thiết lạp <‘ổn jỉ n ố i (iổp :
Klmi báo :
HO( M. Open COM(iiil port .long speeci.ini pnrity. inl sinp.inl
.WORD leii._buf.BYTE init modem):
Iĩhm Tiny sẽ Ihiốt lạp cổnp nối liép với các Ihnm sò'
poll ; 1 .,4. !à su hiếu cùn cổu.g mil In CĨÌI1 Ihiet InỊ).
speed : 2400 bps. 9000 bps. 14400 bps. [ 9200 bps d m lới 1152(10
bps.
(In ln .p .'in ly . s lo p : I :ì cá c ỉhó fi,E th iế t top k li m in (to n e ru n c o n n n n i
tiếp.
Ic i i J miT : Là <16 (Ifii n in v m i£ (iCm.
mil m odem : I n XAll kỉiời Inn llinm so clio mnflcm fitfu CÓ).
IClii
111
iot lflp'mOl cổM.a nôi liốị) có hai c;ích (lổ mri v;i nil
111
một bytc lú
cổng-
18

Cách thứ nhất là sừ (lụng kỹ thuật hỏi vòng (polling). Nội (lung cơ h ìn
cùa kỹ tliiiột này là cứ snu môl khoảng thời ginu nhất (lịnh (hì ta phái kiểm
fra cổng xem có ký lự (!ỐI1 hay khổng.Hạn chế cùa kỹ Ihttậl n.ìy là chưttii^
trìnli luôn phài quél cổng, (liêu này chiếm khối lưưiig thòi £Ìíin khá lớn.
Điều này sẽ là một khó klinn 1Ớ11 khi bạn mtiớn thực hiện Iihiôu công viẽc
Irong ỉúc tniyCn tlữ liệu như nén & piài nén (lữ liệu lioậc niíl hóa vì liic (lổ
sẽ xảy ra liiỌti tượng “ rhừi gian Irẽ tròn (lường truyền" vh làm hạn cliố tỏe
tru yên.
C á c h t h ứ h n i là sử d un g kỷ llm ệt npnt (interrupt). Kỹ tliuíỊt n à y sứ (lun g
m ộ t ngĩìt cứ n g d ể k iổm tra c ổ n g n ố i tiốỊ). M ộ t ngất c ứ n g (IR Q : Interrupt
R e Q u e s t) s ẽ ngíít ch ư ơ n g trình khi c ó dữ liệu (lốn c ổ n g và lliực hien hàru
t)g;1l (l.ĩ (lược từ trước, khi hnin n^nt kốt (hiìc việc 1 hục hiên chirMMíỉ
Itlnh sẽ liở lại b ình th ư ờ n g . Ưu d iêm cù a kỹ llm ệt nà y In Iiiííy tính chỉ
phíìi làm việc với cổng khi có (lữ liệu đến 11ỒI1 cho phép In có (hời ginit \ử
lý cnc cổnp viộc khác trong khi (Innp nhộn (fir lie'll lừ cổng.
C hính v ì v ậ v tiìà e m (líĩ d iọ n clímp kỹ tliu;)t MEíứ trong chươME trìtili uhv.
Sử clựng kỹ lliuậl ngííl In có Ihể Im yèn (Jữ lie'll ớ các tốc (lô cno như :
1 9 ,2 0 0 b p s li.iy 3 8 . 4 0 0 bps lioiíc en d hơn là 1 1 5 ,2 0 0 bps.
M ỏi liiitn Iipnt sẽ ílư ực chi v à o m ọt ngỉit cứ n g c ó s;ìn (lổ nhộn inỏt 1'vtc
(lữ [iôti lừ cổiiẸ nổi ticp nốn có sự kiỗn là mOt byle (Iirợc j:ưi (lốn. ( II thí>
Iron# chương (rinh In hòrn ngíil iiitcrnipl. coii]iiil_fmic(vni(l) sẽ riươc chi
v à o ngíit cứniỊ 3 ỉio ậc 4 {tùv thu ộ c v à o c ổ n g n à o clươc ch ọ n ). Kill ỉionl
d ô n g lihm co m in t rnnc SC c h u yển c;k' by te (lữ liệu ờ c ổ n ẹ Iiõi liếp I((i Mini
v ù n g n liớ (lôm (lịnh tiư ỡc (bu ffer). N h ư vđ y (lữ liẽu tỉ All tiOn sẽ (lirợc cãl
£Ìữ tạm (bời ờ buffer tr ước khi được chương trình sử filing.
1.2.2, Gìc hàm dọc (iữ liỌn 11Ỉ1ỘI1 (tược (fr cổng noi liếp
Ta có tnỌí số khni biío cún cric hàm Iilur snu :
B O O I, Bu ffer .is_cmptv(voi(1) : linrn trá lọi £Ì;Í tri n il lí I1Ố1I ỈMilírt
liiện giờ k h ô n g ch ứ a ký tư nào. T rái lại hàm (rã
2

in tri FA L SI7,.
BOOL Get_char(BYIT3 * ch) : linin (lọc mội byte <iữ liên lừ cổuu nối
liếp
( lliưc 1ế liì từ buffer).
B O O L W a ilin g J o r ic v (B Y rT ‘ timeout.BYTF, * value) : hÌHii này sẽ doi
nhíìn m ộ( b y lc lừ COI1C nrti liửp (rong k h o ả n g thời ,cinn Im lim con t eiíìỴ.
N ế u (lợi <|nn tho i pinn (ló IIÓ sẽ lư (lộn.c ttio;íl ra n g o ài VÍI tr;ì \ ’ C- si;í In
FA LSE . N ế u n h ộ n (lư ợ c n õ sẽ Im Ini EÌá trĩ T R I M và hy le iihĩỊii ílược Irniie
biến value.
W O R P ("lcnr Jiu f Tlcíinr * 1>M 1 0 • liniTi sẽ \o :i vung (icin vft rlỏpo |||MÌ
j,|Ij líH c;i các byle có Iro n s V1IIIC (ÍỌm r:i mót vím g !1Ỉ1«) khác ỉn 1 MIrr
1 .2.3. Các hàm ghi íiữ lie'll rn c(Snp noi liếp
19
Ta dùng cách ghi tnrc tiếp rn cổng Iliỏng qnn port eiìn máy PC.
BOOL Put_chnr(RYTF. value) : hỉim ghi byte có £Ì;Í IrỊ l<ì vnlne m
cổng nối tiếp.
BOOL Put J
1
J>ufT(chnr * buff .WORD lcn) : hàm £ỈŨ mọt buffer có (lộ
(lài là len l»yte ra cổng nỏi tiếp.
1.2.4. Các hàm £ÌrÌ và nhâu dữ liệu theo £1,10 thức Xmodem CRC
[ .2.4.1 Các hòm gừi :
BOOL íx'ml_n _XMo<lem blockiHYIT7, * lnif,W()RD len hill") : h;im
nil)' gùi tnỌI buffer có (Jộ (lài In ]etj_luir.ĩdiì lcu_biif nliò hơn 128 bỵlc.
nó .sẽ líip rĩíìy gói bhiiẸ; byte oil cho (lốn khi (lù 128 liỵte. .Snn (ló (ló sè
(lón g g ó i và c h u y ể n (li Ih eo gia o thứ c X m oclen i C R C .
BOOLScníl_Xinodcm(cliar * filename) :
ĩ làm này sir (iụug hàm Scti(l_:i Xnio(Ịem block rlỄ £Ứi một f ile có lỏn l;ì
filename.
1.2.4.2 Các liàm nliiin :

BOOLRcccive.n XModcm block(BYrE * num_i)lock. iccv.nyn' ^
Dn(íi) : Mnm này níiíỊn tnAI £Óị tltco pino llníc Xmodem ( 'RC
B( )OI. Receive XinodcnKdiiir filename): il.'nn tiny nluỊn mót
file có (Oil In lilcnnm e (lù n í li.ìm Receive n._XMo<lcni Jilock.
i .3 ITíìin sửn sai :
char '■ Rrror Correction( đmr * rileinime) : 11A111 n:\v chuvổn mol t i It*
(Iff liỌu lliìmli flic mã sừ;i sai với lỷ lệ sửa sai Uì ! bit /7 h it.
ì .4 ĩlàiu nCn :
char * I luíímnn co<lc(cli;ư + fiJennmeJ : Oỉìy là liAin nén cữ riụiig Iliiiíìi
Inán í illf['man với ngưỡng Xíly đung <::lỵ là ỉ 024 byle.
7 j;inrơm>jrí nhílươc viết hầng ngftn ngữ_CỊt±
^include ■ 'los.h
/■'include • time li ’
.'•■'include stdio h
//include conip h '
//include "'iidlib It '
'/include "linn If
//mcludc "tvpciie.f.h"
//include "\Mọ<icmCR h"
20
Vclelĩnc T IM EO U T A B Y TH 30
//define TlỉvfEC)UT_\VIULR_DAILữK] IS20
int mainOnt argc.cliar * argv[j)
(char filcnnmc[128|,lclcno| 12].coninifind| 128];
int port:
long specdtimc count;
BYTE byte;
BOOL ret;
clrscrQ;
if (iirgc!=.i)

{
pi intl'C \n Us;ige : Comport Speed ").
return 0.
}
port~ntoi(nrpv[l I);
spccd^nloKnrgvf^l);
fnit CRC Tfiblf'O.
ret-Opcn roMfport.ppccrJ.i). I .X.5120."/\T.vll';ovisn - l&noni <;nM:iYO&I (),&>;<>
tfCi.'tnrvun");
11 (rcll print l(" 'n I tilt Com |>< lit n nil with sptTij " nkl OK, n Rtilcr I IIIOI le
>n".port.speed);
pi'intf("'n Xmodem Protocol ");
printff"'n 1 fiend lllc ");
prinll'O'Vn 2. Rcccivc file ");
prinir("\n 1 Ọmt ");
|Tinlf("'n Which ? '•);
lime count'timefNlJT.LV.
do ;
bvte=gctch();
} while ((hytc'-T) & & (Inio'-'2') A Ẵ . (hytc'-'T));
sw itch (bvliM {
ease ’1’ : {
do {
prmtl’("'n Telephone number : "Xgelsf lelcno),
",prm tf(cnmm nncl."ATPP0 -nsW.Iclcnoy.
V
printl'C Ml I' ilennmc ");
cctsl filename).
} whilcfillcn:inic[0 | 0 ).
lime counMinicfNl H.L).

, H* >»« *
I ct“ ( 'onncct minik'ricommniKi.^nv.
2]
if(!ret) {
Dis_Connecl(2),
break;
}
If* Iff iff

printf("\n Connect OK. Vn ”);
Put_char(SOT);
C learbu flfifNUT ,L);
while (Buffer_is_cniptvQ) ■
while Cl)
I
if (Wailing_for_rcv(4,&byte)) pnntf("%c'\bytc)
if (byte==ACK) break;
} '
printf("\n R.CCC1VC SOT < > ACK'n")
rct=Send_Xmodcm(rilciifimcV,
if (ret) print l'(" n Send OK.");
ỵn»H»
Dis Cormcct(2);
*/
brenk;
}:
ense '2' : Ị
.iprintf(nien:mic.'Rcccivo”i,
time count" timelNULL,):
CIcnr_buiT(!-JT [LL):.

print f("\n Waiting for receiving a file "V
while (Buffer Ì3_empty0) ;
while n )
{
if (Wfiitinẹ_for_rcv(4,&bvte)) print byte),
if (bytc^SOT ) break;
}
Putchar(AC’K);
printf("Vi Conncct OK");
re(=Rcceivc Xmoderm filename);
//Dis_Conncct(2);
if (ret) printf("'n Rcccivcd lllc °ós OK ".filename);
brenlc;
}
ense '3' hrenk;
}
prmtf("Nn Iota I %ld second ".timet NlJ7,l,)-tinie count).
CloscV oM O ;
return 0:
}
+ +*ụ.**+ ■••>*«>'<* + ■*'* +* + + *■I-**’“'‘■’t* p\JQ o p m a i n c I***•»*>»•»<
.ù* ụ,,!.** HO** + *** W to n F M C R TĨ
flifndef X M O Ĩ)E M C R _FI
//define" XMOIJEMCR _II
//define TRIJE 1
//define FALSE 0
//define NAK 0x15
//define son 0x01
^define ROT 0x04
^define ACK 0x06

tfdcfinc RTR 0x19
//define SOI’ 0x07
//define BỈ.OCKLITN 128
//define M AXm.il 256
lypedef unsigned int WORD;
typedef unsigned chnr BYTH;
lypedcf clmr BOOL;
slmi'l XModemCRC {
BYTE begin; /* son "7
BYTE num block". /* n ?.ss
*/
BYTE inv_niim JMock;
BYTE D;itn(BLOCKlEN|.
WORD CRC.
};
Ivpeilcf struct X M o d c m ( ’ X m odem ;
extern WORD t. RC_Tahlc|MAXF,LI7.];
void [nit ( 'RC I’ablcf):
WORD f'R(TBYTE * Nut; WORD len hii).
ROOL Soni.l_a_XModem Mock(RYTIi * bill.WORD Ion hut");
HOOÍ, Rcccivc n_XMocIcm_Mock(B YTỈÌ * num _Mock_rrcv.BYTFỈ * Dilin);
HOOL Send Xmodemichnr * filcnnineV.
BOOT Receivc Xmoclcm(chnr * filename):
/'end if
**+***« ',T í. * * * *****j-in-t* HMD OF XM ODFM CR H
XMODFMCR. c I
//includc - stdio.il
//include "Xinodcm(-R.h”
//inchldc "line.il"
i/include "f'etkcv h"

//define TIMEOUT ACK 25(1
y/dcfinc TIMROUT_SOH 250
//define TIMEOUT NOR
extern BYTE Cnticcl
/*
typcdcf unsigned int WORD;
typedef unsigned char BYTE;
struct XM odcmC RC {
BYTE begin; // SOH
BYTTỈ mim hlock-; // 0 255
BYTE inv num block;
BYTH Dntn[BLOCKLEN 1;
WORD CRC;
}.
typcdcf struct XM odem C R r Xmodem
/
WORD C R C Jn blc fMAXEÌ.EỊ,
BYTE num block:=0;
BOOL cot _filc"FALSE:
void Init CRC TiibleO
{WORD i;
BYTR
r .
ror(i=0;r MAXEỈ.E.i t- 1 )
{
7. - 1 A (i 4),
CRC Tiiblcfil - 7. A (z <:'• 5) ' (z 12).
Ì
return;
WORD CRC(BYTE * huf.WORD Ion hut)

{W(.)RD("RC,r.
CROO;
for(i_0 i'.|cn_buf;i M-)
{
CRC - (CRC 8) A CRC TahlcỊhulỊiJ A (C R r » £)];
I
return(CRC);
}
POOL Send Í1 XModem JMockfBYTE * buf.WORD len Jiuf)
{Xmodem x:
WORD Ú
BOOL Send_ok-FAI,SIĩ,rcf,
BYTF, answ.rescnd^O;
x.bcgin~S( ■!T;
X num blpt:k~nimi block,
X II1V mini Mock-=(~num block).
il7 num_Mo<:k=<>xF17l num Mock-O; else mini block .
foi(i''0 ’.i''lcn huf.i t * ) X I^ntnfi ]-luil]i].
24

×