Functional Safety là gì? Tìm hiểu về Functional Safety và tầm quan trọng của nó
Thời còn đi học hay làm đồ án điện tử - nhúng, các bạn sinh viên thường có một tiêu chí, đó là "chạy ngon là được", tức là sản phẩm chỉ cần chạy được, và ổn định cho đến hôm bảo vệ đồ án. Có thể một ngày đẹp trời đúng hôm bảo vệ thì nó bị treo, không chạy được nữa ... Một khoảng gap khá quan trọng giữa làm đồ án, làm chơi và sản phẩm thực tế, cũng là khoảng gap lúc đi học và lúc đi làm, đó là độ ổn định và an toàn của sản phẩm.
Bài viết này đề cập đến khái niệm Functional Safety, một khái niệm vô cùng quan trọng trong các ngành công nghiệp hiện đại, đặc biệt là các lĩnh vực liên quan đến hệ thống điện, điện tử và điều khiển tự động.
- Khái niệm cơ bản về Functional Safety
- Các tiêu chuẩn quốc tế về Functional Safety
- Chuẩn Functional Safety với thiết bị nhúng
➤ Khái niệm cơ bản về Functional Safety
Functional Safety liên quan đến việc thiết kế, triển khai và vận hành các hệ thống sao cho chúng vẫn an toàn ngay cả khi có sự cố xảy ra, được thực hiện thông qua các biện pháp bảo vệ dự phòng và hệ thống giám sát liên tục. Một hệ thống tích hợp Functional Safety sẽ phát hiện được lỗi, thực hiện các hành động bảo vệ, và đưa hệ thống về trạng thái an toàn hoặc có thể kiểm soát được.
Ví dụ, trong một hệ thống phanh điện tử của xe ô tô, nếu hệ thống phanh xảy ra lỗi khiến tài xế không thể điều khiển việc dừng xe được, cơ chế Safety sẽ đảm bảo rằng xe vẫn có thể dừng lại an toàn.
➥ Functional Safety không chỉ đảm bảo rằng các hệ thống hoạt động hiệu quả, mà còn giúp ngăn ngừa các nguy cơ tiềm ẩn trong quá trình vận hành. Khi các hệ thống tự động trở nên phức tạp hơn, rủi ro xảy ra sự cố hoặc lỗi cũng tăng lên. Các ngành như ô tô, hàng không, sản xuất, và năng lượng đều cần tích hợp Functional Safety để bảo vệ tính mạng và tài sản.
- Ví dụ, trong ngành Automotive (ô tô), Functional Safety giúp đảm bảo rằng các hệ thống như phanh tự động, túi khí, và kiểm soát hành trình đều hoạt động một cách an toàn, kể cả khi có lỗi trong hệ thống điều khiển.
- Hoặc ví dụ khác trong mảng thiết bị gia dụng, cơ chế khóa cửa trong khi hoạt động của máy giặt và lò vi sóng, hay bếp từ tự ngắt khi quá tải, ... giúp bảo vệ an toàn cho người sử dụng.
Đảm bảo an toàn cho hệ thống không chỉ giúp bảo vệ tài sản, giảm thiểu nguy cơ tai nạn và bảo vệ con người, mà hiện nay nó còn là điều kiện đủ đề một số sản phẩm có thể bán ra thị trường. Trong bài viết này, mình sẽ cùng bạn tìm hiểu về Functional Safety, lý do tại sao nó cần thiết và các tiêu chuẩn quốc tế giúp đảm bảo tính an toàn của các hệ thống công nghiệp.
➤ Các tiêu chuẩn quốc tế về Functional Safety
Để đảm bảo rằng các hệ thống tự động hóa đạt được mức độ an toàn cao, nhiều tiêu chuẩn quốc tế đã được thiết lập và ứng dụng cho từng mảng công nghiệp khác nhau. Một số tiêu chuẩn nổi bật về Functional Safety bao gồm:
- ISO 26262: Tiêu chuẩn này được thiết kế cho các hệ thống điện và điện tử trong ngành công nghiệp ô tô
- IEC 61508: Đây là tiêu chuẩn chung về Functional Safety, áp dụng cho các hệ thống điện, điện tử và điều khiển trong nhiều ngành công nghiệp
- IEC 61511: Được áp dụng cho các ngành công nghiệp hóa chất và chế biến, tiêu chuẩn này đặt ra các yêu cầu về an toàn chức năng cho các hệ thống điều khiển quy trình
- IEC/UL 60730: Tiêu chuẩn thiết kế để đảm bảo tính an toàn cao cho các thiết bị điện và điện tử gia dụng
Các tiêu chuẩn trên là những bộ quy tắc riêng cho từng mảng công nghiệp, ảnh hưởng trực tiếp đến việc thiết kế, các thành phần cơ khí, phần cứng và phần mềm của các thiết bị, ở bài viết này sẽ chỉ tập trung đề cập tới ảnh hưởng của Functional Safety đối với các thiết bị nhúng.
➤ Chuẩn Functional Safety với thiết bị nhúng
Đối với tất cả các thành phần của một hệ thống công nghiệp, để đảm bảo Safety, người ta sẽ cần xác định mức độ nghiêm trọng của các nguy cơ và tần suất xảy ra của chúng để có thể đánh giá rủi ro trước khi thiết lập các cơ chế an toàn. Đối với các sản phẩm nhúng, rủi ro có thể đến từ cả phần cứng lẫn phần mềm.
➢ Safety đối với phần cứng
Functional Safety đòi hỏi phần cứng (vi điều khiển, cảm biến, cơ cấu chấp hành, mạch điện tử, ...) trong các thiết bị nhúng phải được thiết kế với các biện pháp an toàn tích hợp để đối phó với các lỗi tiềm ẩn.
- Redundancy (dự phòng): sử dụng các thành phần dự phòng (ví dụ như nhiều bộ vi xử lý hoặc cảm biến) để đảm bảo rằng nếu một bộ phận bị lỗi, hệ thống vẫn có thể tiếp tục hoạt động mà không gây nguy hiểm.
Ví dụ, trong hệ thống phanh của ô tô, bộ điều khiển nhúng sẽ sử dụng nhiều cảm biến để kiểm tra và đối chiếu dữ liệu từ phanh, đảm bảo phanh hoạt động chính xác. - Self-checking (tự kiểm tra): khả năng tự kiểm tra và phát hiện lỗi phần cứng trên một số dòng vi điều khiển, chẳng hạn như kiểm tra tính toàn vẹn của bộ nhớ hoặc theo dõi nhiệt độ của các thành phần để đảm bảo chúng không bị quá nhiệt.
- Watchdog Timer
Một số ngoại vi Safety chip FS86 của NXP |
Phần này có rất nhiều phương pháp thiết kế và nhiều ngoại vi của vi điều khiển nên mình sẽ tổng hợp ở bài viết sau!
➢ Safety đối với phần mềm
Như ở phần trên, khi các phần cứng được triển khai thì cũng là lúc phần mềm cần thiết kế lại. Ví dụ khi phần cứng Self-checking được triển khai thành các ngoại vi của vi điều khiển, thì việc của developer là triển khai code cho các module đó.
Và việc thiết kế, triển khai software sẽ cần tuần thủ theo các tiêu chuẩn về Safety như ISO 26262 cho phần mềm Automotive, hay IEC/UL 60730 cho phần mềm Home Appliances.
Tương tự như phần Hardware thì phần này sẽ được tổng hợp chi tiết ở bài viết sau!
➢ Safety với công việc Testing
Như mình đã từng đề cập về các bài viết về Unit Test, thì công việc testing là vô cùng quan trọng trong việc phát triển phần mềm, và đặc biệt hơn là các phần mềm áp dụng các tiêu chuẩn về Safety.
Unit Testing, Integration Testing là các phương pháp kiểm thử thông thường để kiểm tra các luồng hoạt động bình thường và một số ngoại lệ của chương trình. Đối với các rủi ro tiềm ẩn về mặt phần cứng và phần mềm trong quá trình hoạt động, tiêu chuẩn Safety yêu cầu thêm một phương pháp kiểm thử đó là Fault Injection Testing.
Các kỹ thuật Fault Injection Testing, như tiêm lỗi (fault injection), giả lập lỗi, nhằm mục đích kiểm tra khả năng phản ứng của hệ thống nhúng khi gặp xử lý các sự cố.
👉 Nhìn chung thì Functional Safety (FuSa) là một nội dung cực kỳ quan trọng đối với các sản phẩm nhúng. Khi còn đi học thì đâu đó các bạn sinh viên sẽ ít được tiếp xúc với khái niệm này, nhưng nó là một khái niệm khá hay và quan trọng trong các sản phẩm thực tế. Series bài viết về Safety trên kênh Lập trình - Điện tử mong muốn có thể chia sẻ những hiểu biết của tác giả để bạn đó có thể có cái nhìn tổng thể về lĩnh vực này.
Kiến thức của tác giả chủ yếu trải qua các trải nghiệm khi làm việc và đọc code / tài liệu về mảng này, nếu có những thiếu xót / sai xót mong mọi người bổ sung bên dưới comment để chúng ta có một cộng đồng học nhúng tốt nha 😁
>>>= Follow ngay =<<<