1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Hệ Thống Nhúng - ĐH Kỹ thuật công nghệ pot

116 363 1

Đ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

Thông tin cơ bản

Định dạng
Số trang 116
Dung lượng 4,36 MB

Nội dung

TRƯ NG Đ I H C K THU T CÔNG NGHI P KHOA ĐI N T B MÔN K THU T MÁY TÍNH BÀI GI NG PHÁT CHO SINH VIÊN (LƯU HÀNH N I B ) Theo chương trình 150 TC thay 180 TC ho c tương ñương S d ng cho năm h c 2009 – 2010 Tên gi ng: H th ng nhúng S tín ch : 03 Mục lục Chương I: T NG QUAN 1.1 M ñ u 1.2 Khái ni m v h nhúng 1.3 Vai trò c a h th ng nhúng s phát tri n c a lĩnh v c công ngh cao “3C “ 1.4 Đ c tính, phương pháp thi t k xu th phát tri n c a h nhúng 1.5 Môi trư ng thông minh 10 1.6 Các h ñi u hành nhúng ph n m m nhúng 11 1.6.1 H ñi u hành nhúng 11 1.6.2 Ph n m m nhúng 11 Chương II: LÝ THUY T THI T K H TH NG NHÚNG 12 2.1 Quy trình thi t k Top-Down 12 2.1.1 Pha phân tích 12 2.1.2 Pha thi t k nguyên lý 14 2.1.3 Pha thi t k k thu t 15 2.1.4 Pha xây d ng h th ng 16 2.1.5 Pha ki m tra 16 2.2 Quy trình Bottom-Up 17 2.3 Đ c t h th ng 17 2.3.1 Khái ni m ñ c t (specification) 17 2.3.2 T i c n ñ c t 18 2.3.3 Phân lo i k thu t ñ c t 19 2.3.4 ng d ng ưu vi t kh s d ng ñ c t 20 2.3.5 Phương pháp ñ c t s d ng “Máy tr ng thái h u h n FSM(Finite state machine)” 21 2.4 Các phương pháp bi u di n thu t toán 22 2.4.1 Ngôn ng t nhiên 22 2.4.2 Dùng lưu ñ 23 2.4.3 Mã gi 26 Chương III: C U TRÚC PH N C NG 27 3.1 C u trúc t ng quát c a h th ng nhúng 27 3.1.1 Ki n trúc b n 27 3.1.2 C u trúc ph n c ng 27 3.2 M t s n n ph n c ng thông d ng 34 3.3.1 H vi ñi u n 8051 35 3.3.2 H vi ñi u n AVR 36 3.3.3 H vi ñi u n PsoC 36 3.3.4 H vi ñi u n ARM 39 3.3.5 H vi ñi u n PIC 41 3.4 M t s vi m ch thư ng dùng 63 3.4.1 Nhóm linh ki n s 63 3.4.2 Nhóm linh ki n tương t 71 3.4.4 Nhóm hi n th 74 3.4.4 Nhóm chuy n đ i d li u 75 3.4.5 Nhóm IC ch c 77 3.4.6 M t s ví d ñi n hình 80 3.5 Công c thi t k , mô ph ng ki m th ph n c ng 85 3.5.1 Công c thi t k ph n c ng 85 3.5.2 Công c mô ph ng 87 3.5.3 Công c ki m th 89 3.5.4 M t s m ch ví d 89 Chương IV: PH N M M NHÚNG 93 4.1 Đ c ñi m ph n m m nhúng 93 Bài gi ng H th ng nhúng 2010 – BM K thu t Máy tính – ĐH K thu t Công nghi p Thái nguyên 4.2 L p trình nhúng v i C 93 4.2.1 Gi i thi u v CCS 93 4.2.2 C u trúc chương trình 94 4.2.3 Các ki u d li u 94 4.2.4 M t s ch th ti n x lý 95 4.2.5 Hàm t o tr DELAY 97 4.2.6 Hàm truy c p kênh ADC 97 4.2.7 Các hàm truy xu t vào 99 4.3 M t s k thu t l p trình nhúng 101 4.3.1 X lý ng t 101 4.3.2 X lý TIMER 104 4.3.3 Truy n thông chu n RS232 106 4.4 H ñi u hành nhúng 108 4.4.1 Khái ni m yêu c u chung 108 4.4.2 B n p kh i tao Boot – loader 111 4.4.3 H ñi u hành th i gian th c 113 Danh m c hình nh Hình 1: M t s ví d v th ng nhúng thơng d ng Hình 2: Sơ đ kh i quy trình Top-Down 13 Hình 3: Sơ đ t ng qt c a h th ng ñi u n ñ ng 15 Hình 4: Sơ ñ quan h (call graph) gi a module ph n c ng phân m m h th ng ñi u n ñ ng 16 Hình 5: Sơ đ kh i quy trình Bottom-Up 19 Hình 6: Bi u ñ so sánh chi phí phát tri n h th ng s d ng d c t không s d ng 21 Hình 7: Đ c t cách th c làm vi c c a m t máy ñi n tho i s d ng máy tr ng thái h u h n 22 Hình 8: Lưu đ bi u di n thu t tốn gi i phương trình b c Hình 9: Ki n trúc b n c a HTN Hình 10: C u trúc thông d ng c a m t VXL/VĐK nhúng 27 Hình 11: Ví d v ki n trúc c a h VĐK AVR 28 Hình 12: Sơ đ kh i ch c PIC16F873A 29 Hình 13: CPU Hình 14: Ki n trúc b nh Von Newmann Havard 30 Hình 15: Nguyên lý c u t o ho t đ ng xóa c a EPROM 31 Hình 16: C u trúc nguyên lý b nh RAM 32 Hình 17: Nguyên lý n hình c a c ng I/O Hình 18: Nguyên lý k t n i Master Slave s d ng SPI 34 Hình 19: Sơ đ k t n i SPI Master v i nhi u Slaver Hình 20: C u trúc tơng quan c a vi ñi u n h 8051 c a intel 35 Hình 21: M t vài s n ph m công ngh tiêu bi u ng d ng b x lý ARM 39 Hình 22: Sơ đ kh i c a chip ARM core ARM7 42 Hình 23: Sơ đ chân PIC 18F452 45 Hình 24: C u trúc b nh c a 18F452 47 Hình 25: Sơ đ kh i PIC18F452 48 Hình 26: Sơ đ kh i g p n i vào s 49 Bài gi ng H th ng nhúng 2010 – BM K thu t Máy tính – ĐH K thu t Cơng nghi p Thái ngun Hình 27: Sơ đ kh i timer0 ch ñ 8bit 50 Hình 28: Sơ ñ kh i c a timer0 ch ñ 16bit 50 Hình 29: Sơ đ kh i timer1 51 Hình 30: Sơ đ kh i Timer2 52 Hình 31: Sơ đ kh i timer3 53 Hình 32: Sơ đ giao ti p chu n RS232 53 Hình 33: Sơ đ kh i truy n d li u UART 55 Hình 34: Sơ đ kh i gi n ñ th i gian nh n d li u 57 Hình 35: Bi u đ kh i chuy n ñ i ADC 59 Hình 36: Sơ đ kh i timer 104 Hình 37: Ki n trúc m t HĐH 109 Hình 38: Nguyên lý th c hi n c a boot - loader 111 Hình 39: C u trúc c a m t boot - loader 113 Hình 40: So sánh ki n trúc RTOS OS chu n 113 Hình 41: C u trúc m t RTOS 114 Hình 42: Mơ hình tr ng thái c a trình 116 Tài li u tham kh o Bình, N T (2008) Bài gi ng: Các k thu t ñ c t Đ i h c Bách khoa Đà n ng Công, N H (2007) H th ng nhúng s phát tri n c a lĩnh v c công ngh cao "3C" ĐH KTCN Thái Nguyên John Regehr, Assist.Prof.Dr.Osman Kaan EROL (2009) Embedded System Design Vi t, T L (2008) H TH NG ĐI U KHI N NHÚNG Hà N i: ĐH BKHN Wikipedia (2010) Retrieved from Wikipedia, Bách khoa toàn thư m : http://vi.wikipedia.org/wiki/H%E1%BB%87_th%E1%BB%91ng_nh%C3%BAng Bài gi ng H th ng nhúng 2010 – BM K thu t Máy tính – ĐH K thu t Công nghi p Thái nguyên Chương I: T NG QUAN M c tiêu c a chương Giúp sinh viên hi u ñư c khái ni m nh n di n ñư c m t h th ng nhúng, n m b t ñư c nhu c u vài trò quan tr ng c a h thông nhúng s phát tri n c a ngành cơng ngh cao Tóm t t Gi i thi u nêu khái ni m h th ng nhúng Trình bày vai trị c a h th ng nhúng ngành cơng ngh cao 1.1 M đ u Trong s phát tri n m nh m c a khoa h c kĩ thu t v i n n kinh t trí th c xu hư ng h i nh p toàn c u hi n nay, th gi i Vi t Nam ñang th c hi n vi c k t h p gi a ngành thu c lĩnh v c công ngh cao m t Khoa ho c s ñào t o Đó lĩnh v c khoa h c dư i ng n c : Máy tính, Đi n t - Vi n thông Đi u n t ñ ng mà ta thư ng g i “3 C” (Computer – Communication - Control) Có th nói, trình s n xu t qu n lí hi n như: h th ng đo lư ng ñi u n t ñ ng s n xu t công nghi p; h th ng di đ ng khơng dây tiên ti n, h th ng thông tin v tinh, h th ng thơng tin d a Web, ph ñi n t , thương m i ñi n t , s d li u c a nhi u ngành kinh t c a Qu c gia, h th ng thi t b Y t hi n ñ i, thi t b ñi n t dân d ng, ñ u s n ph m c a s k t h p gi a lĩnh v c khoa h c Hi n ñang th i ñ i h u PC sau giai ño n phát tri n c a máy tính l n (Mainframe) 1960-1980, s phát tri n c a PC-Internet giai ño n 1980-2000 Giai ño n h u PC-Internet đư c d đốn t năm 2000 ñ n 2020 giai ño n c a môi trư ng thông minh mà h th ng nhúng c t lõi ñang làm nên sóng đ i m i cơng ngh thơng tin nói riêng lĩnh v c cơng ngh cao “3C”, nói chung M t th c t khách quan th trư ng c a h th ng nhúng l n g p kho ng 100 l n th trư ng PC, m i nhìn th y b n i c a cơng ngh thơng tin PC Internet cịn ph n chìm c a công ngh thông tin chi m 99% s processor toàn c u n m h nhúng cịn đư c bi t đ n S c đ y c a cơng ngh đưa cơng ngh vi n t , cơng ngh vi n, cơng ngh sinh h c h i t t o nên chip c a công ngh nano, n n t ng cho nh ng thay ñ i b n lĩnh v c công ngh cao “3C, s c kéo c a th trư ng địi h i thi t b ph i có nhi u ch c thân thi n v i ngư i dùng, có m c đ thơng minh ngày c i thi n ñưa ñ n vai trò t m quan tr ng c a h th ng nhúng ngày cao n n kinh t qu c dân Phát tri n h nhúng ph n m m nhúng qu c sách c a nhi u qu c gia th gi i, nh t giai ño n h u PC hi n nư c ta ñáng ti c lĩnh v c lâu Bài gi ng H th ng nhúng 2010 – BM K thu t Máy tính – ĐH K thu t Công nghi p Thái nguyên ñã b lãng quên, v y c n có nh ng u ch nh phù h p chi n lư c phát tri n ñ có th theo k p, rút ng n kho ng cách t t h u ñ i v i nư c khu v c th gi i trình h i nh p n n kinh t tồn c u khơng th tránh kh i hi n 1.2 Khái ni m v h nhúng H th ng nhúng (ti ng Anh: Embedded system) m t thu t ng ñ ch m t h th ng có kh t tr đư c nhúng vào m t môi trư ng hay m t h th ng m H th ng nhúng có vai trị đ m nh n m t ph n công vi c c th c a h th ng m H th ng nhúng có th m t h th ng ph n c ng có th m t h th ng ph n m m (Wikipedia, 2010) Ví d quanh ta có r t nhi u s n ph m nhúng lò vi sóng, n i cơm n, u hịa, ñi n tho i di ñ ng, ô tô, máy bay, tàu th y, ñ u ño, c u ch p hành thơng minh v.v ta có th th y hi n h th ng nhúng có m t m i lúc m i nơi cu c s ng c a Hình 1: M t s ví d v th ng nhúng thông d ng Các nhà th ng kê th gi i ñã th ng kê ñư c r ng s chip vi x lý máy PC server, m ng LAN, WAN, Internet ch chi m kho ng 1% t ng s chip vi x lý có th gi i, 99% s vi x lý l i n m h th ng nhúng Như v y công ngh th ng không ch ñơn thu n PC, m ng LAN, WAN, Internet ph n m m qu n lý nhi u ngư i thư ng nghĩ Đó ch b n i c a m t t ng băng chìm Ph n chìm c a cơng ngh thơng tin ng d ng c a h nhúng có m t m i ngành ngh c a ñ i s ng xã h i hi n Các h nhúng đư c tích h p thi t b ño lư ng ñi u n t o nên ñ u não linh h n c a s n ph m Trong h nhúng, h th ng u n nhúng đóng m t vai trò h t s c quan tr ng Bài gi ng H th ng nhúng 2010 – BM K thu t Máy tính – ĐH K thu t Cơng nghi p Thái ngun H u n nhúng h th ng mà máy tính ñư c nhúng vào vòng ñi u n c a s n ph m nh m ñi u n m t ñ i tư ng, ñi u n m t q trình cơng ngh đáp ng yêu c u ñ t H th ng ñi u n nhúng l y thông tin t c m bi n, x lý tính tốn thu t u n phát tín hi u ñi u n cho c u ch p hành Khác v i h th ng ñi u n c ñi n theo nguyên lý th y l c, khí nén, rơle, m ch tương t , h ñi u n nhúng h th ng u n s đư c hình thành t nh ng năm 1960 ñ n Trư c ñây h ñi u n s thư ng máy tính l n đ m nhi m, ngày ch c ñi u n s chíp vi x lý, h nhúng ñã thay th Ph n m m ñi u n ngày tinh s o t o nên ñ thông minh c a thi t b ngày chi m t tr ng l n giá thành c a thi t b Đi m qua v ch c x lý tin PC thi t b nhúng có nh ng nét khác bi t Đ i v i PC m ng internet ch c x lý ñang ñư c phát tri n m nh lĩnh v c qu n lý d ch v thương m i ñi n t , ngân hàng n t , ph ñi n t , thư vi n ñi n t , ñào t o t xa, báo ñi n t ng d ng thư ng s d ng máy PC ñ bàn, m ng WAN, LAN ho t đ ng th gi i o Cịn đ i v i h nhúng ch c x lý tính tốn đư c ng d ng c th cho thi t b v t lý (th gi i th t) mobile phone, qu n áo thơng minh, thi t b n t c m tay, thi t b y t , xe ô tô, t u t c hành, phương ti n v n t i thơng minh, máy đo, đ u đo, c u ch p hành thông minh, h th ng u n, nhà thơng minh, thi t b gia d ng thông minh v.v 1.3 Vai trò c a h th ng nhúng s phát tri n c a lĩnh v c công ngh cao “3C “ Các h th ng t ñ ng ñã ñư c ch t o nhi u công ngh khác thi t b máy móc t ñ ng b ng cam ch t khí, h th ng t đ ng ho t ñ ng b ng nguyên lý khí nén, th y l c, rơle ñi n, m ch ñi n t s thi t b , h th ng có ch c x lý m c ñ t ñ ng th p so v i h th ng t ñ ng hi n ñ i ñư c xây d ng n n t ng c a h th ng nhúng Trong h th ng tin h c s d ng máy tính đ h tr t đ ng hóa trình qu n lý, h th ng ñi u n t ñ ng dùng máy tính ñ ñi u n t ñ ng hóa q trình cơng ngh Chính v y thành t u c a công ngh ph n c ng công ngh ph n m m c a máy tính n t đư c áp d ng phát tri n m t cách có ch n l c hi u qu cho h th ng ñi u n t ñ ng Và s phát tri n vũ bão c a công ngh thông tin kéo theo s phát tri n không ng ng c a lĩnh v c t đ ng hóa Ta có th th y q trình h nhúng thâm nh p vào t ng ph n t , thi t b thu c lĩnh v c t ñ ng hóa đ u đo, c u ch p hành, thi t b giao di n v i ngư i v n hành th m chí vào rơle, contactor, nút b m mà trư c hoàn tồn làm b ng khí Trư c đ u ño g m ph n t bi n ñ i t tham s đo sang tín hi u n, m ch khuy ch ñ i, m ch l c m ch bi n ñ i sang chu n 4-20mA đ truy n tín hi u đo v trung tâm x lý Hi n ñ u ño ñã tích h p c chip vi x lý, bi n ñ i ADC, b truy n d li u s v i ph n m m ño ñ c, l c s , tính tốn truy n k t qu m ng s v Bài gi ng H th ng nhúng 2010 – BM K thu t Máy tính – ĐH K thu t Cơng nghi p Thái nguyên th ng máy tính trung tâm Như v y đ u đo đư c s hóa ngày thông minh ch c x lý t máy tính trung tâm trư c ñã ñư c chuy n xu ng x lý t i ch b ng chương trình nhúng đ u ño Tương t v y c u ch p hành mơtơ đư c ch t o g n k t h u v i c b servo v i thu t tốn u ch nh PID t i ch kh n i m ng s t i máy tính ch Các t rơle ñi u n chi m di n tích l n phịng u n ñư c co g n PLC(programble Logic Controller) Các bàn ñi u n v i hàng lo t ñ ng h ch báo, phím, núm u n, b t ghi gi y c ng k nh ñư c thay th b ng m t vài PC H th ng cáp truy n tín hi u analog 4-20mA, ± 10V t ñ u ño, c u ch p hành v trung tâm ñi u n nh ng nh t trư c ñây ñã ñư c thay th b ng vài cáp ñ ng tr c ho c cáp quang truy n d li u s Ta có th nói h nhúng “thay th chi m ph n ngày nhi u” ph n t , h th ng thu c lĩnh v c công ngh cao “3C” Vào nh ng năm 30 h th ng t ñ ng b ng cam ch t khí thư ng ho t ñ ng ñơn l v i m t ch c x lý Các h th ng t ñ ng dùng rơle ñi n t xu t hi n vào nh ng năm 40 có m c x lý kho ng 10 ch c Các h th ng t ñ ng dùng bán d n ho t ñ ng theo nguyên lý tương t (Analog) c a th p k 60 có m c x lý kho ng 30 ch c Vào nh ng năm 70 thi t b u n kh trình PLC ñ i v i m c ñ x lý lên hàng trăm vào nh ng năm 80 v i s tham gia c a máy tính n t main frame mini hình thành h th ng ñi u n phân c p v i s ch c x lý lên t i hàng ch c v n (105) Sang th p k 90 v i s phát tri n c a công ngh ph n c ng ph n m m, h th ng ñi u n phân tán ñ i(DCS) cho m c x lý lên t i hàng tr c tri u (107) Và sang th k 21, nh ng h th ng t ñ ng có tính t t ch c, có tư h p tác s có m c x lý lên t i hàng t (109) Tuy nhiên ñ ñ t ñư c đ thơng minh nh ng sinh v t s ng c n nhi u th i gian h th ng t đ ng cịn c n tích h p nhi u cơng ngh cao khác công ngh c m bi n, công ngh v t li u m i, công ngh quang laser v.v Đây xu th phát tri n c a h th ng t ñ ng ngày s d ng nhi u công ngh m i c u trúc ho t đ ng c a Trong u n q trình cơng ngh , vi c áp d ng h nhúng ñã t o kh t đ ng hóa tồn b dây chuy n s n xu t Ki n trúc h th ng ñi u n trư c t p trung v x lý t i m t máy tính ñ u ño, c u ch p hành, giao di n v i ngư i v n hành đ u đư c thơng minh hóa có nhi u ch c x lý t i ch kh n i m ng nhanh t o thành h th ng m ng máy ñi u n ho t ñ ng theo ch ñ th i gian th c Ngồi ch c u n giám sát dây chuy n s n xu t h th ng cịn có nhi u s d li u, kh t xác ñ nh kh c ph c h ng hóc, kh th ng kê, báo cáo k t h p h th ng m ng máy tính qu n lý, l p k ho ch, thi t k kinh doanh t o thành h th ng t đ ng hóa s n xu t toàn c c Bài gi ng H th ng nhúng 2010 – BM K thu t Máy tính – ĐH K thu t Cơng nghi p Thái nguyên Trong lĩnh v c rôbôt, v i s áp d ng thành t u c a h nhúng, rơbơt có th giác xúc giác Vi c áp d ng trí khơn nhân t o vào rơbơt đưa rơbơt t ng d ng ch y u công nghi p sang lĩnh v c d ch v y t K t h p v i thành t u c a n t , rơbơt ngày uy n chuy n thông minh Trong tương lai rơbơt khơng ch thay th ho t đ ng b p c a ngư i mà cịn có th thay th cơng vi c địi h i h at đ ng trí não c a ngư i Lúc h th ng ñi u n c a rôbôt không ch vi x lý m nh mà cịn có s h tr c a máy tính m ng nơron nhân t o, x lý song song nhúng rôbôt Các nghiên c u phát tri n hi n cịn giai đo n ban đ u 1.4 Đ c tính, phương pháp thi t k xu th phát tri n c a h nhúng Các h nhúng nh ng h k t h p ph n c ng ph n m m m t cách t i ưu Các h nhúng nh ng h chuyên d ng, thư ng ho t ñ ng ch ñ th i gian th c, b h n ch v b nh , giá thành ph i r l i ph i ho t ñ ng tin c y tiêu t n lư ng Các h nhúng r t đa d ng có nhi u kích c , kh tính tốn khác Ngồi h nhúng thư ng ph i ho t ñ ng mơi trư ng kh c nghi t có đ nóng m, rung xóc cao Ví d ñi u n máy diesel cho tàu bi n, thi t b c nh báo cháy n h m lò Các h th ng nhúng l n thư ng h n i m ng máy bay, tàu vũ tr thư ng có nhi u m ng nhúng k t n i ñ ki m sốt ho t đ ng u n.Trong tơ hi n đ i có đ n 80 nút m ng k t n i ñ u ño c u ch p hành ñ b o đ m tơ ho t đ ng an toàn tho i mái cho ngư i s d ng Thi t k h th ng nhúng thi t k ph n c ng ph n m m ph i h p Cách thi t k c ñi n cách xác ñ nh trư c ch c ph n m m (SW) ph n c ng (HW) r i sau bư c thi t k chi ti t ñư c ti n hành m t cách ñ c l p hai kh i Hi n ña s h th ng t đ ng hóa thi t k (CAD) thư ng dành cho thi t k ph n c ng Các h th ng nhúng hi n s d ng đ ng th i nhi u cơng ngh vi x lý, DSP, m ng chu n ph i ghép, protocol, v y xu th thi t k h nhúng hi n địi h i có kh thay đ i m m d o trình thi t k ph n HW SW Đ có đư c thi t k cu i t i ưu, trình thi t k SW HW ph i ph i h p v i ch t ch có th thay ñ i sau m i l n th ch c ho t ñ ng t ng h p Thi t k h nhúng địi h i ki n th c ña ngành v ñi n t , x lý tín hi u, vi x lý, thu t u n l p trình th i gian th c Ph n m m h nhúng ngày chi m t tr ng cao ñã tr thành m t thành ph n c u t o nên thi t b bình đ ng ph n khí, linh ki n n t , linh ki n quang h c h nhúng ngày ph c t p ñáp ng yêu c u kh t khe v th i gian th c, tiêu lư ng, ho t ñ ng tin c y n ñ nh hơn, có kh h i tho i cao, có kh k t n i m ng, có thích nghi, t t ch c cao có kh tái c u m t th c th , m t tác nhân Và có kh ti p nh n lư ng t nhi u ngu n khác (ánh sáng, rung ñ ng, ñi n t trư ng, sinh h c ) ñ t o nên h th ng t ti p nh n lư ng q trình h at đ ng Bài gi ng H th ng nhúng 2010 – BM K thu t Máy tính – ĐH K thu t Cơng nghi p Thái nguyên 10 Tuy nhiên h th ng nhúng hi n cịn ph i đ i m t v i nhi u thách Đ ph c t p c a h th ng tăng cao k t h p nhi u lĩnh v c ña ngành, k t h p ph n c ng m m, phương pháp thi t k ki m tra chưa chín mu i Kho ng cách gi a lý thuy t th c hành l n thi u phương pháp lý thuy t hoàn ch nh cho kh o sát phân tích tồn c c c a h nhúng bao g m lý thuy t ñi u n t ñ ng, thi t k máy, công ngh ph n m m, n t , vi x lý, cơng ngh h tr khác M t khác h nhúng cịn nhi u v n đ c n gi i quy t v i đ tin c y tính m c a h th ng Do h th ng nhúng thư ng ph i h i tho i v i môi trư ng xung quanh nên nhi u g p nh ng tình hu ng khơng lư ng trư c d d n ñ n h th ng b lo n Trong q trình ho t đ ng m t s ph n m m thư ng ph i ch nh l i thay ñ i nên h th ng ph n m m có th khơng ki m sốt đư c Đ i v i h th ng m , hãng th ñưa module m i, thành ph n m i vào có th gây nên s ho t đ ng thi u tin c y 1.5 Môi trư ng thông minh Công ngh bán d n phát tri n m nh theo xu th ngày r , tích h p cao, có kh tính tốn l n, kh k t n i toàn c u, kh ph i h p v i c m bi n c u ch p hành vi ñi n sinh h c, kh giao di n khơng qua bàn phím t o ti n đ s cho s bùng n c a thi t b v t d ng thông minh xung quanh ta Đây s kh i ñ u c a th i đ i h u PC - Mơi trư ng thông minh Các ph n m m nhúng chip vi h ht ng r t phong phú có đ m m d o, tái s d ng cao S c đ y c a cơng ngh s đưa cơng ngh vi n t ti p c n c ng v i công ngh sinh h c t o nên công ngh nano v i ñ ph c t p giga vào th p niên 20102020 Các chip vi h th ng x lý h n h p tương t s MS-SoC (Mixed Signal System on chip) vào giai ño n s có t transistor, 1000 lõi CPU, 100MB b nh ho t ñ ng t n s 200GHz V i nh ng vi h th ng có kh tính tốn siêu h ng vi c thi t k h nhúng s g p không thách th c x lý song song, ñ ph c t p c a ph n m m nhúng kh cung c p lư ng cho thi t b c m tay Trong tương lai lư ng cho truy n d li u s l n g p t ñ n 30 l n lư ng ho t ñ ng c a CPU Trư c ñây h th ng thư ng ñư c thi t k n n ph n c ng PC ph n m m Windown ho c Linux, ngày s lư ng h n n (platform) cho thi t k h nhúng có kho ng 25 Trong tương lai h nhúng s ñư c thi t k n n chip MS-SoC t o nên platform thi t k chuyên d ng v i s lư ng s lên ñ n 500 lo i Ta có th li t kê m t s ví d n platform raptor II cho thi t k camera s , PXA240 cho thi t k thi t b PDA, TL850 cho TV s , BLUECORE cho công ngh không dây Bluetooth, CDMA cho mobile phone 3G h MS-SoC s có kh tái c u hình s cơng c ch ch t cho s n ph m c a công ngh cao “3C” Bài gi ng H th ng nhúng 2010 – BM K thu t Máy tính – ĐH K thu t Công nghi p Thái nguyên 102 - #INT_CCP1 : có Capture hay compare CCP1 - #INT_CCP2 : có Capture hay compare CCP2 - #INT_COMP : ki m tra b ng Comparator - #INT_EXT : ng t - #INT_EXT1 : ng t - #INT_EXT2 : ng t - #INT_I2C : có ho t đ ng I 2C - #INT_LCD : có ho t đ ng LCD - #INT_LOWVOLT : phát hi n áp th p - #INT_PSP : có data vào c ng Parallel slave - #INT_RB : b t kỳ thay ñ i chân B4 ñ n B7 - #INT_RC : b t kỳ thay ñ i chân C4 ñ n C7 - #INT_RDA : data nh n t RS 232 s n sàng - #INT_RTCC : tràn Timer - #INT_SSP : có ho t đ ng SPI hay I 2C - #INT_TBE : b ñ m chuy n RS 232 tr ng - #INT_TIMER0 : m t tên khác c a #INT_RTCC - #INT_TIMER1 : tràn Timer - #INT_TIMER2 : tràn Timer - #INT_TIMER3 : tràn Timer - #INT_TIMER5 : tràn Timer - #INT_OSCF : l i OSC - #INT_PWMTB : ng t cu PWM time base - #INT_IC3DR : ng t ñ i hư ng ( direct ) c a IC - #INT_IC2QEI : ng t c a QEI - #INT_IC1 : ng t IC d) Thi t l p c u hình ng t 1) enable_interrupts ( int_ ); // cho phép ng t ho t đ ng, int_ ng t m c c VD: enable_interrupts (int_timer0);// cho phép ng t timer làm vi c enable_interrupts (int_timer1 ) ;// cho phép ng t timer làm vi c enable_interrupts ( global );// cho phép ng t toàn c c 2) disable_interrupts (int_); // c m ng t, tham s int_ tương t ph n VD: disable_interrupts (int_timer0);// cho phép ng t timer làm vi c disable_interrupts (int_timer1 ) ;// cho phép ng t timer làm vi c disable_interrupts ( global );// cho phép ng t toàn c c 3) clear_interupt (int_); // xóa c ng t VD: Bài gi ng H th ng nhúng 2010 – BM K thu t Máy tính – ĐH K thu t Công nghi p Thái nguyên 103 Clear_interrupts(int_time0);// xóa c ng t c a timer0 4) ext_int_edge ( source , edge ); // thi t l p ngu n ng t cho ng t ngo i vi Trong đó: - source: ng t đư c thi t l p, v i PIC 18 có ng t ngo i vi EXT0, EXT1, EXT2 tương ng v i source = 1, ho c 2, ho c - edge: = L_TO_H ng t t i c nh dương, = H_TO_L ng t t i c nh âm e) M t ví d Ví d đơn gi n chi b t ng t c ng B (b t kỳ tín hi u xu t hi n ti B4B7) sau đưa v trí tương ng c ng D Trong chương trình d dàng nh n th y chương trình khơng làm gì, ch có ng t chip m i th c hi n ñ c giá tr t B ñưa D M ch proteus Chương trình #include #device *=16 #use delay (clock = 20000000 ) #INT_RB // khai bao su dung ngat thay trang thai tren cong B Void RB_LED ( ) // chuong trinh phuc vu ngat { output_D(input_B()); // doc cong B dua cong D } void main ( ) { // cau hinh cac cong vao va ngat set_tris_b ( 0xF0 ) ; // portB = 11110000 , B4-B7 vao , B0-B3 Bài gi ng H th ng nhúng 2010 – BM K thu t Máy tính – ĐH K thu t Công nghi p Thái nguyên 104 set_tris_d ( 0x00 ) ; // portD = 00000000 , D0-D7 enable_interrupts ( INT_RB ) ; // cho phep ngat cong B enable_interrupts ( GLOBAL ) ; // cho phep ngat toan cuc // chuong trinh chinh khong lam gi while( true ); } 4.3.2 X lý TIMER Trong t t c lo i PIC đ u tích h p b timer, v b n ch t timer b ñ m (counter), nhiên ngu n xung đ m có th ngu n ngo i vi ho c t b dao ñ ng c a h th ng Chính th v m t ch c ta có th hi u chúng có ch c năng, m t b ñ m hai b đ nh th i Hình 36: Sơ ñ kh i timer B ñ nh th i gi ng hàm DELAY, ñ t o m t kho ng th i gian tr xác ñ y, nhiên khác v i hàm DELAY ch , hàm DELAY tr CPU th c hi n m t cơng vi c khơng sinh cơng đ sinh th i gian c n tr , vi c làm t n hao hi u xu t c a CPU khơng thích h p v i h th ng yêu c u th i gian th c, cịn v i ch c đ nh th i c a timer CPU v n có th làm m t vi c khác vi c ñ nh th i giao cho Timer th c hi n, hay nói cách khác CPU timer lúc th c hi n song song Ch c counter hay cịn g i đ m s ki n, lúc b timer ph i ñư c c u hình l y ngu n xung đ m t chân ngo i vi, timer s tr thành b couter dùng cho vi c ñ m xác xung ñ u vào ñư c g i v t sensor s Các hàm x lý timer0: 1) setup_timer_0 (mode); // hàm c u hình cho timer0 Bài gi ng H th ng nhúng 2010 – BM K thu t Máy tính – ĐH K thu t Cơng nghi p Thái ngun 105 Trong : mode có th ho c nhóm tham s sau: - RTCC_INTERNAL, RTCC_EXT_L_TO_H ho c RTCC_EXT_H_TO_L - RTCC_DIV_2, RTCC_DIV_4, RTCC_DIV_8, RTCC_DIV_16, RTCC_DIV_32, RTCC_DIV_64, RTCC_DIV_128, RTCC_DIV_256 - N u PIC18 có thêm: RTCC_OFF, RTCC_8_BIT Khi s d ng h ng s ph i ñư c ghép b ng phép ho c “|” VD: setup_timer_0 (RTCC_DIV_2|RTCC_EXT_L_TO_H); 2) set_timer0(value) ; // thi t l p giá tr ñ m cho timer, lưu ý t t c b timer ñ u ñ m ti n, b tràn timer l i ti p t c ñ m t Value giá tr n p, c n lưu ý value bit n u timer 8bit, 16bit n u timer 16bit 3) get_timer0; // hàm tr v giá tr hi n th i c a timer0 Ví d : M t ví d đơn gi n s u d ng ng t timer1 #if defined( PCM ) #include #fuses HS,NOWDT,NOPROTECT,NOLVP #use delay(clock=20000000) #elif defined( PCH ) #include #fuses HS,NOWDT,NOPROTECT,NOLVP #use delay(clock=20000000) #endif // This interrupt is used to output the waveforms The interrupt // is automatically called ever 200us #INT_TIMER1 void wave_timer() { int i; set_timer1(0xFC4F); // sets timer to interrupt in 200us //… cong viec muon thuc hien sau moi 200us } void main() { setup_timer_1(T1_INTERNAL|T1_DIV_BY_1); // Ch n ngu n xung h th ng enable_interrupts(INT_TIMER1); // cho phép ng t timer1 enable_interrupts(GLOBAL); while(TRUE); // chương trình khơng làm } Bài gi ng H th ng nhúng 2010 – BM K thu t Máy tính – ĐH K thu t Công nghi p Thái nguyên 106 4.3.3 Truy n thơng chu n RS232 a) C u hình c ng RS232 Đ c u hình ch đ làm vi c cho công RS232 PIC t i thiêu ta ph i s d ng hai hàm sau: • #use delay (clock = xxxx ) // giá tr OSC h th ng, tham s c n xác đ h t th ng tính tốn t c đ truy n thơng • #use rs232 (option); // tùy ch n c u hình cho giao th c truy n thơng, option có th giá tr sau (m t s h ng s thông d ng): o BAUD=x: t c đ truy n thơng o XMIT=pin: chân truy n o RCV=pin: chân nh n o PARITY=X: v i x = N, E, hoăc O o STOP=X: X s bit STOP b) M t s hàm truy n thông thông d ng 1) printf ( string ) ho c Printf ( cstring , values ); //truy n m t xâu c ng RS232 Trong ñó: - string chu i h ng hay m ng ký t ( k t thúc b i ký t null ) - value danh sách bi n , cách b i d u ph y Gi ng hàm xu t hình ngơn ng C, ta ph i c u hình cho d li u đư c g i cơng RS232 g i hình Cú pháp ñ nh d ng cho value theo ki u %wt Trong w có th có ho c khơng, ch s v trí ch a giá tr Còn t ki u giá tr hi n th t có th : - C : ký t - S : chu i ho c ký t - U : s bit không d u - x : s bit ki u hex ( ký t vi t thư ng ,VD : 1ef ) - X : s bit ki u hex ( ký t vi t hoa ,VD : 1EF ) - D : s bit có d u - e : s th c có lu th a VD : e12 - f : s th c - Lx : s hex 16 /32 bit ( ký t vi t thư ng ) - LX : hex 16 /32 bit ( ký t vi t hoa ) - Lu : s th p phân không d u - Ld : s th p phân có d u VD: Int k =6 ; Printf ( " hello " ); Printf ( " %u " , k ); Bài gi ng H th ng nhúng 2010 – BM K thu t Máy tính – ĐH K thu t Cơng nghi p Thái nguyên 107 2) KBHIT ( ); // hàm tr v s báo trình nh n ký t thành cơng s n sàng cho vi c đ c, b ng n u trình nh n chưa hồn t t Hàm có th dùng đ h i vịng xác đ nh th i m nh n thành cơng ký t đư ng truy n 3) value=getch(); // hàm ñ c ký t t b ñ m nh n, giá tr tr v byte 4) putc(data), getch(); hàm truy n nh n m t ký t ñư ng truy n Ví d : Ví d l p trình cho PIC truy n liên t c ñ c c ng B g i công D truy n qua ñư ng RS232 chp PIC nhân, PIC nh n liên t c ñ c t ñương truy n RS232 g i c ng D Chương trình PIC truy n #include #use delay(clock=40000000) #use rs232(baud=9600 , parity=n , xmit=pin_C6 , rcv=pin_C7 ) unsigned int8 data; void main ( ) { set_tris_B(0xFF); set_tris_D(0x00); while(1){ data=input_B(); putc(data); output_D(data); } } Chương trình PIC nh n #include #use delay(clock=40000000) #use rs232(baud=9600 , parity=n , xmit=pin_C6 , rcv=pin_C7 ) unsigned int8 data; void main ( ) { set_tris_D(0x00); while(1){ while(!kbhit()); data=getch(); output_D(data); } } Bài gi ng H th ng nhúng 2010 – BM K thu t Máy tính – ĐH K thu t Cơng nghi p Thái ngun 108 Sơ đ m ch mơ ph ng Proteus 4.4 H ñi u hành nhúng 4.4.1 Khái ni m yêu c u chung Ngu n g c ñ i c a h ñi u hành đ đ m nhi m vai trị trung gian ñ tương tác tr c ti p v i ph n c ng c a máy tính, ph c v cho nhi u ng d ng ña d ng Các h ñi u hành cung c p m t t p ch c c n thi t ñ cho phép gói ph n m m ñi u n ph n c ng máy tính mà không c n ph i can thi p tr c ti p sâu H ñi u hành c a máy tính có th th y bao g m drivers cho ngo i vi tích h p v i máy tính card hình, card âm Các cơng c đ qu n lý tài ngun b nh thi t b ngo i vi nói chung Đi u t o m t giao di n r t thu n l i cho ng d ng ngư i s d ng phát tri n ph n m m n n ph n c ng có Đ ng th i tránh ñư c yêu c u hi u bi t sâu s c v ph n c ng có th phát tri n d a ngơn ng b c cao H th ng u hành b n ch t m t lo i ph n m m khác v i lo i ph n m m thông thư ng S khác bi t n hình h th ng ñi u hành ñư c n p th c thi ñ u tiên h th ng b t ñ u kh i ñ ng ñư c th c hi n tr c ti p b i b x lý c a h th ng H th ng ñi u hành ñư c vi t ñ ph c v ñi u n b x lý tài nguyên khác h th ng b i s Bài gi ng H th ng nhúng 2010 – BM K thu t Máy tính – ĐH K thu t Công nghi p Thái nguyên 109 ñ m nhi m ch c qu n lý l p l ch trình s d ng CPU chia s tài nguyên Hình 37: Ki n trúc m t HĐH Tóm l i, h u hành th c ch t m t giao di n quan tr ng, giao ti p tr c ti p v i t ng ph n c ng c p th p ph c v cho c ngư i s d ng chương trình ng d ng th c thi n n ph n c ng h th ng Hơn n a h u hành cịn có vai trị quan tr ng vi c ñ m nhi m tác v nguyên lý chính: (1) Qu n lý trình, (2) Qu n lý tài nguyên, (3) B o v tài nguyên kh i s xâm ph m c a trình th c thi sai Yêu c u chung v i m t HĐH Như ñã ñư c bi t ñ i v i h th ng th i gian th c, yêu c u thi t k m t h ñi u hành ñ c bi t H nhúng th i gian th c l i yêu c u h ñi u hành ph i th c hi n v i m t ngu n tài nguyên thư ng r t h n h p M c dù kích thư c b nh tích h p on chip s có th tăng lên tương lai v i s phát tri n hi n h ñi u hành cho h nhúng ch nên c kho ng nh 32 Kbytes H th ng ñi u hành ñ m nhi m vi c ñi u n ch c b n c a h th ng bao g m ch y u qu n lý b nh , ngo i vi vào giao ti p v i h th ng ph n c ng M t ñi m khác bi t b n ñã bi t v h ñi u hành v i ph n m m khác th c hi n ch c u n s ki n th c thi h th ng Có nghĩa th c hi n tác v theo m nh l nh yêu c u t chương trình ng d ng, thi t b vào s ki n ng t B n nhân t tác đ ng tr c ti p t i trình thi t k h ñi u hành (1) kh th c hi n, (2) lư ng tiêu th , (3) giá thành, (4) kh tương thích Hi n có th b t g p r t nhi u h ñi u hành khác ñ c bi t cho h nhúng s tác ñ ng c a nhân t nêu H u h t chúng đ u có ki u d ng giao di n gi ng ch qu n lý th c thi tác v bên r t khác M i h ñi u hành ñư c thi t k ph c v tr c ti p ch c ñ c thù ph n c ng c a h nhúng khơng d dàng so sánh đư c gi a chúng v i Bài gi ng H th ng nhúng 2010 – BM K thu t Máy tính – ĐH K thu t Cơng nghi p Thái nguyên 110 Hai thành ph n thi t k h ñi u hành là: ph n h t nhân (kernel) chương trình h th ng H t nhân ph n lõi c a h u hành Nó đư c s d ng ñ ph c v cho b qu n lý trình, b l p l ch b qu n lý tài nguyên b qu n lý vào Ph n h t nhân ñ m nhi m ch c l p l ch, ñ ng b b o v h th ng b i vi c s d ng sai, x lý ng t…Ch c u n c a ph c v ñi u n ph n c ng bao g m ng t, ghi ñi u n, t tr ng thái b ñ nh th i gian Nó n p ph n m m ñi u n thi t b ñ cung c p ti n ích chung ph i h p v i ho t ñ ng vào v i h th ng Ph n h t nhân có vai trị u n r t quan tr ng ñ ñ m b o t t c ph n c a h th ng có th làm vi c n đ nh th ng nh t Hai ki n trúc thi t k ph n h t nhân kinh ñi n nh t ki n trúc vi h t nhân ñơn h t nhân (monolithic) Các vi h t nhân cung c p ch c ñi u hành b n c t lõi (thô) theo ch module tương ñ i ñ c l p ñ m nhi m tác v c th chuy n r i r t nhi u d ch v n hình u hành h th ng th c thi không gian ngư i s d ng Nh ch mà d ch v có th đư c kh i t o ho c c u hình l i mà khơng nh t thi t ph i kh i t o l i toàn b h th ng Ki n trúc vi h t nhân cung c p đ an tồn cao b i d ch v h th ng ch y t ng ngư i s d ng v i h n ch v truy nh p vào tài nguyên c a h th ng có th đư c giám sát Ki n trúc vi h t nhân có th đư c xây d ng m t cách m m d o đ phù h p v i c u hình ph n c ng khác m t cách linh ho t so v i ki u ki n trúc h t nhân monilithic Tuy nhiên tính đ c l p tương ñ i gi a modul vi h t nhân nên c n thi t ph i có m t ch trao đ i thông tin hay truy n thông gi a modul v y có th lý làm ch m t c đ gi m tính hi u qu ho t ñ ng c a h th ng Đ c ñi m n i b t c t lõi c a ki n trúc vi h t nhân kích thư c nh d dàng s a ñ i xây d ng linh ho t Các d ch v th c thi t ng c a h t nhân v y đ t đư c đ an tồn cao Ki n trúc vi h t nhân ñư c phát tri n m nh m h th ng ña x lý ví d Windows 2000, Mach QNX Ki u ki n trúc monolithic cung c p t t c ch c năng/d ch v y u thơng qua m t qua trình x lý đơn l Chính v y kích thư c c a chúng thư ng l n ki u ki n trúc vi h t nhân Lo i hình ki n trúc thư ng ñư c áp d ng ch y u cho ph n c ng c th mà h t nhân monolithic có s tương tác tr c ti p v i ph n c ng nh v y mà kh t i ưu d dàng so v i áp d ng ki u ki n trúc vi h t nhân Chính v y lý t i ki n trúc monolithic khơng th thay đ i m m d o linh ho t ki u vi h t nhân Ví d n hình v lo i hình ki n trúc h t nhân monolithic bao g m Linux, MacOS, DOS Vì h u hành ñòi h i v tài nguyên kiêm c ch c qu n lý chúng v y ngư i thi t k c n ph i n m ñư c thông tin v chúng m t cách ñ y đ Ví d đ i v i h th ng ñi u hành cho Sun Microsystem Solaris yêu c u t i thi u không gian b nh ñĩa 8MB; Windows 2000 yêu c u kho ng g p hai l n v y Bài gi ng H th ng nhúng 2010 – BM K thu t Máy tính – ĐH K thu t Công nghi p Thái nguyên 111 4.4.2 B n p kh i tao Boot – loader Thu t ng “bootstrap” b t ngu n t cách di n ñ t c xưa có nghĩa t vươn lên b ng n l c c a b n thân “pulling yourself up by your own bootstraps” Nó đư c s d ng m t thu t ng r t ph bi n ñ g i tên m t ph n m m th c thi vi c kh i t o chương trình th c thi n n vi n t kh trình nói chung Chương trình thư ng r t nh g n ñ m nhi m ch c ti n ho t ñ ng c a h ñi u hành Cũng r t ph bi n hi n ngư i ta thư ng dùng thu t ng “boot loader” (b n p kh i t o) thay “bootstrap” B n p kh i t o th c ch t m t chương trình nh th c hi n h th ng ñ m nhi m ch c c n thi t ñ ñưa h ñi u hành vào ho t ñ ng Trong h nhúng, l nh ñư c th c hi n ñ u tiên thư ng n m vùng nh ROM thư ng thu c lo i ch m Dó đó, m t nh ng tác v ph bi n c a b n p kh i t o chép chương trình ng d ng (main program) vào vùng b nh nhanh trư c chúng ñư c th c hi n B n p kh i t o có nhi m v kh i t o vùng nh d li u ghi h th ng trư c nh y t i chương trình ng d ng Cũng có r t nhi u d ng khác c a b n p kh i t o, t d ng ñơn gi n ñ n ph c t p D ng ñơn gi n nh t có th ch m t l nh nh y t i chương trình ng d ng sau reset mà không th c hi n b t kỳ m t tác v kh i t o hay n p chương trình Chương trình ng d ng s ph i t thi t l p ñ th c thi tác v c a Các b n p kh i t o ph c t p có th th c hi n nhi m v chu n đốn b nh kh i t o h th ng, ki m tra chương trình n p chúng trư c cho b x lý nh y t i th c hi n chương trình ng d ng Sau s tìm hi u v m t môi trư ng phát tri n n hình th o lu n v m t s thu c tính nguyên lý b n c a b n p kh i t o Hình 38: Nguy n lý th c hi n c a boot - loader Trong môi trư ng phát tri n h nhúng n hình, n n ph n c ng đích c n phát tri n ñư c k t n i v i tr m ch (host) thông qua m t giao di n truy n thông M t môi trư ng phát tri n bao g m m t chương trình g r i (debugger) ví d Code Bài gi ng H th ng nhúng 2010 – BM K thu t Máy tính – ĐH K thu t Công nghi p Thái nguyên 112 Composer Studio c a Texas Instrument, ñ cho phép ngư i phát tri n chương trình n p th c hi n th nghi m chương trình ph n c ng đích M t s cơng c h tr ví d đ thi t l p ñi m d ng (breakpoint)…và nhi m v ph tr khác ñ bám sát tr ng thái trình th c thi th i gian th c c a chương trình th nghi m Đi u r t có ý nghĩa t o nên m t s d dàng trình phát tri n g r i m t chương trình ng d ng m i cho n n ph n c ng đích Thơng thư ng ng d ng ñư c phát tri n môi trư ng ngôn ng C chương trình ng d ng đư c th c thi n m ph m vi hàm main() ph n kh i t o chương trình n p ti n th c hi n chương trình thư ng khơng tư ng minh ho c b n ñi Th c ch t ñi u ch ñúng ñ i v i nh ng ngư i phát tri n mã chương trình ng d ng b ng ngơn ng b c cao (đ c bi t cho ng d ng không ph i cho h nhúng) mà không c n ph i quan tâm nhi u ñ n tác v s ñ m nhi m vi c kh i t o ghi h th ng, ngăn x p d li u…Đi u r t có ý nghĩa ñ t o m t c m giác môi trư ng phát tri n thân thi n cho ngư i phát tri n chương trình ch c n t p trung ph n th c hi n ch c c a h th ng Tuy nhiên môi trư ng phát tri n h th ng nhúng vi c th c thi chương trình thư ng b t ñ u t i ñ a ch chương trình nơi b t đ u tác v kh i t o h th ng trư c nh y t i th c hi n chương trình main() Q trình đư c b t đ u th c ch t th c thi m t tác v ng t kích ho t b i s ki n reset Boot loader có nhi u d ng khác Hình 21 mơ t m t b n p kh i t o cho m t ng d ng C nhúng Trong ví d vector RESET tr t i th t c c_int00 th c hi n tác v kh i t o Ngoài vi c kh i t o ghi, ngăn x p… bi n C c n ñư c kh i t o trư c ñư c th c thi Quá trình s chép t ph n cinit vi t vào ñ a ch d li u tương ng c a chúng ph n bss Sau hồn thành chương trình main() m i ñư c g i b t ñ u th c thi Trong ví d đơn gi n b n p kh i t o t h p vector RESET v i hàm kh i t o c_int00 gi thi t r ng c chương trình b n p kh i t o chương trình ng d ng đ u n m vùng nh v t lý non volatile Trong trư ng h p h th ng ph c t p hơn, b n p kh i t o có th bao hàm c tác v chép chương trình vào vùng nh fast volatile trư c đư c g i th c thi B n p kh i t o có th đ m nhi m c ch c chu n đốn, g r i nâng c p h th ng n u có Ch c chu n đốn có th ch ki m tra b nh , ngo i vi đ tương thích tích h p h th ng Ch c g r i có th m t giao di n giám sát cung c p thông tin tr ng thái th i gian th c v h th ng mà ngư i ta v n thư ng bi t t i v i tên g i chương trình monitoring Vi c nâng c p ho c thay ñ i chương trình b n p kh i t o có th ñư c th c thi nh kh l p trình FLASH in circuit n p t b nh ngồi thơng qua giao di n v i tr m ch ho c ch c tương t Bài gi ng H th ng nhúng 2010 – BM K thu t Máy tính – ĐH K thu t Cơng nghi p Thái ngun 113 Hình 39: C u trúc c a m t boot - loader 4.4.3 H ñi u hành th i gian th c QNX m t ví d n hình v h th ng th i gian th c RTOS ñư c thi t k ñ ñáp ng yêu c u v l p l ch r t kh t khe QNX chưa th c s phù h p đ có th ñư c th c thi cho h th ng nhúng b i địi h i dung lư ng b nh không nh thư ng phù h p cho ng d ng địi h i v đ an tồn đ tin c y l n H th ng ñi u hành th i gian th c h ñi u hành h tr kh xây d ng h th ng th i gian th c Hình 40: So sánh ki n trúc RTOS OS chu n H th ng ñi u hành v i ph n lõi h t nhân ph i đ m nhi m tác v sau: X lý ng t • Lưu tr ng c nh chương trình t i th i m xu t hi n ng t • Nh n d ng l a ch n ñúng b x lý ph c v d ch v ng t Đi u n q trình • • • Đi u n ngo T o k t thúc trình/tác v L p l ch u ph i ho t ñ ng h th ng Đ nh th i i vi • X lý ng t Bài gi ng H th ng nhúng 2010 – BM K thu t Máy tính – ĐH K thu t Cơng nghi p Thái nguyên 114 • Kh i t o giao ti p vào Hình 41: C u trúc m t RTOS Tùy theo ch th c hi n xây d ng ho t ñ ng c a h t nhân ngư i ta phân lo i m t s lo i hình: (1) H th ng th i gian th c nh : V i lo i ph n m m ñư c phát tri n mà khơng c n có h u hành, ngư i l p trình ph i t qu n lý x lý v n ñ v ñi u n h th ng bao g m: • X lý ng t • Đi u n q trình/ tác v • Qu n lý b nh (2) Cơng ngh đa nhi m • M i q trình có m t khơng gian b nh riêng • Các q trình ph i đư c chia nh thành Thread chia s không gian b nh (3) Các d ch v cung c p b i h t nhân • • • • T o k t thúc trình/ tác v Truy n th ng gi a trình Các d ch v v ñ nh th i gian M t s d ch v cung c p h tr vi c th c thi liên quan ñ n ñi u n h th ng Đ c ñi m b n c a h t nhân th i gian th c n hình: • Kích thư c nh (lưu tr tồn b ROM) • H th ng ng t • Khơng nh t thi t ph i có ch b o v o Ch h tr ph n ki m tra chương trình ng d ng o Tăng t c ñ chuy n ng c nh truy n thơng gi a q trình Bài gi ng H th ng nhúng 2010 – BM K thu t Máy tính – ĐH K thu t Cơng nghi p Thái nguyên 115 o Khi trình ng d ng th c hi n u c u h th ng u hành có th đư c th c hi n thơng qua l i g i hàm thay s d ng ch ng t m m • Vi h t nhân (Micro-kernel): Bao g m m t t p nh d ch v h tr o Qu n lý q trình o Các d ch v truy n thơng gi a trình n u c n o Các ph n m m ñi u n thi t b trình ng d ng H t nhân n hình b n • Lo i h t nhân ñơn gi n nh t m t vịng l p vơ h n thăm dị s ki n xu t hi n h th ng ph n ng l i theo s thay đ i n u có • V i m t b x lý c u hình nh nh t, khơng ph i lúc có th lưu c t ng c nh khơng th thay đ i tr ngăn x p ho c vùng ngăn x p r t h n ch • Thay s d ng ghi thi t b , vịng l p thăm dị có th giám sát bi n mà ch u s thay ñ i c p nh t b i b x lý ng t • H t nhân có th đư c xây d ng cho t t c tín hi u logic ñư c ñi u n b i vịng l p nh p đư c u n b i ng t • Các tác v l n c n nhi u th i gian th c hi n có th đư c chia nh thành tác v nh ñư c th c hi n t i th i ñi m khác nh vào ch chuy n s d ng b đ m • Các h t nhân th c thi theo ch ng t r t gi ng v i lo i h t nhân th c hi n theo ch vòng l p thăm dị Nó x lý t t c tác v thơng qua d ch v ng t • Các h t nhân l n ph c t p s bao g m m t s d ch v ph ph c v cho vi c truy n thơng gi a q trình Và n u ñư c b sung ñ y ñ s tr thành m t h ñi u hành ñ y ñ Các ki u lo i h t nhân b n • H t nhân th c hi n vịng l p thăm dị • H t nhân th c hi n theo ch ng t • H t nhân trình v n hành trình Vi c l a ch n lo i h t nhân hoàn toàn tùy thu c vào b x lý kích thư c ph n m m, nhiên riêng lo i h t nhân v n hành theo q trình khơng phù h p v i b x lý nh H t nhân trình Các h t nhân trình rõ ràng ph c t p h t nhân th c hi n theo ch thăm dị u n ng t Các đư ng truy n tín hi u logic bên trình d ch v ng t đư c tích h p th c hi n thông qua vi c truy n d li u Bài gi ng H th ng nhúng 2010 – BM K thu t Máy tính – ĐH K thu t Công nghi p Thái nguyên 116 Hình 42: Mơ hình tr ng thái c a q trình H t nhân s ph i đ m nhi m ch c l p l ch cho q trình theo mơ hình tr ng thái • RUN: q trình đư c th c hi n • WAIT: trình ch m t s ki n ho c tín hi u vào kích ho t q trình • READY: q trình s n sàng ñư c th c hi n Các ph n t thu c tính c a m t q trình: Các ph n t c n thi t ñ ph c v cho vi c l p l ch Ví d ñ i v i ch l p l ch theo m c ñ ưu tiên s yêu c u thơng tin sau v i m i q trình: • • • • Tên (ñ a ch b nh c a ph n t trình) Tr ng thái: RUN, WAIT, READY M c ñ ưu tiên Ng c nh (dùng tr ñ qu n lý lưu c t thông tin ngăn x p) Bài gi ng H th ng nhúng 2010 – BM K thu t Máy tính – ĐH K thu t Cơng nghi p Thái nguyên ... – ĐH K thu t Công nghi p Thái nguyên 11 1.6 Các h ñi u hành nhúng ph n m m nhúng 1.6.1 H ñi u hành nhúng Khác v i PC thư ng ch y n n h ñi u hành windows ho c unix, h th ng nhúng có h u hành nhúng. .. module: 8-bit/16-bit timer/counter v i 8-bit ñ t t l l p trình ñư c Timer1 module: 16-bit timer/counter Timer2 module: 8-bit timer/counter v i ghi 8-bit (th i gian s cho PWM) Timer3 module: 16-bit... hành nhúng ph n m m nhúng 11 1.6.1 H ñi u hành nhúng 11 1.6.2 Ph n m m nhúng 11 Chương II: LÝ THUY T THI T K H TH NG NHÚNG 12 2.1 Quy trình thi t k Top-Down

Ngày đăng: 29/03/2014, 20:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN