Ví dụ về một số hệ thống nhúng

Một phần của tài liệu NGHIÊN CỨU ỨNG DỤNG EMBEDDED OS VÀO BÀI TOÁN GIÁM SÁT TRẠM VỆ TINH (Trang 43 - 54)

Chương 3 Tìm hiểu một số hệ thống nhúng và cách thức phát triển hệ thống nhúng

3.1 Ví dụ về một số hệ thống nhúng

Hình 3-19 Ví dụ về các hệ thống nhúng những năm đầu

Ta hãy xem xét một vài ví dụ trong đời sống thực. Đầu tiên là trường hợp của bộ điều khiển mức nước thông minh. Để làm được điều này, các bộ cảm biến được đặt ở trong bể nước, để phát hiện mức nước. Các tín hiệu điện đầu ra của bộ cảm biến được xử lý bởi mạch logic. Nó quyết định việc điều khiển máy bơm nước. Nếu mức nước giảm so với mức nước cho phép, mạch logic tự động bật máy bơm. Và ngược lại, nếu mức nước cao hơn mức quy định, nó tự động tắt máy bơm. Mỏ hàn số là một trường hợp khác, trong đó mạch logic điều khiển nhiệt độ của mỏ hàn ở một mức nhiệt độ cố định. Ngược mới hệ thống số tay cầm, một hệ thống số tự động, nó tự động thay đổi số tuỳ theo tốc độ của xe. Một chiếc ti vi thông minh, nó tự động điều khiển chất lượng hình ảnh theo độ sáng, thông qua các bộ cảm biến ánh sáng và mạch logic.

Hệ thống nhúng là tổ hợp của phần cứng và phần mềm. Phần mềm thực hiện toàn bộ phần ra quyết định và những quyết định này được thực hiện thông qua phần cứng. Phần mềm được lập trình bởi các nhà sản xuất các thiết bị thông minh. Nhưng có sự khác nhau giữa một hệ thống máy tính để bàn và hệ thống logic nhúng. Máy tính để bàn có thể được lập trình bởi người sử dụng bất kỳ lúc nào ta muốn. Nhưng

một hệ thống nhúng được lập trình nhà sản xuất và không thể bị thay đổi bởi các khách hàng. Điều đó cũng có nghĩa là hệ thống nhúng thực hiện một chức năng đơn lẻ, và tuỳ theo ứng dụng.

Hình 3-20 Các ứng dụng của hệ thống nhúng

• Một số loại mạch logic o Bo mạch công nghiệp o Máy tính ở dạng module o Module máy tính bo mạch đơn

Hình 3-21 Một số mạch logic

Đặc tính của các hệ thống nhúng

• Là thiết bị có thể lập trình được hay là quản lý được: Bằng cách thay đổi phần mềm và nạp lại phần mềm vào thiết bị.

• Đa nhiệm: Một hệ thống nhúng được sử dụng trong tủ lạnh thực hiện việc cảm biến mở cửa và cảm biến nhiệt độ tại cùng thời điểm.

• Đáp ứng thời gian thực: Đây là khả năng của hệ thống nhúng để đáp ứng các điều kiện xảy ra tức thì, ví dụ như chiếc ti vi thông minh điều khiển chất lượng hình ảnh ngay lập tức khi môi trường ánh sáng biến đổi.

• Bộ điều khiển logic lập trình được PLC, thực hiện chức năng tương tự như của các hệ thống nhúng. Nhưng khu vực ứng dụng của chúng hoàn toàn khác. PLC được sử dụng với các ứng dụng có công suất cao, điện áp cao. Giá thành cao hơn, kích thước cũng lớn hơn. Còn đối với các hệ thống nhúng chúng được sử dụng với các ứng dụng có công suất thấp và điện áp thấp. Giá thành và kích thước cũng thấp.

Hình 3-22 PLC và Embedded System

Phân loại các hệ thống nhúng

• Các hệ thống nhúng hoạt động độc lập: đó là các mạch logic được trong các thiết bị thông minh độc lập như TV.

• Các hệ thống nhúng thời gian thực: Có thể phân loại thành thời gian thực cứng và mềm. Các hệ thống thời gian thực cứng được sử dụng trong các thiết bị y tế, ở đó các đáp ứng thời gian thực là yếu tố quyết định. Các hệ thống mềm có đáp ứng thời gian thực thấp hơn so với hệ thống cứng. Ví dụ chiếc TV thông minh là một ví dụ về thống mềm.

• Mạng các hệ thống nhúng: Ở đây các thiết bị thông minh được kết nối mạng với các hệ thống khác. Mạng có thể là mạng không dây hoặc mạng có dây. Điện thoại di động là một ví dụ về thiết bị mạng thông minh không dây

Phần cứng nhúng Kiến trúc phần cứng

Hình 3-23 Kiến trúc phần cứng

