Bài giảng Xây dựng các hệ thống nhúng

292 439 4
Bài giảng Xây dựng các hệ thống nhúng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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 HC VIN CÔNG NGH N THÔNG Khoa Công ngh thông Tin B môn Khoa hc máy Tính XÂY DNG CÁC H THNG NHÚNG Hà Ni, tháng 11  (bn sa và b sung)  2  Dy vƠ hc h thng nhúng lƠ đ cp ti mt ch đ có phm vi rng bao gm thit k, môi trng ng dng, loi hình công ngh, qui tc cn thit đ tip cn mt cách có h thng. Lnh vc thit k vƠ ng dng các h thng nhúng bao gm : các h thng vi điu khin (micro- controller) nh vƠ đn gin, các h thng điu khin, h thng nhúng phơn tán, h thng trên chip, mng máy tính (có dơy vƠ không dơy), các h thng PC nhúng, các h thng rƠng buc thi gian, robotic, các thit b ngoƠi ca máy tính, x lỦ tín hiu, h thng lnh vƠ điu khinầ Nn tng công ngh hin đi lƠ k thut vi đin t vi mt đ tích hp ln vƠ rt ln. Khi mun thit k h thng nhúng, có nhiu yu t cn tuơn th ging nh khi thit k máy tính, nhng li b rƠng buc bi đc thù ng dng. Thêm vƠo đó lƠ s đan chéo ca các k nng rt cn thit cho thit k h thng nhúng, đc lp vn hƠnh, thit k vi tiêu chí tiêu hao nng lng thp, công ngh phn cng, công ngh phn mm (h thng vƠ ng dng), h thi gian thc, tng tác ngi máy vƠ đôi khi c vn đ an ninh h thng. Nh vy đƠo to vƠ hc h thng nhúng cn mt khi lng kin thc tp hp ít nht t các b môn khác nh khoa hc máy tính (computer science), khoa hc truyn thông (communication), k thut thit k đin t: các mch tng t vƠ s, s dng tt các phn mm thit k bo mch (nh Protel, Proteus, DXPầ), kin thc v ch to bán dn. Vì lƠ b môn công ngh có tính ng dng cao vi bƠi toán c th, nên li cn có chuyên môn ca ngƠnh ngh, mƠ  đó h thng nhúng s ng dng. Tóm li đơy lƠ mt ch đ hp nht vƠ vic thc hin ch đ nƠy thc không d dƠng. Vi lng thi gian nht đnh, môn hc XỂY DNG CÁC H THNG NHỎNG s mang li cho ngi hc nhng vn đ c bn nht v h thng nhúng  Chng 1. Chng 2 đ cp ti kin trúc phn cng h thng, cách thit k mt s khi chc nng c s có tính thc t cao. Chng 3 ch yu gii thiu v phn mm cƠi đt trên h thng nhúng, bao gm các trình điu khin thit b, các phn mm trung gian, vƠ phn mm h thng đc cƠi đt . c bit nhc li mt s yêu cu v khái nim ca các h thng thi gian thc vƠ h điu hƠnh thi gian thc. Chng 4 gii thiu các tiêu chí vƠ phng pháp thit k h thông nhúng. Cui chng lƠ mt s các bƠi tp ln kiu D án thit k, có th la chn cho thc hƠnh vi các kiu kin trúc h thng nhúng khác nhau. Nh đư nêu, đơy lƠ ch đ rng, mang tính k thut vƠ kin thc li đc tng hp t các môn khác, nên tƠi liu nƠy chc không th tht s đy đ. Các phn kin thc nƠo không đc đ cp sơu  đơy, ngi hc cn tham kho thêm các tƠi liu khác, hay t các môn hc liên quan. Tác gi xin chơn thƠnh cám n các cán b, ging viên Khoa Công ngh thông tin vƠ b môn Khoa hc máy tính, Hc vin Công ngh BCVT HƠ Ni đư góp Ủ đ tác gi hoƠn thƠnh giáo trình. Tác gi cng xin đón nhn các Ủ kin đóng góp, phê bình t ngi đc, ngi hc, sao cho tƠi liu nƠy có ích hn. a ch theo e-mail: htcuoc@ioit.ac.vn.  3 HƠ Ni, tháng 10 nm 2013 Hunh Thúc Cc, Vin Công ngh thông tin, VAST, 18, HoƠng Quc Vit, HƠ Ni.  4 Li nói đu 2 Mt s ch vit tt 7 Danh sách các hình v 9 Chng 1. GII THIU CHUNG V CÁC H THNG NHÚNG 15 1.1 KHÁI NIM V H THNG NHÚNG (HTN) 15 1.2 C IM CA HTN 15 1.3 CÁC YÊU CU VI HTN 18 1.4 MÔ HÌNH TNG TH HTN 19 1.4.1 Mô hình cu trúc phn cng ca máy tính 19 1.4.2 Kin trúc ca CPU 23 1.4.3 Mô hình tng quát ca mt HTN 25 1.4 PHÂN LOI HTN 27 1.5 KT CHNG 32 1.6 CÂU HI CUI CHNG 33 Chng 2. CÁC THÀNH PHN PHN CNG CA H THNG NHÚNG 34 2.1 B X LÍ TRUNG TÂM (Central Processing Unit-CPU) 34 2.2.1 Các loi CPU và nguyên lí hot đng 34 2.2.2 Ví d v mt CPU và nguyên lí hot đng 35 2.2 CPU 8085 VÀ H THNG BUS 44 2.2.1 Khái nim và bn cht vt lý ca các BUS 45 2.2.2 Khuych đ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 Trng tài BUS (bus arbitration) 51 2.2.6 Bus m rng (Expansion bus) EISA, MCA, Bus cc 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 Thc hin k thut ca BUS 62 2.3 BO MCH mt HTN VI CU HÌNH TI THIU 66 2.4 HTN VI CÁC CPU KHÁC NHAU 69 2.4.1 CPU đa nng 16 bit 69 2.4.2 Bo mch vi CPU HARVARD (microcontroller Unit-MCU) h Intel 8051/8052/8xC25173  5 2.4.3 Vi mch H thng kh trình trong mt 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À THIT K B NH 98 2.5.1 Mt s thông s chính ca mch nh 99 2.5.2 Phân loi b nh 101 2.5.3 Phân cp b nh 108 2.5.4 T chc b nh vt lý và thit k b nh 110 2.6 GHÉP NI VI THIT B NGOI VI 121 2.6.1 Tng quan 121 2.6.2 Ghép ni CPU ch đng 125 2.6.3 Ghép ni I/O ch đng 130 2.6.4 Cng vào/ra 144 2.6.5 Ghép ni vi tín hiu tng t (analog signal) 150 2.6.6 Bin đi tng t thành s (s hóa) 152 2.6.7 Bin đi s thƠnh tng t (DAC) 153 2.7 KT CHNG 153 2.8 CÂU HI VÀ BÀI TP 153 2.8.1 Câu hi cui chng 153 2.8.2 Bài tp cui chng 154 Chng 3. CÁC THÀNH PHN PHN MM CA H THNG NHÚNG 156 3.1 TRỊNH IU KHIN THIT B ( vit tt: TKTB) 156 3.1.1 Tng quan 156 3.1.2 Các loi TKTB 160 3.1.3 3.1.3 Hot đng ca TKTB 161 3.1.4 Phát trin TKTB 161 3.1.5 Mt s ví d v TKTB 163 3.2 H THNG NHÚNG THI GIAN THC 165 3.2.1 H điu hành đa nhim (multitasking) 165 3.2.2 H thng thi gian thc 184 3.2.3 H điu hành thi gian thc (RTOS) 189 3.2.4 H thi gian thc không có h điu hành thi gian thc 195 3.3 PHN MM TRUNG GIAN (middleware) 198 3.4 PHN MM NG DNG 200  6 3.5 KT CHNG 201 3.6 CÂU HI CUI CHNG 201 Chng 4 THIT K VÀ CÀI T CÁC H THNG NHÚNG 203 4.1 THIT K H THNG 203 4.1.1 Các nn tng c bn khi xây dng kin trúc HTN 207 4.1.2 Phân hoch thit k phn cng, phn mm 211 4.1.3 Xây dng bo mch khi phát trin h thng 217 4.2 CÀI T VÀ TH NGHIM HTN 221 4.2.1 Chn CPU cho thit k 221 4.2.2 B nh cho HTN 223 4.2.3 Ghép ni vi thit b 225 4.2.4 Phát trin phn mm cho HTN 225 4.2.5 G ri và mô phng 235 4.2.6 Phát trin HTN 240 4.2.7 Ví d phát trin HTN 266 4.3 KT CHNG 267 4.4 CÂU HI CUI CHNG 267 TÀI LIU THAM KHO 267 PH LC 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à lp trình li đc RAM Random Access Memory b nh truy cp ngu nhiên FLASH non-volatile computer storage ( memory cards, USB flash drives, solid-state drives -SSD) B nh bán dn không b mt ni dung ngay c khi không cung cp ngun nuôi OS Operating System H điu hành RTOS Real Time Operating System H điu hành thi gian thc ES Embedded System H thng nhúng HTN Embedded System H thng nhúng OS hay HH Operating System H iu Hành TKTB Device Driver Trình điu khin thit b PLC Programmable Logic Controller b điu khin logic kh trình PIC Programmable Intelligent Computer Máy tính kh trình thông minh PSoC Programmable System - on - Chip H thng kh trinh trên vi mch ASIC Application-Specific Integrated Circuit ASIC là mt vi mch đc thit k dành cho mt ng dng c th theo yêu cu cá bit MCU Microcontroller Unit Vi điu khin CICS Complex Instruction Set Tp lnh đy đ RISC Reduced Instruction Set Tp lnh rút gn SPI Serial Peripheral Interface ng liên kt d liu ni tip, đng b, hot đng theo kiu Ch/t (Master/Slave) I 2 C Inter-Integrated Circuit Bus dùng đ ni gia các vi mch đin t ầ  8 USART Universal Serial Aynchronous Receiver/Transmitter B thu/phát ni tip di b đa nng ISR Interrupt Service Routine Chng trình con x lí ngt hay Dch v x lí ngt MAC Media Access Control iu khin truy nhp môi trng (mng máy tính). Ví d: MAC address: a ch vt lí ca thit b mng. MIPS Million instructions per second Triu lnh máy trong mt giây IDE Integrated Development Environment, hoc: Integrated Design Environment hoc: Integrated Debugging Environment Là tp các phn mm h tr các công c, tin ích đê phát trin phn mm máy tính, bao gm: Son tho mã ngun, trình thông dch, trình biên dch, trình g ri ICE In-Circuit Emulator Là loi thit b phn cng dùng đ g ri khi phát trin phn cng và phn mm hp nht, nh HTN. Vid d nh Logic anlyzer, phn mm MPLAB ca Microchip  9  Hình 1.1 Mô hình tng quát bo mch ch Hình 1.2 Ngun nuôi cho h máy tính Hình 1.3 HTN xây dng t xây dng t vi x lý(Microprocessor-based) vƠ vi điu khin (microcontroller based) Hình 1.4 Microcontroller và các thành phn c bn, BUS kt ni bên trong.Tt c trong mt chip Hình 1.5 Hai kiu HTN vi 2 loi kin trúc CPU Hình1.6 Havard CPU ARM 920T ca Amtel Hình 1.7 Mô hình tng quát HTN-Mô hình vi các khi chc nng Hình 1.8 Mt cách nhìn khác v mô hình tng quát HTN:Vi các khi ngoi vi và phn mm Hình 1.9 Kin trúc tru tng HTN Hình 1.10 S đ khi CPU DSP-MP3. Hình 1.11 B MP3 vi CPU BlackFin ca ANALOG DEVICES Hình 1.12 Mt s HTN thng mi Hình 2.1 Intel CPU 8085 Hình 2.2 Các khi chc nng ca CPU 8080/8085 Hình 2.3 Các khái nin qui chiu theo CPU Clock Hình 2.4 Lu đ thi gian c s ca CPU 8085 (Theo tài liu ca hãng Intel) Hình 2.5 Biu đ thi gian ca chu kì tìm lnh. Hình 2.6 Cu hình ti thiu: CPU 8085 và to BUS h thng Hình 2.7 CPU Bus và BUS h thng Hình2.8 Chu kì đc đng b Hình 2.9 BUS không đng b, hot đng đng b bi “đi thoi” gia các tín hiu điu khin Hình 2.10 BUS chui quay vòng (daisy chaining) Hình 2.11 Trng tài BUS Hình 2.12 Trng tài Bus không tp trung trong multibus Hình 2.13 Liên kt qua bus SPI Hình 2.14 Liên kt qua bus I2C  10 Hình 2.15 Nguyên lí ni BUS I 2 C Hình 2.16 Ghi/đc trên BUS I 2 C Hình 2.17 Ví d d liu thu/phát trên BUS I 2 C Hình 2.18 Các mch logic thng dùng trong thit k k thut s Hình 2.19 Các kiu ni đu ra, đu ra tr kháng cao Hình 2.20 Vi mch 3 trng thái: hai trng thái logic và trng thái th 3 HZ: đu ra b “tách” khi BUS. Hình 2.21 Mch cht (hay nh, gi li) kiu D, làm vic theo mc hay sn lên ca xung đng h CK. (Xem thêm chi tit mach SN 7474). Hình2.22 Cht 4 bit vi D-Flip/flop Hình 2.23 Cng khuych đi (driver) cht hai chiu Hình 2.24 Cu hình ti thiu bo mch CPU 8085, RAM/ROM/Ports Hình 2.25 Mch in cho hình 2.24 Hình 2.26 CPU Intel x86 Hình 2.27 Bo mch vi ti thiu vi CPU 8086:BUS controller, Ngt controller, RAM Hình 2.28 CPU 8086 timing: lnh đc Hình 2.29 Mô hình kin trúc Havard: BUS cho b nh chng trình: Code Bus vƠ Code Address; BUS cho RAM d liu: Data Bus và Data Address; SRC1, SRC2:ngun, DST: đích, lƠ các Bus ni b. Hình 2.30 Các khi chc nng ca CPU 8051/8052 Hình 2.31 CPU 8051: EEPROM, RAM bên trong và kh nng m rng b nh ti 128 KB (64 KB code+64 KB data) Hình 2.32 Bo mch vi CPU 8051/8052 Hình 2.33 Các khi chc nng ca nhân 8XC251Sx Hình 2.34 CPU 8051 Hình 2.35 Phân hoch đa ch trong CPU 8051 Hình 2.36 Bo mch vi CPU Intel 8051 và RAM, ROM m rng bên ngoài. Hình 2.37 Mô hình mt vi điu khin kiu PSoC hay PIC kiu Vi x lí trong mt 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

Ngày đăng: 02/10/2014, 19:18

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan