Hệ thống nhúng là một hỗn hợp của phần cứng và phần mềm. Cả hai phải bổ sung cho nhau. Nhân viên phần cứng có thể làm cho phần mềm dễ thực hiện hơn. Vì vậy, đây là một số gợi ý để làm cho phần cứng hệ thống, phần mềm và firmware dễ dàng gỡ lỗi hơn.Hãy nhớ rằng một thiết kế tốt là hiệu quả. Một thiết kế tốt cũng là một thiết kế dễ dàng để gỡ lỗi.

Đầu tiên: Chẩn đoán

Trong thế giới không nhúng, kỹ thuật gỡ lỗi phổ biến nhất là cấy các câu lệnh in vào mã. Thông tin này cho lập trình viên biết liệu luồng thực thi đã đến điểm in hay chưa. Nhưng người dùng phần mềm hiếm khi có lựa chọn này.

Vì vậy, hãy thêm một số bit I/O song song chưa được gán. Là một công cụ mã rẻ tiền, mọi người rất cần những phần mềm này. Cấy ghép các chỉ thị I/O vào mã điều khiển các đầu ra này là một cách dễ dàng và nhanh chóng để xem chương trình đang làm gì.

Các nhà phát triển có thể khẳng định một điểm khi họ đi vào một thói quen hoặc ISR và sau đó giữ nó xuống khi họ thoát. Phạm vi hoặc trình phân tích logic sau đó ngay lập tức hiển thị thời gian thực hiện đoạn mã.

Một mẹo khác là chu kỳ bit đầu ra ở mức cao khi hệ thống bận rộn và thấp khi nhàn rỗi. Gắn đồng hồ đo điện áp vào pin, một đơn vị cũ với kim analog. Đồng hồ sẽ tích hợp dòng xung nhị phân, do đó điện áp hiển thị sẽ tỷ lệ thuận với tải hệ thống.

Nếu không gian và chi phí cho phép, bao gồm toàn bộ thanh ghi 8 chữ số được kết nối với một hàng các lỗ hoặc đầu cách nhau 0,1 inch. Máy trạng thái phần mềm có thể xuất "trạng thái" hiện tại của nó sang cổng này. Trình phân tích logic nắm bắt dữ liệu và hiển thị tất cả các sắp xếp, có rất ít ảnh hưởng đến thời gian thực thi mã.

Ít nhất một đèn LED là cần thiết để báo hiệu cho các nhà phát triển và thậm chí cả khách hàng rằng hệ thống đang hoạt động tốt. Đây là một chỉ số tự tin được thúc đẩy bởi các nhiệm vụ ưu tiên thấp hoặc vòng lặp nhàn rỗi, cho thấy hệ thống đang hoạt động và không bị mắc kẹt trong vòng lặp hữu hạn. Nhiều hệ thống nhúng không có giao diện người dùng; Đèn LED nhấp nháy có thể là một dấu hiệu đơn giản "hệ thống bình thường".

Các CPU tích hợp cao hiện cung cấp rất nhiều thiết bị ngoại vi trên chip, đôi khi nhiều hơn chúng ta cần trong một hệ thống cụ thể. Nếu có thêm UART, hãy kết nối pin với chip chuyển mức RS-232 (ví dụ: MAX232A hoặc tương tự). Không cần phải thực sự nạp chip vào bảng ngoài việc tạo mẫu.

Các nhà phát triển phần mềm có thể thấy mình ở góc thiếu công cụ và sau đó muốn thêm một màn hình phần mềm vào mã của họ. Cổng RS-232 làm cho điều này có thể và dễ dàng.

Nếu bất động sản của PCB bị hạn chế đến mức không có chỗ cho bộ chuyển đổi mức, ít nhất hãy kết nối Tx, Rx và Ground với các lỗ có thể truy cập để MAX232 có thể được treo trên dây màu xanh lá cây phía trên bảng.

(Các nhà phát triển chú ý : Nếu bạn sử dụng cổng này, đừng vội vàng triển khai màn hình, hãy sử dụng I/O để triển khai trình điều khiển RS-232. Hãy dành một chút thời gian để tạo ra mã điều khiển ngắt tốt. Theo kinh nghiệm của chúng tôi, bỏ phiếu I/O trên màn hình dẫn đến các ký tự bị thiếu, các công cụ không đáng tin cậy và sự thất vọng lớn..)

Kết nối dây đặt lại với công tắc hoặc dây vá để kỹ sư có thể khẳng định tín hiệu độc lập với thiết lập lại nguồn bình thường. Các vấn đề về năng lượng đôi khi có thể được cô lập bằng cách kết nối thiết lập lại với máy phát xung, tạo ra một kịch bản lặp lại dễ dàng nghiên cứu bằng dao động.

