bộ VXL java-Kit aJ-200MEK_đồ án tốt nghiệp

Embed Size (px)

Citation preview

1

HC VIN CNG NGH BU CHNH VIN THNG KHOA K THUT IN IN T 1

N TT NGHIP I HC ti: Pht trin h thng thu nhn hnh nh s dng b VXL java-Kit aJ-200MEK

Ging vin hng dn : TS. NGUYN NGC MINH Sinh vin thc hin: PHM VN HI Lp : D07KTDT1 Kho : 2007-2012 H : Chnh quy

H Ni, thng 11 /2009GVHD: TS. Nguyn Ngc Minh SVTH: Phm Vn Hi, lp D07-KTDT1

2

HC VIN CNG NGH BU CHNH VIN THNG KHOA K THUT IN IN T 1

N TT NGHIP I HC

ti: Pht trin h thng thu nhn hnh nh s dng b VXL java Kit aJ-200MEK

Ging vin hng dn : TS. NGUYN NGC MINH Sinh vin thc hin: PHM VN HI Lp : D07KTD1 Kho : 2007-2012 H : Chnh quy

H Ni, thng /2009GVHD: TS. Nguyn Ngc Minh SVTH: Phm Vn Hi, lp D07-KTDT1

3

M UVi s pht trin mnh m ca nn cng nghip in t, c rt nhiu cc thit b in t ra i thay lm thay i nhiu mt trong cuc sng. Con ngi c nhiu cch tip cn, cc tiu chun khc thay th vi cc cch thc truyn thng. Cc thit b s c nhn di ng l mt dng thit b th hin r nht iu , n gn nh to ln mt vn ha trong cuc sng con ngi. Vi mc ch p dng cc kin thc thit k in t bit, v bc u lm quen vi phng thc thit k h thng nhng s dng b VKL Java-32bit xy dng mt ng dng thc t - mt ng dng nh v quay video s dng b Kit aJ-200MEK. D liu hnh nh s c thu nhn qua mt sessor sau a qua b x l chnh, lu tr vo trong b nh chnh, v hin th ln mn hnh LCD. Ni dung ca n ny bao gm nhng phn sau: Phn I: Java Phn II: Gii thiu v b VXL Java Phn III: Quy trnh xy dng mt ng dng trn Kit aJ-200MEK Cc ti liu tham kho, s dng trong n ny u c ghi li ti mc Ti liu tham kho. n c nhng kt qu nht nh song do hn ch v mt thi gian v kin thc nn trong n ny ko th trnh c nhng thiu st, rt mong c s nh gi v b sung ca cc thy c v cc bn. Em xin chn thnh cm n!

Sinh vin thc hin

Phm Vn HiGVHD: TS. Nguyn Ngc Minh SVTH: Phm Vn Hi, lp D07-KTDT1

4

Phn I : Java

1.

Ngn ng lp trnh Java 1.1 Gii thiu chung

Java l mt nn tng pht trin cc ng dng phn mm c v tr rt ln trong nhng nm cui th k 20, u th k 21. nh du s trng thnh ca m hnh lp trnh hng i tng, n c coi l mt nn tng mang tnh cch mng trong ngnh phn mm. M hnh my o Virtual Machine cho php cc ng dng vit bng Java c th chy trn nhiu h iu hnh khc nhau. Ln u tin xut hin vo nm 1992, nh l mt ngn ng dng trong ni b tp on Sun Microsystems xy dng ng dng iu khin cc b x l bn trong my in thoi cm tay, l vi sng, cc thit b in t dn dng khc. Khng ch l mt ngn ng, Java cn l mt nn tng pht trin v trin khai ng dng trong my o Java, b thng dch c vai tr trung tm. Sun, cng ty pht minh ra ngn ng Java, chnh thc ban hnh b cng c pht trin bn Java Development Kit 1.0 vo nm 1996 hon ton min ph cc nh pht trin c th ti v, hc Java, xy dng cc ng dng Java v trin khai chng trn cc h iu hnh c h tr Java. Ban u, Java ch yu dng pht trin cc applet - cc ng dng nhng vo trnh duyt web, gp phn lmGVHD: TS. Nguyn Ngc Minh SVTH: Phm Vn Hi, lp D07-KTDT1

5 sinh ng cc trang web tnh vn ht sc t nht hi d. Tuy nhin, cng vi s pht trin ca cng ngh thng tin v nhu cu ca x hi, Java applet dn mt i v tr ca n v thay vo , cc cng ty, cng ng ng h Java pht trin n theo mt hng khc. Ngoi ra, Java cn c dng pht trin cc applications cc ng dng c lp. Cc bc pht trin mt ng dng Java:

Hnh 1.1.1.1: Cc bc pht trin mt ng dng Java Hin nay, cng ngh Java c chia lm ba b phn: J2SE(Java 2 Standard Edittion) Gm cc c t, cng c, API - giao din lp trnh ng dng ca Java gip pht trin cc ng dng trn desktop v cc my tnh kiu trm lm vic. J2EE(Java 2 Enterprise Edition) Gm cc c t, cng c, API m rng J2SE pht trin cc ng dng qui m x nghip, ch yu chy trn my ch (server). B phn hay c nhc n nht ca cng ngh ny l cng ngh Servlet/JSP: s dng Java xy dng cc ng dng trn nn tng web server. J2ME(Java 2 Micro Edition)

