luận văn thạc sỹ khoa học ngiên cứu, thiết kế hệ điều hành trên bộ vi điều khiển 8 bit

86 302 0
luận văn thạc sỹ khoa học ngiên cứu, thiết kế hệ điều hành trên bộ vi điều khiển 8 bit

Đ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ộ giáo dục và đào tạo trờng đại học bách khoa hà nội luận văn thạc sỹ khoa học Nghiên cứu, thiết kế hệ điều hành trên bộ vi điều khiển 8 bít ngành: xử lý thông tin và truyền thông M số: vũ trung kiên Ngời hớng dẫn khoa học: TS. Nguyễn Linh Giang hà nội 2006 -2- Lời cam đoan Tôi xin cam đoan bản luận văn này là kết quả nghiên cứu của bản thân dới sự hớng dẫn của TS. Nguyễn Linh Giang. Nếu có gì sai phạm, tôi xin hoàn toàn chịu trách nhiệm. Ngời làm cam đoan Vũ Trung Kiên -3- Mục lục Lời cam đoan 2 Danh mục các ký hiệu, các chữ viết tắt 5 Danh mục các bảng 6 Danh mục các hình vẽ, đồ thị 7 Lời nói đầu 9 Chơng 1 - Tổng quan về hệ điều hành 11 1.1. Khái niệm về hệ điều hành (OS-Operating System) 11 1.1.1. Khái niệm 11 1.1.2. Chức năng của hệ điều hành. 11 1.1.3. Các thành phần của hệ điều hành 13 1.2. Quản lý tiến trình 16 1.2.1. Các trạng thái của một tiến trình 16 1.2.2. Khái niệm về tài nguyên găng và đoạn tới hạn 17 1.2.3. Hiện tợng bế tắc 19 1.3. Lập lịch cho CPU 20 1.3.1. Khái niệm giờ CPU 20 1.3.2. Các trạng thái của tiến trình liên quan đến giờ CPU 20 1.3.3. Lập lịch cho CPU 22 1.4. Quản lý bộ nhớ 25 1.4.1. Yêu cầu phải quản lý bộ nhớ 25 1.4.2. Các sơ đồ quản lý bộ nhớ 26 Chơng 2 - Vi điều khiển và ngôn ngữ lập trình cho vi điều khiển 28 2.1. Vi điều khiển 28 2.1.1. Vi xử lý và vi điều khiển 28 2.1.2. Tổ chức bộ nhớ của vi điều khiển. 30 2.1.3. Các bộ định thời 35 2.1.4. Bộ xử lý ngắt 37 2.2. Ngôn ngữ lập trình cho vi điều khiển 39 -4- 2.2.1. Tổng quan về các ngôn ngữ lập trình cho vi điều khiển. 39 2.2.2. Những vấn đề với ngôn ngữ C viết cho các bộ vi điều khiển 42 Chơng 3 - thiết kế hệ vi điều khiển 49 3.1. Xác định yêu cầu thiết kế. 50 3.2. Lựa chọn cấu hình cho hệ thống 51 3.2.1. Lựa chọn bộ điều khiển trung tâm. 51 3.2.2. Giao diện ngời sử dụng. 52 3.2.3. Các thiết bị mô phỏng quá trình hoạt động của tiến trình. 53 3.3. Thiết kế mạch điện 58 3.4. Đo thử và kiểm tra lỗi 59 Chơng 4 - Thiết kế hệ điều hành 60 4.1.1. Mục đích và yêu cầu thiết kế. 60 4.1.2. Mục đích. 60 4.1.2. Yêu cầu 63 4.2. Trình tự thiết kế hệ điều hành 64 4.3. Xây dựng các tiến trình. 65 4.3.1. Xây dựng các tác vụ tơng ứng các tiến trình 65 4.3.2. Giải quyết bài toán tài nguyên găng 69 4.4. Lập lịch cho CPU. 71 4.4.1. Sự kiện và chuyển trạng thái giữa các tiến trình. 71 4.4.2. Lập lịch cho CPU 80 4.5. Quản lý bộ nhớ. 83 Kết luận và kiến nghị 86 Tài liệu tham khảo 87 -5- Danh môc c¸c ký hiÖu, c¸c ch÷ viÕt t¾t STT Ch÷ viÕt t¾t Ch÷ ®Çy ®ñ 1 FCFS First Come First Served 2 FIFO First In First Out 3 LIFO Last In First Out 4 MCS Micro Controller System 5 OS Operating System 6 RTOS Real Time Operating System 7 RR Round Robbin 8 SJF Shortest Job First 9 SRT Shortest Remain Time 10 uC Micro Controller -6- Danh môc c¸c b¶ng B¶ng 1.1. Tr¹ng th¸i cña c¸c tiÕn tr×nh 19 B¶ng 1.2. Thêi gian thùc hiÖn cña c¸c tiÕn tr×nh 25 B¶ng 1.3. Thêi gian chê cña c¸c tiÕn tr×nh 25 B¶ng 2.1. Bé nhí d÷ liÖu trªn chÝp cña AT89S52 33 -7- Danh mục các hình vẽ, đồ thị Hình 1.1. Các trạng thái của một tiến trình 17 Hình 1.2. Các trạng thái của tiến trình liên quan đến giờ CPU 20 Hình 1.3. Sơ đồ thực hiện tiến trình 21 Hình 1.4. Sơ đồ tổ chức hàng đợi các tiến trình 22 Hình 1.5. Sơ đồ Grant 25 Hình 2.1. Sơ đồ khối của bộ vi điều khiển AT89S52 29 Hình 2.2. Tổ chức bộ nhớ của vi điều khiển 30 Hình 2.3. Sơ đồ ghép nối AT89S52 với EPROM 31 Hình 2.4. Sơ đồ ghép nối AT89S52 với RAM 34 Hình 2.5. Giải mã địa chỉ cho các vi mạch nhớ 34 Hình 2.6. Bộ nhớ dữ liệu đọc nh bộ nhớ chơng trình 35 Hình 2.7. Hoạt động của Timer0 và Timer1 ở chế độ 1 36 Hình 2.8. Các nguồn ngắt của AT89S52 38 Hình 3.1. Trình tự thiết kế phần cứng cho hệ thống 49 Hình 3.2. Sơ đồ khối của hệ vi điều khiển 51 Hình 3.3. Ghép nối vi điều khiển với RAM ngoài. 52 Hình 3.4. Giao diện ngời sử dụng trên hệ vi điều khiển 53 Hình 3.5. Hiển thị trên LED 7 đoạn bằng kỹ thuật quét 54 Hình 3.6. Ghép nối ma trận LED trên hệ vi điều khiển 57 Hình 3.7. Nguyên tắc xếp chữ trên ma trận LED 58 Hình 4.1. Các tác vụ đợc thực hiện đồng thời (song song) 62 Hình 4.2. Các tác vụ đợc thực hiện luân phiên liên tục 62 Hình 4.3. Giản đồ xung trên P1 69 Hình 4.4. Chốt lại giá trị của P1 70 -8- Hình 4.5. Các tiến trình đợc phân bổ thời gian CPU bằng nhau 71 Hình 4.6. Chuyển giữa các tiến trình bằng sự kiện time out 73 Hình 4.7. Các tiến trình đợc phân bổ thời gian CPU khác nhau 74 Hình 4.8. Ngời sử dụng ra lệnh vào các thời điểm khác nhau 75 Hình 4.9. Chuyển giữa cá tiến trình bằng sự kiện interrupt 76 Hình 4.9. Mô tả trạng thái của các tài nguyên của tiến trình 77 Hình 4.10. Các tài nguyên cần lu khi dừng một tiến trình 78 Hình 4.11. Phân bổ ngăn xếp cho các tiến trình 79 Hình 4.12. Lập lịch cho 8 tiến trình thực hiện quét chữ trên ma trận LED 81 Hình 4.13. Lập lịch cho 4 tiến trình quét các số trên 4 LED 7 đoạn 81 Hình 4.14. Lập lịch cho tiến trình điều khiển LCD 82 Hình 4.15. Lập lịch cho tiến trình thời gian thực 82 Hình 4.16. Tổ chức bộ nhớ ROM của hệ vi điều khiển 83 Hình 4.17. Thay đổi vị trí đặt các chơng trình con phục vụ ngắt 84 Hình 4.18. Phân bổ bộ nhớ ROM 85 Hình 4.19. Phân bổ bộ nhớ RAM 85 -9- Lời nói đầu Cùng với sự phát triển của khoa học kỹ thuật, cụm từ tự động hoá đã trở nên hết sức phổ thông. Từ các máy móc tự động trong các nhà máy xí nghiệp thay thế cho sức lao động của công nhân, từ các đồ gia dụng tự động trong gia đình giúp ích cho ngời nội trợ nói chung các thiết bị có khả năng tự động hoá xuất hiện ở khắp mọi nơi. Một câu hỏi đặt ra với khá nhiều ngời là nhờ đâu mà các thiết bị có khả năng tự động đợc? Để trả lời câu hỏi này chúng ta cần phải đi từ khi có cụm từ tự động hoá ra đời. Trớc kia, khi cha có công nghệ bán dẫn, các phần tử có tiếp điểm nếu đợc đầu nối với nhau theo một mạch logic nào đó thì vẫn có thể tạo ra một hệ thống tự động, tuy nhiên khả năng đáp ứng và tính tự động cả hệ thống này không cao. Công nghệ bán dẫn ra đời, nó giải quyết đợc hạn chế về đáp ứng (tốc độ) của các phần tử có tiếp điểm tuy nhiên cũng phải chờ đến khi có sự xuất hiện của các bộ vi xử lý, các hệ thống có tính tự động hoá cao mới ra đời. Đặc trng của các hệ thống này đợc mô tả bằng một công thức đơn giản: Phần cứng + Phần mềm = ứng dụng. Theo công thức này thì khi tuỳ biến một trong 2 thành phần là phần cứng hoặc phần mềm thì sẽ cho ra ứng dụng khác. Thông thờng phần mềm là thành phần đợc tuỳ biến. Một hệ thống với các bộ vi xử lý có thể giả các suy nghĩ và hành động của con ngời vì lý do đơn giản là chúng hoạt động theo một chơng trình của ngời thiết kế đa vào mà chơng trình chính là các thuật toán là ý nghĩ của ngời lập trình. Nh vậy để một hệ thống có tính thông minh, tự động hoá cao thì phần mềm viết cho nó là vấn đề hết sức quan trọng. Một hệ thống với cùng một phần cứng nhng nếu nó đợc viết hệ điều hành thì khả năng của nó sẽ trở nên mạnh hơn rất nhiều so với một hệ thống chỉ có một chơng trình tuần tự. Với mục đích không ngừng đáp ứng các nhu cầu của -10- xã hội, hiện nay các môn học về hệ nhúng đã và đang đợc đa vào giảng dạy tại các trờng Cao đẳng và Đại học. Tuy nhiên để có một hiệu qủa giảng dạy tốt nhất thì cần có một phơng pháp nghiên cứu và thiết kế đúng chính tắc và cũng cần phải có một thiết bị phục vụ qua trình thí nghiệm. Trờng Đại học Công nghiệp Hà nội là một trờng đào tạo các cử nhân và các kỹ s thực hành. Trong chơng trình đào tạo cũng đã có môn kỹ thuật vi điều khiển, đây có thể coi là nền tảng để tiếp cận với các hệ thống nhúng sử dụng vi điều khiển có hệ điều hành. Việc nghiên cứu để đa vào giảng dạy môn thiết kế hệ điều hành cho các hệ vi điều khiển là phù hợp với yêu cầu hiện tại. Với sự hớng dẫn của TS Nguyễn Linh Giang, trong khuôn khổ luận văn này, tôi mạnh dạn nghiên cứu về các nguyên tắc cơ bản khi thiết kế một hệ điều hành trên hệ vi điều khiển. Nội dung của luận văn bao gồm 4 chơng, trong đó: Chơng 1: Giới thiệu tổng quan hệ điều hành. Chơng 2: Giới thiệu bộ vi điều khiển đợc sử dụng để viết hệ điều hành và ngôn ngữ lập trình cho vi điều khiển. Chơng 3. Thiết kế phần cứng hệ vi điều khiển. Chơng 4. Thiết kế hệ điều hành cho hệ vi điều khiển Do thời gian và khả năng có hạn nên luận văn này sẽ còn nhiều thiếu sót. Rất mong đợc sự góp ý và thông cảm của các thầy giáo, cô giáo. Hà nội, ngày 30 tháng 10 năm 2006 Học viên Vũ Trung Kiên [...]... cøu vi ®iỊu khiĨn vµ øng dơng vµo hƯ thèng thêi gian thùc -302.1.2 Tỉ chøc bé nhí cđa vi ®iỊu khiĨn AT89S52 có bộ nhớ theo cấu trúc Harvard: có những vùng cho bộ nhớ riêng biệt cho chương trình và dữ liệu Như đã nói ở trên, cả bộ nhớ chương trình và dữ liệu có sẵn ở trên chip tuy nhiên dung lượng của các bộ nhớ trên chip là hạn chế Khi thiết kế các ứng dụng đòi hỏi bộ nhớ lớn người ta có thể dùng bộ. .. chân /WE của RAM (hình 2.10) Nếu có nhiều vi mạch ROM và RAM cùng được ghép nối với AT89S52 thì có thể dùng thêm vi mạch giải mã 74LS1 38 (hình 2.5) Như đã nói ở trên, bộ nhớ chương trình và bộ nhớ dữ liệu của AT89S52 có thể trùng đòa chỉ, điều này cho phép người thiết kế có thể xây dựng một bộ nhớ dữ liệu chứa chương trình thực thi (bộ nhớ dữ liệu đọc như bộ nhớ chương trình) như hình 2.6 RAM W RD... bởi các thanh ghi RO - R7 đểà chuyển đổi vi c truy xuất các bank thanh ghi ta phải thay đổi các bit chọn bank trong thanh ghi trạng thái - RAM đòa chỉ hóa từng bit có đòa chỉ từ 20H đến 2FH AT89S52 có 1 28 bit có chứa các byte đònh đòa chỉ theo bit từ 20H đến 2FH Ý tưởng truy xuất từng bit bằng phần mềm là các đăëc tính mạnh của các bộ vi điều khiển nói chung Các bit có thể được đặt, xóa, AND, OR, , với... 01 78 70 68 60 58 50 48 40 38 30 28 20 18 10 08 00 Dành cho các thanh ghi đặc biệt (SFR) Bank 2 Bank 1 Bank thanh ghi 0 (mặc đònh cho R0 -R7) RAM 80 Các thanh ghi chức năng -34- b Bé nhí d÷ liƯu ngoµi Port 0 D0-D7 74HC373 EA 80 51 O D RAM A0-A7 G ALE Port 2 A8-A15 RD OE WE WR H×nh 2.4 S¬ ®å ghÐp nèi AT89S52 víi RAM Address Bus (A0- A15) Data Bus (D0-D7) 2764 PSEN OE WR RD D0-D7 A0-A12 CS EPROM 8KBytes... nªu nªn bé vi ®iỊu khiĨn ®−ỵc t×m thÊy trong c¸c øng dơng nhá cßn vi xư lý n»m trong c¸c hƯ thèng m¸y tÝnh AT89S52 lµ bé vi ®iỊu khiĨn 8 bit, ®−ỵc chÕ t¹o bëi h·ng ATMEL theo kiÕn tróc cđa 80 51 -29Intermal Devices Oscillatior CPU Memory ROM 8Kb I/O devices RAM 256 byte Timer0 Timer1 Timer2 (16 bit) UART Interrupt Controller System Bus I/O devices Memory ROM 64Kb RAM 64Kb Extermal Devices H×nh 2.1... tới 64 Kbytes cho bộ nhớ chương trình và cho 64 Kbytes bộ nhớ dữ liệu (hình 2.2) FFFFH Bộ nhớ chương trình (8Kb) Bộ nhớ chương trình (64Kb) Bộ nhớ dữ liệu (64Kb) 1FFFH 00FFH 256 bytes Bộ nhớ trong 0000H Bộ nhớ ngoài H×nh 2.2 Tỉ chøc bé nhí cđa vi ®iỊu khiĨn 2.1.2.1 Bé nhí ch−¬ng tr×nh AT89S52 cã 8Kb Flash Rom trªn chip, khi ch©n EA (ch©n sè 31) ®−ỵc ®Ỉt ë møc logic cao (+5V), bé vi ®iỊu khiĨn sÏ thùc... tiÕp tơc thùc hiƯn - 28- Ch−¬ng 2 - Vi ®iỊu khiĨn vµ ng«n ng÷ lËp tr×nh cho vi ®iỊu khiĨn 2.1 Vi ®iỊu khiĨn 2.1.1 Vi xư lý vµ vi ®iỊu khiĨn Bé vi xư lý ®· cã lÞch sư ra ®êi tõ 1971 khi Intel giíi thiƯu bé 80 80 dïng cho m¸y tÝnh ®¬n board KĨ tõ khi ra ®êi, qua nhiỊu thÕ hƯ, cã nhiỊu c¶i tiÕn nh−ng lÜnh vùc cđa c¸c bé vi xư lý vÉn lµ c¸c hƯ thèng m¸y tÝnh Trong hƯ thèng m¸y tÝnh, bé vi xư lý cïng víi bé... B 1 A 2 3 74HC1 38 4 5 E Tíi c¸c vi m¹ch Select another EPROM/RAM ROM/RAM kh¸c 6 E RAM 8KBytes 7 E H×nh 2.5 Gi¶i m∙ ®Þa chØ cho c¸c vi m¹ch nhí CS RAM -3 5Bộ nhớ dữ liệu ngoài là bộ nhớ RAM được đọc hoặc ghi bởi tín hiệu /RD và WR.Các RAM có thể giao tiếp với AT89S52 tương tự cách thức như EPROM ngoại trừ chân /RD của AT89S52 nối với chân /OE (Output Enable) của RAM và /chân WR của AT89S52 nối với chân... ®¬n vµ ®©y ch×nh lµ bé vi ®iỊu khiĨn Nh− vËy ®Ĩ ph©n biƯt hai kh¸i niƯm vi xư lý vµ vi ®iỊu khiĨn th× cÇn ph¶i xem xÐt trªn 2 ph−¬ng diƯn: KiÕn tróc phÇn cøng vµ lÜnh vùc øng dơng PhÇn cøng cđa mét bé vi ®iỊu khiĨn lµ mét bé vi xư lý, bé nhí, c¸c thiÕt bÞ vµo/ra Vi ®iỊu khiĨn cã ®đ nh÷ng thµnh phÇn c¬ b¶n cđa mét hƯ m¸y tÝnh nªn bé vi ®iỊu khiĨn cã thĨ ho¹t ®éng ®éc lËp ®−ỵc cßn vi xư lý th× kh«ng Xt... hiƯu PSEN 89 S52 H×nh 2.3 S¬ ®å ghÐp nèi AT89S52 víi EPROM 2.1.2.2 Bé nhí d÷ liƯu a.Bé nhí d÷ liƯu trªn chip AT89S52 cã 256 bytes Ram nh− bảng 2.1 được phân chia như sau: - Các bank thanh ghi có đòa chỉ từ 00H đến 1FH 32 byte thấp của bộ nhớ nội được dành cho các bank thanh ghi Bộ lệnh AT89S52 hổ trợ 8 thanh ghi có tên là R0 -R7 và theo mặc đònh sau khi reset hệ thống, các thanh ghi này có các đòa chỉ . hệ điều hành. Chơng 2: Giới thiệu bộ vi điều khiển đợc sử dụng để vi t hệ điều hành và ngôn ngữ lập trình cho vi điều khiển. Chơng 3. Thiết kế phần cứng hệ vi điều khiển. Chơng 4. Thiết kế. bộ giáo dục và đào tạo trờng đại học bách khoa hà nội luận văn thạc sỹ khoa học Nghiên cứu, thiết kế hệ điều hành trên bộ vi điều khiển 8 bít ngành:. nền tảng để tiếp cận với các hệ thống nhúng sử dụng vi điều khiển có hệ điều hành. Vi c nghiên cứu để đa vào giảng dạy môn thiết kế hệ điều hành cho các hệ vi điều khiển là phù hợp với yêu cầu

Ngày đăng: 07/10/2014, 19:52

Từ khóa liên quan

Mục lục

  • bìa

  • Loi cam doan

  • Muc luc

  • Danh muc cac ky hieu,cac chu viet tat

  • Danh muc cac bang

  • Danh muc cac hinh ve do thi

  • Loi noi dau

  • Chuong 1

  • Chuong 2

  • Chuong 3

  • Chuong 4

  • Ket luan va kien nghi

  • Tai lieu tham khao

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

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

Tài liệu liên quan