Công cụ kết nối

Xác định hướng của chip CPU để bạn có thể kết nối trình giả lập khi sử dụng nó. Đôi khi, bảng mục tiêu được chôn sâu bên trong tủ và quyền truy cập bị hạn chế nhiều nhất. Hầu hết các pod mô phỏng có các yếu tố hình dạng thuận lợi cho các hướng chèn cụ thể.

Cũng chú ý đến khoảng cách thẳng đứng! Các vỏ được xếp chồng lên nhau trên bộ chuyển đổi SMT lớn có thể yêu cầu không gian từ 4 đến 6 inch phía trên tấm. Hãy chắc chắn rằng không có gì ở trên cùng của tấm sẽ làm phiền pod.

Không sử dụng bộ chuyển đổi "clip-on" trên gói SMT. Chúng đơn giản là không đáng tin cậy (một ngoại lệ là gói PLCC với khoảng cách dẫn lớn). Ở Brazil, một vụ phá thai bơ vẫy cánh tạo ra đủ luồng không khí để lật nó. Tốt nhất là tháo CPU và cài đặt một bộ chuyển đổi hàn. PCB sẽ luôn là một nguyên mẫu, nhưng ít nhất nó sẽ là một nguyên mẫu đáng tin cậy.

Để lại một khoản phụ cấp trong thời gian của hệ thống. Nếu mỗi nano giây được tính, thì không có trình mô phỏng nào hoạt động đáng tin cậy. Trong chu kỳ đọc và ghi, đặc biệt là trong các mạch trạng thái chờ, 5nsec bổ sung sẽ không ảnh hưởng đến hầu hết các thiết kế.

Nếu bộ xử lý của bạn có cổng gỡ lỗi BDM hoặc JTAG, hãy đảm bảo thêm đầu nối thích hợp trên PCB. Ngay cả khi bạn có kế hoạch sử dụng trình mô phỏng trưởng thành hoặc các công cụ phát triển khác, ít nhất hãy thêm một miếng đệm PCB và dây vào đầu nối BDM. Các kết nối có giá gần bằng không và có thể cứu một dự án đang gặp rắc rối về công cụ.

Logic Analyzer là một công cụ gỡ lỗi tuyệt vời, nhưng nó luôn gây khó chịu. Khi bạn kết thúc việc kết nối 100 clip chì, 50 clip đầu tiên đã bật lên.

Có một giải pháp tốt hơn: bao quanh CPU của bạn với giao diện micrô AMP. Đây là những thành phần có mật độ cao, trở kháng có thể kiểm soát có thể truyền địa chỉ, dữ liệu và bus điều khiển của hệ thống ra ngoài bảng. Cả Tektronix và Agilent đều hỗ trợ Micror. Cả hai công ty đều bán cáp kết nối trực tiếp với micrô từ máy phân tích logic. Không cần dây dẫn clip, không cần phải làm cáp tùy chỉnh và đảm bảo kết nối đáng tin cậy trong vài giây. Tháo đầu nối ra khỏi phiên bản sản xuất của bảng hoặc chỉ để lại đĩa PCB mà không tải các bộ phận.

Một số tín hiệu đặc biệt dễ bị biến dạng khi chúng ta kết nối các công cụ. Address Lock Enable (ALE), còn được gọi là Address Tap (as) trên các bộ phận của Motorola, được sử dụng để phân biệt địa chỉ và dữ liệu trên bus multiplex. Ngay cả những tiếng ồn nhỏ nhất mà các thiết bị mô phỏng và thậm chí các máy dò tạo ra đối với tín hiệu này có thể khiến hệ thống sụp đổ.

Điều này cũng đúng đối với đầu vào ngắt được kích hoạt bởi bất kỳ cạnh nào, chẳng hạn như NMI trên nhiều CPU. Sử dụng mạng điện trở kép để chấm dứt các tín hiệu này. Mặc dù thiết kế của bạn có thể hoàn hảo mà không cần thiết bị đầu cuối, các công cụ kết nối và tín hiệu phát hiện có thể phá vỡ tín hiệu.

Thêm điểm kiểm tra! Trừ khi nó có kết nối mặt đất ngắn, máy hiện sóng không thể hiển thị chính xác tín hiệu tốc độ cao duy nhất trong thiết kế hiện đại của chúng tôi. Trong những ngày tốt đẹp trước đây, thật dễ dàng để hàn một chút dây vào chân của thiết bị logic để tạo ra một kết nối mặt đất ngay lập tức. Đối với SMT, điều này là khó khăn hoặc không thể, vì vậy hãy phân phối một số lượng lớn các điểm nối có thể truy cập xung quanh bảng.

