• Youtube
  • Facebook
  • Twitter

Hệ thống nhúng

Giới thiệu hệ thống nhúng

Hệ thống nhúng (tiếng Anh: embedded system) là một thuật ngữ để chỉ một hệ thống có khả năng tự trị được nhúng vào trong một môi trường hay một hệ thống mẹ. Đó là các hệ thống tích hợp cả phần cứng và phần mềm phục vụ các bài toán chuyên dụng trong nhiều lĩnh vực công nghiệp, tự động hoá điều khiển, quan trắc và truyền tin. Đặc điểm của các hệ thống nhúng là hoạt động ổn định và có tính năng tự động hoá cao.

Hệ thống nhúng thường được thiết kế để thực hiện một chức năng chuyên biệt nào đó. Khác với các máy tính đa chức năng, chẳng hạn như máy tính cá nhân, một hệ thống nhúng chỉ thực hiện một hoặc một vài chức năng nhất định, thường đi kèm với những yêu cầu cụ thể và bao gồm một số thiết bị máy móc và phần cứng chuyên dụng mà ta không tìm thấy trong một máy tính đa năng nói chung. Vì hệ thống chỉ được xây dựng cho một số nhiệm vụ nhất định nên các nhà thiết kế có thể tối ưu hóa nó nhằm giảm thiểu kích thước và chi phí sản xuất. Các hệ thống nhúng thường được sản xuất hàng loạt với số lượng lớn. Hệ thống nhúng rất đa dạng, phong phú về chủng loại. Đó có thể là những thiết bị cầm tay nhỏ gọn như đồng hồ kĩ thuật số và máy chơi nhạc MP3, hoặc những sản phẩm lớn như đèn giao thông, bộ kiểm soát trong nhà máy hoặc hệ thống kiểm soát các máy năng lượng hạt nhân. Xét về độ phức tạp, hệ thống nhúng có thể rất đơn giản với một vi điều khiển hoặc rất phức tạp với nhiều đơn vị, các thiết bị ngoại vi và mạng lưới được nằm gọn trong một lớp vỏ máy lớn.

Các thiết bị PDA hoặc máy tính cầm tay cũng có một số đặc điểm tương tự với hệ thống nhúng như các hệ điều hành hoặc vi xử lý điều khiển chúng nhưng các thiết bị này không phải là hệ thống nhúng thật sự bởi chúng là các thiết bị đa năng, cho phép sử dụng nhiều ứng dụng và kết nối đến nhiều thiết bị ngoại vi.

Lịch sử hình thành

Hệ thống nhúng đầu tiên là Apollo Guidance Computer (Máy tính Dẫn đường Apollo) được phát triển bởi Charles Stark Draper tại phòng thí nghiệm của trường đại học MIT. Hệ thống nhúng được sản xuất hàng loạt đầu tiên là máy hướng dẫn cho tên lửa quân sự vào năm 1961. Nó là máy hướng dẫn Autonetics D-17, được xây dựng sử dụng những bóng bán dẫn và một đĩa cứng để duy trì bộ nhớ. Khi Minuteman II được đưa vào sản xuất năm 1996, D-17 đã được thay thế với một máy tính mới sử dụng mạch tích hợp. Tính năng thiết kế chủ yếu của máy tính Minuteman là nó đưa ra thuật toán có thể lập trình lại sau đó để làm cho tên lửa chính xác hơn, và máy tính có thể kiểm tra tên lửa, giảm trọng lượng của cáp điện và đầu nối điện.

Từ những ứng dụng đầu tiên vào những năm 1960, các hệ thống nhúng đã giảm giá và phát triển mạnh mẽ về khả năng xử lý. Bộ vi xử lý đầu tiên hướng đến người tiêu dùng là Intel 4004, được phát minh phục vụ máy tính điện tử và những hệ thống nhỏ khác. Tuy nhiên nó vẫn cần các chip nhớ ngoài và những hỗ trợ khác. Vào những năm cuối 1970, những bộ xử lý 8 bit đã được sản xuất, nhưng nhìn chung chúng vẫn cần đến những chip nhớ bên ngoài.

Vào giữa thập niên 80, kỹ thuật mạch tích hợp đã đạt trình độ cao dẫn đến nhiều thành phần có thể đưa vào một chip xử lý. Các bộ vi xử lý được gọi là các vi điều khiển và được chấp nhận rộng rãi. Với giá cả thấp, các vi điều khiển đã trở nên rất hấp dẫn để xây dựng các hệ thống chuyên dụng. Đã có một sự bùng nổ về số lượng các hệ thống nhúng trong tất cả các lĩnh vực thị trường và số các nhà đầu tư sản xuất theo hướng này. Ví dụ, rất nhiều chip xử lý đặc biệt xuất hiện với nhiều giao diện lập trình hơn là kiểu song song truyền thống để kết nối các vi xử lý. Vào cuối những năm 80, các hệ thống nhúng đã trở nên phổ biến trong hầu hết các thiết bị điện tử và khuynh hướng này vẫn còn tiếp tục cho đến nay.

Cho đến nay, khái niệm hệ thống nhúng được nhiều người chấp nhận nhất là: hệ thống thực hiện một số chức năng đặc biệt có sử dụng vi xử lý. Không có hệ thống nhúng nào chỉ có phần mềm.

Các đặc điểm

Hệ thống nhúng thường có một số đặc điểm chung như sau:

• Các hệ thống nhúng được thiết kế để thực hiện một số nhiệm vụ chuyên dụng chứ không phải đóng vai trò là các hệ thống máy tính đa chức năng. Một số hệ thống đòi hỏi ràng buộc về tính hoạt động thời gian thực để đảm bảo độ an toàn và tính ứng dụng; một số hệ thống không đòi hỏi hoặc ràng buộc chặt chẽ, cho phép đơn giản hóa hệ thống phần cứng để giảm thiểu chi phí sản xuất.

• Một hệ thống nhúng thường không phải là một khối riêng biệt mà là một hệ thống phức tạp nằm trong thiết bị mà nó điều khiển.

• Phần mềm được viết cho các hệ thống nhúng được gọi là firmware và được lưu trữ trong các chip bộ nhớ ROM hoặc bộ nhớ flash chứ không phải là trong một ổ đĩa. Phần mềm thường chạy với số tài nguyên phần cứng hạn chế: không có bàn phím, màn hình hoặc có nhưng với kích thước nhỏ, dung lượng bộ nhớ thấp Sau đây, ta sẽ đi sâu, xem xét cụ thể đặc điểm của các thành phần của hệ thống nhúng.

Giao diện

Các hệ thống nhúng có thể không có giao diện (đối với những hệ thống đơn nhiệm) hoặc có đầy đủ giao diện giao tiếp với người dùng tương tự như các hệ điều hành trong các thiết bị để bàn. Đối với các hệ thống đơn giản, thiết bị nhúng sử dụng nút bấm, đèn LED và hiển thị chữ cỡ nhỏ hoặc chỉ hiển thị số, thường đi kèm với một hệ thống menu đơn giản.

Còn trong một hệ thống phức tạp hơn, một màn hình đồ họa, cảm ứng hoặc có các nút bấm ở lề màn hình cho phép thực hiện các thao tác phức tạp mà tối thiểu hóa được khoảng không gian cần sử dụng; ý nghĩa của các nút bấm có thể thay đổi theo màn hình và các lựa chọn. Các hệ thống nhúng thường có một màn hình với một nút bấm dạng cần điểu khiển (joystick button). Sự phát triển mạnh mẽ của mạng toàn cầu đã mang đến cho những nhà thiết kế hệ nhúng một lựa chọn mới là sử dụng một giao diện web thông qua việc kết nối mạng. Điều này có thể giúp tránh được chi phí cho những màn hình phức tạp nhưng đồng thời vẫn cung cấp khả năng hiển thị và nhập liệu phức tạp khi cần đến, thông qua một máy tính khác. Điều này là hết sức hữu dụng đối với các thiết bị điều khiển từ xa, cài đặt vĩnh viễn. Ví dụ, các router là các thiết bị đã ứng dụng tiện ích này.

Kiến trúc CPU

Các bộ xử lý trong hệ thống nhúng có thể được chia thành hai loại: vi xử lý và vi điều khiển. Các vi điều khiển thường có các thiết bị ngoại vi được tích hợp trên chip nhằm giảm kích thước của hệ thống. Có rất nhiều loại kiến trúc CPU được sử dụng trong thiết kế hệ nhúng như ARM, MIPS, Coldfire/68k, PowerPC, x86, PIC, 8051, Atmel AVR, Renesas H8, SH, V850, FR-V, M32R, Z80, Z8 … Điều này trái ngược với các loại máy tính để bàn, thường bị hạn chế với một vài kiến trúc máy tính nhất định. Các hệ thống nhúng có kích thước nhỏ và được thiết kế để hoạt động trong môi trường công nghiệp thường lựa chọn PC/104 và PC/104++ làm nền tảng. Những hệ thống này thường sử dụng DOS, Linux, NetBSD hoặc các hệ điều hành nhúng thời gian thực như QNX hay VxWorks. Còn các hệ thống nhúng có kích thước rất lớn thường sử dụng một cấu hình thông dụng là hệ thống on chip (System on a chip – SoC), một bảng mạch tích hợp cho một ứng dụng cụ thể (an application-specific integrated circuit – ASIC). Sau đó nhân CPU được mua và thêm vào như một phần của thiết kế chip. Một chiến lược tương tự là sử dụng FPGA (field-programmable gate array) và lập trình cho nó với những thành phần nguyên lý thiết kế bao gồm cả CPU.

Thiết bị ngoại vi

Hệ thống nhúng giao tiếp với bên ngoài thông qua các thiết bị ngoại vi, ví dụ như:

• Serial Communication Interfaces (SCI): RS-232, RS-422, RS-485…

• Synchronous Serial Communication Interface: I2C, JTAG, SPI, SSC và ESSI

• Universal Serial Bus (USB)

• Networks: Controller Area Network, LonWorks…

• Bộ định thời: PLL(s), Capture/Compare và Time Processing Units

• Discrete IO: General Purpose Input/Output (GPIO)

Công cụ phát triển

Tương tự như các sản phẩm phần mềm khác, phần mềm hệ thống nhúng cũng được phát triển nhờ việc sử dụng các trình biên dịch (compilers), chương trình dịch hợp ngữ (assembler) hoặc các công cụ gỡ rối (debuggers). Tuy nhiên, các nhà thiết kế hệ thống nhúng có thể sử dụng một số công cụ chuyên dụng như:

• Bộ gỡ rối mạch hoặc các chương trình mô phỏng (emulator)

• Tiện ích để thêm các giá trị checksum hoặc CRC vào chương trình, giúp hệ thống nhúng có thể kiểm tra tính hợp lệ của chương trình đó.

• Đối với các hệ thống xử lý tín hiệu số, người phát triển hệ thống có thể sử dụng phần mềm workbench như MathCad hoặc Mathematica để mô phỏng các phép toán.

• Các trình biên dịch và trình liên kết (linker) chuyên dụng được sử dụng để tối ưu hóa một thiết bị phần cứng.

• Một hệ thống nhúng có thể có ngôn ngữ lập trình và công cụ thiết kế riêng của nó hoặc sử dụng và cải tiến từ một ngôn ngữ đã có sẵn.

Các công cụ phần mềm có thể được tạo ra bởi các công ty phần mềm chuyên dụng về hệ thống nhúng hoặc chuyển đổi từ các công cụ phát triển phần mềm GNU. Đôi khi, các công cụ phát triển dành cho máy tính cá nhân cũng được sử dụng nếu bộ xử lý của hệ thống nhúng đó gần giống với bộ xử lý của một máy PC thông dụng.

Độ tin cậy