3.1.1.1 Bộ xử lý

Là khối óc của mạch logic nhúng. Nó có thể là các loại như:

• 8b Microcontroller (MC) – PIC, 8051, Motorola: Sử dụng cho các ứng dụng yêu cầu không gian chứa ứng dụng cao nhưng xử lý các ứng dụng có công suất thấp và bộ nhớ nhỏ ví dụ như các toys hoặc card thông minh.

• 32b Microprocesser (MP) – MIPS, Atmel, Rabit, Altera: Sử dụng cho các ứng dụng chiếm không gian nhớ ít nhưng xử lý công suất cao hơn và yêu cầu bộ nhớ cao, như là các máy tính cầm tay.

• Digital Signal Processor (DSP) – Analog Devices, TI: Sử dụng cho các ứng dụng như xử lý dữ liệu như audio, video. DSP chứa một MAC (Multiply- Accumulate), thực hiện các tính toán phức tạp.

Hình 3-24 Một số bộ vi xử lý

3.1.1.2 Bộ nhớ

Trong trường hợp của các bộ nhớ mở rộng MC thì RAM, ROM được sử dụng

Hình 3-25 Một số loại bộ nhớ sử dụng trong hệ thống nhúng

3.1.1.3 Địa chỉ chốt

Nối các bộ nhớ mở rộng với bộ xử lý.

3.1.1.4 Thạch anh

Cung cấp tín hiệu đồng hồ cho bộ xử lý.

3.1.1.5 LED/LCD

Các thiết bị đầu ra chuẩn để hiển thị các thông tin như nhiệt độ, độ ẩm, … 3.1.1.6 Bàn phím

Thiết bị đầu vào tiêu chuẩn, để thiết lập các giá trị như nhiệt độ của mỏ hàn, hoặc nhiệt độ ngưỡng, …

3.1.1.7 Chốt mở rộng

Giao diện giữa MC với LED/LCD.

Hình 3-26 Các loại hiển thị

Bộ đệm

Giao diện giữa keypad với MC.

Cảm biến

Trong các ứng dụng điều khiển sử dụng hệ thống nhúng, thì các tín hiệu đầu vào được lấy từ các bộ cảm biến. Các bộ cảm biến tạo ra các tín hiệu tương tự, độ lớn của các tín hiệu phụ thuộc vào các điều kiện bên ngoài. Ví dụ như trong bộ cảm biến nén của ô tô đặt ở đằng trước. Khi có một xung đột xảy ra thì các bộ cảm biến này tao ra tín hiệu có độ lớn phụ thuộc vào mức độ xung đột. Bằng cách phân tích các tín hiệu này, mà bộ điều khiển mạch logic nhúng điều khiển túi khí.

Hình 3-27 Ví dụ về bộ cảm biến áp suất

3.1.1.8 Chip select

Các ứng dụng có nhiều bộ xử lý được sử dụng ở dạng song song, thì CS được sử dụng để tạo ra một tín hiệu CS giữa các bộ xử lý.

Các thiết bị ADC/DAC

Bộ xử lý chỉ xử lý các tín hiệu số, do đó các tín hiệu analog được xử lý bởi các khối ADC/DAC.

3.1.1.9 Mạch điều khiển theo ứng dụng

Trong thực tế, kiến trúc của phần cứng phụ thuộc vào các ứng dụng. Các khối chức năng phụ, thêm vào để cho các ứng dụng cụ thể, được xử lý thông qua mạch điều khiển này. Ví dụ, mới card thông minh, thì chứa thêm khối bảo mật.

Giao diện truyền thông

Nó giao tiếp giữa mạch logic với các hệ thống mở rộng thông qua các chuẩn như:

UART, IEEE, USB, IrDA, Ethernet, Blutooth, PCI bus, … Thông qua bus PCI, có thể kết nối mạch logic nhúng với một máy tính và có thể điều khiển mạch logic thông qua máy tính.

3.1.1.10 Reset circuit

Được sử dụng để khởi tạo tất cả các khối phần cứng khi có lỗi xảy ra.

Phần mềm

Các lệnh điều khiển bộ xử lý được đặt ở lớp ứng dụng. Nhưng lớp phần cứng không tiếp xúc trực tiếp với lớp ứng dụng. Nhân hệ điều hành hoạt động như là lớp trung gian giữa lớp bên ngoài (ứng dụng) và lớp bên trong (phần cứng). OS và lớp ứng dụng tạo nên phần mềm nhúng.

3.1.2 Nhân hệ điều hành

Đây là phần cứng của phần mềm nhúng. Có có thể chưa nhiều hệ con.

3.1.2.1 Hệ file

Ổ cứng thường không được sử dụng như là bộ lưu trữ mở rộng trong hệ thống nhúng, nếu chúng được sử dụng trong các mạch logic thì hệ con này định dạng file ở dạng FAT trên ổ cứng.