Các tín hiệu khác mà chúng tôi sẽ phát hiện với số lượng lớn phải có thể truy cập được, bao gồm đồng hồ, đọc, ghi và tất cả các đầu vào bị gián đoạn. Hãy chắc chắn rằng mỗi điểm kiểm tra có kích thước đủ lớn hoặc quá lỗ để nhà phát triển có thể hàn dây (thường là dây dẫn điện trở) vào tín hiệu.

Hãy chắc chắn để thêm một điểm kiểm tra Vcc. Logic Probe là một công cụ cũ nhưng vẫn rất hữu ích. Hầu hết yêu cầu kết nối nguồn.

Suy nghĩ về Port

Làm cho tất cả các cổng đầu ra có thể đọc được. Điều này đặc biệt đúng đối với các thanh ghi điều khiển trong ASIC, nơi không có cách nào để phát hiện chúng.

Cẩn thận khi đặt hàng. Ví dụ: nếu đọc từ A/D, thiết kế kém để chuyển đổi bit 7 thành bit đầu vào 0, bit 6 thành 1, v.v. là một cơn ác mộng. Chắc chắn, các nhà phát triển phần mềm có thể viết mã để giải quyết sự nhầm lẫn, nhưng hầu hết các bộ xử lý không giỏi trong việc này. Code sẽ chậm và xấu.

Thay vì sử dụng một vài cổng I/O rộng, hãy sử dụng nhiều cổng I/O hẹp. Khi một cổng điều khiển ba đèn LED, hai lá chắn ngắt và một động cơ bước, thay đổi bất kỳ đầu ra nào có nghĩa là quản lý từng đầu ra. Mã trở thành một mớ hỗn độn và/hoặc. Bất kỳ thay đổi phần cứng nhỏ nào cũng đòi hỏi rất nhiều tinh chỉnh phần mềm. Cổng rộng có thể giảm thiểu số lượng bộ phận khi thực hiện với logic rời rạc, nhưng không có lợi thế chi phí bên trong PLD hoặc FPGA.

Tránh kết nối các đầu vào số không sử dụng trực tiếp với Vcc. Trong quá khứ, thực hành này đã bị cấm vì đầu vào 74LS dễ bị ảnh hưởng nhất thời hơn chân Vcc. Tất cả các đầu vào không sử dụng được kéo lên qua điện trở vào Vcc. Các thiết bị logic không còn cần phải làm điều này nữa, nhưng nó vẫn là một thực hành tốt. Sẽ dễ dàng hơn nhiều để phát hiện và thay đổi một nút không có kết nối cứng với nguồn điện.

Tuy nhiên, nếu bạn phải kết nối nguồn điện trực tiếp với các đầu vào không sử dụng này, hãy rất cẩn thận với bố cục PCB. Không sử dụng pin; Điều đó nói rằng, không sử dụng pin như một cách thuận tiện để cung cấp năng lượng cho phía bên kia của pin hoặc bảng khác.

Tốt nhất là nên cẩn thận sử dụng tất cả các kết nối nguồn và mặt đất của tín hiệu đầu vào làm đường ray cho lớp ngoài của PCB để chúng có thể nhìn thấy khi IC được hàn tại chỗ. Sau đó, các nhà phát triển có thể dễ dàng cắt các dấu vết và thực hiện các thay đổi với con dao X-Acto.

Sức đề kháng kéo lên mang đến thách thức của chính mình. Nhiều công cụ gỡ lỗi có pull-up riêng, có thể gây ra sự sai lệch kỳ lạ đối với các nút. Tốt nhất là sử dụng giá trị thấp hơn CMOS cho phép thay vì giá trị cao hơn (như 10k thay vì 100k).

PCB Screen Printing là một trợ giúp gỡ lỗi thường bị bỏ qua. Gắn thẻ công tắc và dây vá. Luôn luôn có nghĩa là pin 1 vì không có vị trí pin 1 tiêu chuẩn trong thế giới SMT. Thêm một dấu kiểm cho mỗi 5 hoặc 10 chân xung quanh gói SMT lớn và cho biết số lượng chân tăng theo hướng CW hay CCW. Nếu không, kim cố định 139 là một cơn ác mộng, đặc biệt là đối với các nhà phát triển hao mòn hai tiêu điểm bị run do caffeine.