Các hệ thống nhúng thường nằm trong các cỗ máy được kỳ vọng là sẽ chạy hàng năm trời liên tục mà không bị lỗi hoặc có thể khôi phục hệ thống khi gặp lỗi. Vì thế, các phần mềm hệ thống nhúng được phát triển và kiểm thử một cách cẩn thận hơn là phần mềm cho máy tính cá nhân. Ngoài ra, các thiết bị rời không đáng tin cậy như ổ đĩa, công tắc hoặc nút bấm thường bị hạn chế sử dụng. Việc khôi phục hệ thống khi gặp lỗi có thể được thực hiện bằng cách sử dụng các kỹ thuật như watchdog timer – nếu phần mềm không đều đặn nhận được các tín hiệu watchdog định kì thì hệ thống sẽ bị khởi động lại.

Một số vấn đề cụ thể về độ tin cậy như:

• Hệ thống không thể ngừng để sửa chữa một cách an toàn, ví dụ như ở các hệ thống không gian, hệ thống dây cáp dưới đáy biển, các đèn hiệu dẫn đường,… Giải pháp đưa ra là chuyển sang sử dụng các hệ thống con dự trữ hoặc các phần mềm cung cấp một phần chức năng.

• Hệ thống phải được chạy liên tục vì tính an toàn, ví dụ như các thiết bị dẫn đường máy bay, thiết bị kiểm soát độ an toàn trong các nhà máy hóa chất,… Giải pháp đưa ra là lựa chọn backup hệ thống.

• Nếu hệ thống ngừng hoạt động sẽ gây tổn thất rất nhiều tiền của ví dụ như các dịch vụ buôn bán tự động, hệ thống chuyển tiền, hệ thống kiểm soát trong các nhà máy …

Các kiến trúc phần mềm hệ thống nhúng

Một số loại kiến trúc phần mềm thông dụng trong các hệ thống nhúng như sau:

Vòng lặp kiểm soát đơn giản

Theo thiết kế này, phần mềm được tổ chức thành một vòng lặp đơn giản. Vòng lặp gọi đến các chương trình con, mỗi chương trình con quản lý một phần của hệ thống phần cứng hoặc phần mềm.

Hệ thống ngắt điều khiển

Các hệ thống nhúng thường được điểu khiển bằng các ngắt. Có nghĩa là các tác vụ của hệ thống nhúng được kích hoạt bởi các loại sự kiện khác nhau. Ví dụ, một ngắt có thể được sinh ra bởi một bộ định thời sau một chu kỳ được định nghĩa trước, hoặc bởi sự kiện khi cổng nối tiếp nhận được một byte nào đó.

Loại kiến trúc này thường được sử dụng trong các hệ thống có bộ quản lý sự kiện đơn giản, ngắn gọn và cần độ trễ thấp. Hệ thống này thường thực hiện một tác vụ đơn giản trong một vòng lặp chính. Đôi khi, các tác vụ phức tạp hơn sẽ được thêm vào một cấu trúc hàng đợi trong bộ quản lý ngắt để được vòng lặp xử lý sau đó. Lúc này, hệ thống gần giống với kiểu nhân đa nhiệm với các tiến trình rời rạc.

Đa nhiệm tương tác

Một hệ thống đa nhiệm không ưu tiên cũng gần giống với kỹ thuật vòng lặp kiểm soát đơn giản ngoại trừ việc vòng lặp này được ẩn giấu thông qua một giao diện lập trình API. Các nhà lập trình định nghĩa một loạt các nhiệm vụ, mỗi nhiệm vụ chạy trong một môi trường riêng của nó. Khi không cần thực hiện nhiệm vụ đó thì nó gọi đến các tiến trình con tạm nghỉ (bằng cách gọi “pause”, “wait”, “yield” …).

Ưu điểm và nhược điểm của loại kiến trúc này cũng giống với kiểm vòng lặp kiểm soát đơn giản. Tuy nhiên, việc thêm một phần mềm mới được thực hiện dễ dàng hơn bằng cách lập trình một tác vụ mới hoặc thêm vào hàng đợi thông dịch (queue-interpreter).

Đa nhiệm ưu tiên

Ở loại kiến trúc này, hệ thống thường có một đoạn mã ở mức thấp thực hiện việc chuyển đổi giữa các tác vụ khác nhau thông qua một bộ định thời. Đoạn mã này thường nằm ở mức mà hệ thống được coi là có một hệ điều hành và vì thế cũng gặp phải tất cả những phức tạp trong việc quản lý đa nhiệm.

