CHƯƠNG 3 : BỘ ĐIỀU KHIỂN ĐIỆN TỬ
3.5. Phần mềm điều khiển
3.5.5. Hệ thống điều hành:
Điều cực kỳ cần thiết là sử dụng hệ điều hành phù hợp với OSEK để đáp ứng nhu cầu tạo được thời gian thực, hiện tại trên ECU. Hệ điều hành ERCOSEK từ ETAS được sử dụng trong bộ điều khiển truyền dữ liệu của Bosch (có sẵn cho tất cả các loại vi điều khiển)
Một hệ điều hành được chia thành các nhiệm vụ và quy trình như sau (hình 3.18):
Một quy trình là một chức năng khơng có lệnh gọi hay phải trả về tham số. Một nhiệm vụ bao gồm các quá trình khác nhau và được đặc trửng bởi
Việc thực hiện tuần tự các quy trình
Phân bố nhiệm vụ của các quy tình
Nhiệm vụ được giao cho mộ đơn vị thời gian
Hình 3.18 : Quy trình và nhiệm vụ
Để thay đổi nhiệm vụ, cần có thuật tốn giúp đỡ hoặc thuật toán ưu tiên (quản lý tác vụ):
Thuật toán giúp đỡ (Cooperative Scheduling)
Trong trường hợp sử dụng một thuật tốn giúp đỡ, một nhiệm vụ chỉ có thể bị gián đoạn giữa hai quy trình bởi một nhiệm vụ có tính ưu tiên hơn ( hình 3.19).
Ưu điểm của thủ tục này là yêu cầu bộ nhớ thấp (register banks, stack), quản lý đơn giản và thống nhất dữ liệu. Nhược điểm là thời gian đáp ứng hạn chế ( phụ thuộc vào thời gian chạy quy trình) và sự biến động trong thời thực hiện nhiệm vụ.
Thuật toán ưu tiên.
Do những hạn chế trong thuật toán giúp đỡ, thuật toán ưu tiên được sử dụng trong các hệ điều hành hoạt động như một hệ thống tạo thời gian thực.
Với hình thức lập trình này, một nhiệm vụ ưu tiên cao hơn có thể làm gián đoạn một nhiệm vụ ưu tiên thấp hơn bất cứ lúc nào (Hình 3.20). Ưu điểm của thủ tục này là thời gian phản hồi rất ngắn, giảm độ biến động( jitter) trong thời gian thực hiện và thời gian đáp ứng không thụ thuộc vào quá trình thực hiện. Những nhược điểm là yêu cầu bộ nhớ cao ( register banks, stack) và các vấn đề về tính nhất qn dữ liệu.
Hình 3.20 : Thay đổi thuật toán ưu tiên
Thuật toán lai
ERCOSEK cung cấp tùy chọn lai cả hai loại thuật toán trong một ứng dụng. Một sự kết hợp giữa lập trình phần cứng và phần mềm phục vụ mục đích này. Hình 3.21 cho thấy sự phần phối giữ hai thuật toán bằng cách sử dụng các ưu tiên được giao cho các nhiệm vụ.
Hình 3.21 : Phân phối sự ưu tiên
Một phần mềm lệnh bắt đầu hệ điều hành. Nó có thể hỗ trợ các chế độ khác nhau của một ứng dụng (ví dụ : các nhóm tác vụ khác nhau để khởi tạo, vận hành và chạy ECU, hình 3.22). Mỗi chế độ ứng dụng bao gồm một giai đoạn khởi tạo và một giai đoạn thực hiện. Sự đứt đoạn bị cấm trong quá trình khởi tạo chế độ của ứng dụng.
Các tài liệu khác về chủ đề ERC OSEK/OSEK có thể được tìm thấy trên Internet tại:
http://www.etas.de http://www.osek-vdx.org
Hình 3.22 : Thay đổi chế độ ứng dụng