GVHD: TS. Nguyn Ngc Minh

SVTH: Phm Vn Hi, lp D07-KTDT1

6 Gm cc c t, cng c, API m rng pht trin cc ng dng Java chy trn in thoi di ng, th thng minh, thit b in t cm tay, robo v nhng ng dng in t khc. Lc u, cc Java IDE tp trung vo pht trin J2SE. Tuy nhin, khi J2EE t c s chp thun rng ri, cc nh cung cp tin hnh h tr pht trin cc ng dng s dng J2EE vo cc IDE ca h. J2ME l b phn c pht trin sau cng. Tuy nhin, nhiu chuyn gia d on v s pht trin ln mnh ca th trng pht trin cc ng dng J2ME, cc nh cung cp a ra cc phin bn m rng cho cc sn phm IDE ca h h tr thm J2ME. Ngoi ra, ccnh cung cp chuyn nghip cng pht trin cc IDE J2ME n. Java tri qua 3 bc pht trin quan trng: Java 1.0 gn lin vi bn JDK u tin, Java 2 gn vi JDK 1.2 v Java 5 gn vi J2SDK 1.5 Ngy nay, khi nhc n Java ngi ta khng cn ch nhc n Java nh l mt ngn ng m nhc n Java nh l mt cng ngh hay mt nn tng pht trin. N bao gm cc b phn: -

My o Java: JVM B cng c pht trin: J2SDK Cc c t chi tit k thut (specifications) Ngn ng lp trnh (programming language)

1.2 Mt s im ni bt ca Java so vi cc ngn ng lp trnh khc Cc ngn ng lp trnh c ra i t rt lu, v tnh cho n nay c ti hng chc loi khc nhau. Tuy nhin s ny c phn chia ra lm 2 loi, cc ngn ng lp trnh bc thp v cc ngn ng lp tnnh bc cao. Nhng ngn ng lp trnh bc thp, (in hnh nh assembler) h tr rt t cho ngi s dng, cc cu lnh thng kh hiu v n i hi bn phi trc tip iu khin vic giao tip vi my v cc ngn ng bc cao (c h tr cho ngi lp trnh thng qua chng trnh dch v mt s mun c sn - chng hn nh Turbo Pascal, C, Java...). TtGVHD: TS. Nguyn Ngc Minh SVTH: Phm Vn Hi, lp D07-KTDT1

7 nhin nu phi chn la gia ngn ng lp trnh bc thp v ngn ng lp trnh bc cao, hu ht cc lp trnh vin s chn gii php th hai v h s tit kim c nhiu thi gian, cng sc v t hiu qu cao hn (v d nh phi vit mt chng trnh truyn file gia 2 my qua mng in thoi, vi ngn ng assembler bn cn phi c mt khi lng cng vic cc k ln, vi khong vi trm dng lnh trong khi , nu bn thng tho Java, bn s thy iu ny chng c g kh khn c - n gin l vit vi chc dng lnh m thi). Khc vi phn ln ngn ng lp trnh thng thng, thay v bin dch m ngun thnh m my hoc thng dch m ngun khi chy, Java c thit k bin dch m ngun thnh bytecode, bytecode sau s c mi trng thc thi (runtime environment) chy. Bng cch ny, Java thng chy chm hn nhng ngn ng lp trnh thng dch khc nh C++, Python, Perl, PHP, C#... v c php trong Java c vay mn nhiu t C & C++. Tuy nhin, Java c c php hng i tng n gin hn v c tnh nng x l cp cao hn. Do vic vit mt chng trnh bng Java d hn, n gin hn, tn cng sa li hn. Dng b th vin chun KFC, nhiu on code Java ch mt vi dng trong khi C phi mt c trang giy. Lp trnh C rt hay xy ra li v kh sa. Chng trnh phn mm vit bng Java c th chy trn mi nn tng (platform) khc nhau thng qua mt mi trng thc thi vi iu kin c mi trng thc thi thch hp h tr nn tng . Kh nng ny thng c gi l "vit mt ln, chy mi ni" (write once, run anywhere) l mt li th cc ln. Mi trng thc thi ca Sun Microsystems hin h tr Sun Solaris, Linux, Mac OS, FreeBSD & Windows. Ban u Sun Microsystems ngh ra Java Vtual Machine(JVM) my o Java h tr cc ng dng Java bin dch bytecode, v cho ti nay sn xut c 4.5 t JVM. Khng ng khi ni rng trnh bin dch Java khng bin dch ra m my - machine code. Thc cht file code Java sau khi a vo trnh bin dch s c bin dch ra thnh bytecode dnh cho ci my o Java. Trn cc platform thc, Java Runtime Environment (JRE) s cho php JVM bin dch li ton b bytecode thnh code gc ca platform . cho ccGVHD: TS. Nguyn Ngc Minh SVTH: Phm Vn Hi, lp D07-KTDT1