Bất kỳ tác vụ nào có thể phá hủy dữ liệu của một tác vụ khác đều cần phải được tách biệt một cách chính xác. Việc truy cập tới các dữ liệu chia sẻ có thể được quản lý bằng một số kỹ thuật đồng bộ hóa như hàng đợi thông điệp (message queues), semaphores … Vì những phức tạp nói trên nên một giải pháp thường được đưa ra đó là sử dụng một hệ điều hành thời gian thực. Lúc đó, các nhà lập trình có thể tập trung vào việc phát triển các chức năng của thiết bị chứ không cần quan tâm đến các dịch vụ của hệ điều hành nữa.

ABB

ABB giữ vững vị trí dẫn đầu thị phần trên toàn thế giới năm 2012 trong lĩnh vực điều khiển

 

Ngày 7 tháng 10 năm 2013, trong nghiên cứu mới nhất về Hệ thống điều khiển phân tán trên toàn cầu, Tập đoàn tư vấn ARC (www.arcweb.com) đã khẳng định ABB vẫn tiếp tục giữ vị trí dẫn đầu trên thế giới trong thị trường tự động hóa chủ chốt tính theo tổng thu nhập. Theo nghiên cứu này, thị trường Hệ thống điều khiển phân tán toàn cầu năm 2012 tăng trưởng ở mức độ vừa phải, với khu vực phát triển nổi trội nằm ở Bắc Mỹ và khu vực châu Mỹ La tinh. Xét trên toàn cầu, thị trường này tăng 3%, trong khi riêng khu vực Bắc Mỹ đạt mức tăng trưởng gần 18%.

 abb

Báo cáo của ARC cho biết có nhiều yếu tố góp phần vào sự tăng trưởng của khu vực châu Mỹ trong năm 2012. Sự hồi phục toàn diện của nền kinh tế Bắc Mỹ cao hơn các khu vực khác trên thế giới đã góp phần vào thành công này, trong đó có sự tăng cường áp dụng công nghệ mới trong lĩnh vực sản xuất dầu khí và các dự án mở rộng trong lĩnh vực hóa dầu trong khu vực.

Xét trên toàn cầu, giá dầu khí và một số sản phẩm khác vẫn được duy trì ở mức có thể cân nhắc cho việc đầu tư mới vào sản xuất. Các dự án phát điện tái khởi động, đặc biệt là những dự án khí đốt chu trình hỗn hợp, cũng đã làm cho nhu cầu về Hệ thống điều khiển phân tán tăng lên.

Ông Harry Forbes, Chuyên viên phân tích tại ARC và là tác giả của báo cáo, cho biết: “Sự chú trọng của ABB vào nhu cầu về năng lượng và những ngành tiêu thụ nhiều năng lượng như dầu khí, dân dụng và khai thác mỏ đã thúc đẩy ABB phát triển công nghệ để tích hợp cơ sở hạ tầng hệ thống điện và các hệ thống tự động hóa. Chính điều này đã giúp ABB củng cố vị trí của họ trên thị phần của họ trên toàn cầu”. Ông còn cho biết thêm: “Đối với khách hàng công nghiệp, lợi ích thu được là một tầm nhìn lớn hơn trong việc sử dụng năng lượng hiệu quả ,tốt hơn trong tích hợp hệ thống và ứng dụng tự động hóa trong vận hành.

Cũng theo báo cáo, đánh giá trên doanh thu, ABB nằm trong nhóm dẫn dầu về thị phần trong khu vực Mỹ La tinh, và Châu Âu/Trung Đông/Châu Phi (EMEA), duy trì vị trí dẫn đầu thị trường toàn cầu cho cả hai lĩnh vực dịch vụ và kỹ thuật phần mềm và là công ty đứng đầu thế giới trong các ngành dọc quan trọng bao gồm dầu khí, khai thác mỏ và kim loại, giấy và bột giấy.

