Hệ thống nhúng là gì?

Hệ thống nhúng là gì

 

Ngày xửa ngày xưa định nghĩa hệ thống nhúng rất dễ, như hình trên, một mạch vi điều khiển, viết một chương trình C, chương trình C này hay được gọi là Firmware, biên dịch và nạp xuống vi điều khiển để chạy một ứng dụng thực tế nào đó. Tổng hệ thống phần mềm, phần cứng, trình biên dịch,... đó được gọi là hệ thống nhúng (Embedded System). Quá trình nạp xuống gọi là nhúng (embedded) :) . Nhúng, nghe nó cứ kì kì thế nào, đến giờ mình vẫn chưa nghĩ ra cái tên nào phù hợp hơn.

Tại thời điểm mình viết bài này là năm 2023, giữa hệ thống nhúng, phần mềm nhúng so với các hệ thống ứng dụng khác gần như rất ít ranh giới. Bạn thử leo lên 1 chiếc xe hơi sang đời mới xem, từ bản táp lô đồng hồ, màn hình thông tin giải trí, ứng dụng trên đó có thua kém phần mềm điện thoại đâu.

Các loại hệ thống nhúng

Nếu gượng ép định nghĩa và phân chia, mình tạm chia thành 2 loại như sau:

Hệ thống nhúng vi điều khiển

Loại này mình gặp nhiều nhất, mình tạm liệt kê một số sản phẩm để các bạn dễ hình dung

1. Một con cảm biến để tích hợp trong hệ thống điều khiển công nghiệp, cũng cần một vi điều khiển để xử lý và chuyển đổi giao tiếp. Ví như con ES35-SW này.

(Mạch cảm biến nhiệt độ độ ẩm công nghiệp ES35-SW)

Nhiệm vụ của vi điều khiển là đọc cảm biến nhiệt độ độ ẩm, sau đó chuyển thành giao tiếp RS485 theo chuẩn Modbus để PLC và hệ thống khác tích hợp đọc dữ liệu.

2. Một cái điện thoại của panasonic, cái này giờ chỉ mua cũ trên ebay.

Ví dụ về hệ thống nhúng
(Panasonic KX TG6641B DECT 6.0 Cordless Phone)

Ví dụ về hệ thống nhúng

(Bên trong điện thoại sử dụng 1 MCU có tích hợp wireless truyền nhận âm thanh)

 

3. ECU - các bộ điều khiển trên xe hơi, ECU điều khiển phun xăng của động cơ, ECU điều khiển việc bung túi khí, ECU điều khiển hệ thống phanh,...

Ví dụ về hệ thống nhúng

(Một góc mạch của ECU trên ô tô)

Các ví dụ trên là ví dụ điển hình cho hệ thống nhúng vi điều khiển. Trên các hệ thống này, ứng dụng (firmware) được cài đặt trên vi điều khiển để thực hiện một chức năng cố định. Yêu cầu của loại hệ thống này là phải đảm bảo hoạt động ổn định và chính xác. Để đáp ứng yêu cầu đó, hệ điều hành thời gian thực RTOS (Real Time Operating System) thường được sử dụng.

 

Hệ thống nhúng vi xử lý

Mình liệt kê một vài sản phẩm để các bạn dễ hình dung:

1. Các bộ phát WiFi, GPON OLT, Access Point WiFi

Đây là thiết bị khá phổ thông nhà nào gần như cũng có, các thiết bị này thường chạy Linux phiên bản OpenWRT.

Ví dụ về hệ thống nhúng vi xử lý

(Cloud Managed 6 GHz 4×4 Indoor Tri-Band Wireless WiFi 6E Access Point)

 

2. Màn hình thông tin trên xe hơi

Các màn hình thông tin trên xe hơi thông thường chạy Linux với bảng build thì tùy thuộc vào từng hãng. Hệ thống ứng dụng phát triển qua Qt Framework, xu hướng tiếp theo có thể là Android / Web OS. Hệ thống này kết hợp cả vi điều khiển lẫn vi xử lý thực hiện các tính năng phức tạp trên xe.

 

Ví dụ về hệ thống nhúng vi xử lý

(KIA Sportage 2023)

 

Hai ví dụ trên là những ví dụ điển hình cho hệ thống nhúng vi xử lý. Thường thì hệ thống nhúng này được áp dụng trên các thiết bị chạy hệ điều hành như Linux, Android và Windows. Những hệ điều hành này thường được tối ưu hóa để phục vụ nhóm ứng dụng cụ thể. Ứng dụng chạy trên hệ thống nhúng vi xử lý không có sự khác biệt đáng kể so với các ứng dụng chạy trên điện thoại di động hoặc máy tính.

 

Cơ hội việc làm với hệ thông nhúng

Phát triển phần mềm nhúng cũng giống như phát triển các hệ thống phần mềm khác, tuy nhiên do đòi hỏi độ ổn định trong hệ thống, nên các công việc liên quan để test, kiểm thử phần mềm nhúng sẽ nhiều hơn các hệ thống khác. Nếu bạn ko giỏi lập trình thì vẫn có việc cho bạn ở mảng này nhé.

Tại thời điểm hiện tại, lập trình cho xe hơi, Automotive Embedded, là mình thấy ok nhất, các công ty Vietnam outsource mảng này cực nhiều: FPT Software, Bosch, LuxoftHella, bavien, Dek... Thu nhập ngon, đủ các vai trò để tham gia vào chuổi giá trị này: Dev, Tester,.. Các bạn cứ tìm việc trên google là biết nhu cầu công việc hiện tại.

 

Công việc với hệ thống nhúng

 

Xu hướng điện hóa xe hơi, việc liên quan đến Automotive Embedded chắc chắc sẽ tốt trong các năm sắp tới.

 

Học hệ thống nhúng như thế nào ?

Nếu chưa biết bắt đầu từ đâu, các bạn tham khảo bài viết này nhé: Tự học lập trình nhúng - tài liệu và hướng học

Đi thực tập tại các công ty để biết được môi trường công việc thực tế, yêu cầu kiến thức như thế nào để định hướng việc học chính xác hơn.

Để chuẩn bị cho thực tập, các bạn sinh viên nên đầu tư vào việc nắm vững kiến thức lập trình cơ bản. Đừng ngại thử thực tập sớm tại các công ty. Hết năm 2 là các bạn đi thực tập được rồi. Hãy tự tin khi xin thực tập, nếu một nơi không nhận bạn, hãy tìm chỗ khác. Hãy yên tâm vì hướng dẫn và định hướng là trách nhiệm của những người đang làm việc trong lĩnh vực này. Sau này, khi bạn đã có kinh nghiệm làm việc, hãy giúp đỡ những sinh viên trong các khóa sau.

 

Các câu hỏi hay thắc mắc các bạn gửi về:

 

Bình luận