Chương 3. Giao diện hệ thống, thiết bị và hệ thống điều khiển

3.9 Kiểm thử và thiết bị

Kiểm tra và xác nhận

Kiểm tra và xác nhận là những nhiệm vụ có liên quan đến nhau cần được thực hiện trong suốt thời gian sống của sản phẩm hoặc hệ thống cơ điện tử. Trong cuốn “Software Engineering Economics”(Prentice-Hall 1988), Boehm đã miêu tả việc kiểm tra giống như việc “xây dựng đúng sản phẩm – Building the product right” trong khi xác nhận lại giống việc “xây dựng sản phẩm đúng – Building the right product”. Nói cách khác, kiểm tra là việc thử phần mềm và sản phẩm để chắc chắn rằng nó được xây dựng theo đúng thiết kế. Mặt khác, xác nhận là nhằm đảm bảo phần mềm được xây dựng theo đúng yêu cầu của khách hàng. Như đã trình bày ở trên, kiểm tra và xác nhận là những nhiệm vụ phải thực hiên trong vòng thời gian sống của sản phẩm, chứ không phải nhiệm vụ được hoàn thành trước khi hệ thống được đưa vào sản xuất. Một trong những kỹ thuật đơn giản và hữu ích nhất là việc duyệt lại quá trình kiểm tra và xác nhận phần cứng, phần mềm. Các kỹ sư hệ thống, những người có am hiểu sâu sắc nhất về những nhu cầu của khách hàng cần được tham gia vào việc duyệt lại quá trình xác nhận phần cứng, phần mềm.Việc duyệt lại quá trình xác nhận thiết kế phần cứng, mã phần mềm là một biện pháp tuyệt vời nhằm tìm kiếm lỗi ngay trong giai đoạn đầu của quá trình phát triển hệ thống. Các nhà quản lý có thể sẽ phải quyết định tập trung tìm lỗi ngay trong giai đoạn đầu khi lỗi dễ dàng được sửa hơn, hay trong giai đoạn cuối khi lỗi trở nên rõ ràng hơn. Hãy xem xét sự khác nhau giữa việc duyệt lại mã để phát hiện lỗi và yêu cầu nhà sản xuất thay đổi hoặc sửa chữa lại với việc tìm ra lỗi sau khi sản phẩm đã được bán, khi đó một sản phẩm đắt tiền có thể bị yêu cầu hủy bỏ.

Bộ gỡ lỗi

Edsgar Dijkstra, người đi tiên phong trong việc phát triển lập trình thành một môn học, không khuyến khích dùng thuật ngữ “bug” và “debug” vì ông cho rằng những thuật ngữ này không có lợi cho kỹ thuật phần mềm. Tuy nhiên, chúng lại thường xuyên được sử dụng trong lĩnh vực này. Bộ gỡ lỗi là một chương trình phần mềm cho phép xem xét vấn đề gì đang xảy ra đối với mã và dữ liệu chương trình khi đang chạy chương trình. Nhìn chung, thiết bị này vận hành trên một máy tính cá nhân được nối với một dạng đặc biệt của bộ vi điều khiển cao cấp gọi là bộ mô phỏng. Mặc dù thiết bị gỡ lỗi có thể rất hữu ích trong việc tìm và sửa lỗi dưới dạng mã, nhưng chúng lại không ở thời gian thực, và do đó có thể tạo ra những lỗi vận hành đúng cách trong máy tính (COP – Computer operating properly errors). Tuy nhiên, nếu chế độ gỡ lỗi cơ sở (BMD – Background debug mode) được ứng dụng trong bộ vi xử lý thì thiết bị gỡ lỗi có thể được dùng thành từng bước thông qua thuật toán của chương trình nhằm đảm bảo rằng mã vẫn đang vận hành như mong muốn. Có thể kiểm tra được các giá trị biến đổi tức thời và cuối cùng, đặc biệt là những giá trị có liên quan đến một giá trị đầu vào hoặc đầu ra số nào đó. Hầu hết các bộ gỡ lỗi đều cho phép mở đồng thời nhiều cửa sổ, đặt các điểm ngắt chương trình đang chạy bằng mã và thậm chí đôi khi cả việc làm hiện lại chương trình trong bộ mô phỏng vi xử lý. Điển hình là thiết bị gỡ lỗi Noral trong Motorola HC12.

Phần mềm trong bộ vi điều khiển có thể kiểm tra phần cứng và tự kiểm tra chính nó. Bằng việc lập trình việc kiểm tra tổng của các phần được xác định của ROM và/hoặc EFROM, phần mềm có thể kiểm tra để đảm bảo rằng chương trình và dữ liệu vẫn đúng. Thông qua việc ghi và đọc có chọn lọc 0x55 và 0xAA vào RAM (The “checkboard test”), chương trình có thể kiểm tra RAM và Bus vẫn đang vận hành tốt. Những thao tác khởi động này nên được thực hiện với mỗi vòng hoạt động của sản phẩm.

Bộ phân tích Logic

Bộ phân tích logic là thiết bị được dùng để giám sát và kiểm tra nhưng không can thiệp vào bộ vi điều khiển. Thiết bị này thường được nối với bộ vi điều khiển và bộ mô phỏng. Trong khi bộ vi điều khiển chạy chương trình và xử lý dữ liệu thì bộ mô phỏng mô phỏng đầu vào và hiển thị đầu ra của hệ thống. “Trigger word” có thể được đưa vào bộ phân tích logic. Nó được thể hiện dưới dạng bit nằm trên hệ thống bus do bộ phân tích logic giám sát. Với “Trigger word” này, truyền thông bus xung quanh điểm quan tâm có thể được giữ và lưu trong bộ nhớ bộ phân tích logic. Một chương trình dịch ngược trong bộ phân tích cho phép mã máy trên bus có thể được nhận biết và phân tích dưới dạng lệnh hợp ngữ của chương trình. Bộ phân tích cũng có thể lưu giữ các đầu vào số của bộ vi điều khiển nhằm xác minh rằng vòng nhiệm vụ PWM chính xác đang được thực thi. Bộ mô phỏng có thể đưa shorts hoặc opens vào hệ thống, sau đó bộ phân tích sẽ được dùng để xem xét liệu phần mềm có phản hồi chính xác với lỗi không. Bộ phân tích logic cũng có thể giám sát vòng lặp chính của hệ thống, đảm bảo rằng hệ thống hoàn thành tất cả các nhiệm vụ trong thời gian đặt ra, chẳng hạn như 15 mili giây. Một ví dụ về bộ phân tích logic là Hewlett Packard HP54620.

3.10 Tóm tắt

Chương này giới thiệu một loạt các chủ đề liên quan đến một hệ thống cơ điện tử. Những chủ đề này không chỉ bao gồm các đầu vào, đầu ra cơ điện tử và quá trình xử lý mà còn bao gồm cả thiết kế, phát triển và thử nghiệm. Các chương sau sẽ trình bày chi tiết hơn về các vấn đề này.

Rate this post