3.1.2.2 Hệ con quản lý bộ nhớ

Xử lý tất cả các bộ nhớ trong hệ thống nhúng.

3.1.3 Hệ con điều khiển tác vụ hoặc tiến trình

Tất cả các hệ thống nhúng ở dạng đa nhiệm, do đó cần phải lập lịch giữa các tiến trình.

3.1.4 Hệ con quản lý driver thiết bị hoặc I/O Xử lý tất cả các thiết vị vào/ra.

3.1.5 Các loại OS ứng dụng trong các hệ thống nhúng

Các hệ điều hành không thời gian thực như: OS Windows XP Embedded, Emb.Linux: Được sử dụng trong các hệ thống nhúng ở đó đáp ứng thời gian thực là không cần thiết.

Hệ điều hành thời gian thực: RT Linux, Virtuoso: Được sử dụng trong các hệ thống nhúng ở đó đáp ứng thời gian thực yếu tố quyết định.

Hệ điều hành cho các thiết bị cầm tay: OS-WinCE, Palm, Symbian: Chúng thích hợp trong môi trường di động.

3.1.6 Ngôn ngữ lập trình hệ nhúng

Các ứng dụng hệ nhúng được viết ở lớp ứng dụng sử dụng một ngôn ngữ lập trình.

Ngôn ngữ thường sử dụng là C và ngôn ngữ Assembly. C++ cũng được sử dụng trong các hệ thống nhúng. Java cũng được sử dụng trong các hệ thống nhúng được kết nối mạng. VB + VC++ cũng cấp một môi trường IDE cho phát triển các ứng dụng.

3.1.7 API

Là giao diện lập trình giữa lớp ứng dụng và lớp OS.

Các bước phát triển ứng dụng

o Lựa chọn phần cứng theo theo thiết kế o Các bộ phân tích dùng để debug phần cứng o Lựa chọn hệ điều hành và ngôn ngữ lập trình

o Lựa chọn nền tảng máy tính để phát triển ứng dụng: Các ứng dụng nhúng không được phát triển trực tiếp trên bo mạch chính hay trên thiết bị thông minh. Thay vào đó là một máy tính để bàn chạy trên một hệ điều hành nào đó được lựa chọn làm nền tảng để phát triển các ứng dụng

o Tải phần mềm nhúng vào trong môi trường phát triển

o Xây dựng các ứng dụng trên môi trường phát triển: Đầu tiên các chương trình ứng dụng được viết bằng các ngôn ngữ lập trình. Các chương trình được debug thông qua một “tool-chain”. Chương trình ứng dụng thông qua bộ biên dịch và phần assembly được biên dịch thông qua bộ biên dịch assembler để tạo ra mã máy tương ứng với phần cứng. Bộ biên dịch và bộ assembler làm việc trên cấu trúc phần cứng khác chứ không làm việc trên nền tảng. Do đó gọi là cross-compiler và cross-assembler. Bộ linker tạo ra một file một file có đuôi .EXE và bộ locator tạo ra một file có định dạng ROM.

o Kiểm tra lỗi và các giai đoạn sửa lỗi: Hoạt động chính xác của chương trình ứng dụng là cần thiết cho một thiết bị thông minh. Do đó file ROM phải thông qua hai giai đoạn sau:

 Mô phỏng ứng dụng trên platform: Đây là một môi trường ảo được tạo ra trên máy tính phát triển ứng dụng, và sử dụng môi trường này để thay đổi mã chương trình cho chương trình hoạt động đúng.

 Đánh giá ứng dụng: Sử dụng bo mạch đánh giá. Thông qua những bo mạch này ta có thể những ứng dụng không còn lỗi. Bo mạch đánh giá tương thích với môi trường phát triển phần mềm nhúng. Trước khi nạp chương trình phần mềm vào board logic, nó được nạp vào mạch đánh giá, như vậy nó sẽ giúp cho việc giải quyết những lỗi phần mềm có thể có

Hình 3-28 Các bước phát triển ứng dụng

o Phát triển sử dụng bộ lập trình được EPROM. Nó là một thiết bị chứa một khe cắm, ở đó cắm IC. Thông qua một cổng USB người lập trình nối từ máy tính phát triển ứng dụng và nạp file ROM tới ROM của IC.

o Biến đổi CRC: Trong khi nạp chương trình, nó có thể có lỗi bit xảy ra. Do đó kiểm tra CRC được thực hiện.

Hình 3-29 Ví dụ về một bo mạch đánh giá

Bây giờ ta đã có phần cứng và phần mềm nhúng trong ROM

Một phần của tài liệu NGHIÊN CỨU ỨNG DỤNG EMBEDDED OS VÀO BÀI TOÁN GIÁM SÁT TRẠM VỆ TINH (Trang 43 - 54)

Tải bản đầy đủ (DOC)

(91 trang)
w