Bài giảng Xây dựng các hệ thống nhúng Tài liệu dành cho học sinh, sinh viên, nghiên cứu, tham khảo, cũng như tìm hiểu về xây dựng các hệ thống nhúng trong công nghệ thông tin, cũng như trong quá trình học tập của mình.
1 HC VIN CÔNG NGH N THÔNG Khoa Công ngh thông Tin B môn Khoa hc máy Tính XÂY DNG CÁC H THNG NHÚNG Hà Ni, tháng 11 (bn sa và b sung) 2 Dy vƠ hc h thng nhúng lƠ đ cp ti mt ch đ có phm vi rng bao gm thit k, môi trng ng dng, loi hình công ngh, qui tc cn thit đ tip cn mt cách có h thng. Lnh vc thit k vƠ ng dng các h thng nhúng bao gm : các h thng vi điu khin (micro- controller) nh vƠ đn gin, các h thng điu khin, h thng nhúng phơn tán, h thng trên chip, mng máy tính (có dơy vƠ không dơy), các h thng PC nhúng, các h thng rƠng buc thi gian, robotic, các thit b ngoƠi ca máy tính, x lỦ tín hiu, h thng lnh vƠ điu khinầ Nn tng công ngh hin đi lƠ k thut vi đin t vi mt đ tích hp ln vƠ rt ln. Khi mun thit k h thng nhúng, có nhiu yu t cn tuơn th ging nh khi thit k máy tính, nhng li b rƠng buc bi đc thù ng dng. Thêm vƠo đó lƠ s đan chéo ca các k nng rt cn thit cho thit k h thng nhúng, đc lp vn hƠnh, thit k vi tiêu chí tiêu hao nng lng thp, công ngh phn cng, công ngh phn mm (h thng vƠ ng dng), h thi gian thc, tng tác ngi máy vƠ đôi khi c vn đ an ninh h thng. Nh vy đƠo to vƠ hc h thng nhúng cn mt khi lng kin thc tp hp ít nht t các b môn khác nh khoa hc máy tính (computer science), khoa hc truyn thông (communication), k thut thit k đin t: các mch tng t vƠ s, s dng tt các phn mm thit k bo mch (nh Protel, Proteus, DXPầ), kin thc v ch to bán dn. Vì lƠ b môn công ngh có tính ng dng cao vi bƠi toán c th, nên li cn có chuyên môn ca ngƠnh ngh, mƠ đó h thng nhúng s ng dng. Tóm li đơy lƠ mt ch đ hp nht vƠ vic thc hin ch đ nƠy thc không d dƠng. Vi lng thi gian nht đnh, môn hc XỂY DNG CÁC H THNG NHỎNG s mang li cho ngi hc nhng vn đ c bn nht v h thng nhúng Chng 1. Chng 2 đ cp ti kin trúc phn cng h thng, cách thit k mt s khi chc nng c s có tính thc t cao. Chng 3 ch yu gii thiu v phn mm cƠi đt trên h thng nhúng, bao gm các trình điu khin thit b, các phn mm trung gian, vƠ phn mm h thng đc cƠi đt . c bit nhc li mt s yêu cu v khái nim ca các h thng thi gian thc vƠ h điu hƠnh thi gian thc. Chng 4 gii thiu các tiêu chí vƠ phng pháp thit k h thông nhúng. Cui chng lƠ mt s các bƠi tp ln kiu D án thit k, có th la chn cho thc hƠnh vi các kiu kin trúc h thng nhúng khác nhau. Nh đư nêu, đơy lƠ ch đ rng, mang tính k thut vƠ kin thc li đc tng hp t các môn khác, nên tƠi liu nƠy chc không th tht s đy đ. Các phn kin thc nƠo không đc đ cp sơu đơy, ngi hc cn tham kho thêm các tƠi liu khác, hay t các môn hc liên quan. Tác gi xin chơn thƠnh cám n các cán b, ging viên Khoa Công ngh thông tin vƠ b môn Khoa hc máy tính, Hc vin Công ngh BCVT HƠ Ni đư góp Ủ đ tác gi hoƠn thƠnh giáo trình. Tác gi cng xin đón nhn các Ủ kin đóng góp, phê bình t ngi đc, ngi hc, sao cho tƠi liu nƠy có ích hn. a ch theo e-mail: htcuoc@ioit.ac.vn. 3 HƠ Ni, tháng 10 nm 2013 Hunh Thúc Cc, Vin Công ngh thông tin, VAST, 18, HoƠng Quc Vit, HƠ Ni. 4 Li nói đu 2 Mt s ch vit tt 7 Danh sách các hình v 9 Chng 1. GII THIU CHUNG V CÁC H THNG NHÚNG 15 1.1 KHÁI NIM V H THNG NHÚNG (HTN) 15 1.2 C IM CA HTN 15 1.3 CÁC YÊU CU VI HTN 18 1.4 MÔ HÌNH TNG TH HTN 19 1.4.1 Mô hình cu trúc phn cng ca máy tính 19 1.4.2 Kin trúc ca CPU 23 1.4.3 Mô hình tng quát ca mt HTN 25 1.4 PHÂN LOI HTN 27 1.5 KT CHNG 32 1.6 CÂU HI CUI CHNG 33 Chng 2. CÁC THÀNH PHN PHN CNG CA H THNG NHÚNG 34 2.1 B X LÍ TRUNG TÂM (Central Processing Unit-CPU) 34 2.2.1 Các loi CPU và nguyên lí hot đng 34 2.2.2 Ví d v mt CPU và nguyên lí hot đng 35 2.2 CPU 8085 VÀ H THNG BUS 44 2.2.1 Khái nim và bn cht vt lý ca các BUS 45 2.2.2 Khuych đi BUS (bus driver) 47 2.2.3 Bus đng b (Synchronous bus): 48 2.2.4 Bus không đng b (Asynchronous bus) 50 2.2.5 Trng tài BUS (bus arbitration) 51 2.2.6 Bus m rng (Expansion bus) EISA, MCA, Bus cc b, PCI 54 2.2.7 Bus SPI (Serial Peripheral Interface ) 55 2.2.8 Bus I 2 C (Inter-Integrated Circuit) 56 2.2.9 Thc hin k thut ca BUS 62 2.3 BO MCH mt HTN VI CU HÌNH TI THIU 66 2.4 HTN VI CÁC CPU KHÁC NHAU 69 2.4.1 CPU đa nng 16 bit 69 2.4.2 Bo mch vi CPU HARVARD (microcontroller Unit-MCU) h Intel 8051/8052/8xC25173 5 2.4.3 Vi mch H thng kh trình trong mt Chip (Programmable System on chip-PsoC) và Máy tính thông minh kh trình (Programmable Intelligent Computer-PIC) 84 2.5 B NH VÀ THIT K B NH 98 2.5.1 Mt s thông s chính ca mch nh 99 2.5.2 Phân loi b nh 101 2.5.3 Phân cp b nh 108 2.5.4 T chc b nh vt lý và thit k b nh 110 2.6 GHÉP NI VI THIT B NGOI VI 121 2.6.1 Tng quan 121 2.6.2 Ghép ni CPU ch đng 125 2.6.3 Ghép ni I/O ch đng 130 2.6.4 Cng vào/ra 144 2.6.5 Ghép ni vi tín hiu tng t (analog signal) 150 2.6.6 Bin đi tng t thành s (s hóa) 152 2.6.7 Bin đi s thƠnh tng t (DAC) 153 2.7 KT CHNG 153 2.8 CÂU HI VÀ BÀI TP 153 2.8.1 Câu hi cui chng 153 2.8.2 Bài tp cui chng 154 Chng 3. CÁC THÀNH PHN PHN MM CA H THNG NHÚNG 156 3.1 TRỊNH IU KHIN THIT B ( vit tt: TKTB) 156 3.1.1 Tng quan 156 3.1.2 Các loi TKTB 160 3.1.3 3.1.3 Hot đng ca TKTB 161 3.1.4 Phát trin TKTB 161 3.1.5 Mt s ví d v TKTB 163 3.2 H THNG NHÚNG THI GIAN THC 165 3.2.1 H điu hành đa nhim (multitasking) 165 3.2.2 H thng thi gian thc 184 3.2.3 H điu hành thi gian thc (RTOS) 189 3.2.4 H thi gian thc không có h điu hành thi gian thc 195 3.3 PHN MM TRUNG GIAN (middleware) 198 3.4 PHN MM NG DNG 200 6 3.5 KT CHNG 201 3.6 CÂU HI CUI CHNG 201 Chng 4 THIT K VÀ CÀI T CÁC H THNG NHÚNG 203 4.1 THIT K H THNG 203 4.1.1 Các nn tng c bn khi xây dng kin trúc HTN 207 4.1.2 Phân hoch thit k phn cng, phn mm 211 4.1.3 Xây dng bo mch khi phát trin h thng 217 4.2 CÀI T VÀ TH NGHIM HTN 221 4.2.1 Chn CPU cho thit k 221 4.2.2 B nh cho HTN 223 4.2.3 Ghép ni vi thit b 225 4.2.4 Phát trin phn mm cho HTN 225 4.2.5 G ri và mô phng 235 4.2.6 Phát trin HTN 240 4.2.7 Ví d phát trin HTN 266 4.3 KT CHNG 267 4.4 CÂU HI CUI CHNG 267 TÀI LIU THAM KHO 267 PH LC Các ví d 270 7 CPU Central Processing Unit n v x lý trung tâm ROM Read Only Memory B nh chi đc EPROM Erasable programmable read-only memory B nh ch đc, xóa và lp trình li đc RAM Random Access Memory b nh truy cp ngu nhiên FLASH non-volatile computer storage ( memory cards, USB flash drives, solid-state drives -SSD) B nh bán dn không b mt ni dung ngay c khi không cung cp ngun nuôi OS Operating System H điu hành RTOS Real Time Operating System H điu hành thi gian thc ES Embedded System H thng nhúng HTN Embedded System H thng nhúng OS hay HH Operating System H iu Hành TKTB Device Driver Trình điu khin thit b PLC Programmable Logic Controller b điu khin logic kh trình PIC Programmable Intelligent Computer Máy tính kh trình thông minh PSoC Programmable System - on - Chip H thng kh trinh trên vi mch ASIC Application-Specific Integrated Circuit ASIC là mt vi mch đc thit k dành cho mt ng dng c th theo yêu cu cá bit MCU Microcontroller Unit Vi điu khin CICS Complex Instruction Set Tp lnh đy đ RISC Reduced Instruction Set Tp lnh rút gn SPI Serial Peripheral Interface ng liên kt d liu ni tip, đng b, hot đng theo kiu Ch/t (Master/Slave) I 2 C Inter-Integrated Circuit Bus dùng đ ni gia các vi mch đin t ầ 8 USART Universal Serial Aynchronous Receiver/Transmitter B thu/phát ni tip di b đa nng ISR Interrupt Service Routine Chng trình con x lí ngt hay Dch v x lí ngt MAC Media Access Control iu khin truy nhp môi trng (mng máy tính). Ví d: MAC address: a ch vt lí ca thit b mng. MIPS Million instructions per second Triu lnh máy trong mt giây IDE Integrated Development Environment, hoc: Integrated Design Environment hoc: Integrated Debugging Environment Là tp các phn mm h tr các công c, tin ích đê phát trin phn mm máy tính, bao gm: Son tho mã ngun, trình thông dch, trình biên dch, trình g ri ICE In-Circuit Emulator Là loi thit b phn cng dùng đ g ri khi phát trin phn cng và phn mm hp nht, nh HTN. Vid d nh Logic anlyzer, phn mm MPLAB ca Microchip 9 Hình 1.1 Mô hình tng quát bo mch ch Hình 1.2 Ngun nuôi cho h máy tính Hình 1.3 HTN xây dng t xây dng t vi x lý(Microprocessor-based) vƠ vi điu khin (microcontroller based) Hình 1.4 Microcontroller và các thành phn c bn, BUS kt ni bên trong.Tt c trong mt chip Hình 1.5 Hai kiu HTN vi 2 loi kin trúc CPU Hình1.6 Havard CPU ARM 920T ca Amtel Hình 1.7 Mô hình tng quát HTN-Mô hình vi các khi chc nng Hình 1.8 Mt cách nhìn khác v mô hình tng quát HTN:Vi các khi ngoi vi và phn mm Hình 1.9 Kin trúc tru tng HTN Hình 1.10 S đ khi CPU DSP-MP3. Hình 1.11 B MP3 vi CPU BlackFin ca ANALOG DEVICES Hình 1.12 Mt s HTN thng mi Hình 2.1 Intel CPU 8085 Hình 2.2 Các khi chc nng ca CPU 8080/8085 Hình 2.3 Các khái nin qui chiu theo CPU Clock Hình 2.4 Lu đ thi gian c s ca CPU 8085 (Theo tài liu ca hãng Intel) Hình 2.5 Biu đ thi gian ca chu kì tìm lnh. Hình 2.6 Cu hình ti thiu: CPU 8085 và to BUS h thng Hình 2.7 CPU Bus và BUS h thng Hình2.8 Chu kì đc đng b Hình 2.9 BUS không đng b, hot đng đng b bi “đi thoi” gia các tín hiu điu khin Hình 2.10 BUS chui quay vòng (daisy chaining) Hình 2.11 Trng tài BUS Hình 2.12 Trng tài Bus không tp trung trong multibus Hình 2.13 Liên kt qua bus SPI Hình 2.14 Liên kt qua bus I2C 10 Hình 2.15 Nguyên lí ni BUS I 2 C Hình 2.16 Ghi/đc trên BUS I 2 C Hình 2.17 Ví d d liu thu/phát trên BUS I 2 C Hình 2.18 Các mch logic thng dùng trong thit k k thut s Hình 2.19 Các kiu ni đu ra, đu ra tr kháng cao Hình 2.20 Vi mch 3 trng thái: hai trng thái logic và trng thái th 3 HZ: đu ra b “tách” khi BUS. Hình 2.21 Mch cht (hay nh, gi li) kiu D, làm vic theo mc hay sn lên ca xung đng h CK. (Xem thêm chi tit mach SN 7474). Hình2.22 Cht 4 bit vi D-Flip/flop Hình 2.23 Cng khuych đi (driver) cht hai chiu Hình 2.24 Cu hình ti thiu bo mch CPU 8085, RAM/ROM/Ports Hình 2.25 Mch in cho hình 2.24 Hình 2.26 CPU Intel x86 Hình 2.27 Bo mch vi ti thiu vi CPU 8086:BUS controller, Ngt controller, RAM Hình 2.28 CPU 8086 timing: lnh đc Hình 2.29 Mô hình kin trúc Havard: BUS cho b nh chng trình: Code Bus vƠ Code Address; BUS cho RAM d liu: Data Bus và Data Address; SRC1, SRC2:ngun, DST: đích, lƠ các Bus ni b. Hình 2.30 Các khi chc nng ca CPU 8051/8052 Hình 2.31 CPU 8051: EEPROM, RAM bên trong và kh nng m rng b nh ti 128 KB (64 KB code+64 KB data) Hình 2.32 Bo mch vi CPU 8051/8052 Hình 2.33 Các khi chc nng ca nhân 8XC251Sx Hình 2.34 CPU 8051 Hình 2.35 Phân hoch đa ch trong CPU 8051 Hình 2.36 Bo mch vi CPU Intel 8051 và RAM, ROM m rng bên ngoài. Hình 2.37 Mô hình mt vi điu khin kiu PSoC hay PIC kiu Vi x lí trong mt Chip (Microprocessor-based system on a chip) [...]... ng th y Vi c s d ng các b vi x lý chuyên bi t o ra các thi t b chuyên x lý m t hay m t, t o ra m t nghành công ngh m i, g i là công ngh nhúng S n ph m c a công ngh nhúng này là các h th ng nhúng V y h th ng nhúng (HTN- Embedded system) là gì ? Có nhi u ta l y tiêu chí mô t HTN làm cái gì và s d th nào, thì có th nói v H th ng nhúng là m t thu t ng ch m t h th ng có kh ng t tr c nhúng vào trong m ng... t o các tín hi khi n ho ng c a các kh i ch u khi ng v i mã l u T p các tín hi u t o ra BUS c a CPU Khi k t h p v i các vi m ch d n /tách kênh và khuy i, các m ch gi t o ra BUS h th ng BUS h th ng cung c p các tín hi u cho các vi m ch tích h p vào CPU (ROM, RAM, I/O module) t o thành bo m ch chính (CPU board) Th c hi n t c các thao tác x lý d li nh Ghi l i k t qu th c hi n l nh B nh c t ch c t các t... b nhúng kh n tho ng, là các HTN có kh c hi n nhi u ch thu t s l i có th th c hi n các ng d v i màn hình c m ng hi n nay là t o ra các HTN kh trình có giao di n k t n i v i m t h phát tri nâng c p ph n m m ng ng d ng qua nhi c: P Qua các b c m bi n (sensor), ghép n i vào HTN b ng dây d n, hay không dây; Phát tri n các giao th c truy n tin riêng bi t, hay theo các giao th c chu trao i thông tin v i các. .. i gian th Hình 3.14 Module l p bi u c Hình 3.15 Các ch Hình 3.16 Các h Hình 3.17 H th ng nhúng th i gian th c Hình 3.18 V trí cua PMTG Hình 3.19 Mô hình các l p m ng theo TCP/IP, OSI và ánh x vào HTN Hình 3.20 Các ng d Hình 4.1 Các thu c tính chung c a ph n c ng c a m t HTN Hình 4.2 M t ki Hình 4.3 K ch b n mô ph ng hi Hình 4.4 Các c u trúc ki Hình 4.5 Các pha thi t k HTN Hình 4.6 Gi i thu t thi t k... 65.535 (g i là 64K) ô nh Các thành ph n ch g m: T p các thanh ghi (Register) th c thi các phép tính s h c và lu n lí (Arithmetic logic unit- ALU) H th ng các dây n i gi a các vi m ch ch ( BUS) Kh nh th u khi n (Timing & Control unit) Kh u ph i, ki m soát ng t (Interrupt Control) Kh i truy n thông n i ti p (Serial I/O Control) Hình 2.2 Các kh i ch 1) T p các thanh ghi (Registers): Các thanh ghi s d ch a... ng nhúng t ti n Ki n trúc g ng c d ng, c nh , g n t máy tính 21 c nh Thi t k ch c thi t k m t Chip ! Thi t k ch C n ph i có các vi m ch RAM, ROM h p thành t bên ngoài vi m ch có t t c trong c thi t k t i nh, các ng ng d d ng chuyên bi t Không th k t n i v i ngo i vi ngo i vi, c n có thêm các vi m ch h tr cho ch R t phù h c tính toán xây d ng các HTN Ti t ki m gian thi t k P T IT m nh Hình 1.3 HTN xây. .. su - Ghép n i: là các thi t b ph i h p, chuy n hóa các thông tin t c m bi n thành tín hi s hóa, - Các b s - Ghép n i v i các h th ng khác: liên k t các HTN khác, m ng d li u, Trung tâm u khi - Ghép n i BUS h th ng - CPU, RAM, ROM (FLASH), c bi t ghi nh n thông tin công ngh (v trí, vòng quay, t hóa (D/A), 25 , IT P T Hình 1.7 Mô hình t ng quát HTN-Mô hình v i các kh i ch Hình 1.8 M t cách nhìn khác v... hình t ng quát HTN:V i các kh i ngo i vi và ph n m m 26 Ki n trúc tr ng: l p x p ch ng Khi nói v ki n trúc m t h th c p tính t ng quát và nh ng ch y m t ng quát, các l p ph n c ng và ph n m c thành ph n (element) h p thành Các thành ph n ki n trúc có th h p nh t bên trong thi t b nhúng ho c t n t i bê i các thành ph n bên trong theo m cách nhìn ki n trúc, thì ki c bi u di n b i các c u trúc M i c u trúc... ph c t th ng tích h p c ph n c ng (là m t h th c xây d s d ng vi x lý microprocessor-based system) và ph n ph m nhúng trong ph n c th c hi n các bài toán chuyên bi t a t ch c IEEE thì h th ng nhúng là m t h tính toán (máy tính s ) n m trong (hay c nhúng vào) s n ph m khác l ng iv i i s d ng Nói r t h tính toán (có th là PC, IPC, PLC, vi x lý, vi h th c nhúng vào trong m t s n ph m hay m t h th c hi n... có liên k t v i nhau gi a các HTN và các trung tâm ki m soát khác Lo i này g i là HTN m ng Ví d các HTN c c b t i các thi t b ch u cu i c a m t qui trình công ngh ph c t p liên k t qua m ng c c b c a nhà máy hay c a m t c máy ph c t p H th ng m n tho ng là m t ví d ki u HTN m ng: i dùng Tên chung c a HNT l ng c ng d ng: Công c ch y các bài toán nh nh X lý tín hi u: các thi t b video th i gian th c, DVD