8 chng trnh Java chy trn nhiu platform khc nhau, Sun ch vic port ci emulator, tc JRE, sang cc platform . Nh vy m mt chng trnh Java s vit cho my tnh, em sang in thoi di ng vn chy c bnh thng.

C th mt s c im ni bt ca ngn ng lp trnh Java so vi cc ngn ng lp trnh khc:

n gin (simple)

Hng i tng (Object - oriented)

c lp vi cu trc (architecture neutral).

Mnh m (robust)

An ton (secure)

Di ng (portable.

a lung (multithreaded)

ng(dynamic)

Network-savvySVTH: Phm Vn Hi, lp D07-KTDT1

GVHD: TS. Nguyn Ngc Minh

9 C th thng dch(interpreted)

1.3.

Cu hnh thit b

Hin nay Sun Microsystem a ra 2 dng cu hnh thit b. 1. CLDC : Cu hnh thit b kt ni gii hn, CLDC c thit k nhm vo th trng cc thit b cp thp (low-end), cc thit b ny thng thng l my in thai di ng v PDA vi khong 512 KB b nh.V ti nguyn b nh hn ch nn CLDC c gn vi Java khng dy (Java Wireless ), dng nh cho php ngi s dng mua v ti v cc ng dng Java, v d nh l Midlet. 2. CDC : Cu hnh thit b kt ni, CDC c a ra nhm n cc thit b c tnh nng mnh hn dng thit b thuc CLDC nhng vn yu hn cc h thng my bn s dng J2SE. Nhng thit b ny c nhiu b nh hn (thng thng l trn 2Mb) v c b x l mnh hn. Cc sn phm ny c th k n nh cc my PDA cp cao, in thoi web, cc thit b gia dng trong gia nh C 2 dng cu hnh k trn u cha my o Java (Java Virtual Machine - JVM) v tp hp cc lp (class) Java c bn cung cp mt mi trng cho cc ng dng J2ME. Tuy nhin cn ch rng i vi cc thit b cp thp, do hn ch v ti nguyn nh b nh v b x l nn khng th yu cu my o h tr tt c cc tnh nng nh vi my o ca J2SE, v d, cc thit b thuc CLDC khng c phn cng yu cu cc php tnh ton du phy ng, nn my o thuc CLDC khng c yu cu h tr kiu float v double. Bng so snh cc thng s k thut ca CDC v CLDC Thng s Ram Rom Ngun CLDC >=32K,=128k,=256K >=512k Khng gii hnSVTH: Phm Vn Hi, lp D07-KTDT1

GVHD: TS. Nguyn Ngc Minh

10 lng Network Chm Nhanh

GVHD: TS. Nguyn Ngc Minh

SVTH: Phm Vn Hi, lp D07-KTDT1

11

Phn II : Gii thiu v b VXL JavaDng chip aJ-200 Gii thiu chung

Hnh 2.1.1.2: Dng chip aJ-200 Dng chip aJ-200 ca aJile l sn phm chip SOC th ba, n thc hin cc trc tip cc tp lnh bytecode cho Java Virtual Machine (JVM), v cc h thng Java thi gian thc c bn. Bytecode JVM s thc hin vic loi b cc thng dch v cc lp phn mm JIT c trng, v thc hin ti u ha cho cc yu cu v b nh v thi gian. Da trn nn tng v chip Java c bn, dng chip aJ-200 lun thc hin cc tc v, ng b ha cc i tng, lp trnh v x l ngt mt cch nhanh chng. Chip aJ-200 rt thch hp sn xut cc sn phm thit b u cui POS di ng, cc thit b cm tay, cc webpad, h thng iu khin c nhn, cc thit b chi game v chi, IP camera, h thng video gim st, v cc ng dng nh khc.1.1. B x l Java trong chip aJ-200GVHD: TS. Nguyn Ngc Minh SVTH: Phm Vn Hi, lp D07-KTDT1

12

B x l Java ny ca aJile l dng th h th 3 s dng nng lng thp, thc hin trc tip cc x l trn nn tng JME Java, Java processor. N c ng dng thit k cc dng thit b nhng a phng tin, v cc ng dng internet di ng. B x l ny bao gm mt li JEMCore-II nng cao vi byte, half word, word opteration, mt gi d liu DSP, 32KB b nh I&D, bus AHB, giao din APB, v giao din JTAG. S cc khi ca b x l Java c m t nh hnh v di y.

Hnh 2.1.1.3: Cc khi chc nng trong b x l Java trong chup aJ-200

1.2. Li x l JMECore II JEMCore-II thc hin trc tip cc lnh bytecode Java Vtual MachineTM (JVM), real-time Java c bn v mt s cc lnh bytecode m rng cho multimedia v cc ng dng nhng trong mng. JEMCore-II ci thin hiu qu thc hin cc lnh Java vic loi b lp trnh din Java v nhn RTOS. Kt qu dn n thi gian chuyn i ng cnh thread-to-thread c gim ng k(