Các đầu nối quan trọng, vì vậy bạn không đoán cáp nên đi theo hướng nào.

Vui lòng thêm chú thích vào sơ đồ! Đối với tất cả các tuyến đường ngoài trang, chỉ ra trang mà tuyến đường của bạn đang trỏ đến. Không ẩn số pin liên quan đến nguồn điện và mặt đất và đánh dấu chúng một cách rõ ràng.

Sau khi thiết kế hoàn tất, hãy kiểm tra mọi đầu vào của mỗi thiết bị và đảm bảo rằng mỗi thiết bị được kết nối với một cái gì đó, ngay cả khi nó không được sử dụng. Tôi đã thấy hàng trăm hệ thống thất bại trên trang web khi đầu vào không sử dụng trôi dạt vào trạng thái khẳng định. Bạn có thể muốn các nhà phát triển phần mềm chặn nội dung này trong mã của họ, nhưng điều đó không phải lúc nào cũng có thể và thậm chí nếu vậy, nó thường bị lãng quên.

Cố gắng tránh sử dụng máy trạng thái phần cứng. Chúng rất khó gỡ lỗi và thường được kết hợp chặt chẽ với firmware, điều này cũng làm cho việc gỡ lỗi không thân thiện. Nó dễ dàng hơn để thực hiện chúng hoàn toàn trong mã. Các công cụ (ví dụ: VisualState từ IAR) có thể tự động tạo mã máy trạng thái.

Phương pháp xây dựng

Bộ điều khiển nhúng có thể được xây dựng bằng cách sử dụng bất kỳ công nghệ nào, nhưng phương pháp phổ biến nhất là bảng mạch in (PCB). Bảng mạch in được làm bằng vật liệu cách nhiệt, chẳng hạn như vải thủy tinh ngâm tẩm epoxy, với một lớp đồng mỏng được ép trên đó.

Nhiều lớp đồng và vật liệu cách nhiệt có thể được ép thành nhiều lớp PCB. Bằng cách khoan và mạ lỗ trong vật liệu, các lớp có thể được kết nối với nhau và cung cấp vị trí lắp đặt cho các bộ phận thông qua lỗ.

Khi thiết kế bố cục hoặc mô hình kết nối của PCB, nhiều yêu cầu mâu thuẫn phải được đáp ứng để tạo ra một thiết bị đáng tin cậy, hiệu quả về chi phí và có thể sản xuất. Đối với các mạch tốc độ thấp, hiệu ứng ký sinh có thể được bỏ qua và thường được coi là kết nối lý tưởng.

Thật không may, mạch thực tế không lý tưởng và dây dẫn và vật liệu cách nhiệt có thể ảnh hưởng đến mạch, đặc biệt là đối với tín hiệu có thời gian tăng/giảm tín hiệu nhanh. Dấu vết hoặc dây dẫn trên PCB có điện trở đi lạc, điện dung và cảm ứng.

Ở tốc độ cao, những hiệu ứng đi lạc này có thể làm chậm và biến dạng tín hiệu. Cần phải đặc biệt cẩn thận khi thiết kế bo mạch PC để tránh hiệu ứng đường truyền, tiếng ồn và các vấn đề phát xạ điện từ không cần thiết.

Nguồn điện và mặt đất. Nếu có thể, tốt nhất là sử dụng hai lớp, bốn lớp hoặc nhiều hơn PCB dành riêng cho tín hiệu Vcc và mặt đất. Chúng được gọi là mặt phẳng điện và mặt phẳng nối đất. Một lợi thế là có một nguồn cung cấp ký sinh tần số cao có lợi, tách điện dung, có thể làm giảm tiếng ồn nguồn của IC.

Mặt phẳng công suất cũng làm giảm sự phát xạ không mong muốn của bức xạ điện từ có thể gây nhiễu và giảm độ nhạy của mạch đối với tiếng ồn cảm ứng bên ngoài. Máy bay công suất có xu hướng hoạt động như một tấm chắn để giảm độ nhạy với tiếng ồn bên ngoài và bức xạ tiếng ồn từ hệ thống.

Vấn đề mặt đất Mặc dù khái niệm nối đất mạch lý tưởng có vẻ tương đối đơn giản, nhiều vấn đề hệ thống trong các ứng dụng thực tế có thể được truy nguyên trực tiếp đến các vấn đề nối đất.

Ít nhất, điều này dẫn đến tiếng ồn không mong muốn hoặc hoạt động sai; Trong trường hợp xấu nhất, nó có thể gây ra các vấn đề an toàn và thậm chí có thể dẫn đến tử vong do điện giật. Để tránh bạn bỏ qua tầm quan trọng của khả năng này quá nhanh, tác giả suýt bị điện giật khi thử nghiệm một thiết bị không phù hợp với mặt đất!

