Khắc phục sự cố mô phỏng
Sơ lược
- Tìm hiểu cách diễn giải các cảnh báo và lỗi mô phỏng, cũng như những thông tin chúng cung cấp về nguyên nhân khiến lần chạy mô phỏng thất bại.
- Nhận danh sách kiểm tra từng bước để xử lý các vấn đề hội tụ, từ kiểm tra kết nối dây và nối đất đến điều chỉnh các thiết lập phân tích nâng cao.
- Tham khảo các mẹo khắc phục sự cố dành riêng cho phân tích điểm làm việc, quét DC và quá độ để lựa chọn giải pháp phù hợp với loại mô phỏng đang gặp lỗi.
Khi không thể mô phỏng một mạch điện, bạn cần xác định vấn đề nằm ở mạch hay ở quá trình mô phỏng. Hãy làm theo thông tin trong phần tài liệu tham khảo này và lần lượt thử từng biện pháp được đề xuất.
Đôi khi trong quá trình mô phỏng, thông báo lỗi hoặc cảnh báo sẽ xuất hiện. Các thông báo này được liệt kê trong bảng Messages .
- Warning Messages – các thông báo cảnh báo không khiến quá trình mô phỏng dừng lại. Chúng thường cung cấp thông tin về những thay đổi mà SPICE phải thực hiện đối với mạch để hoàn tất mô phỏng, chẳng hạn như các tham số không hợp lệ hoặc bị thiếu, v.v.
- Error Messages – các thông báo lỗi cung cấp thông tin về những vấn đề mà trình mô phỏng không thể giải quyết và khiến quá trình mô phỏng dừng lại. Thông báo lỗi cho biết không thể tạo kết quả mô phỏng, vì vậy bạn phải khắc phục các lỗi này trước khi có thể phân tích mạch.
Khắc phục sự cố phân tích mô phỏng thất bại
Một trong những thách thức của mọi trình mô phỏng là sự hội tụ. Vậy chính xác thuật ngữ convergence có nghĩa là gì? Giống như hầu hết các trình mô phỏng, bộ máy SPICE của Altium Designer sử dụng một quy trình lặp, liên tục giải các phương trình biểu diễn mạch để tìm điện áp và dòng điện ở trạng thái tĩnh của mạch. Nếu không tìm được các điện áp và dòng điện này (không hội tụ), trình mô phỏng sẽ không thể phân tích mạch.
SPICE sử dụng hệ phương trình tuyến tính đồng thời, được biểu diễn dưới dạng ma trận, để xác định điểm làm việc (điện áp và dòng điện DC) của mạch tại mỗi bước mô phỏng. Mạch được quy về một tập hợp các điện dẫn, sau đó được đưa vào ma trận để lập các phương trình (G * V = I). Khi mạch có các phần tử phi tuyến, SPICE thực hiện nhiều lần lặp của các phương trình tuyến tính để tính đến đặc tính phi tuyến. SPICE đưa ra giá trị ước đoán ban đầu cho điện áp nút, rồi tính dòng điện nhánh dựa trên các điện dẫn trong mạch. Sau đó, SPICE sử dụng dòng điện nhánh để tính lại điện áp nút và lặp lại chu trình. Chu trình này tiếp tục cho đến khi tất cả điện áp nút và dòng điện nhánh đều nằm trong phạm vi dung sai quy định (hội tụ).
Tuy nhiên, nếu điện áp hoặc dòng điện không hội tụ sau số lần lặp quy định, SPICE sẽ tạo thông báo lỗi (chẳng hạn như singular matrix, Gmin stepping failed, source stepping failed hoặc iteration limit reached) và hủy mô phỏng. SPICE sử dụng kết quả của mỗi bước mô phỏng làm giá trị ước đoán ban đầu cho bước tiếp theo. Nếu bạn đang thực hiện phân tích quá độ (tức là thời gian tăng theo từng bước) và SPICE không thể tìm được nghiệm hội tụ với bước thời gian đã chỉ định, bước thời gian sẽ tự động giảm và chu trình được lặp lại. Nếu bước thời gian bị giảm quá nhỏ, SPICE sẽ hiển thị thông báo Timestep too small và hủy mô phỏng.
Khắc phục sự cố hội tụ mô phỏng nói chung
Khi phân tích mô phỏng thất bại, vấn đề thường gặp nhất là mạch không hội tụ về một điểm làm việc hợp lý. Hãy sử dụng các kỹ thuật sau để giải quyết vấn đề hội tụ.
Các bước khắc phục sự cố hội tụ
- Khi gặp vấn đề hội tụ, trước tiên hãy tắt tất cả các phép phân tích, ngoại trừ phân tích điểm làm việc.
- Kiểm tra bảng Messages để xem có lỗi/cảnh báo nào liên quan đến mô phỏng hay không.
- Đảm bảo mạch được nối dây đúng cách. Không được có các nút hở hoặc linh kiện không được kết nối.
- Đảm bảo mạch có một nút nối đất và mọi nút trong mạch đều có đường dẫn DC đến nút nối đất này. Các linh kiện có thể cách ly một nút bao gồm biến áp và tụ điện. Nguồn điện áp được xem là ngắn mạch DC, còn nguồn dòng điện được xem là hở mạch DC.
- Đảm bảo không nhầm số 0 với chữ O khi nhập các tham số mô phỏng.
-
Đảm bảo đã chỉ định đúng các hệ số nhân SPICE (
MEGthay vìMcho1e6) cho mọi giá trị linh kiện hoặc tham số mô phỏng. Hệ số nhân không phân biệt chữ hoa và chữ thường. Ngoài ra, không được có khoảng trắng giữa giá trị và hệ số nhân. Ví dụ, phải viết là1.0uF, không phải1.0 uF. - Đảm bảo tất cả các phần tử và nguồn đều được đặt đúng giá trị.
- Đảm bảo hệ số khuếch đại của mọi nguồn phụ thuộc đều được đặt chính xác.
- Tạm thời loại bỏ các tụ điện hoặc nguồn dòng điện mắc nối tiếp rồi chạy lại mô phỏng.
- Tạm thời loại bỏ các cuộn cảm hoặc nguồn điện áp mắc song song rồi chạy lại mô phỏng.
-
Trên thẻ Advanced của hộp thoại Advanced Analysis Settings (truy cập bằng cách nhấp vào Settings trong vùng Analysis Setup & Run của bảng Simulation Dashboard), tăng giá trị tham số
ITL1lên300. Thao tác này cho phép phân tích điểm làm việc thực hiện nhiều lần lặp hơn trước khi dừng. -
Trên thẻ Advanced của hộp thoại Advanced Analysis Settings, đặt giá trị của
RSHUNT1. Điện trở có giá trị này được thêm vào giữa mỗi nút mạch và đất, giúp khắc phục các vấn đề như lỗi “ma trận suy biến”. Theo nguyên tắc chung, RSHUNT phải được đặt thành một giá trị điện trở rất lớn, chẳng hạn như1e12. - Thêm các phần tử .NS (Nodeset) để xác định điện áp nút. Nếu giá trị ước đoán ban đầu của điện áp nút sai lệch quá nhiều, có thể sử dụng phần tử Nodeset để xác định trước điện áp khởi đầu dùng cho lượt tính sơ bộ của phân tích điểm làm việc. Cấu hình tham số Initial Voltage trong mỗi phần tử Nodeset mà bạn đặt. Có thể đặt Nodeset từ thư viện Simulation Generic Components.
- Nếu phần tử Nodeset không giúp mạch hội tụ, hãy thử xác định các điều kiện ban đầu bằng cách đặt các phần tử .IC. Trong trường hợp này, điện áp nút được giữ ở các giá trị đã chỉ định trong quá trình phân tích điểm làm việc, sau đó được thả tự do trong quá trình phân tích quá độ. Có thể đặt các phần tử điều kiện ban đầu từ cùng các thư viện với phần tử Nodeset; tham số điện áp ban đầu phải được cấu hình theo cách tương tự.
- Bật tùy chọn Use Initial Conditions trong phần thiết lập Transient thuộc vùng Analysis Setup & Run của bảng Simulation Dashboard. Tùy chọn này hoạt động kết hợp với các phần tử .IC (hoặc tham số IC của linh kiện). Khi bật tùy chọn này, phân tích điểm làm việc sẽ không được thực hiện và các điện áp đã chỉ định sẽ được dùng làm điều kiện ban đầu cho phân tích quá độ.
-
Chỉ định các tham số điện trở nối tiếp của mô hình và tăng tùy chọn
GMIN(trên thẻ Advanced của hộp thoại Advanced Analysis Settings) lên10lần. -
Chỉ định điều kiện ban đầu (điều kiện khởi đầu) của các phần tử bán dẫn, đặc biệt là điốt, là
OFF. Điều này có thể giúp giải quyết các vấn đề hội tụ số bằng cách bỏ qua điốt (hoặc phần tử bán dẫn) trong lần lặp đầu tiên, qua đó cải thiện khả năng hội tụ.
Khắc phục sự cố phân tích quét DC
Khi gặp vấn đề với phân tích quét DC, trước tiên hãy thử các bước khắc phục sự cố hội tụ được liệt kê ở trên. Nếu vẫn gặp vấn đề, hãy thử các cách sau:
- Thay đổi giá trị tham số Step trong phần Analysis Setup & Run của Simulation Dashboard. Nếu có điểm gián đoạn trong mô hình phần tử (có thể nằm giữa vùng tuyến tính và vùng bão hòa của mô hình), việc tăng kích thước bước có thể cho phép mô phỏng bước qua điểm gián đoạn đó. Ngược lại, giảm kích thước bước sẽ cho phép mô phỏng xử lý các điểm gián đoạn do điện áp chuyển đổi nhanh.
- Không sử dụng phân tích quét DC. Một số vấn đề (chẳng hạn như hiện tượng trễ) không thể được giải quyết bằng phân tích DC. Trong những trường hợp này, sử dụng phân tích quá độ và tăng dần giá trị của các nguồn cấp thích hợp sẽ hiệu quả hơn.
Khắc phục sự cố phân tích quá độ
Khi gặp vấn đề với phân tích quá độ, trước tiên hãy thử các bước khắc phục sự cố hội tụ đã liệt kê ở trên . Nếu vẫn gặp vấn đề, hãy thử các cách sau.
Trên tab Advanced của hộp thoại Advanced Analysis Settings (truy cập bằng cách nhấp vào Settings trong vùng Analysis Setup & Run của bảng Simulation Dashboard):
-
Đặt tham số
RELTOLthành0.01. Khi tăng dung sai từ giá trị mặc định0.001(độ chính xác 0,1%), số lần lặp cần thiết để hội tụ đến nghiệm sẽ ít hơn và quá trình mô phỏng sẽ hoàn tất nhanh hơn nhiều. -
Tăng giá trị của tham số
ITL4lên100. Điều này cho phép phân tích quá độ thực hiện nhiều lần lặp hơn ở mỗi bước thời gian trước khi dừng do không hội tụ. Việc tăng giá trị này có thể giúp loại bỏ các lỗitimestep too small, cải thiện cả khả năng hội tụ lẫn tốc độ mô phỏng. -
Giảm độ chính xác bằng cách tăng giá trị của
ABSTOLvàVNTOL, nếu mức dòng điện/điện áp cho phép. Mạch cụ thể của bạn có thể không cần độ phân giải xuống đến 1 µV hoặc 1 pA. Tuy nhiên, bạn nên đặt độ phân giải thấp hơn ít nhất một bậc độ lớn so với mức điện áp hoặc dòng điện thấp nhất dự kiến trong mạch. - Đổi Integration Method sang một trong các phương pháp Gear. Phương pháp tích phân Gear cần thời gian mô phỏng dài hơn, nhưng thường ổn định hơn phương pháp hình thang. Tích phân Gear có thể đặc biệt hữu ích với các mạch dao động hoặc có đường hồi tiếp.
Các biện pháp khác có thể thử:
- Mô hình hóa mạch sát với thực tế. Thêm các thông số ký sinh thực tế, đặc biệt là điện dung tạp tán/tiếp giáp. Sử dụng mạch dập xung RC cho các điốt. Thay các mô hình linh kiện bằng mạch con, đặc biệt đối với linh kiện RF và linh kiện công suất.
- Tăng thời gian sườn lên/sườn xuống của mọi nguồn xung tuần hoàn trong mạch. Ngay cả những bộ tạo xung tốt nhất cũng không thể chuyển trạng thái tức thời.