Ngày nay, cùng với sự phát triển chung của công nghệ, lĩnh vực hệ điều hành đã có những bước tiến dài trong quá trình hình thành và phát triển của mình. Từ sự khởi đầu đơn giản có bản quyền trên máy tính cá nhân như Hệ điều hành DOS, tiến lên các phiên bản Windows như win3.1 rồi win95, win 98 . mới đây nhất là hệ điều hành đa nhiệm thời gian thực Win7, bên cạnh đó phải kể đến các hệ điều hành mã nguồn mở như Max OS, Linux, Ubuntu. hiện nay đã xuất hiện những hệ điều hành dành cho điện thoại đi động như Windown Mobile, và đặc biệt trong lĩnh vực điện tử có những hệ điều hành chuyên biệt cho các chip xử lý như VxWork, uCLinux,FreeRTOS, OpenRTOS và SAFERTOS.Trong đó cần phải nói đến FreeRTOS, với tính thời gian thực và các ưu điểm đã giải quyết nhiều yêu cầu trong công nghệ vi xử lý. Để làm rõ điều này, đề tài của em trình bày 3 phần:
PHẦN I : MỞ ĐẦU
PHẦN NÀY TRÌNH BÀY VỀ TÌNH HÌNH NGHIÊN CỨU VỀ ĐỀ TÀI NÀY TRONG VÀ NGOÀI NƯỚC, MỤC TIÊU CỦA ĐỀ TÀI
PHẦN II: GIỚI THIỆU HĐH NHÚNG THỜI GIAN THỰC FREERTOS VÀ VI ĐIỀU KHIỂN ATMEGA 128
PHẦN NÀY TRÌNH BÀY NGUYÊN LÝ HỆ ĐIỀU HÀNH NÓI CHUNG VÀ GIẢI THÍCH CÁC KHÁI NIỆM, TRÌNH BÀY VỀ FREERTOS VÀ VĐK ATMEGA 128
PHẦN III: CÁC BƯỚC THIẾT KẾ ỨNG DỤNG MINH HỌA
PHẦN NÀY TRÌNH BÀY CÁC BƯỚC THIẾT KẾ ỨNG DỤNG TRÊN HĐH FREERTOS
PHẦN IV: CÁC KẾT QUẢ ĐẠT ĐƯỢC VÀ ĐÁNH GIÁ
PHẦN NÀY NÊU RA NHỮNG KẾT QUẢ ĐA ĐẠT ĐƯỢC VÀ ĐÁNH GIÁ CHUNG
47 trang |
Chia sẻ: tuandn | Lượt xem: 3180 | Lượt tải: 6
Bạn đang xem trước 20 trang tài liệu Đề tài Nghiên cứu hệ điều hành nhúng thời gian thực FreeTos, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC THÁI NGUYÊN
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO BÀI TẬP LỚN
MÔN:Kỹ Thuật Vi Điều Khiển
Đề tài:
NGHIÊN CỨU HỆ ĐIỀU HÀNH NHÚNG THỜI GIAN THỰC FREERTOS
Thành viên tham gia : Phạm Ngọc Thạch
Ngô Hữu Hưng
Giáo viên hướng dẫn : Phạm Quốc Thịnh
Thái nguyên, tháng 11 năm 2009
MỤC LỤC
PHẦN I : MỞ ĐẦU 3
I.1 TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU NGOÀI NƯỚC 4
I.2 TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU TRONG NƯỚC 4
I.3 MỤC TIÊU ĐỀ TÀI 4
PHẦN II: GIỚI THIỆU HĐH NHÚNG THỜI GIAN THỰC FREERTOS VÀ VI ĐIỀU KHIỂN ATMEGA 128 5
II.1 TỔNG QUAN HỆ ĐIỀU HÀNH 5
II.1.1KHÁI NIỆM VỀ HỆ ĐIỀU HÀNH 5
II.1.2 PHÂN LOẠI HỆ ĐIỀU HÀNH 6
II.2 GIỚI THIỆU VI ĐIỀU KHIỂN ATmega 128 9
II.2.1 TỔNG QUAN 9
II.2.2 CẤU TRÚC BỘ NHỚ VÀ CỔNG VÀO – RA 11
II.2.3 CỔNG VÀO RA 15
II.2.3.1 GIỚI THIỆU 15
II.2.3 BỘ ĐỊNH THỜI CỦA ATmega128 18
II.3 GIỚI THIỆU HỆ ĐIỀU HÀNH NHÚNG THỜI GIAN THỰC FreeRTOS 30
II.3.1 THỜI GIAN THỰC 30
II.3.2 ĐA NHIỆM 30
II.3.3 CẤU TRÚC FreeRTOS 31
PHẦN III. CÁC BƯỚC THIẾT KẾ ỨNG DỤNG MINH HỌA 40
III.1 THIẾT KẾ MẠCH MÔ PHỎNG BẰNG Proteus 40
III.2 LỰA CHỌN CẤU HÌNH CHO HĐH QUA FreeRTConfig.h 42
III.3 VIẾT PHẦN ỨNG DỤNG BẰNG AVR Studio 44
III.4 DỊCH PHẦN ỨNG DỤNG THÀNH FILE .hex 49
III.5 DÙNG MẠCH NẠP VÀO VI ĐIỀU KHIỂN 50
PHẦN IV: KẾT QUẢ ĐẠT ĐƯỢC VÀ ĐÁNH GIÁ 51
IV.1 KẾT QUẢ ĐÃ ĐẠT ĐƯỢC 51
IV.2 ĐÁNH GIÁ KẾT QUẢ ĐẠT ĐƯỢC 51
TÓM TẮT KẾT QUẢ B
Ngày nay, cùng với sự phát triển chung của công nghệ, lĩnh vực hệ điều hành đã có những bước tiến dài trong quá trình hình thành và phát triển của mình. Từ sự khởi đầu đơn giản có bản quyền trên máy tính cá nhân như Hệ điều hành DOS, tiến lên các phiên bản Windows như win3.1 rồi win95, win 98 ... mới đây nhất là hệ điều hành đa nhiệm thời gian thực Win7, bên cạnh đó phải kể đến các hệ điều hành mã nguồn mở như Max OS, Linux, Ubuntu... hiện nay đã xuất hiện những hệ điều hành dành cho điện thoại đi động như Windown Mobile, và đặc biệt trong lĩnh vực điện tử có những hệ điều hành chuyên biệt cho các chip xử lý như VxWork, uCLinux,FreeRTOS, OpenRTOS và SAFERTOS...Trong đó cần phải nói đến FreeRTOS, với tính thời gian thực và các ưu điểm đã giải quyết nhiều yêu cầu trong công nghệ vi xử lý. Để làm rõ điều này, đề tài của em trình bày 3 phần:
PHẦN I : MỞ ĐẦU
PHẦN NÀY TRÌNH BÀY VỀ TÌNH HÌNH NGHIÊN CỨU VỀ ĐỀ TÀI NÀY TRONG VÀ NGOÀI NƯỚC, MỤC TIÊU CỦA ĐỀ TÀI
PHẦN II: GIỚI THIỆU HĐH NHÚNG THỜI GIAN THỰC FREERTOS VÀ VI ĐIỀU KHIỂN ATMEGA 128
PHẦN NÀY TRÌNH BÀY NGUYÊN LÝ HỆ ĐIỀU HÀNH NÓI CHUNG VÀ GIẢI THÍCH CÁC KHÁI NIỆM, TRÌNH BÀY VỀ FREERTOS VÀ VĐK ATMEGA 128
PHẦN III: CÁC BƯỚC THIẾT KẾ ỨNG DỤNG MINH HỌA
PHẦN NÀY TRÌNH BÀY CÁC BƯỚC THIẾT KẾ ỨNG DỤNG TRÊN HĐH FREERTOS
PHẦN IV: CÁC KẾT QUẢ ĐẠT ĐƯỢC VÀ ĐÁNH GIÁ
PHẦN NÀY NÊU RA NHỮNG KẾT QUẢ ĐA ĐẠT ĐƯỢC VÀ ĐÁNH GIÁ CHUNG
SUMMARY OF RESULTS OF RESEARCH THEMES
Today, with the development of technology, field operating system has made strides in the process of formation and development of his. From the beginning simple copyright on personal computer operating system like DOS, progress on the Windows version as win3.1 then Win95, Win 98 ... latest operating system multitasking real-time Win7, in addition to mentioning that the open source operating systems like Mac OS, Linux, Ubuntu ... now appeared that the operating system for mobile phones as Windown Mobile, and especially in the field of electronics is the operating system dedicated to processing chip as VxWork, uCLinux, FreeRTOS, and OpenRTOS SAFERTOS. .. In which need FreeRTOS mention, with real-time and solved many advantages required in microprocessor technology. To illustrate this, she presented the topic of three parts:
PART I: TO TOPPRESENTATION OF THIS SITUATION RESEARCH ON THIS TOPIC AT HOME AND ABROAD, OBJECTIVES OF THEMES
PART II: ABOUT TIME AVAILABILITY OF OS FREERTOS VI AND CONTROL ATMEGA 128THIS PRESENTATION AS MANAGER DEVICES AND EXPLANATION Ò GERENAL CONCEPTS, FREERTOS AND PRESENTATION OF VDK ATMEGA 128PART III: THE STEP DESIGN APPLICATIONS Minh HoaTHIS STEP PRESENTATION OF DESIGN APPLICATIONS ON OS FREERTOS
PART IV: THE RESULTS OF ASSESSMENT AND DATTHIS YET ACHIEVED RESULTS AND GENERAL ASSESSMENTPHẦN I : MỞ ĐẦU
I.1 TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU NGOÀI NƯỚC
Ngoài nước : đề tài đang được nghiên cứu rất mạnh mẽ có thể nói hệ thống nhúng được sử dụng trong rất nhiều lĩnh vực, rất nhiều mặt hàng từ các thiết bị cao cấp như vệ tinh, tên lửa, tàu con thoi đến các thiết bị tiêu dùng như lò vi ba, máy sấy, máy hút bụi…
Thị trường hệ thống nhúng có tiềm năng phát triển vô cùng lớn. Theo các nhà thông kê trên thế giới thì số chip xử lý trong các máy PC và các server, các mạng LAN, WAN, Internet chỉ chiếm không đầy 1% tổng số chip vi xử lý có trên thế giới. Hơn 99% số vi xử lý còn lại nằm trong các hệ thống nhúng.
Tại Châu Á, Nhật Bản đang dẫn đầu về thị trường nhúng và là một trong những thị trường phần mềm nhúng hàng đầu thế giới. Đây được coi là thị trường đầy hứa hẹn với các đối tác chuyên sản xuất phần mềm nhúng như Trung Quốc, Indonesia, Nga, Ireland, Israel, và cả Việt Nam.
I.2 TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU TRONG NƯỚC
Trong nước: Hệ thống nhúng mới được quan tâm trong thời gian gần đây. Các doanh nghiệp làm phần mềm nhúng cũng chưa nhiều, mới có một số trung tâm thuộc các trường Đại học Quốc gia, Đại học Bách khoa, các đơn vị như Học viện Kỹ thuật quân sự, Viện nghiên cứu Điện tử - Tin học và Tự động hóa, Tổng công ty Điện tử - Tin học, Công ty thiết bị Điện tử y tế, Công ty VTC – Truyền hình số mặt đất và một số công ty phần mềm khác….
Đây là đề tài nghiên cứu khá mới mẻ , đa số vẫn sử dụng phương thức lập trình đơn nhiệm/ đơn tiến trình trong điều khiển. Cũng đã có một vài hệ thống điều khiển mà lõi của các hệ thống này chính là các hệ nhúng được cài đặt hệ điều hành nhúng nhằm phục vụ các ứng dụng điều khiển đa nhiệm.
I.3 MỤC TIÊU ĐỀ TÀI
Tìm hiểu giải pháp cung cấp các dịch vụ nền cho các ứng dụng điều khiển. Giảiquyết các nhu cầu xử lý đa nhiệm trong các hệ thống điều khiển và hệ thống thông tin trong công nghiệp và dân dụng.
PHẦN II: GIỚI THIỆU HĐH NHÚNG THỜI GIAN THỰC FREERTOS VÀ VI ĐIỀU KHIỂN ATMEGA 128
II.1 TỔNG QUAN HỆ ĐIỀU HÀNH
II.1.1KHÁI NIỆM VỀ HỆ ĐIỀU HÀNH
Hệ điều hành là một chương trình hay một hệ chương trình hoạt động giữa người sử dụng (user) và phần cứng của máy tính. Mục tiêu của hệ điều hành là cung cấp một môi trường để người sử dụng có thể thi hành các chương trình. Nó làm cho máy tính dể sử dụng hơn, thuận lợi hơn và hiệu quả hơn.
Hệ điều hành là một phần quan trọng của hầu hết các hệ thống máy tính. Một hệ thống máy tính thường được chia làm bốn phần chính : phần cứng, hệ điều hành, các chương trình ứng dụng và người sử dụng.
Phần cứng bao gồm CPU, bộ nhớ, các thiết bị nhập xuất, đây là những tài nguyên của máy tính. Chương trình ứng dụng như các chương trình dịch, hệ thống cơ sở dữ liệu, các trò chơi, và các chương trình thương mại. Các chương trình này sử dụng tài nguyên của máy tính để giải quyết các yêu cầu của người sử dụng. Hệ điều hành điều khiển và phối hợp việc sử dụng phần cứng cho những ứng dụng khác nhau của nhiều người sử dụng khác nhau. Hệ điều hành cung cấp một môi trường mà các chương trình có thể làm việc hữu hiệu trên đó.
Hình 1.1 Mô hình trừu tượng của hệ thống máy tính
Hệ điều hành có thể được coi như là bộ phân phối tài nguyên của máy tính. Nhiều tài nguyên của máy tính như thời gian sử dụng CPU, vùng bộ nhớ, vùng lưu trữ tập tin, thiết bị nhập xuất v.v… được các chương trình yêu cầu để giải quyết vấn đề. Hệ điều hành hoạt động như một bộ quản lý các tài nguyên và phân phối chúng cho các chương trình và người sử dụng khi cần thiết. Do có rất nhiều yêu cầu, hệ điều hành phải giải quyết vấn đề tranh chấp và phải quyết định cấp phát tài nguyên cho những yêu cầu theo thứ tự nào để hoạt động của máy tính là hiệu quả nhất. Một hệ điều hành cũng có thể được coi như là một chương trình kiểm soát việc sử dụng máy tính, đặc biệt là các thiết bị nhập xuất.
Tuy nhiên, nhìn chung chưa có định nghĩa nào là hoàn hảo về hệ điều hành. Hệ điều hành tồn tại để giải quyết các vấn đề sử dụng hệ thống máy tính. Mục tiêu cơ bản của nó là giúp cho việc thi hành các chương trình dễ dàng hơn. Mục tiêu thứ hai là hỗ trợ cho các thao tác trên hệ thống máy tính hiệu quả hơn. Mục tiêu này đặc biệt quan trọng trong những hệ thống nhiều người dùng và trong những hệ thống lớn(phần cứng + quy mô sử dụng). Tuy nhiên hai mục tiêu này cũng có phần tương phản vì vậy lý thuyết về hệ điều hành tập trung vào việc tối ưu hóa việc sử dụng tài nguyên của máy tính.
II.1.2 PHÂN LOẠI HỆ ĐIỀU HÀNH
II.1.2.1 Hệ thống xử lý theo lô
Bộ giám sát thường trực :
Khi một công việc chấm dứt, hệ thống sẽ thực hiện công việc kế tiếp mà không cần sự can thiệp của người lập trình, do đó thời gian thực hiện sẽ mau hơn. Một chương trình, còn gọi là bộ giám sát thường trực được thiết kế để giám sát việc thực hiện dãy các công việc một cách tự động, chương trình này luôn luôn thường trú trong bộ nhớ chính.
Hệ điều hành theo lô thực hiện các công việc lần lượt theo những chỉ thị định trước.
CPU và thao tác nhập xuất :
CPU thường hay nhàn rỗi do tốc độ làm việc của các thiết bị nhập xuất (thường là thiết bị cơ) chậm hơn rất nhiều lần so với các thiết bị điện tử. Cho dù là một CPU chậm nhất, nó cũng nhanh hơn rất nhiều lần so với thiết bị nhập xuất. Do đó phải có các phương pháp để đồng bộ hóa việc hoạt động của CPU và thao tác nhập xuất.
Xử lý off_line :
Xử lý off_line là thay vì CPU phải đọc trực tiếp từ thiết bị nhập và xuất ra thiết bị xuất, hệ thống dùng một bộ lưu trữ trung gian. CPU chỉ thao thác với bộ phận này. Việc đọc hay xuất đều đến và từ bộ lưu trữ trung gian.
Spooling :
Spool (simultaneous peripheral operation on-line) là đồng bộ hóa các thao tác bên ngoài on-line. Cơ chế này cho phép xử lý của CPU là on-line, sử dụng đĩa để lưu các dữ liệu nhập cũng như xuất.
II.1.2.2 Hệ thống xử lý theo lô đa chương
Khi có nhiều công việc cùng truy xuất lên thiết bị, vấn đề lập lịch cho các công việc là cần thiết. Khía cạnh quan trọng nhất trong việc lập lịch là khả năng đa chương. Đa chương (multiprogram) gia tăng khai thác CPU bằng cách tổ chức các công việc sao cho CPU luôn luôn phải trong tình trạng làm việc .
Ý tưởng như sau : hệ điều hành lưu giữ một phần của các công việc ở nơi lưu trữ trong bộ nhớ . CPU sẽ lần lượt thực hiện các phần công việc này. Khi đang thực hiện, nếu có yêu cầu truy xuất thiết bị thì CPU không nghỉ mà thực hiện tiếp công việc thứ hai…
Với hệ đa chương hệ điều hành ra quyết định cho người sử dụng vì vậy, hệ điều hành đa chương rất tinh vi. Hệ phải xử lý các vấn đề lập lịch cho công việc, lập lịch cho bộ nhớ và cho cả CPU nữa.
II.1.2.3 Hệ thống chia xẻ thời gian
Hệ thống chia xẻ thời gian là một mở rộng logic của hệ đa chương. Hệ thống này còn được gọi là hệ thống đa nhiệm (multitasking). Nhiều công việc cùng được thực hiện thông qua cơ chế chuyển đổi của CPU như hệ đa chương nhưng thời gian mỗi lần chuyển đổi diễn ra rất nhanh.
Hệ thống chia xẻ được phát triển để cung cấp việc sử dụng bên trong của một máy tính có giá trị hơn. Hệ điều hành chia xẻ thời gian dùng lập lịch CPU và đa chương để cung cấp cho mỗi người sử dụng một phần nhỏ trong máy tính chia xẻ. Một chương trình khi thi hành được gọi là một tiến trình. Trong quá trình thi hành của một tiến trình, nó phải thực hiện các thao tác nhập xuất và trong khoảng thời gian đó CPU sẽ thi hành một tiến trình khác. Hệ điều hành chia xẻ cho phép nhiều người sử dụng chia xẻ máy tính một cách đồng bộ do thời gian chuyển đổi nhanh nên họ có cảm giác là các tiến trình đang được thi hành cùng lúc.
Hệ điều hành chia xẻ phức tạp hơn hệ điều hành đa chương. Nó phải có các chức năng : quản trị và bảo vệ bộ nhớ, sử dụng bộ nhớ ảo. Nó cũng cung cấp hệ thống tập tin truy xuất on-line…
Hệ điều hành chia xẻ là kiểu của các hệ điều hành hiện đại ngày nay.
II.1.2.4 Hệ thống song song
Ngoài các hệ thống chỉ có một bộ xử lý còn có các hệ thống có nhiều bộ xử lý cùng chia xẻ hệ thống đường truyền dữ liệu, đồng hồ, bộ nhớ và các thiết bị ngoại vi. Các bộ xử lý này liên lạc bên trong với nhau .
Có nhiều nguyên nhân xây dựng dạng hệ thống này. Với sự gia tăng số lượng bộ xử lý, công việc được thực hiện nhanh chóng hơn, Nhưng không phải theođúng tỉ lệ thời gian, nghĩa là có n bộ xử lý không có nghĩa là sẽ thực hiện nhanh hơn n lần.
Hệ thống với máy nhiều bộ xử lý sẽ tối ưu hơn hệ thống có nhiều máy có một bộ xử lý vì các bộ xử lý chia xẻ các thiết bị ngoại vi, hệ thống lưu trữ, nguồn … và rất thuận tiện cho nhiều chương trình cùng làm việc trên cùng một tập hợp dữ liệu.
Một lý do nữa là độ tin cậy. Các chức năng được xử lý trên nhiều bộ xử lý và sự hỏng hóc của một bộ xử lý sẽ không ảnh hưởng đến toàn bộ hệ thống.
Hệ thống đa xử lý thông thường sử dụng cách đa xử lý đối xứng, trong cách này mỗi bộ xử lý chạy với một bản sao của hệ điều hành, những bản sao này liên lạc với nhau khi cần thiết. Một số hệ thống sử dụng đa xử lý bất đối xứng, trong đó mỗi bộ xử lý được giao một công việc riêng biệt.. Một bộ xử lý chính kiểm soát toàn bộ hệ thống, các bộ xử lý khác thực hiện theo lệnh của bộ xử lý chính hoặc theo những chỉ thị đã được định nghĩa trước. Mô hình này theo dạng quan hệ chủ tớ. Bộ xử lý chính sẽ lập lịch cho các bộ xử lý khác.
Một ví dụ về hệ thống xử lý đối xứng là version Encore của UNIX cho máy tính Multimax. Hệ thống này có hàng tá bộ xử lý. Ưu điểm của nó là nhiều tiến trình có thể thực hiện cùng lúc . Một hệ thống đa xử lý cho phép nhiều công việc và tài nguyên được chia xẻ tự động trong những bộ xử lý khác nhau.
Hệ thống đa xử lý không đồng bộ thường xuất hiện trong những hệ thống lớn, trong đó hầu hết thời gian hoạt động đều dành cho xử lý nhập xuất.
II.1.2.5 Hệ thống phân tán
Hệ thống này cũng tương tự như hệ thống chia xẻ thời gian nhưng các bộ xử lý không chia xẻ bộ nhớ và đồng hồ, thay vào đó mỗi bộ xử lý có bộ nhớ cục bộ riêng. Các bộ xử lý thông tin với nhau thông qua các đường truyền thông như những bus tốc độ cao hay đường dây điện thoại.
Các bộ xử lý trong hệ phân tán thường khác nhau về kích thước và chức năng. Nó có thể bao gồm máy vi tính, trạm làm việc, máy mini, và những hệ thống máy lớn. Các bộ xử lý thường được tham khảo với nhiều tên khác nhau như site, node, computer v.v.... tùy thuộc vào trạng thái làm việc của chúng.
Các nguyên nhân phải xây dựng hệ thống phân tán là:
Chia xẻ tài nguyên : Một người sử dụng A có thể sử dụng máy in laser của người sử dụng B và người sử dụng B có thể truy xuất những tập tin của A. Tổng quát, chia xẻ tài nguyên trong hệ thống phân tán cung cấp một cơ chế để chia xẻ tập tin ở vị trí xa, xử lý thông tin trong một cơ sở dữ liệu phân tán, in ấn tại một vị trí xa, sử dụng những thiết bị ở xa đểõ thực hiện các thao tác.
Tăng tốc độ tính toán : Một thao tác tính toán được chia làm nhiều phần nhỏ cùng thực hiện một lúc. Hệ thống phân tán cho phép phân chia việc tính toán trên nhiều vị trí khác nhau để tính toán song song.
An toàn : Nếu một vị trí trong hệ thống phân tán bị hỏng, các vị trí khác vẫn tiếp tục làm việc.
Thông tin liên lạc với nhau :Có nhiều lúc , chương trình cần chuyển đổi dữ liệu từ vị trí này sang vị trí khác. Ví dụ trong hệ thống Windows, thường có sự chia xẻ và chuyển dữ liệu giữa các cửa sổ. Khi các vị trí được nối kết với nhau trong một hệ thống mạng, việc trao đổi dữ liệu diễn ra rất dễ. Người sử dụng có thể chuyển tập tin hay các E_mail cho nhau từ cùng vị trí hay những vị trí khác.
II.1.2.6 Hệ thống xử lý thời gian thực
Hệ thống xử lý thời gian thực được sử dụng khi có những đòi hỏi khắt khe về thời gian trên các thao tác của bộ xử lý hoặc dòng dữ liệu, nó thường được dùng điều khiển các thiết bị trong các ứng dụng tận hiến (dedicated). Máy tính phân tích dữ liệu và có thể chỉnh các điều khiển giải quyết cho dữ liệu nhập.
Một hệ điều hành xử lý thời gian thực phải được định nghĩa tốt, thời gian xử lý nhanh. Hệ thống phải cho kết quả chính xác trong khoảng thời gian bị thúc ép nhanh nhất. Có hai hệ thống xử lý thời gian thực là hệ thống thời gian thực cứng và hệ thống thời gian thực mềm..
Hệ thống thời gian thực cứng là công việc được hoàn tất đúng lúc. Lúc đó dữ liệu thường được lưu trong bộ nhớ ngắn hạn hay trong ROM. Việc xử lý theo thời gian thực sẽ xung đột với tất cả hệ thống liệt kê ở trên.
Dạng thứ hai là hệ thống thời gian thực mềm, mỗi công việc có một độ ưu tiên riêng và sẽ được thi hành theo độ ưu tiên đó. Có một số lĩnh vực áp dụng hữu hiệu phương pháp này là multimedia hay thực tại ảo.
II.2 GIỚI THIỆU VI ĐIỀU KHIỂN ATmega 128
II.2.1 TỔNG QUAN
Những Tính Năng Chính Của ATmega128:
- ROM : 128 Kbytes
-SRAM: 4Kbytes
-EEPROM : 4Kbytes
- 64 thanh ghi I/O
-160 thanh ghi vào ra mở rộng
-32 thanh ghi đa mục đích.
- 2 bộ định thời 8 bit (0,2).
-2 bộ định thời 16 bit (1,3).
-Bộ định thời watchdog
-Bộ dao động nội RC tần số 1 MHz, 2 MHz, 4 MHz, 8 MHz
-ADC 8 kênh với độ phân giải 10 bit (Ở dòng Xmega lên tới 12 bit )
-2 kênh PWM 8 bit
-6 kênh PWM có thể lập trình thay đổi độ phân giải từ 2 tới 16 bit
-Bộ so sánh tương tự có thể lựa chọn ngõ vào
-Hai khối USART lập trình được
-Khối truyền nhận nối tiếp SPI
-Khối giao tiếp nối tiếp 2 dây TWI
-Hỗ trợ boot loader
-6 chế độ tiết kiệm năng lượng
-Lựa chọn tần số hoạt động bằng phần mềm
-Đóng gói 64 chân kiểu TQFP.
-Tần số tối đa 16MHz
-Điện thế : 4.5v - 5.5v.
Vi điều khiển AVR do hãng Atmel ( Hoa Kì ) sản xuất được gới thiệu lần đầu năm 1996. AVR có rất nhiều dòng khác nhau bao gồm dòng Tiny AVR ( như AT tiny 13, ATtiny 22…) có kích thước bộ nhớ nhỏ, ít bộ phận ngoại vi, rồi đến dòng AVR ( chẳn hạn AT90S8535, AT90S8515,…) có kích thước bộ nhớ vào loại trung bình và mạnh hơn là dòng Mega ( như ATmega32, ATmega128,…) với bộ nhớ có kích thước vài Kbyte đến vài trăm Kb cùng với các bộ ngoại vi đa dạng được tích hợp trên chip, cũng có dòng tích hợp cả bộ LCD trên chip ( dòng LCD AVR ). Tốc độ của dòng Mega cũng cao hơn so với các dòng khác. Sự khác nhau cơ bản giữa các dòng chình là cấu trúc ngoại vi, còn nhân thì vẫn như nhau.
Hình 1.2. Đặt biệt, năm 2008, Atmel lại tiếp tục cho ra đời dòng AVR mới làXmegaAVR, với những tính năng mạnh mẽ chưa từng có ở các dòng AVR trước đó. Có thể nói XmegaAVR là dòng MCU 8 bit mạnh mẽ nhất hiện nay.
Hình1.2 Các dòng AVR khác nhau: Tiny, AVR và Mega
Cấu trúc cơ bản của vi điều khiển AVR được thể hiện ở hình 1.2.
Hình 1.3 Cấu trúc của Vi điều khiển AVR
II.2.2 CẤU TRÚC BỘ NHỚ VÀ CỔNG VÀO – RA
CẤU TRÚC BỘ NHỚ.
Giới Thiệu:
Bộ nhớ vi điều khiển AVR có cấu trúc Harvard là cấu trúc có đường Bus riêng cho bộ nhớ chương trình và bộ nhớ dữ liệu. Bộ nhớ AVR được chia làm 2 phần chính: Bộ nhớ chương trình ( program memory ) và bộ nhớ dữ liệu ( Data memory ).
Bộ Nhớ Chương Trình : Bộ nhớ chương trình của AVR là bộ nhớ Flash có dung lượng 128 K bytes. Bộ nhớ chương trình có độ rộng bus là 16 bit. Những địa chỉ đầu tiên của bộ nhớ chương trình được dùng cho bảng véc tơ ngắt. Cần để ý là ở vi điều khiển ATmega128 bộ nhớ chương trình còn có thể được chia làm 2 phần : phần boot loader ( Boot loader program section ) và phần ứng dụng ( Application program section ).
Phần boot loader chứa chương trình boot loader. Chương trình Boot loader là một phần mềm nhỏ nạp trong vi điều khiển và được chạy lúc khởi động. Phần mềm này có thể tải vào trong vi điều khiển chương trình của người sử dụng và sau đó thực thi chương trình này. Mỗi khi reset vi điều khiển CPU sẽ nhảy tới thực thi chương trình boot loader trước, chương trình boot loader sẽ dò xem có chương trình nào cần nạp vào vi điều khiển hay không, nếu có chương trình cần nạp, boot loader sẽ nạp chương trình vào vùng nhớ ứng dụng (Application program section ), rồi thực thi chương trình này. Ngược lại, boot loader sẽ chuyển tới chương trình ứng dụng có sẵn trong vùng nhớ ứng dụng để thực thi chương trình này.
Phần ứng dụng (Application program s