1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Kit FRDM

17 29 0

Đ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 17
Dung lượng 599,54 KB

Nội dung

I Sơ lược phần cứng: Sơ lược: Kit FRDM-KL46Z kit xây dựng dựa vi xử lí ARM® Cortex™M0+ Freescale sản xuất A Kit FRDM – KL46Z sơ đồ chân Chức chính: Chip ARM MKL46Z256VLL4MU, core clock 48MHz, nhớ flash 256KB, 32KB sram, tích hợp điều khiển segment LCD, USB otg Cảm ứng điện dung (Capacitive touch slider), chip ARM tích hợp controller cho touch sensing Cảm biến Accelerometer MMA8451Q Cảm biến từ trường magnetometer MAG3110 Linh hoạt lựa chọn nguồn, sử dụng 5V từ cổng USB máy tính, từ pin 3V3 Form factor compatible with Arduino ™ R3 pin layout Tích hợp debug Open SDA kit, sử dụng Open SDA để debug giao tiếp RS232 -Cảm biến ánh sang B • • • • • • • • • • I/O (2 leds, buttons) LCD segment digits Ứng dung thực tiễn: Ứng dụng la bàn số sử dụng cảm biến từ trường Tạo usb device cho riêng sử dụng usb controller có sẵn chip, MKL46Z256VLL4MCU hỗ trợ USB low speed vào USB full speed Thiết kế máy nghe nhạc sử dụng PWM DAC Ngồi sử dụng expand Header kết nối với board mạch khác Có thể chạy số hệ điều hành thời gian thực FreeRTOS, MQxlite C • • • • • II Hệ điều hành: Đặc điểm chung hệ điều hành: Nguồn gốc đời 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 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 tập chức cần thiết phép gói phần mềm điều khiể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 máy tính 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 nguyên nhớ thiết bị ngoại vi nói chung Điều tạo giao diện thuận lợi cho ứng dụng người sử dụng phát triển phần mềm phần cứng có Đồng thời tránh yêu cầu hiểu biết sâu sắc phần cứng phát triển dựa ngơn ngữ bậc cao A Hệ thống điều hành chấ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 điển hình hệ thống điều hành nạp thực thi hệ thống bắt đầu khởi động thực trực tiếp xử lý hệ thống Hệ thống điều hành viết để phục vụ điều khiển xử lý tài nguyên khác hệ thống đảm nhiệm chức quản lý lập lịch trình sử dụng CPU chia sẻ tài nguyên B Hệ điều hành thời gian thực: Thời gian thực ( Real – Time): Thời gian thực khó định nghĩa Ý tưởng thời gian thực thể chỗ: hệ thống phải có phản ứng thích hợp, thời điểm với mơi trường Nhiều người ln nghĩ rằng, thời gian thực có nghĩa thực nhanh, nhanh tốt, điều sai lầm Thời gian thực có nghĩa “đủ nhanh” (fast enough) ngữ cảnh, môi trường mà hệ thống hoạt động Khi đề cập đến máy tính điều khiển động tơ, cần chạy nhanh tốt Một ví dụ khác, đề cập đến nhà máy lọc dầu hoá học chẳng hạn, nhà máy điều khiển một hệ thống máy tính Các máy tính có trách nhiệm điều khiển q trình hố học đồng thời phải phát cố xảy Tuy nhiên, phản ứng hay q trình hố học thường có số thời gian lớn từ hàng giây hàng phút Chính mày giả thiết máy tính hồn tồn có khả phản ứng lại cố nghiêm trọng Tuy nhiên, đặt vấn đề hệ thống máy tính q trình in báo cáo dài thông số sản lượng tuần trước trục trặc xảy Vậy thời gian để phản ứng lại cố thế? Thực chất việc tính tốn thời gian thực khơng việc phản ứng đủ nhanh mà phải đáng tin cậy xác Máy tính điều khiển động tơ bạn phải điều chỉnh luồng nhiên liệu thời gian đánh lửa cách hợp lý vịng quay Nếu khơng, động khơng làm việc theo mong muốn Máy tính nhà máy lọc dầu phải phát phản ứng lại điều kiện bất thường thời gian cho phép để tránh thảm hoạ xảy Như vậy, nghệ thuật lập trình thời gian thực việc thiết kế hệ thống cho tiếp nhận cách xác ràng buộc mặt thời gian suốt trình kiện ngẫu nhiên không đồng xảy Các dạng thời gian thực: Về bản, chương trình có tính thời gian thực phải có khả phản ứng lại kiện môi trường mà hệ thống làm việc khoảng thời gian định cho trước Những hệ thống gọi hệ thống “điều khiển kiện” (hay hệ thống lái kiện – event-driven) mơ tả thời gian trễ từ mà kiện xảy hệ thống có hoạt động phản ứng lại với kiện Thời gian thực, mặt khác, địi hỏi giới hạn cao thời gian trễ, gọi “thời hạn lập danh mục” (scheduling deadline) Một hệ thống thời gian thực chia làm loại: “thời gian thực cứng” (hard real-time) “thờigian thực mềm” (soft real-time) Trong hệ thống hard real-time, hệ thống phải tiếp nhận nắm bắt scheduling deadline thời điểm Sự sai sót việc tiếp nhận deadline dẫn đến hậu nghiêm trọng người Lấy ví dụ: máy hỗ trợ nhịp tim cho bệnh nhân phẫu thuật Thuật toán điều khiển phụ thuộc vào thời gian nhịp tim người bệnh, thời gian bị trễ, tính mạng người bệnh bị ảnh hưởng Đối với khái niệm soft real-time, scheduling deadline thở chút Chúng ta mong muốn hệ thống phản ứng lại kiện thời gian cho phép khơng có thực nghiêm trọng xảy hệ thống bị trễ Lỗi mặt thời gian đơn giản dẫn đến hậu giảm độ tin cậy đối tượng hệ thống mà khơng có hậu thê thảm khác xảy Mạng lưới thu ngân tự động ngân hàng ví dụ rõ cho soft realtime Mạng rút tiền tự động ATM hệ thống thời gian thực? Chẳng dám đặt cược Khi bạn đưa thẻ ATM vào máy, bạn mong máy phản ứng lại vòng hay giây Nhưng lâu thế, điều tồi tệ xảy là… bạn sốt ruột thấy khó chịu máy Trên thực tế có nhiều hệ thống phối hợp loại trên, đó, phần hệ thống làm việc dựa hard real-time, số phần khác lại dựa soft real-time Thời gian thực cứng – Thời gian thực mềm Hệ điều hành thời gian thực: Hệ điều hành thời gian thực – RealTime Operating Systems(RTOS), phần mềm điều khiển chuyên dụng thường dùng ứng dụng điện tốn nhúng có tài nguyên nhớ hạn chế yêu cầu ngặt nghèo thời gian đáp ứng tức thời, tính sẵn sàng cao khả tự kiểm sốt cách xác Định nghĩa hệ điều hành thời gian thực hệ thống có: • • • Lịch trình thực thi theo thời gian Quản lý tài nguyên hệ thống Cung cấp tảng để phát triển ứng dụng Có thể tìm thấy RTOS nơi Chúng phổ biến hệ điều hành mà bạn quen thuộc Windows, Mac OS Unix RTOS âm thầm làm việc bên định tuyến chuyển mạch mạng, động xe, máy nhắn tin, điện thoại di động, thiết bị y tế, thiết bị đo lường điều khiển công nghiệp vô số ứng dụng khác Một thuộc tính quan trọng RTOS khả tách biệt với ứng dụng, có chương trình bị "chết" hay hoạt động khơng hợp lệ, RTOS nhanh chóng lập chương trình này, kích hoạt chế phục hồi bảo vệ chương trình khác hay thân hệ điều hành khỏi hậu lệnh sai Cơ chế bảo vệ tương tự áp dụng để tránh tình trạng tràn nhớ chương trình gây RTOS xuất hai dạng: cứng mềm Nếu tính xử lý ứng với kiện khơng xảy hay xảy không đủ nhanh, RTOS cứng chấm dứt hoạt động giữ không gây ảnh hưởng đến độ tin cậy tính sẵn sàng phần cịn lại hệ thống Vì RTOS máy tính nhúng trở nên phổ biến ứng dụng quan trọng, nhà phát triển thương mại tạo nên RTOS với tính sẵn sàng cao Những sản phẩm có thành phần phần mềm chuyên dụng làm chức cảnh báo, chạy chương trình chẩn đốn hệ thống để giúp xác định xác vấn đề trục trặc hay tự động chuyển đổi sang hệ thống dự phòng Hiện thời RTOS sẵn sàng cao hỗ trợ bus Compact PCI tổ chức PCI Industrial Computer Manufacturers Group, bus dùng cho phần cứng trao đổi nóng RTOS có nhiều dạng Sản phẩm thương mại VxWorks VxWorks AE, Wind River Systems Inc; VxWorks AE thiết kế với tính sẵn sàng cao, hỗ trợ khả gửi thông điệp phân tán chịu lỗi RTOS cho phép lập trình viên tách biệt thư viện dùng chung, liệu phần mềm hệ thống ứng dụng LynxOS loại RTOS cứng, làm việc với Unix Java QNX chạy xử lý Intel x86 với nhân có 10 KB RTOS giới nghiên cứu gồm có Chimera Đại học Carnegie Mellon Đây hệ thống đa nhiệm, đa xử lý thời gian thực, thiết kế để tạo dễ dàng cho nhà lập trình việc tái cấu hình tái sử dụng mã Chimera nhắm vào hệ thống rô bô tự động RTOS Đại học Maryland, có tên Maruti, hỗ trợ cho ứng dụng thời gian thực cứng mềm Trong nhiều năm, ứng dụng dựa RTOS chủ yếu hệ thống nhúng gần chúng có mặt khắp nơi, từ thiết bị y tế điều khiển máy ảnh máy pha cà phê, ứng dụng tính tốn phân tán thúc đẩy nhà phát triển hệ điều hành thực nghiên cứu phát triển chuẩn Chính phủ Mỹ có số chương trình lĩnh vực cơng nghệ quản lý tài nguyên thời gian thực, mạng, quản lý liệu phần mềm điều khiển trung gian Mục đích chương trình làm cho hệ thống cộng tác, phân tán giao tiếp chia sẻ tài nguyên với Một uỷ ban chuyên trách đẩy mạnh việc tạo khung cơng nghệ cho tính tốn phân tán thời gian thực, áp dụng cho ứng dụng quân thương mại Khung công nghệ hỗ trợ giao tiếp thành phần liên tác chuẩn Cho dù người tạo môi trường tính tốn phân tán thời gian thực, phổ dụng RTOS cơng nghệ quan trọng mà người dùng cuối chưa nghe đến 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 thời điểm xuất ngắt Nhận dạng lựa chọn xử lý phục vụ dịch vụ ngắt Điều khiển trình Tạo kết thúc trình/tác vụ Lập lịch điều phối hoạt động hệ thống Định thời Điều khiển ngoại vi Xử lý ngắt Khởi tạo giao tiếp vào Cấu trúc hệ điều hành thời gian thực Tùy theo chế thực xây dựng hoạt động hạt nhân người ta phân loại số loại hình: Hệ thống thời gian thực nhỏ: Với loại phần mềm phát triển mà không cần có hệ điều hành, người lập trình phải tự quản lý xử lý vấn đề điều khiển hệ thống bao gồm: • • • • • • • • • • • Xử lý ngắt Điều khiển q trình/ tác vụ Quản lý nhớ Cơng nghệ đa nhiệm Mỗi q trình có khơng gian nhớ riêng Các trình phải chia nhỏ thành Thread chia sẻ không gian nhớ Các dịch vụ cung cấp hạt nhân Tạo kết thúc trình/ tác vụ Truyền thống trình Các dịch 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 khiển hệ thống Các thành phần RTOS: Các đối tượng RTOS • Bộ lịch trình ( Scheduler): Là tập thuật toán để xác định tác vụ ( Task) thực thi • Đối tượng (Object) : Là cấu trúc đặc biệt (Kernel) giúp người lập trình tạo ứng dụng • Dịch vụ ( Service) : Là điều khiển mà Kernel ( lõi) thực thi đối tượng ( object): chia thời gian ( Timing), Ngắt( interrupt), Đáp ứng ( handling) quản lý tài nguyên hệ thống ( resource management) Bộ lịch trình ( Scheduler): Là phần vô quan trọng lõi hệ thống điều khiển ( Operating System Kernel) a) Nó giúp xác định tác vụ (task) dành quyền CPU để thực thi Sau đó, thực việc chuyển trạng thái ( context switching) thực điều phối ( dispatcher) (1) Chuyển đổi trạng thái ( Context Switching): Chuyển đổi trạng thái ( ngữ cảnh) • Trạng thái ( ngữ cảnh) tác vụ ( Task): - Mỗi task có trạng thái riêng nó, trạng thái ghi ( registers) - Mỗi thời điểm task tạo , kernel tạo lưu giữ block điều khiển liên quan đến task ( TCBs ) TCBs cấu trúc liệu hệ thống mà kernel dùng để lưu trữ thông tin đặc trung task TCBs chứa thứ mà kernel cần để biết task cụ thể Khi task đnag chạy, trạng thái động Trạng thái động lưu trữ TCB Khi • • task khơng cịn chạy nữa, trạng thái bị đóng bang ( frozen) TCB, sử dụng cho lần thực thi task Công tắc chuyển đổi trạng thái ( Context Switch): - Sẽ xãy lịch trình ( scheduler) chuyển từ trạng thái sang trạng thái khác Việc chuyển đổi trạng thái bao gồm: - Thời gian chuyển đổi: Là thời gian tiêu tốn lịch trình chuyển từ task sang task khác Nó khơng có liên quan đến lệnh thực task Nếu ứng dụng thiết kế mà xảy chuyển đổi trạng thái thường xuyên dẫn đến thực thi khơng thiết Vì vậy, nên thiết kế ứng dụng theo cách mà tạo chuyển đổi trạng thái cần - Khi chuyển đổi xảy ra: Mỗi ứng dụng tạo lời gọi hệ thống ( System Call) , lịch trình xác định có cần chuyển đổi trạng tháu hay khơng Khi lịch trình xác định việc chuyển đổi cần thiết gọi phân phối ( dispatcher) để thực việc chuyển đổi • Ví dụ: Khi thực thi Kernel xác định cần dừng việc thực thi task để chuyển qua trạng task thực thi theo bước sau: Kernel lưu thông tin trạng thái Task -> Load thông tin trạng thái Task 2, task2 trở thành luổng ( thread) thực thi Trạng thái chuyển đổi Task đóng bang Task thực thi, chuyển đổi xác định cần chạy lại task task quay lại vị trí trước bị chuyển đổi Ví dụ Contex Switch Bộ điều phối (Dispatcher): Dịng thưc thi ( Flow of Execution): (2) • Tại thời điểm RTOS chạy, dịng thực thi chuyển đến vùng: đến Task ứng dụng ( application Task), đến chương trình phục vụ ngắt ( ISR), đến Kernel • • Khi phân phối thực hiên: - Khi Task ISR tạo lời gọi hệ thống, dòng điều khiển chuyển đến Kernel để thực thi số thủ tục cung cấp Kernel - Khi rời khỏi kernel, Dispatcher có trách nhiệm chuyển lệnh điều khiển đến số Task ứng dụng Cách thực sau: - Không cần thiết để chuyển toàn lệnh điều khiển đến task gọi System Call Điều xác định giải thuật phân chia thời gian biểu ( scheduling algorithms ) lịch trình ( scheduler) - Chuyển đổi thực thi từ Task Điều phối từ Task • • Tùy thuộc vào cách truy cập vào Kernel mà dispatching xãy khác Khi Task thực lời gọi hệ thống, dispatcher sử dụng để thoát khỏi Kernel Lời gọi hệ thống hoàn thành Trong trường hợp này, dispatcher dùng lời gọi lời gọi ( call- by –call basic) để hỗ trợ cho việc chuyển đổi trạng thái Task Bất kì Task gọi system call Một hay nhiều Task trạng thái sắn sàng cho thực thi Chuyển đổi thực thi từ chương trình phục vụ ngắt(ISR): Điều phối từ ISR • Khi ISR tạo System Call, Dispatcher bị bỏ vơ hiệu hóa ISR thưc thi xong Quá trinh miễn có đủ tài nguyên để chuyển đổi Task Chuyển đổi trạng thái không diễn ISR phải thực thi xong mà không ngắt Tasks Sau ISR thực thi xong, Kernel đến dispatcher để điều phối đến task thực thi Giải thuật cho lịch trình: Lịch trình thay theo độ ưu tiên: (3) • Giải thuật lịch trình theo độ ưu tiên Hầu hết Real – time Kernel sử dụng giải thuật lịch trình thay theo độ ưu tiên ( preemptive priority- based scheduling) làm mặc định - Các task thực thi thời điểm task có độ ưu tiên cao so với task khác trạng thái sẵn sàng - Real –Time Kernel hỗ trợ 256 cấp độ ưu tiên, với độ ưu tiên cao 255 độ ưu tiên thấp Một số Kernel ngược lại với 255 độ ưu tiên cao độ ưu tiên thâp - Với chuyển đổi theo đọ ưu tiên, task phải có độ ưu tiên, task có độ ưu tiên cao chạy Nếu Task có độ ưu tiên cao task chạy trở nên sẵn sàng để chạy kernel lưu lại trạng thái Task chuyển sang Task có độ ưu tiên cao - Mặc dù việc phân chia độ ưu tiên Task thực task tạo độ ưu tiên Task thay đổi cách linh động sử dụng Lời gọi kernel cung cấp ( Kernel – provided calls) Khả dùng để thay đổi cách linh động cho phép ứng dụng nhúng có độ linh hoạt để ứng xử với kiện bên chúng xuất hiện, tạo hệ thống thời gian thực đáp ứng tốt Lưu ý việc sử dụng không khả thay đổi độ ưu tiên dẫn đến đảo độ ưu tiên ( priority inversion), vùng chết ( deadlock), dẫn đến treo hệ thống ( system failure) Ví dụ: ( Hình 7) - • Task thay task có độ ưu tiên cao hơn, task thay task có độ ưu tiên cao hơn, Task hoàn thành, task tiếp tục thực thi trạng thái trước bị dành quyền thực thi Tương tự, task hồn Task tiếp tục thực thi (resumes) • Lịch trình theo Round- Robin( Gọi vịng): Lịch trình theo Round- Robin • • Mỗi Task chia sẻ thời gian thực thi CPU Round- Robin túy không thỏa mãn yêu cầu hệ thống thời gian thực hệ thống thời gian thực task phải làm việc theo mức độ quan khác Ví dụ : Thay thay theo độ ưu tiên, task round –robin phân chia thời giant thực thi theo khoảng thời gian ( time slice) Vơi time slicing , task thực thi khoảng thời gian định, theo vong Một đếm thời gian giám sát thời gian Task, tăng lên theo xung clock Khi thời gian thực thi task hết, đếm bị xóa, task đặt cuổi chu kì ( end of circle) Nếu task round-robin bị thay mọt task có độ ưu tiên cao hơn, đếm thời gian lưu lại phục hồi task bị thay dành quyền thực thi lại b) • Tasks: Các đối tượng RTOS( Object): Là luồng ( thread) thực thi tồn độc lập “ cạnh tranh” để dành quyền thực thi • Semaphores: Là đối tượng bắt kiện để đồng tasks, tăng giảm • Message Queues: Là kiểu cấu trúc liệu dùng để đồng hóa trao đổi thơng tin Tasks • Real-time embedded applications: Là kết nối đối tượng Kernel để giải vấn đề thời gian thực đồng thời, đồng bộ,và trao đổi liệu MỤC LỤC Nội dung báo cáo chi tiết kết nghiên cứu đề tài Sơ lược phần cứng: 1.1 Sơ lược 1.2 Chức 1.3 Ứng dụng thực tiễn Hệ điều hành 2.1 Thời gian thực 2.2 Các dạng thời gian thực 2.3 Hệ điều hành thời gian thực 2.4 Các thành phần RTOS BÁO CÁO KẾT QUẢ NGHIÊN CỨU ĐỀ TÀI Tên đề tài: Hệ điều hành cho Kit KL46Z Danh sách thành viên: • • • • • Trương Chí Dũng 13119005 Trần Viết Thanh 13119035 Nguyễn Hoàng Sơn 13119034 Lê Sỹ Nghĩa 131190 Nguyễn Triệu Liêm 13119023 Thời gian thực đề tài từ ngày 15 tháng 10 năm 2015 đến ngày 29 tháng 10 năm 2015 ... gian thực 2.4 Các thành phần RTOS BÁO CÁO KẾT QUẢ NGHIÊN CỨU ĐỀ TÀI Tên đề tài: Hệ điều hành cho Kit KL46Z Danh sách thành viên: • • • • • Trương Chí Dũng 13119005 Trần Viết Thanh 13119035 Nguyễn

Ngày đăng: 11/02/2022, 16:13

w