Những vấn đề này thường được gây ra bởi một trong những

1)Điện cảm hoặc điện trở quá mức trong mạch nối đất dẫn đến "mạch nối đất".

2)Thiếu hoặc cách ly không đầy đủ giữa các mặt đất khác nhau trong hệ thống: mặt đất, an toàn, kỹ thuật số và tương tự

3)Một con đường nối đất không mong muốn dẫn đến dòng điện chạy qua một mạch và tạo ra điện áp ở mạch khác

Các giải pháp cho những vấn đề này khác nhau tùy thuộc vào loại vấn đề và tần suất xảy ra sự cố.

Thông thường, chúng có thể được đơn giản hóa để giảm dòng điện trong trở kháng chung của mạch đòi hỏi phải duy trì sự cô lập bằng cách sử dụng một điểm nối đất và ứng dụng kín đáo của lá chắn và cách nhiệt để ngăn chặn các khớp nối tín hiệu ký sinh không mong muốn.

Hiệu ứng EMC và ESD

Tương thích điện từ (EMC) Những vấn đề này ngày càng trở nên quan trọng hơn khi có một số lượng lớn các thiết bị điện tử vô tình phát ra năng lượng điện từ trong cùng dải tần số như thông tin liên lạc, điều hướng và thiết bị.

Các cơ quan quản lý như Ủy ban Truyền thông Liên bang Hoa Kỳ (FCC), Bộ Truyền thông Canada (DOC) và các tổ chức tương tự ở châu Âu đã xác định giới hạn năng lượng cho phép các thiết bị điện tử như vậy phát ra ở các tần số khác nhau.

Do tính nhạy cảm của ứng dụng, các yêu cầu nghiêm ngặt hơn được đặt ra đối với các thiết bị quan trọng đối với sự sống, chẳng hạn như thiết bị định vị và hỗ trợ sự sống của máy bay. Trong số những thứ khác, các thiết bị này cần cung cấp mức độ chống nhiễu tối thiểu đối với tiếng ồn cảm ứng bên ngoài (độ nhạy bức xạ và dẫn).

Khi giải quyết vấn đề EMC, bước đầu tiên là xác định nguồn tiếng ồn, đường dẫn đến khu vực có vấn đề và điểm đến mà vấn đề phát sinh. Một khi ba đặc điểm này của vấn đề EMC đã được xác định, các kỹ sư có thể đánh giá những lợi thế tương đối của việc loại bỏ tiếng ồn nguồn, ngắt kết nối đường dẫn bằng cách sử dụng lá chắn và các công nghệ tương tự và giảm độ nhạy của mạch bị ảnh hưởng.

Có một số tài nguyên hữu ích, bao gồm các ấn phẩm, hội thảo, phòng thí nghiệm thử nghiệm và các chuyên gia tư vấn chuyên giải quyết các vấn đề EMC. Giải pháp tốt nhất thường là bắt đầu thử nghiệm các thiết kế mới sớm trong giai đoạn tạo mẫu để xác định các khu vực có vấn đề tiềm ẩn, do đó giải quyết chúng với chi phí và tác động lịch trình tối thiểu.

Xả tĩnh điện (ESD) Là một cân nhắc thiết kế quan trọng trong các ứng dụng nhúng, vì các lỗi và hoạt động sai có thể xảy ra khi có điện trường bên ngoài.

Khi ai đó đi qua sàn nhà trong môi trường độ ẩm thấp và sau đó chạm vào các thiết bị điện tử, điện áp ESD thường được áp dụng trên giao diện nhúng, khoảng hàng chục nghìn volt.

Một trong những nơi phổ biến nhất mà điều này trở thành một vấn đề là bàn phím hoặc thiết bị đầu vào của người dùng, tiếp xúc trực tiếp với thế giới bên ngoài. Hiệu ứng này có thể gây ra thiệt hại hoặc nhầm lẫn ngay lập tức hoặc có thể dẫn đến sự cố tiềm ẩn xảy ra vài tháng sau sự kiện ESD.

Các nhà thiết kế thường sử dụng các kỹ thuật che chắn và nối đất tương tự như các kỹ thuật an toàn và giảm phát thải để giảm thiểu tác động của ESD. Các nguồn lực có sẵn cho các vấn đề EMC thường cũng có sẵn cho các vấn đề ESD.

Dung sai

Khả năng chịu lỗi ngày càng trở thành một yêu cầu đối với các hệ thống nhúng khi chúng đi vào các ứng dụng không thể chấp nhận được. Nhiều giải pháp phần cứng và phần mềm đã được phát triển để đáp ứng nhu cầu này.

Để hiểu cách xử lý những thất bại này, trước tiên chúng ta phải xác định và hiểu loại và bản chất của từng loại thất bại. Mỗi lỗi có thể được phân loại là "cứng" hoặc "mềm". Lỗi cứng có thể khiến lỗi không biến mất, ví dụ: nhấn reset hoặc tắt nguồn sẽ không dẫn đến khôi phục từ trạng thái lỗi. Lỗi mềm là do các sự kiện thoáng qua hoặc trong một số trường hợp do lỗi chương trình.

Nếu lỗi không quá nghiêm trọng, các thủ tục tự kiểm tra và chẩn đoán có thể xác định và chẩn đoán lỗi.

Tùy thuộc vào loại lỗi xảy ra và thiết bị bị ảnh hưởng, một hệ thống có thể được thiết kế để phát hiện lỗi và thậm chí có thể cách ly vị trí của lỗi ở một mức độ nào đó. Trong trường hợp lỗi mềm, nhà thiết kế có thể làm cho hệ thống tự động phục hồi từ sự cố.

Các chương trình tự kiểm tra tích hợp có thể được viết cho bộ xử lý nhúng sẽ có thể phát hiện lỗi trong các loại thiết bị sau:

• Bộ xử lý (nếu lỗi không quá nghiêm trọng)

• Bộ nhớ

•ROM

• Ram

• Mở (E/E)

• Thiết bị ngoại vi

Lưu ý rằng rất khó, nếu không muốn nói là không thể, để phát hiện lỗi trong mạch điều khiển hoặc "logic liên kết" trong hệ thống. Các thiết bị khác, chẳng hạn như bộ nhớ, hỗ trợ các phương pháp chẩn đoán.

Lỗi nội dung dữ liệu của thiết bị ROM có thể được kiểm tra bằng một hoặc nhiều kỹ thuật sau:

• Kiểm tra chẵn lẻ

• Tổng kiểm tra

• Kiểm tra dự phòng chu kỳ (CRC)

Tính toàn vẹn của bộ nhớ RAM và thông tin được bộ xử lý lưu trữ trong RAM có thể được kiểm tra bằng cách sử dụng một trong các kỹ thuật sau:

• Phát hiện và sửa lỗi phần cứng

• Kiểm tra chế độ dữ liệu/địa chỉ

• Đạt được tính toàn vẹn của cấu trúc dữ liệu bằng cách kiểm tra giới hạn ngăn xếp và tính hợp lệ của dải địa chỉ

Ngoài ra, tính toàn vẹn của chương trình và trình tự thực thi chính xác của CPU có thể được kiểm tra bằng một hoặc nhiều kỹ thuật sau:

• Phát hiện lỗi chẵn lẻ phần cứng

• Phần cứng trùng lặp, dự phòng và kiểm tra chéo hoặc bỏ phiếu

• Bộ đếm thời gian "Watch Dog" để vận hành dòng thiết lập lại chip CPU

• Chẩn đoán chạy liên tục khi CPU không có gì khác để làm

Câu hỏi về Instrument Instrument

Một trong những vấn đề quan trọng nhất nhưng thường bị bỏ qua mà các nhà thiết kế phải giải quyết là lựa chọn đúng đắn và sử dụng các công cụ kiểm tra. Việc lựa chọn và áp dụng sai các công cụ này thường là nguồn gốc của sự lãng phí thời gian và nhầm lẫn giữa các nhà thiết kế. Hai vấn đề sử dụng phổ biến liên quan đến việc sử dụng máy hiện sóng và đầu dò phân tích logic.

Một máy hiện sóng hoặc máy phân tích logic điển hình được trang bị đầu dò có thể không ảnh hưởng đến tín hiệu quan sát hoặc làm biến dạng dữ liệu thu thập được. Trở kháng đầu vào nằm trong phạm vi megaeuros, với điện dung ký sinh là hàng chục phương pháp da và thiết bị thử nghiệm dường như có ít ảnh hưởng đến phép đo, nhưng điều đó không đúng.

Có hai lý do phổ biến cho các vấn đề đo lường: điện cảm quá lớn đối với dây dẫn mặt đất và tải điện dung quá lớn. Những điều này ít nhất dẫn đến khả năng đo lường sai hoặc trong trường hợp xấu nhất, chúng dẫn đến mạch được thử nghiệm hoạt động khác nhau. Có hai điều có thể làm để giảm bớt những vấn đề này:

