You are on page 1of 84
pacunen E DAI HOC BACH KHOA HA NOI KHOA DIEN ~ BQ MON DIEU KHIEN TU BONG THIET KE HE THONG XU LY ANH SO TREN NEN FPGA Nhém sinh vién thuc hign: Ngé Hai Bac Dé Trung Hiéu Lép Digu khién ty dong 1-48 Gido vién huéng dan: Ts. Luu Hong Vigt HA NOT- 2008 1 sewwangohaibacnet Léi cam on Trude hét, ching em xin giti lai cm on sau sac dén thay gido TS. Luu Hong Viét, ngudi da gitip d6 rat nhiéu vé dinh hung nghién cvtu, thiét bj thi nghiém phyc vu cho nghién ctu. Chting em xin chan thanh cim on céc thay c6 giéo da giang day ching em, dic biét la cac thay 06 gido trong BG mén Diéu khién ty déng ~ Khoa Dién, TS. Pham Ngoc Nam ~ Phé Trudng b6 mén Dién tir - Tin hoc — Khoa Dign tir Vién Thong - Tru’ng Dai hoc Bach Khoa Ha NOi da tao diéu kign gitip dd ching em hoan thanh dé 4n t6t nghiép nay Xin chan thanh cim on Dave Vanden Bout, Ki su ciia cOng ty XESS Corporation da tra 1di tan tinh nhimng thic mac cia ching em vé KIT XSA- 381000 va XST-3.0. ‘Va cudi cing, chting em xin danh tat ca long biét on va kinh trong sau séc nhat t6i bé me chting em, nhimg ngudi da sinh thinh, nudi duéng ching em nén ngudi, da lo ling, chi bio tir nhimng viée nho nhat, da tao moi diéu kigén cho chting em dugc séng va hoc tap mét cach t6t nhat dé vuon t6i nhiimg wse mo va hoai bao cua minh. Mac di da rat né luc va of ging dé hoan thanh luan van tét nghiép nay, song chic chin khéng thé tranh khoi sai s6t. Vi vay, ching em rat mong durge su chi bao cia thay c6 gido dé dé tai t6t nghiép nay hoan thign hon. Myc lye Lai cim on. 2 Myc lew Danh muc cdc hinh ve trong 46 an tot nghie Mé a... Phan 1 : Co sé ly thuyét xir ly anh sé 1, Khdi quat vé hé thong Thi gidc may tinh va Cam bigh thi gid. 10 13, Cée thanh phan cia he thong xi I anh: 13.1, Thanh phén thu thap anh, Camera va van d dinh dang anh, 132. Thanh phan xiely anh a 132.1, Céckhdi nigm co bin cia xtrly anh $60.0 13.22, Cac thudt todn xtrly AM $6 snssnsin es aaa 14. M@ts6'gidi php phan ciing cho he thoing thi ide may 28 FPGA. DSP Processor. 28 Mainboard, laptop. 29 Phan 2: Khai quit vé FPGA vA mach phit trién XST 351000 ciia XESS. 3a 21. GiGi thigu chung vé FPGA va ngon ngie VHDL. 2a. Khai nigm va sing dung FPG. 24.2. Kign tric FPGA... 21.21. Kin tric chung FPGA... Configurable Logic Blocks (CLBs) 33 Configurable 1/0 Blocks. Programmable Interconnect. Mach déng hé (Clock Circuitry 35 21.22, So sinh gia céu trie nhé va du tr lon... 21.23. So sink gitta SDRAM Programming va Anti-fuse programming, 36 21.24. — Céu tric FPGA cia Spartan 3 243, Trinh ty thiét ké mGt chip sss one it hi cic jc diém ki thuat Chon cing nghé... Chon mot huring tigp cn thidt ké. Chon céng cu téng hep Thiét ké chip ‘M6 phong ~ cai nhin tng quan vé thigt ké... Téng hop. Place and Route... score ‘M6 phong lai - téng quan cuéi cing... Kiém ta... 244. Ng6nngit mé ta phan cimg VHDL. a2 ‘Trinh ty thigt ké mot chip dya trén VHDL... 22. GiGi thigu mach phat trign XST 35 1000 cia hang XESS... 22:1. XSA-381000.... 222. —XST-3.0 (XStend Board)... 23. GiGi thigu hing Xilinx va cfc cng cy lap tr Hang Xilinx 49 1SE 9.2. 49 LogieCore 9.2. EDK 922. Phin 3: Xay dung hé théng xir nh dng trén nén FPGA. 3.4, So d6 cu trac he théng xit Ii nh dng 51 3.2. Xay dung hé théng thu thép, luu tri, xie ly va ign thi inh 53 32.1. ‘Think phén thu thép anh Framegrabber. 53 322, Lamu dit ligu tr Framegrabber vio SDRAM 3.23. Cc co ché ghi doc SDRAM: SDRAM Controller, Dual Port SDRAM... SDRAM Controller. Pipeline Read Operation 56 Pipeline Write Operation 56 Dualport Module for the SDRAM Controle. ee 4 3.2.4. — Image Processing core. 3.25. ign thi anh Ién VGA: VGA Generator VGA Color Signals VGA Signal Timing. 1a VGA Generator Nguyén tic hoat déng, 3.26. Picoblaze va hé théng diéu khién trung tim... 3261. — Khéi quét PicoBlaze..... KCPSM3 Module Két néi véi b@ nhé ROM chuong trinh... 3.2.62. So dé cau trite cia KhOi xiFIY trung t4M oo nonre avecrcecceser ‘Thudt tosn cia chuong tinh... 33. Thiétké giao dign diéu khién he thing. 76 Chitenang... 34, M@ phéng va két qua. Phuong én mé phang... oT Két qua. 78 Két luan. Tai ligu tham khio, Danh muc cac hinh vé trong dé an tét nghiép inh Lt “Mot tay may thyc hién gap d6i tuong véi su tro gitip cia hé thng thj gide iy tinh Hinh 12 ‘Cic bude co bin cia xirly anh 88, Hinh 1.3 Nhitng kiéu lién két gitta céc diém anh. Hinh 14 ‘Nhiing kigu dudng lién kétgitta cle dim inh. Hinh 15 Két qua cia phép loc Gaussian véi cia $6 3x3. Hinh 16 ‘Két qua thuat toin do bién. Hinh 1.7 Phan ngudng theo luge dé xam. Hinh 18 Loai bd nhigu va Khdi phyc ddi tugng bing qué trink Lim manh-lim day. Hinh 19 So dé thudt toin gin nhin di twong. Hinh 2.1 ‘ign trie chung cia FPGA. Hinh 22 Mot Logic Block dién hinh. Hinh 2.3 ‘Configurable Logic Blocks. Hinh 24 Programmable Interconnect. inh 25 ‘Cu triic cdc thanh phan cia Spartan 3A. Hinh 26 Design Flow. Hinh 27 ‘Qui trinh thiét ké chip dva trén VHDL. Binh 28 KIT XSA-381000. Hinh 29 So dé edu tric iia XSA-351000, Hinh 2.10 XST-3.0 Board. Hinh211 | XST-3s1000. inh 3.1 Mét nh cin duge xt ly. Hinh 32 So dé chung ciia hé thong. Hinh 33 Pixel stream waveform. Hinh 34 Framegrabber state machine. Binh 35 Pipelined Read Operation timing waveforms. Hinh 36 Pipelined Write Operation timing waveforms, Hinh 3.7 Ghép néi v6i SRAM Controller Hinh 3.8 Ghép néi dualport voi SDRAM Controller. Hinh 3.9 Xay dung 4 ports SDRAM interface. Hinh 3.10 So dé khéi xt ly anh. inh 3.11 ‘Khii ghi dit ligu tir read_fifo vao Buffer. 6 Hinh 3:2 | Khéi thu3t toan xirly anh. Hinh 3.13 | Co ché ghi va doc buffer. Hinh 3.14 | Khdi doc dit ligu tir buffer. Hinh 3.15 | So dé khdi thanh ghi dich Pixel register Hin 3.16 | Cau tric nhn chap. Finh3.17___| Ciu tric bo xirly dng clu anh nhj phan. Hinh3.18 | Khéi gin nhan di tuong. Hinh3.19 | VGA Connection. Hinh320 | 8mau cobain. Hinh 321 | CRT Display Timing Example. Hinh 3.22 | 640x480 Mode VGA Control Timing, Hinh 323 | So dé khdi edu tric cia VGA Generator. Hinh 324 | So dé khdi edu tric cia PicoBlaze. Hinh 3.25 | So dé ciu tric PicoBlaze Microcontroller. Hinh 3.26 | So dé khéi digu khign trung tam va giao tigp UART. Hinh 3.27 | Giao dign digu khién. Mé dau Thi gidc may 1a mot lin vuc da va dang rat phét trién. Khai niém thi gidc may ~ Computer vision c6 lién quan t6i nhiéu nganh hoc va huéng nghién ctu khdc nhau. Tir nhimg nim 1970 khi ma nang Ive tinh toan ciia may tinh, ngay cang tro nén manh mé hon, cde may tinh lic nay 6 thé xtr ly duge nhiing tap dit ligu 1én nhw cac hinh anh, cdc doan phim thi khai niém va ky thuat vé thi gide may ngay cang duge nhac dén va nghién citu nhiéu hon cho ti ngay nay. Thi giéc may bao gm ly thuyét va céc kf thuat lign quan nhim mye dich tao ra mt hé théng nhan tao cé thé tip nhfn théng tin tir cde hinh anh thu due hodc cdc tap dit ligu da chiéu, Ngay nay, ting dung ctia thi gide may da tro nén rat rong Ién va da dang, Jen Idi vao moi link vue ttt quan su, khoa hoc, vit tru, cho dén y hoc, san xuat, va tyr dng héa toa nha. Mue dich cita 46 An nay 1a nghién ctru cée khéi nigm co ban cia Thi gide méy tinh va xtr ly anh s@ Déng thdi trén co sé 46, ching em xay dung mot ‘hé thdng cam bién thi gide trén nén phan cig vi mach kha trinh FPGA. Cam bign nay thuc hign céc chtic nang co sé clia mot cam bieh thi gidc : a6 Ia tig nhan théng tin tir hinh anh thu duge dé xir ly va phuc vu cho céc qué trinh phan tich cao hon. sewwsngohaibacmnet Trong phan 1 cita dé én, ching em dé c§p dén nhimg céc khai nigm ciia hé thong thi gidc mdy tinh, nhéing tg dung va cdc thanh phan ciia né. Déng thoi ching em trinh bay co sé kigh thie xtr ly anh s6 sé dugc diing trong viée xdy dung hé théng cam biéh thi gidc. Trong phan 2, chung em trinh bay nhimg Khdi niém co bin vé chip kha trinh FPGA, hang Xilinx va nhimg céng cu lap trinh va phat trién hé théng voi FPGA. Ching em cing dé c§p dén vi mach tich hop XST 35 1000 cia hang XESS, duge sir dung trong dé an nay. Phan 3, ching em trinh bay phuong 4n thyc thi hé théing thi gid may trén nén FPGA. Viéc xay dung eéc thank phan thu thap anh, luu tri anh, xie ly nh va hign thi anh trén mach tich hop XST 3S 1000 duge dé cp chi tiét trong phan nay. Trong phan nay, chting em cing trinh bay phuong an chay mé phéng kiém tra hoat dong ciia hé thong. Va cudi cling, ching em tong két nhimg két qua dat duoc, nhang uu diém, nhuge diém cia gidi phdp, higu qua cia giai phdp va nhimg hudng phat tri Phan 1: Co s6 ly thuyét xirly anh sé 1.1. Khai quat vé hé théng Thi gide may tinh va Cam bién thi gide Theo dinh nghia tir [1] : Hé théng thi gide - bao gém ca thi gide may (machine vision) va thi giée may tinh (computer vision)- 1a nhimg hé thong tip nhan théng tin tir céc cém biéh thi gide (vision sensor) véi muc dich cho phép may méc dua ra nhiing quyét dinh thong minh. Thi gidc may tinh 18 mot nginh khoa hoc méi phét trig. Mic dit da 6 nhiing tmg dung cia xt ly anh s6 trong nhiing thap nién dau ciia thé’ ki XX vao mét sé linh vyc, nhung phai dén nhiing nim 1970, nhimg nghién citu vé inh vuc nay méi duge bat dau khi may tinh da c6 thé quan ly cdc qua trinh, xir I mot luong l6n dit ligu nhu ede anh sé. Linh vue nghién cifu ciia thi gide may rat rong, va dic diém chung la cdc bai ton vé thi gide may tinh déu khéng cb mét dé bai chung va céch giai duy nhat. M@i gidi phdp gidi quyét vain déu duge mot két qua nhat dinh cho nhiing trudng hgp cu thé. Ta 6 thé thay sy tuong quan gia Computer vision véi céc linh ve khéc nhur sau: i moe Peco 10 sewwsngohaibacmnet Qua so dé trén, ta 6 thé thay thi gide may tinh va thi gide may c6 lién quan dén rat nhiéu nganh nhu ty déng diéu khién, xir ly anh 86, quang hoc, sinh hgc, ton hoc, may hoc. va Tri tué nhén tao. Sw két hop ciia nhiing nganh nay tao cho Thi gidc may tinh mét kha nang ting dung hét ste rong Jon trong moi linh vyc cua khoa hgc, san xuat va dai sding. Cé thé ligt ké mot s@ ving dung cia thi giac may tinh nhu sau Diéu khién tién trinh (vi dy: trong cdc robot céng nghiép, hay céc thiét bi, xe tyr hanh). Phat hin sy kién (vi du: cdc thiét bj giam sat) Tw d6ng héa toa nha. M6 hinh hod d6i tuong (vi du: qué trinh kiém tra trong mdi tradng cong nghiép, xtr ly anh trong y hoc). Tuong tac (déng vai trd lam dau vao cho thiét bi trong qué trinh tong téc gitta ngudi va may). Nh§n dang Quan sy. Trong Tinh ve diéu khign tign trinh, thi gidc may tinh déng vai trd dic bigt quan trong nhu mét cam bigh vj tri cho robot céng nghiép hodc xe tr hank. ‘Trong hé théng may CNC, hodc céc day chuyén céng nghé, céc cém bién thi gide thu thap dit ligu anh vé déi tuong céng nghiép, xt ly va tach déi tugng ra khoi anh. Sau khi téch déi trong, hé théng, thi gidc may tinh ton céc dc trung cia déi tuong, nhu vi tri, hudng, dé gitip cénh tay may cia robot céng nghiép thao tac chinh xéc viée gap hodc gia cong déi tugng. ‘Vi nhiing hé théng thi gidc durge tich hop céc camera c6 46 phan giai lén, duge lap trinh chinh xéc, c6 thé diéu khién tay may dé thao tac vi nhiing vi mach nhé doi héi dé chinh xéc géin nhur tuyét d6i. rt Hinh 1.1: M6t tay may thye hign gap déi tugng véi sy tre gitip ciia he théng thi gise iy tinh Cain nhu vay, véi xe ty hanh di trong méi tradng phite tap, nhiéu vat can, hé théing thi gide may gitip cho xe phat hign ra nhiing déi tugng, vi tri va khoang céch ciia chting déi véi xe. Trong trudng hop nay, hé théng thi gide may khong chi déng vai trd nhu mét cm bigh thi gidc, ma con thuc hign vige ‘vé ban 46 déi tuong, cho phép xe tu hanh chon duge dubng di thich hop nhat. Hé théng thi gidc may con duoc ting dung trong nhimg Tinh vc céng nghiép véi vai tr nhu mdt cam bigh kiém soat 151 bé mit sin pham. Camera thu thap hinh anh vé bé mat sin pha, sé truyén dit ligu vao cho hé théng xtr ly dé tim ra 16i trén sin pham, vj tri Idi va kich thudc 16i. V6i nhiing hé théng thi gide sir dung camera héng ngoai, ta cin cé thé do nhiét dé san phim va sw phan bé nhiét dé trén san phd. Nhu vay, c6 thé néi, trong linh vue céng nghiép, thi gid may va cam bign thi gid 06 thé thay thé’ mét Iugng Ién céc cém bién vi tri thong thong, von cn rat nhiéu trong mot day chuyén sin xuat ho’e CNC, gitip gidm thiéu chi phi va cong sttc kip dat cm bién, va quan trong nhat 1a tao nén mot hé thong xir ly théng nhat nhting thong tin vé qué trinh va di tugng cong nghiép. ‘Trong linh vuc tur dng héa toa nha, hé théing thi giéc may cing déng mot vai tro ngay cang quan trong. 2 sewwsngohaibacmnet ‘Voi su phat trign cia céc thugt toan xit I dé Higu anh, tg dung cdc thanh tuu méi nhat ciia cong nghé xtr ly va tri tué nhan tgo, cic chm bigh thi gide ngay nay cé thé thu hién nhimg chtte ning théng minh nh dé so ngudi trong phong, nhén dang adi tuong chuyén dong, nhan dang khuén mat, canh béo sur kign, nhan dang van tay.... Céc hing nhw ALTALS va SELTEC, di cho ra dai nhiing may dé so nguvi, dya trén chudi hinh anh. Bang céch quan sat sy di chuyén céia dong ngudi va s6 ngudi , hé théng thi gidc may sé tinh togn t6e d6 va mat do dong ngudi di chuyén. Bai toan nay duoc ting dung nhiéu trong nhiing khu cong cong nhu nha ga, tau dién ngdm dé kiém soat ru hrong ngudi ra vao nhim dua ra nhiing quyét dinh diéu hanh chinh xéc.[2] Hé thding thi gidc may cdn duge ting dung réng rai trong viée nhan dang, chuzin dodn y hoc, quan su ( xc dinh vi tri déi phuong) va vi tru.. Xu thé phat trign ciia céc cém bigh ngay nay, dé 18 46 chinh xdc cao, kem véi tinh phan tan, thong minh, kha nang loai bé 16i (fault tolerance). Cac hé thdng, cam bién thj gidc dang ching t6 ngay cang dp ting duge xu thé day. CAc hé théng cam bién thi gidc ngay nay, da oé thé thay thé’ duoc mét long Jdn cam bign vj tri trong nhimg bai toan cy thé, déng thé, kha ning xtr ly thng tin khdng can déh su diéu khién cia bo diéu khién trung tim, cho phép chting cé thé tich hop rong rai vio nhiing hé théng diéu Khién phan tn. Thém vao dé, cdc cam bién thj gidc cd tinh linh hoat rat cao, cd thé tmg dung trong nhiéu bai tosn v6i nhiing yéu cau do dac va giém sat khéc nhau. Va cudi ciing, do dic diém hoat dng ciia minh, céc cam biéh thi gidc c6 thé hoat dng t6t trong nhiing méi trudng khic nghiét, nhu nhiét d6 cao, phéng xa, bui, dign trudng, a6 am 16 V6i nhimg ly do 46, hé théng thi gidc may va cam bién thi gide dang ngay cang duge ting dung nhiéu trong nhiing hé théng phic tap va hién dai, hoat dong lién tue va doi hoi yéu cfu vé d6 chinh xc va xit ly théng tin cao. 1.2. Khai quat qua trinh xir ly anh sé trong hé théng thi giac may tinh Hé thding thi gide may tinh bao gém nhiéu Linh vyc, trong dé xir ly anh so dong, mét vai trd quyét dinh. 3 He thong xir I anh s6 bao gém mot pham vi rng céc kigh thie vé phan cig, phn mém va co sé ly thuyét. Cae burée co ban cita xit ly anh s6 duge mé ta trong so 46 dusi day: Phan ving, peat n empBBuién Tet —> Co sé kién thc > aN Tete Hinh 1.2: Céc bude co ban ciiaxir ly anh sé ‘Thu th§p anh(image acquision) : Anh sé dugc thu thap bang mét cam bigh anh cé kha nang bién thong tin vé cudng dé sng va mite xém cita anh thyc thanh tin higu dign ap duéi dang analog. Tin higu nay sau dé duge sé héa dé tré thank tin higu sé. Hign nay cé mét sé cam bién anh thye hign ca viéc thu nhan tin higu vé cudng d6 sing ciia anh va sé'héa tin higu. Trong trurng hop cam biéh khong 6 chtic nang s6 héa thi can phai cd mt b6 bién déi anh tuong ty thanh anh s6 (video decoder). Tin hiéu anh sau khi duge s6 héa cdn durge ma héa theo nhimg chudn video (video format) nhat dinh trude khi duge dura vao qué trinh hau trit va xit ly. Cac chudin video thuong gip nhu IUT-R-BT 656, 601... Tién xi ly anh : Sau khi anh s6' duge thu thap dudi dang tin hiéu sd, cn phai trai qua giai doan tién xi ly. Chite ning chit yéu cita tign xtr Iy 1A ci thign anh, nang cao cac tinh chat cha anh gitip cho céc qua trinh xtr ly vé sau “ sewwsngohaibacmnet duge thuan tign hon. Céc céng doan co ban cita tign xir ly 1a : nang cao 49 tuong phan, loc nhié Phan viing anh: Buc tiép theo cia qua trinh xir ly 1a phan ving anh. Anh sau khi da duge cai thign, sé tré nén thudn tign hon cho vige phan ngudng va phan ving. Nhiém vy chinh cia phan ngudng va phan viing anh li téch anh dau vao thanh céc déi tuong, vat thé riéng bigt. Két qua ctia qué trinh phan viing anh, ta sé duge mot tap hgp céc diém anh c6 lién két véi nhau thanh céc d6i tuong, duge danh s@ phan biét, thuan tign cho céc qua trinh xit Iy cao hon. Dau ra ciia qua trinh phan viing anh la cac pixel chua dugc loc, bao gém lién két cia 1 ving ho’c tat ca céc digm anh trong ving 46. Sé ligu nay can due bigh déi thanh dang thich hgp cho may tinh xt ly. Phan tich anh: day la giai doan xir ly bac cao trong hé thong xtr ly anh s6. Anh sau khi duge phan ving thanh cic d6i tugng riéng biét, da dugc dinh so phan biét, sé dusgc phan tich dé phuc vu nhiing myc dich khéc nhau nhu: Xéc dinh cic dic trung hinh hgc cia déi tugng: dua trén co s6 déi tuong 43 duge xde dinh va phan biét, ta c6 thé thuc hién xéc dinh cde dc trung hinh hoe cita mai déi tugng day, nhu : vi tri, kich thudc, hudng, ... va sO déi tugng hay mat d6 doi tugng trong anh. Day la céc dc trung duge dig nhiéu trong hé théing thi gidc may (machine vision) han dang : cdc déi tung cé thé la céc vat thé c6 hinh dang nhat dinh, hoic cic ki tu 86, chit cdi, dau van tay...Anh sau khi duge phan ving c6 thé duge nhan dang theo nhing phuong phap nhat dinh nhw phuong phap neural, dé tim ra mau hinh dang ma déi tuong dé thudc vé. Dé hung dan hoat déng cia tig module xi ly, cin cé mét hé co so kién thite dé kiém tra hoat dong va tuong téc gitta cdc module. Hé nay cé nhiém vy kiém soat hoat déng ciia timg module va sp xép trinh tr hoat déng cia ching trong ting thoi diém, giai quyét bai todn xung d6t. 15 1.3. Cac thanh phan cia hé théng xir ly anh: 1.3.1. Thanh phan thu thép anh, Camera va van dé dinh dang anh. Giéi thigu chung vé camera : Trong hé thing xit Iy anh sé, camera la mot thiét bj rat quan trong 6 chite nang quan sat va. thu nhan anh dau vao cua hé thdng, Né thong dugc coi la hép den trong dé cé cdc qué trinh bigh déi dé chuyén mét anh thanh dang lwu tri trong may tinh. Cac bue xir ly nay bao gém sw phat sang, thdu kinh, sensor, céc phan tir quang dign va b6 sO hod, méi thanh phan nay phdi hop nhim dua ra anh sé cudi cing. Diém dc bidt quan trong trong nhan dang Anh la dac tinh thoi gian ctia camera, vi vay qua trinh xtr Ii anh cé vai trd nhu bé lay mau trong hé théng nhan dang anh. Cam biéh nhin chung gém 2 thanh phan chinh. Thanh phan thir nhat tao ra tin higu dign 6 dau ra ti 18 véi mike nang long ma né nhan duge. Thanh phan thir 2 18 bd s@ héa(digitalize) , 18 phan tir biéh ddi tin higu tuong ty thanh tin higu s& Tuy thudc vao thanh phan sé héa thy chat la bo chuyén d8i ADC, chting ta cé céc tin higu véi s6 bit khac nhau: 4 bit, Sbit, 10 bit, 12 bit..., turong ting ta sé duge cdc anh cé 16, 256.... mite xam khéc nhau. Trude day, ngudi ta str dung cdc camera dura trén thiét bi phéng tia dién tii, linh kign ban dan, tuy nhién nhuing thiét bi nay thang céng kénh, thiéu bén ving, 46 Gn dinh thap. Tir nhing nim 1980, da bat dau xuat hién cde sensor anh trong cde camera nhu sensor CMOS, CCD. Cac sensor nay chia mét sé long phain tir quang roi rac, hay cdc diém anh (pixel), méi phn ttr chia théng tin lién quan dén d6 sang chiéu vao n6. D6 phan giai ciia cdc sensor phu thudc vao s6 diém anh trén no. $6 diém nh cia céc sensor 18 da dang, tir thdp (32x32 diém Anh), dén trung binh anh) cho dén cao (640x480 ) hoe cao hon nita 1a 1280x1024 Trong dé tai nay, ching em str dung logi camera AVC 301D cia hing AVTech, day la m6t logi camera quan sat cho anh xém, str dung sensor 6 46 phan giai tuong d6i 1én (510x482 diém anh), cho ra tin higu anh dang tuong ty va cin phai duge s@ héa trude khi di vao qua trinh xir ly. Tin higu anh 16 sweww.ngohaibac.net tuong ty duge sé héa thanh anh sé béi bd video decoder TVP5150 theo chudn ITU-R-BT 601. ‘Méi frame anh thu vé duge biéu dién dudi dang I(x,y) trong dé x,y 1a toa 9 cita pixel trén frame va I la mite xm tuong ting cita pixel di. Nhu vay 1 frame anh thu duge sé duoc biéu dién duéi dang mét ma tran 2 chiéu n x m véin 1a 86 pixel trén 1 hang, m a s6 hang trong 1 frame. Trong 6 an nay, anh thu duge tir camera c6 kich thud 510x482, tuy nhién sau qué trinh s6 héa theo chudin ITU 601 ta oé anh s6 8bit véi kich thuée chudn 1a 720x525. 1.3.2, Thanh phan xir ly anh 1.3.2.1, Céc khai nigm co ban cia xit ly anh sO Pixel va céc lan cn : Nhu da biét, méi frame anh duge mé ti dudi dang ma tran 2 chiéu, trong 46 méi phan tir cla ma tran tuong ung voi mic xam_ cia 1 diém anh (pixel). Mdi diém anh nay c6 cdc lan cn xung quanh. Néu hién thi méi pixel dudi dang mét 6 vudng, méi diém cd chung bién voi 4 dig lan cn, va c6 chung géc vi 4 dim lan can khac. Hai digm lan cén goi la “lién két 4” néu ching c6 chung bién véi nhau, va “ign két 8" néu chung géc va chung bién véi nhau. iy til Gil ust ay a) Lién két4 (b) Lign két 8 Hinh 13 : Nhiing kiéu lién két gitra cic diém anh Dudng lién két: Dudng lién két 1a durdng néi tir pixel [fj] dén pixel Li, jn], qua mét chudi cae pixel [i fi], [é, 2],..[i ic... trong do mdi pixel v ién két vai pixel trude nd. Ta eb dung lién két 4 hodc lién két 4 hoac 8 voi nhau a) Lin két 4 b) Lién két 8 Hinh 1.4; Nhang kidu during lién két gitta céc diém anh. C6 thé d8 dng nh§n thay, néu co mot dung lién két gitta 2 diém [i,,/,] , [i.e], va gitta 2 diém [i,j], [i..jc] thi cing sé cé dudng lién két gitra 2 diém [i, j,] va [i,/,]. Lién két 06 tinh tuong déi. Déi twang va nén: Anh sau khi duge nhi phan héa ( cae diém anh chi c6 gid tri 0 hodc 1) s@ phan biét duoc d6i tuong va nén. Trong dé tai nay, ta gid dinh déi tugng 1a tap hop cdc diém anh cé lién két voi nhau va cé mite xam 1a 0 (den), ta ky higu la S, va nén la nhiing diém 06 mite xém 1 (trang) Bién: bién ca mét déi tuong S la tap cdc diém trén S va cé lién két 4 véi ~$ (phn bit cia $) hay nén ciia anh, Mién trong cia § : 1a céc diém thuge § nhung khéng nam trén bién cia né. 1.3.2.2. Céc thuat toan xir ly anh 6 Toén tir cita s6 (windowing operator): Trong viéc thuc thi céc thuat toan xirly nh s6'co ban, ngudi ta thudng sir dung mot toan tir dc biét goi la todn tir cita sé, Toan tir cira s6 1a mét tap hop co hinh dang nhat dinh, gm cac pixel 6 lién két voi mot pixel trung tam, la pixel dang duge xir ly. Cae phép 18 seuwangahaibacnet toan trén céc pixel nay s& c6 Anh hudng déh céc pixel trung tm cing la cde pixel dang duge xir ly trong mét thuat toan xir ly anh, Toén tir cita s6 c6 nhiéu hinh dang, tiry thudc vao thudt todn thye hign, ‘Tuy nhién thudng ding nhat 1a céc todn tir c6 dang hinh vudng véi cée canh Ta mOt 86 16, vi du :3x3, 5x5, 7x7. Trong 46 fn nay, ching em sir dung thudmg xuyén todn tir ctra s6 6 dang 3x3, vi day la kich thusdc hop ly dé thu hign higu qua tat ca cde thuat toan xt ly co ban va nang cao, déng thii lai dé thc hign va rat ngén ti da qua trinh, xir ly. Néu str dung cita s6 5x5 va 7x7, thoi gian xtr ly sé tang lén rat nhiéu, Tang d@ twong phan : Anh sau khi thu duge tir camera, c6 thé do su tuong phan anh sing kém, dan dén d@ chéi qué cao, khé phan biét. Dé cai thién anh, hé tro cde qua trinh xir ly cao hon, ta sit dung cde phuong phép higu chinh: higu chinh min-max, higu chinh histogram, hiéu chink Gamma, ... © day ta sir dung phuong phap hiéu chinh min-max vi né dan déu mite xm cua anh trong dai cho phép (khéng anh hung dén mite xm chung), Cong thtte d@ nang cp anh theo higu chinh min-max: = tuto. 956 Trong d6: Zine, Inig 1a cdc mite xdm cao nhat va thap nhat. Frew Toya ~ Ya mite xdm sau khi higu chinh va truéc khi higu chinh. Sau khi hiéu chinh mirc xam, ta sé dan mite xam ciia anh ra cac gid tri cach bigt nhau hon, tao thuat tign cho viée xir ly va nhén dang sau nay. Céc thuét toan nhan chap Nhan chap (convolution) : nhan chap khéng phai la mét thuat todn xir ly nh, ma la phép todn thong dung trong céc thuat toan xir ly anh sir dung toan 19 tir ciza s6. Nhan chap duge str dung trong céc bai todn do bién (edge detection) va loc tuyéh tinh (linear filter). Nhén chp tinh todn ra gia tri méi ciia pixel trung tam cita todn tir cita s6, bing céch thye hign phép tinh véi céc pixel lan cén va chinh pixel trung tam. Vige thyc thi phép nhan chp nhu sau: cho mét ctta s6 véi pixel trung tim chay trén toan b@ frame nh, vi mdi ctta s6 3x3 thu duge, ta thy hién phép toan: X DY cm).Aa,m) (1.1). M7. Két qua tinh duge cho ra gid tri méi cia pixel trung tam Trong (1.1), c(n,m) 1a céc phn tir cua mOt ma tran goi 18 mat na (mask). ‘Mi thugt ton xit ly khde nhau si dung mt mat na khéc nhau dé tinh gid tri ita cae dig anh. Loc tuyén tinh, dd bién: Day 1a 2 thuat todn co sé sit dung phép nhan chap. Loc tuyéh tinh(linear filter) 06 tac dung cai thién anh, loai bé nhiéu hé tre cho céc qua trinh xir ly cao hon. Méi bé loc khac nhau str dung mét mat na khéc nhau, cho hiéu qua khac nhau tity vao muc dich str dung va tinh trang cia anh sau khi thu thap. Vi du Gi vdi anh cé nhiéu phan bé déu, ngdu nhién déc lap véi mdi pixel, ta cd the sit dung mit na danh cho Igc trung binh, mat na nay sé lam gidm anh huéng cla nhiéu déi vdi pixel trung tam bang cach lay trung binh céng cac pixel lan can trong cita s6. ‘Néu nh co nhiéu Gaussian, ta str dung mit na 20 a) Truéc khi loc b)Sau Khi loc Hinh 1.5 : Két qua cia phép Ipc Gaussian véi cita 86 3x3 Do bién : Bién cia mot déi tong duoc xc dinh 6 noi mite xAm cia cée pixel o6 sur thay adi dot ngOt. Cé nhiéu cach xéc dinh bién, nhw dd bién theo gradient, dd bién bing céch lay dao ham bac 2 cia mite x4m theo toa 46 pixel. Hau hét céc thuat todn dd bién sit dung nhan chap, di: khong phai la tat ca. Thuat todn dd bién ma ching em sir dung trong d@ én nay 1A thudt toan Laplacien. ‘Thuat todn Laplacien dd bién chi quan tam dén sur thay déi dot ngGt cla tic xdm (lay dao ham bée 2) ma khong quan tam dén huréng cia bién. ‘Thuat todn nay duge thyc thi bing céch sir dung mat na: Gi G2 Gs) (—b -1 -t C=ley Cn Gs /=|—1 8 1] chotien kets Gee Oy) (Lb 1 =L 2 swwangohaibac.net Cr oe Gs ore C= ey lm lx |=|1 —4 1) cho tien keta Gi ee ce) 0 1 0 a) Anh géc b) Két qua do bién Hinh 1.6 : Két qua thugt toan da bién Phan nguéng, phan ving va nhj phan héa anh sé: Anh sau qué trinh tién xir ly, nang cp, dé t6i nhiing qué trinh xtr ly cao hon can duge nhj phan héa, phan ving thanh céc d6i tugng rigng biét. Tim ngudng : day 18 qué trinh tim ra ngudng cia mot anh dé thye hign vide phan ving. Ngudng déng vai trd quyét dinh qua trinh nh phan héa anh s@c6 higu qua hay khéng. Néu chon nguéng khong tot, sé bé qua mét sé déi tuong, hodc cho déi tung véi kich thuée, vi tri khéng dung, hodc té hon 1a Jam cae déi tugng khong phan biét duge véi nhau. Cé nhiéu thudt todn tim ngudng, cho két qua khéc nhau : Trong dé dién hinh 1a tim ngudng trung binh va tim ngudng theo histogram. Tim ngudng trung binh, ngudng dugc tinh theo céng thtic: 2 Ewha! Assn; am GA Ty =1y+h nxm- kich thude anh Ty,, Ing, A ~ mie xém trung binh, gid tri ngudng va gia higu chinh. Tim ngudng theo histogram: la phuong phdp fim ngudng dua theo luge 6 xdm. ma ma 255 Gray Hinh 1.7: Phin nguéng theo luge dé xim Nguong tim dugc theo cong thitc: Lg (nasi +/maxz )/2. Trong 46 Loasct va Tpax2 1a 2 mite xdm tuong tig cue dai trén histogram. Phan ving va nhj phn héa anh sé: sau khi tim ngudng, ta cb thé nhi phan héa anh sé va téch cdc déi trong. Trong anh x4m ban dau, ta coi déi tuong la nhiing ving anh 6 mite x4m tha, nén la viing anh c6 mute xém cao. Ta cé thé tach déi twgng ra bang thudt todn phan nguéng: yf LneuIfiij] She Afi, j] = {; néu I[i,j] > Ing 23 www.ngohaibacnet Ta sé duge di trong ¢6 mau den( miic xém 1) va nén c6 mau tréng (mic xém 0). Xir ly dng cdu anh nhj phan Anh nhi phan thu duge sau khi phan ngudng, phan viing anh thanh céc d6i tugng, van cé thé chua hoan chinh dé thye hién cdc qué trinh phan tich tiép theo. Dé la do trén anh van cé thé tén tai cdc nhiéu 1a cdc chém den chura bj loai bé sau céc thuat todn nang cp anh va loc, hoae do nguéng duge chon chua thuc sy tt dé téch hoan toan céc déi tong, Dé giai quyét vain dé nay, ta str dung cdc thuat todn xir Iy déng c&u anh nhj phan (morphological algorithms) . C6 2 phuong phép xir ly tiéu biéu : Thuat todn lam dy( dilation) va lam ‘manh (erosion). 2 phuong phap nay déu sir dung mét cia sé- phn tir cu triie(structure element) quét qua anh. Dua trén viée phan tich cia s6 nay ta tinh ra gid tri cua pixel trung tim. * Lam day (dilation) /(i, j) = 0 chi khi tat ca cdc pixel trong phan tir c&lu tric 6 gid tri bang 0 (cia sé ndm hoan toan bén ngoai déi tugng) * Lam manh (erosion) /(i, j)=1 chi khi tat ca cde pixel trong phan tt cau tric 06 gia tri bing 1 ( cira sé nam hoan toan trong déi tugng ) Két qua cia qué trinh lim manh Ia anh sé loai bé bét duge nhiing nhiéu nhé, déng thai lam nhé bét di tong, tach cae déi tuong gin nhau ra. DE Khoi phyc déi tuong tré Tai nhu ci, ta ding thuat todn lam day. Sau qué trinh, nay cdc nhiéu da bi loai bo sé khong xuat hign tré Tai. C6 thé Jogi bé hin che nhiéu tuong déi lén bang cach thyc hién nhiéu Ian thugt todn lam manh va Jam day. Tuy nhién sau dé hinh dang déi tugng khéng dirgc khdi phuc hoan toan nhw truée. 24 9 we ° ree Q Qj 1 1 [> site > bee al Erosion 99 Dilation 99 Hinh 1.8 : Logi bé nhiéu va kh6i phuc d6i tugng bing qua trinh Lim manh-lam day. Bai ton dénh nhan déi tugng: véi phuong php xir ly d6ng ctu Anh nj phan, ta da duge 1 anh nhi phan véi cdc déi tugng duge tach ra r6 rét, va loai 6 duge cdc nhiéu. Dé thyrc hién vige xéc dinh céc dc trung hinh hgc ctia 461 tugng, phuc vy cho hé théng dinh vi va nhan dang, can phai phan biét cdc d6i tuong (cdc ving anh den) véi nhau bing cach gén cho chiing cée nhin khéc nhau. Thuat todn gin nhan déi tuong cing sir dung mot cita sé 3x3 chay khép frame. Pixel trung tam s& dugc kiém tra dé gan nhan, va céc pixel lan cin duge diing d@ xae dinh nhan méi cho pixel trung tam. Thuat toan thyc hign nhu sau: 25 Begin Trd ve vi tri xuat phat I_ven_x=0 Icen_y=0 |_ven_index=0 N_object=0 co Két thie frame? + end Khong 4, ae Dich cira 86 _~|_gen_index=08 Khong Leen=0 N_object=N_object+1 |_gen_index=N_object Hinh 1.9 : So dé thuat toan gan nhan d6i trong, ‘Thuét todn gén nhan déi tuong duge thu hién nhwr sau: ban dau ta khoi tao bid déim di tugng n_object=0. Cita s6 doc tir vi tri xudt phat (gc trai 26 www.ngohaibacnet phia trén cia frame). Kiém tra xem pixel trung tam c6 bing 0. Néu khéc 0 thi dich cita s6. Néu bing 0, kiém tra nhan cia pixel trung tam(pixel_index). Néu Khéc 0 thi quay tré lai. Néu bing 0 thi kiém tra nhan céc pixel Jan cin (pixel_nei_index) va gin pixel_cen_index=min(pixel_nei_index). Neu pixel_cen_index khac 0 thi dich ctta s6. Néu bing 0 thi pixel dé 1a thudc déi tugng chua danh nhan. Ta tang bién dém déi tugng n_object thém 1, déng thdi gan pixel_cen_index = n_object. Sau dé quay tré lai dich cira sé. ‘Véi thuat toan nay, ta sé thuc hién dénh nhan déi tung gdm céc pixel c6 lién két 8 voi nhau. Nhan déi tugng dugc luu vao mét phan ca théng tin vé pixel chtta trong RAM. Cc dic trung hinh hoc cita d6i trong Sau khi anh da duoc phan ving va danh nhan thanh céng, ta thyc hién vige xée dinh céc dic trung cia ddi trong. Ce dc trung hinh hge cita déi turgng can duge xac dinh bao gém = -Dién tich: bang sé pixel cia d6i trgng =D DIGA trong a6 MG, /)=1 hac 0; ‘ai iat -Chu vi ddi turgng: bang s6 pixel nim trén bién déi tugng. -Vj tri (toa 46) ctia ddi tugng, cing Ia toa 46 trong tam vat thé,duge tinh theo céng thttc : sewwsngohaibacmnet 14. M6étsé giai php phan cimg cho hé théng thi giac may Cé thé thay, cdc thudt toan xit ly anh sé trong hé théng thi gide may déu tuong déi phic tap, véi khéi Iuong tinh todn rt lin (hang trim ngan pixel). Do dé, dé théa man yéu cau vé téc d6 va higu suat xit ly, doi hoi nhding nén phan cting dit manh véi kha nang xir ly va tinh thoi gian thyc cao. Dudi day 1A m6t s6'giai phdp phan cimg thudng dugc six dung cho mot hé thding xirly inh 86. FPGA Day 1a giai phap vé phan cing ma hay dugc sir dung hign nay. Tan dung, dc tinh cua FPGA 1a linh hoat va téc 46 xir ly nhanh (ctmg hoa cdc giai thudt), dc biét véi kha ning xir ly song song, FPGA rat phi hop véi cde bai toan xir ly anh doi hoi mot khéi Iugng tinh ton phitc tap. DSP Processor DSP Processor duoc gidi thigu dau tién vao nhimg nim 1978, 1979 bai Intel, Bell Labs. Céc bO xtt ly DSP c6 nhiing dic tinh néi bat nhw sau: «Thich hop cho céc qué trinh cn xir ly theo thoi gian thuc © Higu nang duoc téi uu véi dé ligu dang luéng ‘© Chuong trinh va dit ligu duge bé chi rigng biét (kién trac Harvard) ‘* Tich hgp cde chi thi lénh dae biét SIMD (Single Instruction, Multiple Data) * Khéng hé tro da nhiém «© Tuong tac truc tiép vi bd nhé cita thiét bi © Tich hop sin ADC va DAC 28 seuwangahaibacnet DSP Processor ngay nay di duge tich hop nhiéu thinh phan khéc nhau, lam ting kha nang linh hoat va téc d6 xir . Dic biét cdc DSP Processor rat thich hop cho nhéing nhu cau can tinh toan nhanh, xi ly s6 thyc. Dac bit mot 86 con cé sin nhimg chi thi lénh giip cho vige tinh todn ma trén, tich chap hay tham chi céc phép bién déi DCT trong qua tinh nén anh. Véi nhing wu didm dé DSP Processor duge ding trong nhiéu thiét bi xit ly anh chuyén nghiép. Mainboard, laptop Day la mot trong nhiing phuong phép don gidn nhat. Cé thé tan dung céc mainboard may tinh hay tham chi cdc may tinh xach tay voi chtte ning 1A mot don vi xtr ly anh, va dua ra quyét dinh. Véi viéc két néi mt camera hay webcam ta hoan toan chi déng trong qué trinh nhan/xtt ly anh. Céc giao tie ngogi vi phé bién nhu UART, Parallel, USB hay Keyboard. Vige str dung mainboard, laptop s@ c6 nhing wu/ nhuge diém sau: © Uudiém © Cb tic dd xir ly cao © Dé dang lap trinh, kiém 16i «© Hé diéu hanh quen thude (windows/linux) * Céc céng cy lap trinh/bién dich phd bién (MSVC, gcc) © Nhuge diém «ich thuéc, khéi Itong ln * Dé hu héng do va dap hay cac téc nhan khde © Gia thanh rat dat (>600$) © Cé qué nhiéu thanh phan khong sir dung dén 29 seuwangahaibacnet * Chi cé thé giao tidp véi ngoai vi théng qua céc chudin phé bién nh UART, USB Ngoai céc gidi phap trén, cdn nhiéu nhimg gidi phdp phan cing khdc cho mot h@ thdng xir ly anh sO nh : Main cong nghiép, Single Board Computer(SBC) six dung Single on Chip (SoC)... ‘Trong 46 An nay, ching em str dung giai phap la vi mgch kha trinh FPGA 6 xay dung toan b6 hé théing xir ly anh va diu khign trung tam. Muc dich cia dé tai la xay dimng mét hé théng xt ly anh trén nén FPGA, trong dé thye hign duge mot sé thudt tosn co ban nhwr loc, phan ngudng, phan viing, xit ly d6ng cau anh nhj phan, dénh nhan déi tung va cudi cling 1a tinh todn cde dic trung cua déi tuong. (vi tri, dign tich...) He thing duge xay dung véi mue dich thir nghiém nhimg thugt ton xtr ly anh sO da duge nghién citu, sir dung céng nghé FPGA, déng thdi tao nén. tang cho hé théing thi gide méy tinh véi nhimg thuat todn xtr ly cao hon. 30 sewwsngohaibacmnet Phan 2 : Khai quat vé FPGA va mach phat trién XST 3$1000 cia XESS 2.1. Giéi thigu chung vé FPGA va ngén ngit VHDL 2.1.1. Khai nigm va tng dung FPGA Khai nigm FPGA (Field Programable Gate Arrays) 1a mdt thiét bj ban dan bao gém cc khGi logic lip trinh dugc goi la "Logic Block", va cac két néi kha trinh. Cae khdi logic ¢6 thé duge lap trinh dé thuc hign céc chtte nang cita céc khéi logic co ban nh AND, XOR, hodc cdc chtte ning két hop phitc tap hon nhw decoder hodc cc phép tinh toan hoc. Trong hau het cdc kin trite FPGA, cde Khdi logic cling bao gém ca céc phan tir nhé. Dé cé thé’ 1a cdc Flip-Flop hoc nhiing b6 nhé hoan chinh hon. (Cac két n6i kha trinh cho phép cde khGi logic 06 thé néi vi nhau theo thiét k@ cia ngudi xy dyng hé thng, gidng nhu mét bang mach kha trinh, Mét kién tric khéc trong ty nhung don giin hon FPGA, la CPLD ( ‘Complex Programable Logic Device ). Thuc chat day la tin than ctia FPGA. Nam 1984, Ross Freeman, mOt déng séng lép cua Xilinx di phat minh ra FPGA. FPGA va CPLC déu bao gém mét s6 lugng khd In cdc phan tit logic kha trinh. Mat d6 céng logic (Logic Gate) cia CPLD_nim trong khoan tir vai nghin cho dén 10 nghin céng. Trong khi dé FPGA thong thuong chita tir 10 nghin cho déh vai trigu céng. Khic biét co ban gitta FPGA va CPLD Ia 6 kigh tric ctia ching. CPLD cé m6t kign tric bi gidi han trong mot hose mét vai day logic kha trinh cling véi mt lugng nhé thanh ghi dinh théi. Do dé né kém linh hoat hon, nhung lai cé mu diéim la kha ning dy doan tré Ion hon va tiIé logic-két néi cao hon. Nguge lai, trong kién tric cia FPGA lai cé sy tri hon vé sé lurgng két néi. Digu nay lam cho né tré nén linh hoat hon ( vé s6 Iugng thiét ké' duge thye a1 www.ngohaibacnet thi bén trong) nhung cing déng nghia véi vige phite tap hon trong qué trinh, thigt ke, M6ét khac biét dang chi ¥ nita gitra FPGA va CPLD la : hau hét cdc FPGA hign nay déu bao 06 cde phan tt chtée nang tich hop cao hon ( nhu b6 cong, nhan tich hop), va b6 nhé tich hop. MOt 8 kigh trite FPGA hign nay con 06 thé cho phép cat hinh lai timg phan (partial re-configuration). Cé nghia 1A cho phép mét phan cua thiét ke duge ctu hinh lai trong khi nhaing thiét ké’khdc van tiép tuc hoat déng. M6t wu diéin khéc cia FPGA, la ngudi thiét k& c6 thé tich hop vao dé cic b6 xtr ly mém (soft processor) hay vi xir ly tich hgp (embedded processor). Cac vi xtr ly nay cd thé duge thiét ké’nhu cdc khéi logic théng thursng, ma ma nguén do cae hang cung cap, thuc thi céc lénh theo chuong trinh duoc nap ring biét, va 06 cdc ngoai vi duge thiét ké'linh dong ( khéi giao tip UART, vao/ra da chiic ning GPIO, ethernet...). Céc vi xir ly nay cing c6 thé durge lap trinh lai (re-configurable computing) ngay trong khi dang chay. Ung dung. FPGA due ung dung dién hinh trong cac linh vyc nhu: xt ly tin higu 56, xir Iy anh, thi giée méy, nhén dang giong néi, ma héa, mé phéong (emulation)...FPGA dc biét manh trong cdc linh vac hoc ting dung ma kign tric cia né yéu cau mot lung rat I6n xii I song song, dc biét 1a ma héa va gidi ma. FPGA cing duge sit dung trong nhiing tmg dung cn thuc thi céc thuat toan nhw FFT, nhan chap (convolution), thay thé cho vi xir ly. Hign nay céng nghé FPGA dang duge san xuat va hé try phan mém boi cac hang nhu :Xilinx, Altera, Actel, Atmel... Trong dé Xilinx va Altera la 2 hang hang dau. Xilinx cung cap phan mém mién phi trén nén Windows, Linux, trong khi Altera cung cp nhiing céng cu mién phi trén nén Windows, Linux va Solaris. 2.1.2. Kién tric FRGA 2.1.2.1. Kién trie chung FPGA 22 Interconnect ion Logic Block Resources 1/0 ced eee ee ae oe ee It ee ae Hinh 2.1: Kign trie chung ciia FPGA Méi nha sin xuat FPGA cé rigng cau tric FPGA, nhung nhin chung cit trac duge thé hign gidng nhw trong hinh bén trén. Céur tric FPGA bao gém ob configuration logic blocks (CLBs), configurable /O blocks (IOB), va programmable interconnect. Va tat nhién, chting c6 mach clock dé truyén tin higu clock téi céc logic block, va thém vio dé ¢6 céc logic resources nhu ALUs, memory va 6 thé c6 ca decoders. Cée phan tr lap trinh duge cia FPGA cé 2 dang co ban la cic RAM tinh (Static RAM) va anti-fuses. Configurable Logic Blocks (CLBs) Configurable Logic Blocks (CLBs) bao gém céc Look-Up Tables (LUTS) rat linh dong c6 chute nang thuc thi cac logic va cde phan tir nhé ding nhu 1a cde flip-flop ho§e céc chét (latch). CLB thuc hign phn lén céc chite nang logic nw la lu trit dit Héu,.. 3 Inputs Hinh 2.2: Mot Logic Block din hinh Configurable I/O Blocks Input/Output Blocks (IOBs) diéu khién dng dif liu gitta cdc chan vao ra W/O va cac logic bén trong ciia FPGA. Né bao gém cé cdc b dém vio va ra véi 3 trang thai va diéu khién ngo ra dang open collector. Phin Ién la c6 tre kéo lén 6 ngé ra va thinh thoang lai c6 tra _kéo xuding.JOBs hé tro ludng dir ligu 2 chiéu (bidirectional data flow) va hoat dng logic 3 trang thai (3 state). H6 tro phan 1én cac chuan tin hiéu, bao gém mét vai chudn téc dé cao, nhu Double Data-Rate (DDR). LocaL BUS OPEN SLEW COLLECTOR RATE Vee F PULLUP EXPRESS BUS Locat Bus EXPRESS EUS ran EXPRESS BUS 4 AE TTLUCMOS EXPRESS BUS LocaL Bus Hinh 23: Configurable Logie Blocks Programmable Interconnect 34 seuwangahaibacnet Interconnect & FPGA khae xa so véi 6 CPLD, tuy nhién lai gidng véi cua gate array ASIC. Cé mét line dai duge dimg dé néi cae CLBs quan trong ma chiing lai 6 céch xa nhau ma khong gay ra qué nhiéu tré. Chiing 06 thé duge ding nhu la céc bus 6 trong chip. Cé cédc line ngin duge dig dé lién két cée CLBs riéng ré nhung dat gan nhau. Va cing thudng 06 vai ma tran chuyén i (switch matrices), giéng nhur trong CPLD, néi gitta céc line dai va ngén lai voi nhau theo mét sé cich dic big. Cac chuyén déi lap trinh duge (Programmable switches) bén trong chip cho phép két néi gitta CLBs tdi cdc interconnect line va gitta interconnect line véi cdc line khdc va véi switch matrix. Cac bo dém 3 trang thai duge dimng dé két ndi phan In cdc CLBs véi cdc line dai (long line), tg0 nén cdc bus. Céc long line dic biét, goi Ia céc line clock toan cuc (global clock lines), duge thiét ké’ dc biét cho tro khang thap va nhiy dé ma thdi gian lan truyén nhanh hon. Chting dugc két ndi véi céc b6 dém clock va v6i méi phan tir duge clock trong méi CLB.D6 1a céch ma clock 6 thé phan phdi bén trong FPGA. Hinh 24 : Programmable Interconnect Mach déng hé (Clock Circuitry ) Cac khéi vao ra v6i b6 dém clock high drive goi la cde clock driver,nam rai rc xung quanh chip. Céc bo dém nay dirgc ndi véi céc chan clock vao va lai 35 www.ngohaibacnet céc tin higu clock vao céc dung clock toan cuc (global clock line) nhur mé té ben trén. Cac during clock dugc thiét ké sao cho thdi gian thoi gian Iéch nho nhat va thoi gian lan trayén nhanh. Thiét ké dng b6 1A yeu cau bat bude voi FPGA, tir khi d6 Ich tuy@t d6i va tré khng dugc bao dam. Chi khi ding cde tin higu clock tir cdc b6 dém clock thi thai gian tré tuong déi va thi gian lech. m6i duge dam bao. 2.1.2.2. So sanh gitta cu trac nho va cau trite lon, FPGA cé cau triic nho gidng nhu céc mang cdg cita hé ASIC véi cdc CLBS chi bao gém céc phan tte co ban rat nhé nhur cdc cng NAND, cng NOR, ... Cac nha ly lun cho ring cdc phan tir nhé o6 thé néi véi nhau tao len cée chtie nang lén hon ma khéng ton nhiéu cdc phain tir logic. Trong cdc FPGA ¢6 cau trtic Ién, cdc CLB cé thé bao g6m 2 hoc nhiéu flip-flop, céc thiét ké'ma khong can nhiéu flip-flop s& khién cho nhiéu flip-flop khong durgc ding dén. Tiée ring, cc cu tric nh6 lai yéu cu kha nhiéu ngudn két néi (routing resource), dan dé tang khéng gian va thém vao mét lugng én tré ma khéng thé bi lai dé c6 higu qua hon. 2.1.2.3. So sanh gitta SDRAM Programming va Anti-fuse programming C62 cach dé lap trinh FPGA. Céch dau tién 1a SDRAM Programming, bao ‘g6m mot vai bit Static RAM cho méi phan tir lp trinh. Ghi mét bit véi gid tri 0 sé ngat switch, trong khi ghi gid tri 1 sé déng switch. Céch con lai 1a anti- fuse bao gém cdc citu trite rat nhé, khong gidng nhw céc cdu chi thong thudng, binh thudng chiing khéng tao ra mot két ndi ndo ca. Mot ding dién 6 cudng d6 nhat dinh trong Khi lap trinh thiét bi s® dn dén viéc hai bén cia anti-fuse két néi véi nhau. Thuan loi cia céiu triic FPGA dua trén SRAM 1a chiing ding mot qué trinh san xuat chudin ma 6 dé céc ké’hoach sén xuat chip la gan nhu gidng nhau va luGn Iuén duge t6i wu cho kha nang hoat déng. Tir khi ma SRAM cé thé lap trinh lai dugc thi FPGA cé thé lap trinh lai bat cit khi nao mud, than chi ngay ci khi ching dang 6 trong hé thing, don gian nhu 14 ghi vio SRAM thong thudng. Chting cé nhuge diém la visng nhé volatile nén mot van dé vé 36 sweww.ngohaibac.net nguén cé thé thay déi noi dung cia RAM. Céc thiét bi dura trén SDRAM cing 6 thdi gian tré dudng truyén lén. Thuan Igi cua cau trac FPGA dua trén anti-fuse 1a ching 14 non-volatile va céc tré khi ndi day sé rat nho vi thé nén chiing ¢6 khuynh hudng nhanh hon. Nhuoe diém la ching yéu cat mét bé lip trinh bén ngoai dé lp trinh va mdi khi lap trinh xong thi khong thé thay adi duge. 2.1.2.4, Cau trie FPGA ctia Spartan 3 Cau tric téing quan cita Spartan 3 gdm 6 5 thanh phan cé chite nang kha trinh co ban sau: * Configurable Logic Blocks (CLBs) bao gém cac Look-Up Tables (LUTs) rat linh dong cé chite nang thuc thi cic logic va céc phan tir nhé diing nhu 1a cc flip-flop hoac cdc chét (latch). CLB thuc hién phan In cdc chite nang logic nhw 1a luu trir di liéu,.. ‘+ Input/Output Blocks (IOBs) diéu khién dong dit liéu gira cdc chan vao ra I/O va céc logic bén trong cia FPGA. IOBs hé tro luéng dit ligu 2 chidu (bidirectional data flow) va hoat dong logic 3 trang thai (3 state). Hé tre phan 16n céc chuain tin higu, bao gém mét vai chudn t6c d6 cao, nhur Double Data- Rate (DDR). * Block RAM cho phép luru trit dit ligu duréi dang céc khéi (block) dual- port 18-Kbit. + Multiplier Blocks cho phép 2 sé nhi phan 18bit lam dau vao va dé ding tinh toan tich cita ching. ‘* Digital Clock Manager (DCM) Blocks cung cap kha ning tw xdc dinh xung clock, la gidi phdp s6 hodn chinh cho céc tin higu clock phn phéi, nhan, chia va dich bit. Cac phan tir nay duge t6 chite nhu trong hinh sau: a7 Hinh 25: Cau trite cfe thanh phén cia Spartan 3 Tit hinh vé ta thay, ede IORs bao quanh cée mang CLBs, riéng Spartan-3E chi c6 mét vong cdc IOBs. Mai c6t block RAM bao gém mét vai block RAM 18-Kbit, méi block RAM lai gin lién v6i mét multiplier danh riéng. Cac DCM. duge dit 6 cdc vi tri: 2 DCM phia trén va 2 cdi phia dudi cia thidt bi, va déi ‘Gi céc device ln hon thi ¢6 thém céc DCM 6 phia bén canh. Die digm chung mang Spartan-3 1d két néi lién thng gitta 5 phan tr co ban nay, va truyén tin hiéu gitta ching. Moi thanh phan chite nang nay co mot switch matrix danh riéng dé cho phép chon Iya két néi cho vige di day trong FPGA. 2.1.3. Trinh ty thiét ké mét chip Trinh ty thiét ke’ mOt hé thong tron nén FPGA bao gm cac bude sa 38 Write a Specification ©E—— Specification Review * Design ee Simulate Design Review ‘Synthesize Place and Route —| Resimulate Final Review Chip Test Es ‘System Integration and Test Ld Ship product! Hinh 26. Design Flow Ghi cic dac diém ki thuat ‘Tam quan trong cita cée dic diém ki thuat (specification) khong thé phéng dai qua. Né chi tuyét ddi cin dc biét khi la mot huéng dan dé chon céng nghé phit hop va tao nhiing yéu cau cita ban cho céc nha sin xuat chip. Va cdc dic diém ki thuat cho phép méi ki su hiéu vé thiét kéhé thong chung va cOng viée cua ho trong hé thing dé 1a gi. Va né cing cho phép cdc Ki sur thiét ké giao dign ding cho mét loat cée phan ciia chip. Cac dc diém ki thuat cing gitip tiét kigm thai gian va sw hiéu lém. Sé khdng lam gi duge néu khing c6 ‘cdc bang ghi cdc dic diém ki thuat. Chi tiét Ki thuat nén bao gém cic théng tin sau day: © So dé khéi bén ngoai dé chi ra chip 46 duge dat vao trong hé thong nhu thé nado. © Sod khéi bén trong chi r5 mdi chite nang ciia cac thanh phan. 39 www.ngohaibacnet ‘* Miéu té céc chan vao ra bao gém kha nang lai déu ra, mite nguéng diu vao. ‘© Thdi gian dc lugng bao gém thoi gian thiét lap va gitr 6 cdc chén vao, thdi gian lan truyén ra cdc cOng ra va thoi gian chu ki clock. © Déim xp xi s6 gate + Dang déng goi + Tiéu thy nguén © Gidca © Céc thit tye dé’ kigim tra Mét diéu rat quan trong nia 1a dé 1a céc tai liéu truc tuyén, Rat nhidu phn sé dugc dy doan t6t nhat 6 trong d6, nhung sé thay d6i trong qué trinh chip durgc thiét ké. Chon cng nghé MGi khi mot chi tiét miu ta ki thudt duge xuat ban, né c6 thé duge ding 48 chon nha san xuat chip tt nhat véi cong nghé va cau tric gi cd la tot nhat dap ting duge yeu cau ciia ban. ‘Chon mét huéng tigp cin thiét ké Tai thdi diém nay ban phai quyét dinh cdch thyc hign thiét ké’ ma ban mong mudh. Déi véi céc chip nhé thi céch tiép cin bing so dé nguyén ly (schematic) thudng duge chon, dc biét la khi cdc ki su thiét ké’da quen thude V6i cdc céng cu nay. Thé nhung Adi véi cdc thiét ké' lon hon, nguén ngé miéu ta phan cing (hardware description language) HDL nhu Verilog va VHDL duge ding béi kha ning mém déo, dé doc, dé chuyén giao. Khi ding ngén ngir cap cao, phan mém téng hop (synthesis software) sé duge yéu cau téng hop (synthesize) thiét ké. Cé nghia ring phan mém nay sé tao ra cdc cng 6 cp tha tir midu ta 6 cap cao hon. Chon céng cu téng hop Tai diém nay, ban phai quyét dinh chon phn mém téng hgp nao sB duge ding néu ban cé ké hoach thiét ké FPGA voi HDL. Diéu do rat quan trong ké 40 tir hi mdi cng cy téng hop duge khuyén ding va sw uy théc eiia céich thi kké phan cing nén né 6 thé hoat dng téng hop ding hon. Thiét ké chip Cé mot sé cach dé thit ké chip ‘© Top-down design (Thiét ké tir trén xudng duéi) © Macros * Synchronous design + Protect against metastability * Avoid floating nodes * Avoid bus contention ‘M6 phéng - cdi nhin téng quan vé thiét ké M6 phéng 1a mét qué trinh lién tuc khi ma thiét ké xong. Tung phan nho- cia thiét ké’nén duge mé phéng trudc khi két hop chting thanh cdc phén 16n hon, Diéu nay rat 18 can thiét va su mé phéng theo thi ty sé kiéin tra chic ning hoat dong duing cia tig phan. MGi khi thiét ké' va mé phéng hoan thinh, dn dén mét cdi nhin tong quan hac vé thiét ké vi thé thiét ké’cé thé duge kiém tra lai, That la quan trong dé nhan cac két qua khéc cho phép nhin qua cdc mé phong va chac chin ring Khong c6 diéu gi bi quén va khong su tén hao nao gap phai. Dé 1a mot trong nhiing khdi quét quan trong nhat béi vi khi m6 phéng ding va thanh cOng thi ban sé biét duge chip ctia ban s@ hoat dng dting trong hé thdng. Téng hop Néu thiét ké’ diing HDL, bude tiép theo 1a tong hgp chip, bao gém viée ding phan mém téng hop dé chuyén déi that t6i uu tir thiét k& mee RTL (register transfer level) sang thiét ké’ mirc gate ma c6 thé gan vao cc khéi logic trong FPGA. Place and Route a www.ngohaibacnet Buse tigp theo 1a sp dat chip, két qua trong vige thiét ké’ vat ly cho chip thuc. Diéu nay bao gém céc céng cy ciia nha sin xuét dé tdi wu lap trinh cho chip 4@ thuc hign thiét ké. Sau 46, thiét ke’ dugc lp trinh vao cho chip. M6 phing lai - t6ng quan cudi cing Sau khi sip dit xong, thi chip phai duge mé phong lai véi céc con s6 ve thdi gian tao ra béi céc layout thie t& Néir moi thir déu tét dén thoi diém nay, thi mt két qua m6 phong méi sé ding véi cdc két qua dy dosn. Kiém tra Déi véi céc thiét bi lap trinh dugc, don gidn la lap trinh thiét bi dé va ngay lap tiie c6 mau thik, Sau dé ban cé trach nhiém dat mau thir nay vao trong hé thing va xem xem hé thing cé lam vige ding khong. Néu ban lam Ian luot cdc bude 6 bén trén thi da phiin 1a hé thdng sé hoat dong ding chi véi mot vai 16i rat nhd. Céc 16i nay thursng duge lam viée xung quanh véi viée thay i hé théng va thay ddi phan mém hé thing. Cac Idi nay can duge kiém tra va trich dan lai dé c6 thé duge sita chita trong phién ban tiép theo ctia chip. Kiem tra hé théng nhiing la can thiét tai thoi diém nay dé dua ra két qua ring moi phan cua hé théing déu hoat déng ding khi két hgp véi nhau. Khi cac chip dugc dua vio san xudt, rt céin thiét ob mot vai kiém tra dé 6 mot vai kiém tra burn-in trong hé thding dé test thudng xuyén hé théing qua thai gian dai. Néu mét chip duge thiét ké dting, thi né chi bj héng khi hgc hodc ldi co hoe sé thurng xuyén xay ra v6i loai kiém tra khiéc nghiét nay. dign 2.1.4. Ngén ngit mé ta phan cing VHDL VHDL 1a m6t ngén ngit m6 t& phan cing (hardware description Janguage), mé ta hanh vi cita mach dign hodc hé théng, tir dé mach dién vat ly hodc hé théng cé thé duge thu thi. VHDL 1a viét tét ca VHSIC Hardware Description Language. Ban than VHSIC la viet tét cua Very High Speed Integrated Circuits (mach tich hop te 6 cao), ln dau tién duge séng lap boi United State Department of Defense trong nhiing nam 80, sau dé tao ra VHDL. Phién ban dau tién Ja VHDL 87, 2 sweww.ngohaibac.net an nang cap sau dé 06 tén 1a VHDL 93. VHDL 1a ngon ngér mo ta phan cimg, nguyén géc dau tién dugc chudin héa boi Institue of Electrical and Electronics Engincers (IEEE), t6i chuan IEEE 1076. Trong IEEE 1164, c6 mot chudn duge thém vao la gidi thigu hé thong logic da gid tri (multi-valued logic system) DOng co thtic dy co ban khi ding VHDL (hay ding Verilog) li VHDL Ia mOtng6n git dc lap chuain cita cde nha cong nghé, cécnha phan phdi do dé ching c6 kha ning portable va ké thira cao (reusable). Hai img dung truc tiép chinh cia VHDL 1a trong mang céc thiét bj logic lap trinh duoc ( Programmable Logic Devices) (bao gém CPLDs - Complex Programmable Logic Devices va FPGAs — Field Programmable Gate Arrays). Mdi khi ma nguén VHDL duge viét, ching cé thé duge ding dé thyc thi mach dién trong céc thiét bi lap trinh duge (tir Altera, Xilinx, Almel, ..) hoc o6 thé giti dén cdc xuréng ché'tao cdc chip ASIC. Hign nay, rat nhiéu céc chip thuong mai phiic tap (vi du nhu cdc microcontrollers ) duc thiét ké’ dua trén cach tiép can nay. Mét diéu chit ¥ vé VHDL 1a trai nguge véi cde chong trinh may tinh thong thudng duge thyc hién tudn ty thi cdc cau Iénh duge thyc hign song song (concurrent). Vi li do dé, nén VHDL thurong duc coi 1a mét ma nguén hon 1& mét chuong trinh. Trong VHDL chi 6 céc ciu Iénh dit trong PROCESS, FUNCTION, hay PROCEDURE dugc thye thi tuain tu. Trinh ty thiét ké mt chip dya trén VHDL M6t trong nhimng tign ich én cua VHDL 1a cho phép téng hop mach dién hoac hé théing trong thiét bj kha lp trinh (programmable devide) (PLD hode FPGA) hodc trong mét hé ASIC. Cac bude thuc hién mét project duoc téng két nhu trong hinh dui: “3 VuDLenry }*——— (RTL level) Compilation ¥ Neti Gate level) Synthesis Optimization ¥ ‘Optimized netlist, ‘(Gate level) Simla Place & Route Hinh 2.7: Qui trinh thigt ké chip dya trén VHDL Chung ta bat dau thiét ké’bang cach viét ma VHDL, duge ghi trong cac file vi duéi mé rong .vhd va tén gidng nhur tén cia ENTITY (thuc thé). Bude dau tién trong qué trinh synthesis 1a bién dich. Bién dich 1a mt qué trinh chuyén d6i gi ngOn ngit VHDL bac cao tai Register Transfer Level (RTL) sang netlist 6 mite gate level. Bude thit 2 la tdi wu thy hign trén gate level net list t6i wu vé t6e d6 hodc cho dign tich. Cudi cing 1a mét phn mém place and route sé tao ra mét physical layout cho cdc chip PLD/FPGA hoic tao ra cde ‘mit na cho mét hé ASIC. 2.2. Gidi thigu mach phat trién XST 3S 1000 ciia hang XESS MESS Trang chu ctia XESS Corp. : http://www.xess.com X Engineering Software Systems Corporation (XESS) la cng ty tai phia Bac Carolina (Mj) dugc thanh lap tir nam 1990. XESS Corp. dua ra nhimg, Ong cu phat trién logic lap trinh duge véi gid phai ching va cdc huéng dan cho ngudi ding duge viét boi céc Ki su, cdc nha nghién ctru, nha thiét kéva ngay ca cia sinh vién. 44 www.ngohaibacnet XESS gidi thigu 2 board chuyén diing cho xir ly anh va audio: 2.2.1. XSA-3$1000 100 Miz Oscillator Poraliel Port XC9S72KL CPLO, 2MByto Flash XC381000 FPGA, ‘32 MByte SORAM. Pushbuttons Hinh 28 : KIT XSA-381000 KIT FPGA niy bao gém cd 32 Mbyte DRAM déng bé va 2 Mbyte Flash dé xay dung hé théing vi diéu khign RISC hoan thign dya trén phan mém (soft- core). C6 thé cé t6i 4 bitstream duge lu triz trong Flash va ta 06 thé ding switch dé hua chon bitstream nao duge céiu hinh cho FPGA khi 4p dat nguén dién vio KIT. Ho¥e chiing ta c6 thé download truc tiép vao FPGA nha céng song song (parallel port) diing céng cu XSTOOLS ( trong bé céng cu cua XESS). Giao dién CPLD trén XSA-3S1000 ciing hé tro download ding XILINX iMPACT va circuit test/debug vi ChipScope ding cép download song song cia Xilinx 45 seuwangahaibacnet BG sung thém vao cdc chip FPGA, SDRAM va Flash, c6 thém céng VGA c6 thé high thi 46 hoa véi 512 mau. Thém vao 46, con c6 thém prototyping header dua cho ta 65 chan /O dé xay dung céc giao dign véi céc ngoai vi hdc. Hinh 29, So 46 cau tric cia XSA-3S1000 2.2.2. XST-3.0 (XStend Board) 46 Hinh 2.10 : XST-3.0 Board Xstend Board 1a mach hé tro cho XSA Board cé thé truy nhap qua giao dign prototype. Bo mach nay mé rng kha nang cia XSA Board trén mot so mat: ‘* Cac pushbuttons, DIP switches, LEDs, va protopying area rat ¢6 ich cho cac thi nghiém 6 phéng Lab. ‘* Mach stereo va dual-chanel analog I/O dig cho xir ly am thanh két hgp véi céc thinh phn DSP duge synthesize véi phin mém CORE generation cia Xilinx. * Video decoder (b9 gidi ma video) cho phép s6 héa cae video dang NTSC/PAL/SECAM trong cic ting dung xir ly anh. ‘© Giao dign Ethernet 10/100 lam cho XSA Board cé kha ning truy nhap ‘TCP/IP va cdc dang mang khéc. © Giao dign USB 1.1 lam cho XSA Board nhu mot ngoai vi USB dang low- speed hoac full-speed véi PC. a7 seuwangahaibacnet ‘© Giao dign RS-232 rat hiru ich khi XSA Board can phai guti thong tin qua lién két giao tig ndi tip v6i t6c 46 thap. '* Giao dign IDE cung cap cho XSA Board kha nang truy cp vao 6 dia ting (hard disk) dé hu va phuc héi dit ligu. © Céc module véi chite ning khadc c6 thé thém vao trong XST Board nh cdc doughterboard connector. Nhu vay, két hop gitra XSA-3$1000 va XST-3.0 cho ta mét Board tmg dung xirly video rat higu qua. Hinh 2.11 :XST-3$1000 HO trg Ki thuat: XESS od m6t group xsboard-user 1A mOt_mailing list, gidi dap moi thac mac vé thiét ké’ phan ctmg va hé théng phan mém khi ding bo mach logic kha trinh clia XESS Corp. Ngoai ra, cdc phan mém va module phit trign kha day du. 48 thigu hang Xilinx va cdc cOng cu [ip trinh: Hang Xilinx Xilinx la nha phat trién hang dau hign nay trong linh vye chip kha trinh. Dugc thanh lap boi Ross Freeman, Bernie Vonderschmitt, va Jim Barnett, va €6 tru s6 tai thung ling Silicon. Tru sé chinh hign nay 6 San Jose , California. La thanh vién cia nhém 100 cong ti hing dau thé’ gidi hign nay do tap chi Fortune binh chon. Xilinx 1a nha phat trién FPGA, CPLD duge sir dung rong rai trong nhimg tng dung truyén théng, tu déng héa, mat pham phan aig cua Xilin gém o6 cée dong CPLD : CoolRunner, céc ho FPGA nhu Spartans, Virtex... ”a cdc Tinh vue khdc, Cac san Xilinx con cung ep cdc phan mém hé trg lap trinh FPGA, CPLD nhu ISE, EDK, LogicCore, System Generator. Cac cong cu nay hé tro rat nhiéu cho qua trinh 1p trinh FPGA, gitip giam théi gian va cng site thiét ké. Cac phién bin phan mém trén duge nang cép thudng xuyén. (Hign gid da c6 phién ban 10.1 cho cdc tmg dung). ISE9.2 La cong cu xay dung va lap trinh FPGA. ISE 9.2 thye sw 1a mot moi trang tng hop va thye thi toan dign cho céc chip kha trinh cia Xilinx. V6i ISE9.2, nguoi thiét ké'c6 thé lap tinh, g6 réi, m6 phong, dich va nap chuong trinh, mit céch nhanh chéng va dé dang. Nguoi thiét ké cing 6 thé thist ke’ hé théng cua minh theo nhiéu cach khdc nhau : vi ma vhd, véi so dé RTL, hoae v6i so d6 trang thai (state machine) LogicCore 9.2 LogicCore 9.2 1a thu vign ciia ISE 9.2, trong dé chtta cdc ma nguén cho céc Khdi logic e6 thé duge str dung cho vige xay dyng nhiing hé théng khéc nhau. ‘V6i Logic Core, ngudi thiét ké cé thé gidm di rat nhiéu céng sttc thiét ke, bo qua viée xay dyng nhimg thanh phan da cé sin va tap trung vao viée xay dung hé thong, déng thoi cing tdi uu héa cdc thiét ke cia minh. “9 EDK 92 La cong cu dé xay dung hé théing c6 cdc vi xir ly nhting trong FPGA nh MicroBlaze (cho tat ca cdc ho FPGA ) va Power PC ( chi cho ho Virtex). EDK 9.2 khéng chi gitip tao ra céc vi xit ly ning ma con hé trg thiét k& cae ngoai vi, giao dign cho chting, voi mét thu vién ngoai vi dé s6, cho phép vi xir ly thre thi bat cir m6t nhigm vu nao ma céc vi xtr ly théng thudng cé thé thuc hién dugc : nhu giao tiép UART, Ethernet, cdc b6 nhé RAM, ROM, cdc Y/O,...Cée thiét ké vi xit IY nhuing cing duge tdi wu héa. Ngodi ra EDK cing cd céng cy mé phéng rat manh. System Generator 9.2 System Generator (sysgen)la céng cu phat trign hé théng cho FPGA, cho phép thiét ké’hé thong & dang céc khdi, va hé tro mé phong, debug, tao code dé nap vao FPGA hoic két hop vao nhiing ting dung lén hon. Sysgen duge xay dung nhu mét Block Set ciia Simulink trong Matlab. Do 6, sysgen thita hudng tat cd cdc uu diém cia Simulink trong vige xay dung, hé théng va mé phéng. Sysgen con sir dung thu vién cla Logic Core dé xay dung céc block cia minh. Trong thu vign cita Sysgen cé tat ci céc khéi thye hign céc chite nang tir co ban nhu cOng, trix, nhan, céc kh6i logic,..cho dén nhiing thiét ké phitc tap hon nhu céc DSPs, bé loc 6, nhan chap, UART..., ce 'b6 nhé tich hop: Single Port, DualPort Ram, FIFOs, cac thanh ghi... Sysgen cdn cho phép ngudi thiét ké tao ra cac khdi dé thuc hién nhiimg nhigm vu riéng bing khdi Black Box, tai day ngudi thiét ké'sé tao ra cc entity va cai ma cia né vio Black Box dé tgo ra cdc thiét ké'riéng cita minh. Nhiing thiat ké’ciia Sysgen e6 thé dugc dich ra nhigu kiéu dir ligu, 06 thé thanh file bit dé nap ngay vao phan ctmg, hodc thanh cdc thiét ké’ dé ghép vao mot hé théng 1én hon.Véi viée két hop véi Mathwork dé xay dung Sysgen, Xilinx da lam cho vie thiét ké/hé thding trén nén FPGA cita minh tro nén thugn tign va don giin hon rat nhiéu d6i voi ngudi lm ki thuat. Trong, 46 an nay, ching em da sir dung Sysgen dé xay dung toan b6 phan thugt toan xir ly nh s6 cho thiét ké' cia minh. 50 www.ngohaibacnet Phan 3 : Xay dung hé théng xir li anh dng trén nén FPGA Yeu cau hé théing Trong phén nay, ching em trinh bay chi tiét viée thu thi hé théng cam. biéh thi gidc trén nén FPGA. Dé ligu anh thu duge la cia mdt tap hyp cdc déi tugng tach roi nhau trén nén tréng. Nhiém vy ciia hé théng la thu thap anh. va xtr ly bang cdc thudt toan xir ly da néu, nhim loai bé nhiéu, tach cic déi ‘twong ra khéi nén, gén nhan cho déi tugng, déng thdi xéc dinh céc dic trang co ban clia déi tugng cho qué trinh xtr ly cao hon hoe cho viée diéu khién tay may thao tac véi déi trong. Déng thoi, hé thng cing cb nhiém vy giao tip véi bo xir ly trung tam ( méy tinh PC ) dé truyén théng tin duge «tr ly ( so di tugng, kich thude, vi tri, ..cta ddi trong ) va nhan tin higu diéu khién, trong khi diéu khién giao tigp VGA dé hién thi hinh anh. Hinh 3.1: Mot anh can duge xt ly. 3.1. So dé cau tritc hé théng xir li anh dong s1 Hinh 3.2: So dé chung cia hé théng Trén day Ia so d6 cétu tric cia hé thong xtr ly anh sé Hé théing gdm c6 3 phan chinh sau: 52 www.ngohaibacnet ‘© Khéi thu thép di ligu tir Camera va ghi vio SDRAM: dit ligu tir video decoder duge xir ly Khéi Framegrabber chi lay di ligu luminance va ghi vao FIFO, sau dé duge ghi vao SDRAM. Chip Video decoder duge kich hoat nhd tin higu diéu khién qua chudn I2C trén PC qua cOng Parallel Port (LPT). ‘© Khéi xir ly anh: doc dit ligu tir SDRAM vao FIFO, xir ly va sau dé lai ghi vao FIFO va ghi vao SDRAM qua dual port, SDRAM Controller. Chon thuat todn va kich hoat ting module xtr ly timg thugt toan dé dugc kich hoat tir bén ngoai qua cdc nut bam (button) va cdc khéa chuyén (switch). + Khéi hién thj anh lén VGA: hién thj céc pixel cia anh trong SDRAM Ién man hinh may tinh CRT, 3.2. Xay dung hé théng thu th4p, lwu trit, xir ly va hién thi anh 3.2.1, Thanh phan thu th4p anh Framegrabber Nhiém vu: nhiém vu co ban cia khdi Framegrabber 1a déng b6 véi chip Video Decoder dé dgc cdc pixel va ghi vao FIFO. Phén tich cdch thuc thi Framegrabber ding mot Finite State Machine d@ giai ma va chét thanh phan luminance (chi lay cdc thanh phan 46 xm grayscale) ttr pixel stream cua ITU-R BT.656 4:2:2 ( dinh dang xuat ra mac dinh cua video decoder). Pixel stream dugc dinh dang nhu sau: paces Ents ome Past e Poe Hinh 3.3: Pixel stream waveform Diu tién Ia céc byte dénh dau bat déu mot frame (FF-00-00), tiép theo la byte déng b6 (embedded sync byte) ES. Theo sau la 1440 byte gdm: 720 gia tri luminance (¥), 360 gid tri blue chromiance (Cb) va 360 gid tri red chrominace (Cx) theo nhém cit mét Cb va Cr thi cé 2 gid tri Y: GY.CY, 53 wewwngohaibac.net So dé céiu tric ci1a State machine nhu hinh vé dudi day: piven <= field change 8 let id & "000000" & luminance? nn 0 ‘Check embecied syne and we se piel fo FIFO (tet and fd. change) Hinh 3.4: Framegrabber state machine ‘Tir hinh vé ta thay 3 trang thai dau: wait_for_embedded_syne, wait_embedded_sync_1, wait_embedded_sync_2 ding dé kiém tra 3 byte anh dau dau tién (FF-00-00). Tai trang thai check_embedded_sync kiém tra cac tin higu déng bo gém cd field id, field change va ghi byte déng b6 vao FIFO dé phuc vu cho vige ghi dé ligu vao FIFO va hién thi VGA. Néu cé tin hiéu image_processing_start d& Khdi dong khdi nay thi tip tuc chuyéh sang cdc trang thai tigp theo dé nhan di ligu va ghi vio FIFO, con khéng thi quay lai trang thai ban dau d@ kiém tra cde byte danh dau cita frame méi. Sau khi d3 ddng bd xong thi lign tue thuc hin céc trang théi gtab_chromar va grab_luminance2. Dit ligu lumincance duge lay 6 trang thai grab_luminance2. Qué trinh nhan dit ligu két thiic (tin hiéu done) xay ra khi trong cdc trang thai nay nhan duge byte c6 gid tri OxFF. 54 wewwngohaibac.net Dit ligu ghi vao FIFO bao gdm 16 bit c6 2 bit dau tién la cdc bit déng bd: field_id va field_change, theo sau Ia cac bit 0 va byte luminance: Pixel_in <= field_change & field_id & “000000” & luminance(7 downto 0) 3.2.2, Luu dit ligu tir Framegrabber vio SDRAM Khdi lu dir ligu nay thyc hign rat don gian véi State machine véi 2 trang, thai: # Wait for pixel: chi khi nao 6 pixel tir bd dém ghi Write Buffer, khi dé chuyén sang trang thai ghi pixel. # Store pixel: Ghi pixel vao SDRAM qua SDRAM Controller 3.2.3. Cac co ché ghi doc SDRAM: SDRAM Controller, Dual Port SDRAM SDRAM Controller Diic diém: XSA Board synchronous DRAM (SDRAM) controller core chap nhan cac yéu cau doc va ghi don gian tir phia host-side va tao ra cic dang séng (timed waveform) cén thiét dé thuc hign céc hoat déng read, write voi SDRAM. Véi ché 46 doc, ghi kigu pipeline thi véi mot hang ciia SDRAM cé thé khéng céin phai ch6t sau mdi chu ki doc, vi thé’ tée dé doc va ghi od thé gp 10 lin so véi cach doc kh6ng pipeline timg pixel trong SDRAM 6 céc dia chi khéng lign nhau. BO diéu khién cing dim nhiém thuc hign refresh SDRAM dé git cho cdc dir liéu khéng bi sai, va sé dt SDRAM vao ché d6 ty lam tuoi (self-refresh) nén dur ligu van duge git lai tham chi khi bé diéu Khién khng hoat dong. 55 sweww.ngohaibac.net Trong 46 an nay, ching em ding read, write véi ché 46 pipeline. 2 1 2 & ee A gf Addr {At X_#2 X43) sData \ roOut {BAH {BAZ X BUS) redconmaniseosonant ig SORAMbagn read operation / data fom SORA oviabe Hinh 35 : Pipelined Read Operation timing waveforms Pipeline Read Operation Trén day la dang séng cho hoat déng doc kiéu pipeline. Hoat dong doc & ché d@ pipeline duge thue hién bing cach git cho tin hiéu rd lén cao trong ghi lién tuc cung cp dia chi cén doc méi khi ma tin higu earlyOpBegun ho&c opBegun lén cao bao higu hoat déng doc trudc da bat dau. Vi du trén mé ta 3 oat dong doc truy nh§p cdc ving nhé SDRAM tai bank va hang cua SDRAM dang dugc active. Néu viéc doc thyc hign bank hoac hang khdc cia SDRAM thi SDRAM Controller sé hoan thanh qué trinh doc hién tai va active bank va row mdi truéc khi tin hiéu earlyOpBegun va opBegun lén cao. Pipeline Write Operation 56 earlyOpBegun opBegun shar CA YR) sata Cory os) done wie commard senttosonan ff SDRAM begins fist ie aeration first SDRAM waite operation completes Hinh 3.6: Pipelined Write Operation timing waveforms Hoat déng ghi 6 ché’ a6 pipeline duge thyc hién bing cach giir cho tin higu wr lén cao trong Khi dé thi lién tuc cung céip dia chi méi méi khi tin hiéu earlyOpBegun hay opBegun lén cao bao hiéu ring qua trinh ghi trude dé da bat diéu khién XESS SDRAM Controller va chia thinh hai phan host-side riéng bigt, mdi phan c6 thé hoat dng nhu cdc céng cia host-side ban dau do dé tig dung c6 thé gm nhiéu thanh phan truy nhap SDRAM nhung chi ding 1 b6 diéu khién SDRAM Controller. Bat ki tng dung nao thuc hién viée ghi doc bO nhé SDRAM déu déc lap voi hoat dong dé 6 cdc post khdc. Bang thong t6ng cing cua SDRAM cé thé duge phan phii gitta 2 port dé cho khép véi data rate cia cic img dung ding dual port. Dualport module c6 thé xay dung kiéu ting dé xay dung giao dién SDRAM véi 3 hay nhiéu céng ddc lap. 58 nciltor SORT Hinh 38: Ghép néi dualport voi SDRAM Controller | evalpor _ L| am dualpot saramcrt 4 —| valpor — Hinh 3.9: Xay dung 4 ports SDRAM interface Phan phéi bang thing SDRAM cho céc port cla mot dualport duge thye hign qua tham s6 PORT_TIME_SLOTS, la m6t vector 16 bit v6i méi bit tuong ting véi mot time slot trong khi mét hoat ddng doc hose ghi cia SDRAM cd 59 sweww.ngohaibac.net thé xay ra, Thiét lap bit bang 0 dé cau hinh time slot cho port0, va thiét lap bing 1 dé danh time slot cho port 1. Sau day la. m6t s6'cdch thidt lap: PORT_TIME_SLOTS => “1111000011110000" 4p dung 8 time slot cho méi port, v6i mdi port 6 4 Ién truy cp lién nhau vao SDRAM truse khi dual port chuyén diéu khién cho port kia. Vi thé; mdi port duge phan phdi mot nita bing thong cita dual port. ‘Tham s6 PORT_TIME_SLOTS chi c6 tic dng t6i hoat dong cia dualport module khi céc ting dung trén ca 2 port cing o6 ging truy nhap vao SDRAM. Ung dung & mét port sé tray nhap truc tiép vao SDRAM néu khéng cé hoat dong ghi va doc dang tign hanh 6 port kia. Vi thé PORT_TIME SLOTS = “1111111111111111” sé cho phép port 0 truy nhap SDRAM chi khi port 1 khong truy cap, nhung khéng ng’n hoin toan port 0 trong vide truy cép SDRAM. PORT_TIME_SLOTS = “1111111100000000" cau hinh mét nixa bang thong cho méi port tuy nhién cé thé block truy cp cia mot port lén téi 8 time slot trong khi port kia duge uu tién hon, Bé giam 8 chi cin gan PORT_TIME_SLOTS = “0101010101010101” tuy nhién sé lang phi théi gian béi vi SDRAM Controller phai x6a pipeline true méi qué trinh chuyén port Vi thé, nhém céc bit lign nhau cling mét gid tri la gidi phap tot nhat. 3.2.4, Image Processing core Image Processing core la thanh phan quan trong nhat cia hé théng xtr ly anh, trong dé thyc thi tat ca cdc thudt toan tir co ban( loc, dé bién, phan ngudng...) dén nang cao ( gan nhan d6i tugng, xc dinh cdc dc trung ). Hoat dng cia thanh phan nay duge diéu khién béi b6 xi ly trung tam. Nhu da thay 6 trén, mdi pixel duge thu th4p, xir ly va uu vao SDRAM cé. dang mot word 16bit chia thong tin nhwr sau: 'field_id’ | 'field_change' | "000000" | "luminance" Trong dé, field_id va field_change la nhiing bit théng tin vé frame va pixel, khong duge thay déi trong qué trinh xir ly. Luminance la s6 8 bit biéu 60 seuwangahaibacnet thj mite xdm cia pixel, sé durge xir ly trong céc thudt todn vé sau. Con lai 6 bit cao sau field_change chua duge sir dung dén, sé due ding dé gan nhan di tuong. Vige thiét ké Image Processing Core chit yéu str dung cong cy System Generator. Véi cong cy nay, ngudi thidt ké'eé thé six dung cdc core c6 sin da due cung cap boi Xilinx, giam thidu cdng stic va thdi gian thiét ké, déng thdi van 6 thé ty to ra cac block riéng cho minh six dung céng cy Black Box, va va mé phéng hé thong c6 thé thuc hién hoan toan trén dc biét, vide go ri Matlab, von da rat quen thudc véi sinh vién Digu khigh tu dong. Hinh 3.10: So 46 khdi xirly anh. Khéi xir ly anh giao tip v6i SDRAM théng qua 2 FIFO la read_fifo va store_fifo. ‘*read_fifo c6 nhiém vy doc tuan tyr dit ligu tir SDRAM vao dé khoi xtr ly anh luu vao buffer va xit ly. Vige doc bit dau khi tin higu béo read_fifo Khéng con tréng (read_fifo_empty="0' hay read_fifo_avail-'1') va dimg Khi dgc hét mét frame. Vige doc c6 thé tam dimg khi sp xay ra xung dot qué trinh doc va xir ly. 6 seuwangahaibacnet + store_fifo 06 nhigm vy lay dit ligu da xtr ly ter Khoi xir ly Anh va hu tun tu tr lai vao SDRAM tai vi tri xéc dinh. Caing nhwr read_fifo, viée ghi cua store_fifo diéu khign qué trinh xit ly, khi store_fifo day thi tam dimg viée xir Wy. Cau tric ctia Image Processing Core gém 2 thanh phan : fifo_to_buffer : thye thi viéc giao tiép v6i read_fifo va lu dit ligu vao mot b6 dem. Thuc chat bo dém dir ligu 1A mot Block Ram trong FPGA, o6 kha ning luu dén 27 dong cita frame. Viée lun dif ligu due diéu khié tranh xung d6t véi thanh phan xirly. sao cho Pfaataint sow se FRO In_aval crt piel_out}-— Phycen pst sto_tut read FO} ffo_to_buffer Hinh 3.11 : Kh6i ghi di igu tir read_fifo vio Buffer processing_algorithms : lya chon, thyc thi tat cd cdc thuat toan xir ly anh, tir loc, dd bién, cdc thust todn xtr ly déng cai... cho dén phan ngudng, phan viing va gan nhan déi tugng. Déng théi thanh phan nay cdn thie hién giao tip gitta Image Processing Core trong viée giao tiép vi store_fifo dé dua dit ligu xtr ly ra ngoai. e ProcesEing_ alone Hinh 3:12 : Kh6i thudt toan xiely anh Khii xtr ly nay doc dif ligu tir bo dém theo cing mét phuong php trong tat cd cdc thuat todn xit ly. Didu nay 06 thé gay kéo dai thoi gian xiv ly di voi mot sé it thuat todn, nhung lai gitip tiét kiém rat nhiéu tai nguyén va cong stic thiét ké cfing nhu giam thiéu kha nang gay Ii hoc nham lin trong qua tinh thiét ké. Vigc ghi va doc dir ligu 6 bd dém buffer nhu sau: Ban dau ta doc tuan ty dir ligu vao buffer cho dén khi day 10 dong, ta lai quay nguoc tré lai vi tri ban dau va tiép tuc doc. Déng thdi, cira sé ghi ra dé xir ly duge dich tudn ty cho dén hét 10 dong , réi cting quay nguoc tr lai dong dau tién. Viée ghi va doc duge diéu khién sao cho khéng xay ra su xung, Gt : chi ghi vao nhiing dng da xtr ly va chi doc khi da ghi dit s6 ddng can thiet cry. Vige doc va ghi nhur trén cho phép sit dung mot cach higu qua so block ram hitu han cia FPGA, trénh hoan toan kha nang xung dot doc/ghi, déng thdi loai gitp cho vige doc va ghi tro nén tuong di dc l4p voi nhau, gidm thigu sai s6t trong qua trinh xtrly. Vige doc va ghi cing duge diéu khién béi tin higu béo tir read_fifo va store_fifo: dimg ghi khi read_fifo tréng (read_fifo_avail=0) va dimg xit ly khi store_fifo day (store_fifo_full = 1), 6 Cac khéi xtr ly co ban Khéi doc dit ligu : cde cita s8 duge doc ra tir bG dém, dé dua vio mot thanh ghi dich 9 word. Vige doc duge thyc hién tua ty tir trén xudng theo tig cét tir tréi sang, dit ligu doc ra duge dich dan vao thanh ghi dich. plow addr_ro}— y_cen}-— Dyrst eot}— fen_processing }— Dy} FIFO_out ful Raia oe read_win 33 Hinh 3.13: Khéi dge dit ligu tir buffer Khi chuyén sang ctra 56 ké'tiép, do 2 cita s6 ké nhau cé chung 6 word nén dé tiét kiém thdi gian, ta sé khéng doc lai tir déu 6 word ci ma sir dung lai chung véi su trg gitip cla thanh ghi dich. Do dé ta sé chi viée doc tiép 3 pixel 6 c6t tiép theo. Tin hiéu full_win bao higu mot cva s6 vira duge doc xong, cin dua vao qué trinh xir ly. Thanh ghi dich Pixel register : Thanh ghi nay c6 nhigm vu ghi dn céc pixel dgc tir buffer do khdi doc dit ligu diéu Khién. Cac pixel duige dich dan trong qua trinh xir ly, do 46, eit méi 3 chu ki xir ly, trong thanh ghi lai liu mot cia sé méi. Hinh 3.14: So dé khoi thanh ghi dich Pixel register 64 soewangahaibacnet Cé thé thay, véi thanh ghi dich nay, ta c6 thé tan dung tdi da kha nang xtr Iy song song cua FPGA cho céc thuat toan xtt ly anh 36 Khéi xir ly : Khéi xir ly bao gém nhiéu thuat toan xir ly khéc nhau. Tuy mhién, céiu tric ciia cde thudt todn 1a tuong déi gidng nhau va ta c6 thé tan. dung m6t co ché' doc duy nhat dé disng chung cho tat ca céc thuat ton. Cau trite b6 loc tuyéh tinh, dd bién : BO loc tuyéh tinh va dd bién theo phuong phép Laplacien cing sit dung phép nhan chap voi 2 mat na khée nhau, Do dé ta ¢6 thé ghép chung lai thinh mot khdi, Phép nhan chap c6 thé duge thy hign rat nhanh chéng str dung cau tric song song, Dudi day la cai tric b9 nhan chap trong céc b xir ly nay Hinh 3.15 : Cu trie nhan chap B6 xtr ly dng cat anh nhj phan : Khdi nay chit yéu tinh ra gid tri maxmin cia céc pixel trong cita sé, do dé str dung céc block so sdnh. Cau tric nhu sau: 6s Oorrk-] fe rm Dre J > meh "| comp comet a ofes eo} ofS] Qh) bg car Crh eof rf of] comet cone “she fre = .* or ao oS Dope al se lols me] oS oe) — P}n2 on] P}r2 wa On 2 “So > nb > Sp =| com ws Hinh 3.16: Céu tric bé xir If déng clu anh nbj phan. Khdi tinh ngudng va phan ngudng : Ngudng duge tinh theo phuong phap trung binh. Téng mite xdm cla cdc pixel sé durge cng dan vao mét thanh ghi ‘va thuc hién phép chia bang cach dich bit. Két hop nhiéu khéi dich bit voi nhau cho phép ta thuc hign phép chia véi sai sé cla ngudng nhé hon 3 va thu3t toan chi cn thyc hign trong 1 chu ki xung. Khéi dém déi tugng: Khéi dém déi tung cing tan dung kha ning xir ly song song cia FPGA dé thye hign dém di trong. Véi khdi nay, vige gan nhan cho mdi pixel dya trén nhan cita céc pixel lan cin chi cin thc hign trong 1 chu ki déng hé. Hinh 3.17 : Khéi gan nhan déi tong, Dau vao khéi gan nhan d6i tuong 1a 9 pixel ciia ciza s6 hin tai, v6i pixel 5 1a trung tim, can duge xem xét dé gan nhan. Vige gin nhan cho pixel trung, tam thyc hién nhu thuét toan da trinh bay 6 phan 1. 3.2.5. Hién thj anh lén VGA: VGA Generator VGA Color gnals Cé 3 tin higu color 1a: red, green va blue giti tin higu mau sic (color information) dén man hinh VGA. Méi m6t tin higu diéu khién mét sang bin. dign tir (electron gun) dé phéng céc hat electron vé lén mot mau co ban tai m6t diém trén man hinh. Dai cua tin higu ndm tir tir V (tuong ting véi mau t6i hoan toan) va 0.7V (sang hoan toan) diéu khign cudng 46 cla méi thanh phan mau va 3 thanh phan mau két hop véi nhau tao lén mau cia diém anh (dot) hay phan tit anh (pixel) trén man hinh, es ree orzo! Syre vera oxo Hinh 3.19: VGA Connection 67 wawwngohaibac sue ‘MGi tin higu mau analog c6 thé la m6t trong 8 mite bang 3 tin hiéu digital bing cach ding b6 chuyén di digital to analog 3 bit (DAC 3 bit). Do dé, 8 mie trén méi tin higu analog két hgp véi nhau tao nén phan tir anh (pixel) v6i 8 x 8x 8 = 512 mau khdc nhau. Tuy nhién trong dé én nay, ching em chi ding camera den trang nén hién thi trén man hinh chi duge 8 mau khéc nhau hay 8 mite théi. VGA Signal Timing Méi mét anh (hay frame) trén man hinh hién thi 1a két hop cia h dong, mdi dong cé w pixel. Kich thudc ciia moi frame duge biéu dién w xh dudi cdc dang tiéu biéu g6m 640 x 480m 800 x 600, 1024 x 768 va 1280 x 1024. Hinh 3.21: CRT Display Timing Example 6s sow ngohailac tae Dé vé mot frame, c6 nhiing mach dign c6 tréch nhigm di chuyén dong electron tir tréi sang phai va tir trén xudng duéi doc theo man hinh goi a deflection circuit. Nhiing mach nay yéu céu phai o6 2 tin higu dong bo dé Khoi dong va ding dong electron tai ding thdi diém dé cho mot dong cde diém anh duge vé doc theo man hinh va méi dong duge dién theo co ché tir trén xuding dui dé tgo lén mot anh. Sau day la vi du VGA Display Timing véi ché' a 640 x 480: Vertical Syne Henzonta Syne Symbol | Parameter Time | Clocks | Lines | Time | Clocks Ty [Secpuwtine | 167 me | aisaw | su | tm | ew Tose [Deplaytine | 1536ms | 364000 | a8” | Bem | cao Tow | alse with Ge [10 | 2 | sem | 96 Tr _[Fontponh | 20m | m0 | 10 | GWm | 16 es 5 | ean | 2 | im |e \ Ts ' Teta the 3 Hinh 3.22: 640 x 480 Mode VGA Control Timing Nguyén tic hoat dong cia VGA Generator So dé cau tric cua b6 hign thi hinh anh lén VGA nhu trén hinh vé duéi. Hé théng bén ngoai ghi gid tri pixel vao trong b6 dém pixel (pixel buffer) (trong trudng hop nay 1a FIFO 256 x 16). Céc pixel durgc lay tir bd dém ri ghi vio trong thanh ghi pixel (pixel register). Mdi pixel cso thé 1a 1, 2, 4, 8 hoc 16 bit vi thé nén ndi dung cua thanh ghi pixel nay dugc dich sau méi xung clock dé thay thé’ pixel hién tai theo thir tw cdc bit c6 trong s6 thap dén cao. Cac bit nay duge giri dén colormap circuit dé chuyén céc pixel nay sang cdc gid tri red, green va blue réi giti dén b6 DAC video bén ngoai. Hai mach tao xung déng b6 (pulse generation circuit) duge ding dé tao cdc xung déng b6 ding va nam ngang (horizontal va vertical). BO hirizontal 6 www.ngohaibacnet syne generator 06 dau ra la tin higu gate mot chu ki tring khép v6i sudn én. cua xung déng bd ngang (horizontal sync pulse), tin higu gate nay ndi voi tin higu clock-enable cia b6 vertical sync generator vi thé’ nén clock-enable chi cap nhat bd dém thoi gian sau mdi dong pixel (line of pixels). Tin higu gate cla vertical syne generator dugc ding nhu tin higu bao két thiic mot frame cho cdc khdi dit ligu pixel bén ngoai, déng thoi né cling reset va xda toan b6 ndi dung cua pixel buffer nén bd VGA generator luén khoi déng tir trang thai xda sach hoan toan véi moi frame. B@ tao tin hiéu déng bé cing tao ra cdc tin hiéu horizontal va vertical blanking. Khi ding phép todn OR logic ta duoc tin hiéu blanking toan cuc. Cac tin higu blanking duge két hop véi cic bit 06 trong s6'thap hon 6 b6 dé horizontal pixel counter dé xc dinh khi nao doc pixel tir bé dém. Vi dy, néu méi pixel cé 46 réng 16 bit, thi mét tir 16 bit sé can duge doc sau mdi chu ki clock. Vi thé nén hoat déng doc duge khéi tao bat ctr khi nao tin higu video khéng trong va 2 bit thp cia b6 dém pixel déu bang 0. | ome eat sear Ef aaa “ a >= aot oe | H ! Hinh 3.23 : So 46 Khdi cu tric ciia VGA Generator 0 sem nagohiaibac tae Tin higu full signal duge giti ra ngudn dit ligu pixel bén ngoai dé béo cho biét khi nao thi ding vie dién dit ligu vio b6 dém. Véi bo dém FIFO 256, tin higu full Ién cao khi 5 bit cao cia tin higu FIFO level bang 11111. Khién cho ba trong 7 bit trong FIFO 6 dign cdc pixel Khi céc ngudn dit ligu bén ngoai a ch6t giti dir ligu vao trong pipe. Day goi la co ché'bé dém an toan, 3.2.6. Picoblaze va hé théng diéu khién trung tam 3.2.6.1. Khai quat PicoBlaze Vi digu khiéh PicoBlaze la vi diéu khién nhiing 8 bit c6 cfu triic RISC duuge ti wu phat trign cho céc ho FPGA nhu Spartan 3, Virtex II va Virtex Il Pro cua Xilinx. Véi vi digu khign nay chuing ta c6 thé lam mot bd diéu Khign da trén nén vi diéu khién rat higu qua, hay xitly dit ligu don gian. Vi digu khién PicoBlaze dugc t6i uu vé mat higu suat va chi phi phat trién thaip. Né chiém khoang 96 FPGA slices, hay chi 12.5% clia XC3$50 FPGA va chiém mét phan rat nhé 6 mite 0.3% ciia XC3S5000 FPGA. Binh thudng mdi block RAM ciia FPGA cé thé luru trit t6i 1024 cau lénh chong trinh (program instructions) va céc Iénh nay dugc tu dng load trong khi céiu hin FPGA, khi 6 vi diéu khign PicoBlaze cé thé hoat déng tir 44000 t6i 100000 cau Iénh trén jay (MIPS — million instructions per second) tity thuge vio ho FPGA duge diing a logi gi va toc dé ciia ho a6. Nhan ciia vi diéu khién PicoBlaze duge nhiing hoan toan trong FPGA va Khéng cn mot nguén thém nao. Don gian la céc ngoai vi cia PicoBlaze o6 thé tu do Iya chon cho phit hgp véi cae muc dich dic bigt, chite nang va yéu cau vvé gid ca cia san pham cudi cing, PicoBlaze duge nhiing vao dudi dang mot ma nguén VHDL vi thé'né cé thé nhting vao cdc doi FPGA sau nay va do dé project cia chting ta s@ c6 tinh ké thira cao. Duge nhting trong FPGA, vi diéu khién PicoBlaze sé giam kich thuée mach, gid thiét ké va thyc hién. PicoBlaze FPC dugc hé try bai mdt sé’ cc cong cu phat trién phit hop bao g6m assembler va méi tru’ng phat trién dé hoa tich hop (IDE — integrated development environment), graphical instruction set simulator va ma nguén na sweww.ngohaibac.net VHDL va khéi mé phéng. Va rat don gian Ia vi diéu khién PicoBlaze durgc hd ‘tro trong moi trudng phét trién Xilinx System Generator hay ISE. i|[z or Bollers ren D -[Port0 trameton eb ai muse 7) GET AEER | satioutnn 2 3 oper) | ie = Decoder [ime WWTERRUPT > 6 > Te Bye-Wice Repates + ewe es ‘operand? Lay ‘on states] Ln opatnd? Hinh 3.24 : So 46 kh6i cu tric cia PicoBlaze Vi diéu khién PicoBlaze c6 cic dae diém sau: © 16 thanh ghi dit ligu chtte nang chung cé dé réng 8 bit. ‘© Luu trit duge 1K lénh trong chuong trinh cé thé lap trinh duge trong, chip va ty déng nap khi caiu hinh FPGA hay khi khdi déng FPGA. ‘* Khéi tinh toan logic (Arithmetic Logic Unit — ALU) véi cdc cs CARRY va ZERO, ‘+ MOt bing RAM 64 byte. '* 256 dau vio va 256 dau ra dé dang cé thé mé rong thém. ‘* Automatic 31 location CALL/RETURN stack. Predictable performance, ludn ludn diing 2 xung nhip hé théng cho mot cu lénh, c6 thé dat tdi 200 MHz hoac 100 MIPS trong Virtex - II Pro FPGA. ‘+ Dap ting ngat nhanh; worst-case 5 clock cycles. ‘* Duge t6i wa cho caiu truc Spartan ~ 3, Virtex Il, va Virtex II Pro FPGA cia Xilinx chi chiém 96 slices va 0.5 t6i 1 block RAM. ‘+ HG tro mé phong tép lénh assembler. Vi diéu khign PicoBlaze duoc cung céip dudi file nguén VHDL goi 1 KCPSM3.vhd, da duge téi uu vé viée thye thi higu qua va chic chin trong cdc ho Spartan-3, Virtex-II hay Vertex-II Pro. Cac ma nguén phir hop véi ca qua trinh téng hop va mé phéng va duoc phat trién va kiém tra dimg céng cu n seuwangahaibacnet Xilinx Synthesizs Tool (XST) cho téng hgp logic va ModelSim cho mé phéong. (Céc nha thiét ké’ cing thanh cOng khi ding céc cong cu téng hop logic va mo phéng khac. Cée ma nguén VHDL khong nén bi chinh sita trong bat ki hoan canh nao. KCPSM3 Module Module KCPSM3 bao gém ALU, register file, scratchpad RAM, ... Chi duy nhat chtic nang khéng nim trong KCPSM3 14 bo nhé chuong trinh. Khai béo component va gan chan nhu sau: ‘component KCPSHS port ( + out std_iogic_vector| 9 downto 0); : 4m std_logic_vector(17 downto 0); + out std logic_vector( 7 dowate 0); : out std_logic: 2 out std logic vector| 7 downto 0) out stdlogic: in_port im std_iogic_vector( 7 downto 0) interrupt: An std_logic: interrupt_ack : out std_togic: reset + im std_logic; elk : 4m std_logic > end component ; processor: Ropand port map( address instructio! port_id address_signal, => out_port_signal read_strobe_signal, in_port_signal. pt_signal, ‘upt_ack_signal, jet_signal, reset clk => clk_signal Két néi voi bé nhé ROM chwong trinh B www.ngohaibacnet Bo nhé ROM chuong trinh cia PicoBlaze duge ding trong thiét ké VHDL. Tit file assembler tao ra file VHDL, da dinh nghia block RAM va khoi tao ndi dung cho RAM. File VHDL nay 06 thé duge dimg cho ca téng hop logic va m6 phéng vi digu khign. Sau day 1a khai b4o component va gan cic thye thé ctia bO nhé chuong trinh trong FPGA: Do 46, so dé calu tric ca vi diéu khién PicoBlaze nhw sau: Kopsms jn porti70) out poatiz}|— Instruction ROM —intenauer PORT 1017.0] | — fe RESET rReao_stRoBe|— we oumi70) wstaucToni7o) ——_wniTe_sTRoBE | — Foor: . inreRRuPr ack | — 4 ADDRESSIa.] Hinh 3.25: So d6 edu trate PicoBlaze Microcontroller Dé viet ma Iénh cho chuong trinh (véi tén mé rng 1a .psm) thi chiing ta 6 thé ding bat cit trinh soan tho nao dé lap trinh dua theo 31 lénh duge ccung céip. Va diung file thyc thi KCPSM3.exe va céc form duge dink nghia sin " cua ROM dusi dang file hd, .coe, .v 48 dich ra cédc file .vhd, .v va cho vao chuong trinh FPGA. Dé phéi hop hoat dng cia tat ca céc thanh phan trén, dim bao hé théng hoat dng chinh xac, ta phai cé mt hé thong diéu khién trung tam. Trong 43 4n nay, chiing em sit dung mOt vi xtr ly nhiing 06 tén la PicoBlaze dé diéu high hoat dng cia cac khéi xir ly trong FPGA, déng thai giao tiép véi may tinh théng qua cng RS232 va khdi diéu khign giao tiép RS232 : UART Controller. 3.2.6.2. So dé cu tric cia khéi xir ly trung tim So dé cau trac cia khéi xtt ly ding PicoBlaze: DART RR >| Receive: / \Component A TAR Ixy] Transmit Component. V Bor Done signals: Picobilaze Microcontroller Hinh 3.26: So 46 khdi diéu khién trung tam va giao tiép UART Ngoai vi diéu khién PicoBlaze, cé sir dung thém 2 component 1a UART Receive va UART Transmit. Hai component duge cung cap mién phi boi Xilinx, bao gdm b6 dém va céc tin higu trang thai dé giao tip véi cng RS232. Vi diéu khign PicoBlaze cé nhiém vy nh§n lénh diéu khign tir chuong trinh trén PC va ra ede lénh diéu khién dé capture anh tir camera va cdc tin higu Iya chon thuat todn va kich hoat khéi xtr ly frame anh da huu trong, SDRAM, déng thdi nhan tin higu done va bao vé giao dién dé biét thuat toan da xtrly xong. Thuét todn ciia chuong trinh 5 www.ngohaibacnet Chuong trinh chinh Iuén Tuén nhgn cdc ki ty tir giao dign ngudi ding va kiém tra xem giti lénh v6i cti phap gi. Vi dy: lénh bat dau bang chit cai ‘C’ ding dé capture anh, bit dau bang chit c4i M dé chon thuat todn xir ly nhw M1 dé loc nhiéu, M2 dé phan vimng, ... va ra céc tin higu diéu khién tuong ting vao cac chan Algorithm Selection cua khéi xit ly anh. Khoi xir ly ngét s8 dugc kich hoat khi cé tin higu done tir bo xir ly anh va Khi dé x6a tin higu kich hoat kh6i xir ly anh va giti messenger lén PC. 3.3. Thiét ké giao dign diéu khién hé thong Giao dién cita chuong trinh duge xay dung trén nén GUI (Graphic User Interface) cia Matlab R2007a. Giao dign cua chuong trinh diéu khién nhu hinh vé dudi. Giao dign nay 6 thé thay déi tai thoi diém bao vé. Hinh 3.27: Giao dign diéu khién 76 Chite nang Chon théng s6 cua céing RS232 dé thiét lap giao tigp RS232 véi mach phan etmg bén dui. Mac dinh chon céng COMI, téc dé 115200. Cé thé Iya chon két néi hode ngat két ndi v6i RS232, c6 hOp thoai hign thi trang thai cia giao tip RS232. Kich hoat chip Video Decoder trén mach phan ciing qua nuit I2C dé giao tigp 12C véi chip qua cng LPT. Mac dinh chon cng LPTI, ¢é thé phat trién thém dé lya chon céc cng LPT khéc nia. Cho phép download truc tiép file cau hinh cho FPGA hoje Flash qua céng LPT, nhi céc mit bam & phan LPT FPGA Programming. Cho phép Iua chon thuét todn thyc hién va c6 led hiéin thi s6 thir tyr thuat todn tuong tig. Do chua 6 tén cu thé cia tig thugt todn cu thé nén méi chi dt tén 8 thugt toan 1, thuat todn 2, ... Mdi khi két thiic thuat toan déu c¢ bite ign théng bao da thuc hign thanh cng, Cho phép kich hoat dé capture anh tir camera va ty hign Jén man hinh VGA. Dang phat trién dé thyc hign Iya chon gitia capture mt anh va chup ign tuc khoaing 30 hinh/s. 3.4. Mé phéng va két qua Phuong an mé phong ‘Yeu cu cia bai toan mo phéng: thyc hign t6t cdc thugt todn xir ly anh aé dim svat trén mot frame, va dinh vi timg vat. Phuong an m6 phong 6 day duge thyc hin nhw sau: ding camera chiét vo mét téim bang mot mau (den) cé cdc vat c6 kich thude khdc nhau. Khi 46, ding chuong trinh giao tiép trén PC dé didu khién camera capture mét anh 16 nét, sau dé tién hanh thuc hign timg thuét todn theo trinh ty nhét dinh va xéc dinh s6 vat. Timg két qua chay méi thudt ton déu high thi truc tiép trén man hinh VGA. ” sewwangohaibacnet Trinh ty thye hign nhw sau: © Thuét todn 1: Loc anh bang phép Igc Gausse, déng thdi tinh ngudng trung binh + Thudt todn 2: Phan ngudng anh theo thudt ton phan ngudng, sir dung nguéng vita tinh. © Thudt togn 3: Lam manh. ‘* Thudt todn 4 : Lam day, khdi phuc anh. ‘© Thuét toan 5 : Thyc hign gan nhan déi tuong, hién thi s6'd6i tung trong frame. ‘+ Thuat todn 6 : Tinh ton céc dac tinh cua lan lugt ting déi tuong, déng thai hign d6i tugng dé lén,, hién thi cdc dc tinh cua d6i tugng cain xéc dinh ra giao dign, Hoan than lugt md phong. Két qua Két qua mo phong cho thay vige thye thi céc thudt todn va thiét ke he thing thuc hign ding nhu mong mun. Vie phan ving va dénh nhan anh thanh cng. Tuy nhién, néu anh cé nhiing nhiéu tuong di Ién ( do day khoang hon 3 pixel ) thi cén nhiéu qua trinh Lim manh lién tiép mdi xéa bo hoan toan duge nhiéu. 8 sweww.ngohaibac.net Két luan. Trong cdc giai phap phén cig cho viée xay dung hé théng thi gidc may tinh, c6 thé thay FPGA 1a mdt trong nhimng gidi php phi hop nhat. Véi FPGA, chiing ta c6 thé thiét ké/hé théing theo tig khdi hoat dng song song, cho phép ting t6c d9 xtt ly Ién nhiéu lén so véi xir ly tudn tye. Digu nay 1a rat quan trong déi voi nhiing hé théng ddi hdi t6e 46 xt ly nhanh, ching han nhu nhiing cénh tay robot gap dé vat dang chuyén déng nhanh, Trong dé dn nay, chiing em da thuc thi thinh céng mét hé thding thi gide may v6i nhiém vy 1a tach cée déi tugng trong mot anh, gan nhan va xdc dinh cae dc trung hinh hoc cia d6i tung. Véi kha nang xit ly nhu vay, chiing em nn thay hoan toan cé thé mé réng dé tai ra giai quyét céc bai todn xtr ly nang cao nh: ‘+ Nh§n dang : diva trén céc dc trung hinh hoc cita déi turgng, ta con 6 thé nhan dang déi tugng, phuc vu cho bai todn nhan dang dé vat hoge chit cai va s6 vé sau. Vie nh§n dang cé thé bing mang neural xay dung truc tiép trén FPGA, bing céch tao ra céc neural nhu cdc don vi xit ly két néi véinhau. * Xac dinh déi tuong chuyén dong: Déi tuong duge xit ly 6 day méi chi la Gi tuong tinh, trong khi camera truyn anh lién tuc vé d6i tung. Néu két hop cdc qué trinh xtr ly trong nhiing thoi diém khéc nhau, ta cé thé giai quyét bai toan xac dinh déi tugng chuyén dong va ca te dd chuyén dong ciia nd. Vigc giai quyét bai todn nay o6 ¥ nghia thuc tién rat ldn d6i véi cdc co cau bam déi tugng chuyén d6ng, * Xéc dinh khoang céch vat trong khéng gian : Mach XST 3S 1000 6 2 cng video. Thém vao 46, project ciia chting ta chura chiém hét mot ntra tai nguyén cita hé théng, trong khi néu thém mét project nifa, ta van cé thé tan dung nhiing tai nguyén ci. Do dé chiing ta hoan ton ¢6 thé thyc thi mothe thong véi 2 camera cing hoat déng. Diéu nay cho phép ta c6 thé quan sat ee di tuong trong khéng gian 3D, thm chi xéc dinh hinh dang, kich thude va thé tich ca ching. Ta ciing o6 thé xdc dinh khoang céch gitta céc d6i tung trong khéng gian néu két hop két qua xtt ly duge véi céc phép tinh quang hoe chinh xéc. Xa hon nita, ta hoan toan c6 thé xay dung mot hé théng thi 9 sweww.ngohaibac.net gide may gitip cho vige di chuyén cia xe tyr hanh va céc thao téc cua hé thong CNC di véi vat thé 3 chiéu. ‘Mo réng kha nang giao tiép cia cam bién thi gidc dé phir hop voi nhiéu chudin chit khong chi riéng RS232: chudn Ethernet, USB, CAN, RS 485... gitip cho thiét bi dé dang tich hop vao céc hé théng diéu khién phan tén that sy. ‘* Cai thign céc thudt todn nhim lam ting kha ndng xit ly, chat lugng anh. sau tién xir ly. D6 déu la nhiing ting dung rat c6 gid tri thyc tién trong nhiéu Tinh vyc, dic bigt 1A Ty dong digu khign, va c6 kha ning thyc thi néu di su nghién Qua qué trinh thyc hién dé dn nay, ching em cim thy da hoc duge rat nhiéu diéu. D6 la ky nang ty nghién ciru trong nhiing linh vuc con hét stic moi mé déi v6i sinh vién Digu khién ty dng: dé 1a Xir ly anh 56, Thi giéc may tinh va cOng nghé FPGA, trén nén tang nhiing kigh thite co s6 da hoc duge 6 nha tudng, D6 la ky nang lam vigc theo nhém : bang céch phan cng tuwong ddi hop ly, chiing em da chia tach céng viée ra mét céch kha can bang, dam bao. ngudi phat huy hét s6 trudng ciia minh, dé thuc hign 46 n mot cach tot nhat trong kha n&ng cé thé. Day 14 m6t trong nhimg kj ning quan trong nhat cho céng viée cha mét Ki sur vé sau Dé 1a kf n&ng trinh bay nhimng ¥ tudng , hiéu biét va kign thite cia minh ‘yao mot dé 4n, nhim truyén tdi mot céch day dit nhat c6 thé nhimg gi minh higu vé linh ve ma minh dang nghién ctu. Cuéi ciing, cing phai néi ring dit da c6 gang rat nhiéu, nhung chting em van kh6ng tranh khéi nhiing sai sét, trong vige xay dung hé thding, trong vige trinh bay luan van. Nhung ching em van luén ¥ thirc duge rang, nhig sai sét ay cing 14 mét co hGi cho ching em rén luyén kf nang cia minh nang stra chira nhiig sai sét va khiém khuyét, dé thc hién nhimg dé tai, dw 80 www.ngohaibacnet 4n v6 sau mét cich hoan chinh hon. Dé tat cé 1a nho sy theo doi, hudng dan , phan bign tan tinh va nghiém tic eta céc thay, c6 trong hdi déng bao ve. Ching em xin chan thanh cam on céc thay 6 vi sy tan tuy ay! a1 Tai liu tham khdo [1]. Volnei A. Pedroni, Circuit Design with VHDL, MIT Press Cambridge, Massachusetts London, England, 2004. [2]. Texas Instruments, TVP5150PBS Ultralow-Power NTSC/PAL Video Decoder, Texas Instruments Incorporated, May 2006. [3]. D. Vanden Bout, XSA Board SDRAM Controller, XESS Corporation, July 12, 2005. [4]. D. Vanden Bout, VGA Generator for the XSA Boards, XESS Corporation, October 12, 2004. [5]. D. Vanden Bout, Dualport Module for the SDRAM Controller, XESS Corporation, July 12, 2005. [6]. Karthikeyan Palanisamy, Interfacing Spartan-3 Devices with 166 MHz or 333 Mb/s DDR SDRAM Memories, Xilinx Corporation, October 14, 2004. [7], Anil KJail , Fundamentals Digital Image Processing, University of California [8]. Xilinx Ltd, PicoBlaze 8-bit Embedded Microcontroller User Guide UG129, www xilinx.com, November 21, 2005. [9]. Xilinx Ltd, Spartan-3E Starter Kit Board User Guide UG230 (v1.0), www.xilinx.com , March 9, 2006. [10]. Xilinx Ltd, Chapter 7 — Implementing DDR SDRAM Controller - MIG User Guide UG086 (V2.0), www.xilinx.com, September 18, 2007. [11].Xilinx Ltd, System Generator for DSP Userguide Release 9.2.00, x.com, August 2007. [12]. Xilinx Ltd, System Generator for DSP Reference Guide Release 9.2.00, www.xilinx.com, August, 2007. a2 [13]. Xilinx Ltd, System Generator for DSP Getting Started Guide Release 9.2.00, www.xilinx.com, August, 2007. [14].Gregory K.McMillan, Douglas MConsidine, Process/Industrial Instruments and Controls Handbook, McGraw-Hill, 1999. [15].O.Gassman, H.Meixner, Sensors in Intelligent buildings, Wiley-VHC, 2001 [16]. Trung tam céng nghé FPT, Gidi thigu giai phdp phan cting cho bai toan thi gidc may trén nén Linux nhting. [17]. Nguyén Dire Thanh, Nguyen Dire Minh, Computer Vision using Neural Network, Application for Robot Manipulator Control, Bé Mén Diéu khién tu dng, khoa Dién-Dién tt, Dai hoc Bich Khoa Thanh pho’ Hé Chi Minh, 2004. [18]. Anthony Edward Nelson, Implementation of Image Processing Algorithms on FPGA Hardware, Nashville, 2000. [19].Bruce Draper, Walid Najjar, Wim Béhm, Jeff Hammes, Bob Rinker, Charlie Ross, Compiling and Optimizing Image Processing Algorithms for FPGAs, Colorado State University, 2000. [20]. Ben Cope, Implementation of 2D Convolution on FPGA, GPU and CPU, Imperial College London, 2000. [21].Bill Silver, An Introduction to Digital Image Processing, Cognex Corporation, 2000. [22].Richard G. Shoup, Parameterized Convolution Filtering in a Field Programmable Gate Array, California, 2000. [23]. Chi-Jeng Chang, Pei-Yung Hsiao, Zen-Zi Hoang, Intergrated Operation of Image Capturing in FPGA, Chang Gung University, Tao-Yuan, Taiwan, 2006. (24, Anil KJail , Fundamentals Digital Image Processing, University of California. 3 Cac nguén tham khdo trén Internet LI]. http:/tech.groups.yahoo.com/group/xsboard-users/ : thao lun cita XESS Board group vé thiét ké’ hé théng nhting ding cdc board clia XESS. Truong nhém 1a D. Vanden Bout cé rat nhiéu bai viét hay. Nhém ching. em da dugc su hé tro tan tinh tir phia Dave. [2]. http://www.xilinx.com/: Trang web cung cap moi cong cu, huéng dan dé thuc thi FPGA. 4

You might also like