Bản báo cáo cũng lưu ý rằng DCS đã, đang và sẽ tiếp tục là lĩnh vực kinh doanh dịch vụ kỹ thuật chủ yếu, với các dự án phối hợp kỹ thuật và vận hành sẽ đóng góp quá nửa tổng doanh thu của dự án. Tình trạng thiếu kỹ sư có trình độ sẽ góp phần vào nhu cầu ngày càng tăng về các dịch vụ này. Việc sử dụng công nghệ thông tin mới, chẳng hạn như ảo hóa và các cổng thông tin hợp tác, giúp cho các nhà hầu EPC và các công ty sử dụng sản phẩm có khả năng tiếp cận các nhóm kỹ sư tài năng trên toàn thế giới cho các dự án mang tính toàn cầu.

“Với kiến thức chuyên sâu về tự động hóa công nghiệp, đội ngũ kỹ sư rộng khắp toàn cầu, chúng tôi đã giúp khách hàng vận hành và quản lý thành công các dự án DCS, cho dù dự án đó ở khu vực nào và mức độ phức tạp tới đâu. Nhóm các chuyên gia của chúng tôi giúp khách hàng mở rộng phạm vi vận hành hoặc nâng cấp hệ thống hiện tại của họ để đạt kết quả tối đa với gián đoạn tối thiểu” ông Sandy Taylor, Giám đốc marketing và bán hàng của ban Tự động hóa công nghiệp của ABB cho biết. “Chúng tôi cung cấp các giải pháp tự động DCS đa dạng để nâng cao hiệu quả và an toàn cho bất kỳ nhà máy với quy mô nào, với khả năng tích hợp quy trình, điện hóa, an toàn và hệ thống của của bên thứ ba trên cùng một nền tảng.”

Tổ hợp các giải pháp DCS của ABB bao gồm hệ thống 800xA Extended tiêu biểu, hệ thống điều khiển Symphony Plus, hệ thống điều khiển Freelance cho các ứng dụng từ cỡ nhỏ tới cỡ trung, cũng như các hệ thống điều khiển trước đây. Tất cả các hệ thống điều khiển ABB đều cho phép nâng cấp tới hệ thống cao hơn với công nghệ tiên tiến hơn và đảm bảo tính hiệu quả trong đầu tư hệ thống. ABB cũng cung cấp danh sách ứng dụng và dịch vụ công nghiệp phong phú để bổ sung cho những hệ thống điều khiển cốt lõi này.

DANFOSS

Toggle content goes here, click edit button to change this text. Toggle content goes here, click edit button to change this text.

Toggle content goes here, click edit button to change this text.

HITACHI

Toggle content goes here, click edit button to change this text. Toggle content goes here, click edit button to change this text.

Toggle content goes here, click edit button to change this text.

MITSUBISHI

Toggle content goes here, click edit button to change this text. Toggle content goes here, click edit button to change this text.

Toggle content goes here, click edit button to change this text.

FUJI

Toggle content goes here, click edit button to change this text. Toggle content goes here, click edit button to change this text.

Toggle content goes here, click edit button to change this text.

SIEMENS

Toggle content goes here, click edit button to change this text. Toggle content goes here, click edit button to change this text.

Toggle content goes here, click edit button to change this text.

Đang cập nhật.

Vui lòng liên hệ số điện thoại:

Hotline 1: 0913 578 498

Hotline 2: 0944 577 466

Hotline 3: 0946 54 52 53

Hotline 4: 0946 753 033

Hotline 5: 0944 577 544

Hotline 6: 0946 753 233

Hotline 7: 0912 214 003

Hotline 8: 0944  577 000

Hotline 9: 0912 747 756

Hotline 10: 0944 344 833

Hotline 11: 0946 54 54 52

Hotline 12: 0902 159 606

Hotline 13: 0946 03 03 01

Đang cập nhật.

Vui lòng liên hệ số điện thoại:

Hotline 14: 0944 577 955

Hotline 15: 0906 234 001

Hotline 16: 0943 244 788

Hotline 17: 0902 116 538

Hotline 18: 0904 524  009

Hotline 19: 0904 31 05 05

Hotline 20: 0904 02 66 44

Hotline 21: 0944 577 244

Hotline 22: 0944 577 255

Hotline 23: 0917 657 878

Hotline 24: 0944 577 933

Hotline 25: 0946 54 52 54