1)Sử dụng các dây dẫn kiểm tra ngắn nhất có thể, đặc biệt là các kết nối nối đất nhanh và logic.

2)Sử dụng đầu dò trở kháng cao, đặc biệt là các đầu dò được thiết kế cho các ứng dụng tốc độ cao, chẳng hạn như đầu dò dao động đầu vào FET tốc độ cao.

Các vấn đề dụng cụ khác có thể là do sự hiểu lầm về hiệu ứng lấy mẫu trong máy hiện sóng kỹ thuật số, thiếu phát hiện lỗi trong máy phân tích logic và các "kinh nghiệm học tập" mơ hồ nhưng có thể gây đau đớn khác. Những vấn đề này chỉ có thể tránh được bằng cách có kiến thức tốt về hoạt động của thiết bị đang được sử dụng và có một số kinh nghiệm thực tế.

Các cân nhắc thiết kế đặc biệt khác

Các nhà thiết kế hệ thống nhúng nên quen thuộc với ít nhất một số tính năng khác. Chúng bao gồm các đặc tính nhiệt của hệ thống, sức đề kháng nhiệt, khái niệm tiêu thụ điện năng và ảnh hưởng đến nhiệt độ và độ tin cậy của thiết bị. Một vấn đề quan trọng khác trong các hệ thống định vị di động, cầm tay và từ xa là ứng dụng lưu trữ năng lượng pin.

Phân tích nhiệt và thiết kế. Nhiệt độ của các thiết bị bán dẫn, chẳng hạn như bộ điều chỉnh điện áp hoặc thậm chí chip CPU, là một tham số hoạt động quan trọng của hệ thống. Độ tin cậy của các thiết bị này cũng liên quan chặt chẽ đến nhiệt độ, vì độ tin cậy của thiết bị giảm theo cấp số nhân khi nhiệt độ tăng.

May mắn thay, không quá khó để tính toán nhiệt độ hoạt động của thiết bị, vì có một phép tương tự mạch đơn giản thường được sử dụng để tính toán nhiệt độ của thiết bị. Nhiệt độ tương tự như điện áp, với công suất tiêu tán tương đương với dòng điện và sức đề kháng nhiệt tương đương với điện trở. Nói cách khác:

Nhiệt độ tăng (ºC)=Công suất (watt) * Kháng nhiệt (ºC/watt)

Sức đề kháng nhiệt của nhiều bộ phận cơ khí xếp chồng lên nhau được cộng lại, giống như điện trở nối tiếp tương đương với một điện trở duy nhất, bằng tổng các giá trị riêng lẻ.

Ví dụ: cho một bộ điều chỉnh điện áp tuyến tính 5V có đầu vào 9V cung cấp dòng tải 1 ampe, bộ điều chỉnh sẽ tiêu tán:

P=V * I=(9-5 volt) * Công suất 1 ampe hoặc 4 watt

Nếu điện trở nhiệt giữa nút bán dẫn và vỏ của bộ điều chỉnh là 1ºC/W (Ký như θ jc), và nhiệt điện trở của bộ tản nhiệt gắn bộ điều chỉnh từ bề mặt lắp bộ điều chỉnh đến không khí xung quanh tĩnh là 10ºC/W (Ký như θ ThẻSau đó, tổng điện trở nhiệt giữa nút bán dẫn và không khí xung quanh là:

θ ja= θ jc+ θ ca=1+10=11ºC/watt

Sự gia tăng nhiệt độ của khớp sau đó sẽ cao hơn sự gia tăng nhiệt độ của không khí xung quanh bộ điều chỉnh, được đưa ra bởi công thức sau:

T=P* θ ja=4 watt * 11ºC/watt=44ºC trên nhiệt độ môi trường xung quanh

Nếu bộ điều chỉnh được chỉ định để hoạt động ở nhiệt độ kết nối tối đa là 85ºC, thiết bị không nên hoạt động trong không khí xung quanh với nhiệt độ trên 85-44=41ºC, nếu không bộ điều chỉnh sẽ thất bại sớm.

Nếu điều này là không thể chấp nhận được, nhà thiết kế phải giảm điện áp đầu vào để giảm tiêu thụ điện năng, giảm sức đề kháng nhiệt bằng cách buộc luồng không khí hoặc thay đổi thiết kế sang một loại khác (ví dụ, bộ điều chỉnh chế độ chuyển đổi) để giữ cho khớp điều chỉnh trong giới hạn hoạt động.

Chỉ số hiệu suất: IPS, OPS và Benchmark

Để so sánh các loại máy tính khác nhau, các nhà sản xuất đã đưa ra một loạt các chỉ số để định lượng hiệu suất của bộ xử lý.

Việc áp dụng thành công các thiết bị này trong các hệ thống nhúng thường phụ thuộc vào các tính năng sau:

• IPS (hướng dẫn mỗi giây)

OPS (Số lượng hoạt động mỗi giây)

Flops (điểm nổi OPS)

Benchmark (một "chương trình mẫu" được chuẩn hóa và độc quyền) là một mẫu ngắn chỉ ra hiệu suất của bộ xử lý trong một ứng dụng nhỏ.

Bảng mạch tích hợphoặc dạng phổ biến hơn.triệu pixel(triệu IPS) vàMáy bay hai cánh(Hàng tỷ IPS), thường được ném ra nhưng về cơ bản là sự cường điệu tiếp thị vô giá trị vì chúng chỉ mô tả tốc độ thực hiện các hướng dẫn nhanh nhất trên máy. Lệnh này thường là lệnh NOP, vì vậy 500 MIPS có thể có nghĩa là bộ xử lý không thể thực hiện 500 triệu lần mỗi giây!

Đáp ứng với các điểm yếu trong đo lường IPS,Hoạt động(Trang chủChống phunÍt nhất nghe có vẻ thú vị.) Là thời gian thực hiện các lệnh dựa trên hỗn hợp các lệnh khác nhau. Mục đích của nó là sử dụng kết hợp các chỉ thị có trọng số tần số thực hiện tiêu chuẩn, đại diện chính xác hơn cho thời gian thực hiện các chỉ thị "danh nghĩa".

Kích hoạt(megaFLOPS, gigaFLOPS, v.v.) tương tự, ngoại trừ chúng có trọng số đáng kể các chỉ thị dấu phẩy động để đại diện cho một số lượng lớn các ứng dụng tính toán như mô phỏng liên tục và phân tích phần tử hữu hạn.

Vấn đề với số liệu OPS là con số thu được phụ thuộc rất nhiều vào sự kết hợp của các hướng dẫn được sử dụng để tính toán nó, có thể không đại diện chính xác tần suất thực hiện các hướng dẫn ứng dụng dự kiến.

Điểm chuẩn Benchmarking là một chương trình ngắn, tự bao gồm để thực hiện các phần quan trọng của ứng dụng, chẳng hạn như thuật toán sắp xếp và để so sánh mã có chức năng tương đương trên các máy khác nhau.

Chương trình chạy một số lần lặp và đo thời gian và so sánh với thời gian của các CPU khác. Điểm yếu ở đây là benchmarking là thước đo không chỉ cho bộ xử lý mà còn cho các lập trình viên và các công cụ được sử dụng để thực hiện chương trình.

Vì vậy, điểm chuẩn tốt nhất là bạn tự viết, vì nó cho phép bạn khám phá hiệu quả của mã bạn viết được thực hiện trên một bộ xử lý nhất định bằng các công cụ có sẵn. Điều này rất gần với hiệu suất ứng dụng thực tế mà bạn có thể nhận được, ngoài việc triển khai ứng dụng đầy đủ trên mỗi bộ xử lý được đánh giá.

Bài viết này dựa trên "Phần cứng nhúng biết mọi thứ" và được sử dụng với sự cho phép của Newnes, một công ty thuộc sở hữu của Elsevier. Bản quyền 2008. Để biết thêm thông tin về cuốn sách này và các cuốn sách tương tự khác, hãy truy cập www.elsevierdirect.com.

30 năm kinh nghiệm trong lĩnh vực nàyGüntherNameLà một trong những nhà phát triển nhúng đầu tiên. Ông là tác giả của hai cuốn sách nhúng: Nghệ thuật thiết kế cho các hệ thống nhúng và Nghệ thuật lập trình hệ thống nhúng Jack tổ chức một hội thảo đào tạo kéo dài một ngày để chỉ cho các nhà phát triển cách phát triển firmware tốt hơn nhanh hơn.

bởi Ken Arno Tác giảThiết kế phần cứng điều khiển nhúngLà điều phối viên chương trình kỹ thuật máy tính nhúng và là giảng viên của Đại học California Extended School of Sustainability, cũng là giám đốc sáng lập của Đại học California Online. Ken cũng là người sáng lập và Giám đốc điều hành của Công ty Thiết bị Công nghệ cao, CTO về Đổi mới Không dây và Giám đốc Kỹ thuật tại General Dynamics.