Tại sao vi điều khiển của tôi truyền một dòng qua nó khi không được kết nối?


7

MCU: ATTiny13

Tôi nhận thấy điều này sau khi cố gắng gỡ lỗi tại sao việc đẩy công tắc của tôi (được kết nối qua R2, điện trở kéo xuống 507kOhm) làm cho đèn LED mờ đi trong khi bị đè. Công tắc được cung cấp bởi cùng một đường cung cấp như đầu vào Vcc cho vi điều khiển.

Khi ngắt kết nối đầu vào Vcc (Chân số 8), tôi nhận thấy rằng đèn LED vẫn sáng khi công tắc bị tắt. Nếu tôi loại bỏ một kết nối từ chân 4, đèn LED vẫn sáng, nhưng kém sáng hơn.

Các mạch dưới đây đại diện cho những gì tôi quan sát. Công tắc được gỡ bỏ để đơn giản hóa vấn đề:

nhập mô tả hình ảnh ở đây

Tại sao điều này xảy ra, và làm thế nào tôi có thể ngăn chặn nó? Nó đang can thiệp vào đầu ra khi nhấn nút.

Dưới đây là hình ảnh của mạch trên bảng. Đường cung cấp (5V là dây màu đỏ, Mặt đất màu đen):

nhập mô tả hình ảnh ở đây


1
Âm thanh như một vấn đề xây dựng. Theo sơ đồ đó, không có cách nào đèn LED có thể sáng lên khi Vcc bị tắt. Tất nhiên, nếu không có pin Vcc của micro được kết nối, rất nhiều điều sẽ không xảy ra.
Matt Young

1
Bạn có thể hiển thị các công tắc trong mạch của bạn?
Scott Seidman

4
Chắc chắn đó không phải là toàn bộ mạch. Gần như chắc chắn một trong các chân I / O đang được giữ tại Vdd hoặc đang được kéo lên Vdd.
Olin Lathrop

2
Kết nối chân I / O với điện áp cao hơn VCC dẫn đến hành vi không xác định trong trường hợp có nhiều bộ vi điều khiển. Bộ vi điều khiển ở trạng thái không xác định và bất cứ điều gì cũng có thể xảy ra.
vsz

2
Không, đó rõ ràng không thể là những gì bạn thực sự nối. Nếu nó được kết nối theo mô tả của bạn, sẽ không có nguồn năng lượng nào, và do đó không có cách nào để đèn LED phát sáng. Có lẽ đáy của R2 thực sự được kết nối với Vdd?
Olin Lathrop

Câu trả lời:


22

Đầu vào của nhiều thiết bị CMOS hiện đại có điốt bảo vệ ESD từ chân I / O đến đường ray cung cấp, hy vọng sẽ chuyển hướng quá áp quá độ sang nguồn cung cấp trước khi chúng gây ra thiệt hại.

Một tác dụng phụ của việc này là chip có thể, ít nhất là ở một mức độ được cấp nguồn thông qua chân I / O, một khi chân tăng đủ so với nguồn cung cấp (không được cung cấp) để chuyển tiếp diode. Ngay cả trong các công nghệ không có điốt bảo vệ rõ ràng, nó vẫn có thể xảy ra ở một mức độ nào đó, mặc dù thường dẫn đến hoạt động rất không đáng tin cậy (lỗi cổ điển - quên cấp nguồn cho chip và xem nó "hoạt động" - Tôi đã tự mình làm điều đó với đèn flash SPI trong quá khứ Tháng một bằng cách nào đó không bao giờ có được một nền tảng, và sẽ cung cấp phản hồi dự kiến ​​cho đến khi tôi cố gắng viết các vị trí flash).

Nói chung, bạn không muốn cấp nguồn cho chip theo cách này - nó nằm ngoài xếp hạng tối đa tuyệt đối và diode bảo vệ có thể không có kích thước để mang dòng điện hoạt động đầy đủ. Đôi khi bạn cũng thấy nó, cả trong các thử nghiệm có chủ ý, chẳng hạn như thử nghiệm giả lập thẻ ATTiny RFID do RF cung cấp hoặc vô tình trong các trường hợp như cố gắng đo mức tiêu thụ điện của MCU đang ngủ và thực sự lấy năng lượng từ gỡ lỗi nối tiếp của bạn cổng chứ không phải là nguồn cung bạn đang cố gắng đo.


1
Cảm ơn, có ý nghĩa với tôi. Đây có phải là lý do tương tự đèn LED trở nên mờ hơn khi tôi làm cho điện áp của pin đầu vào cao? Tôi chỉ cần sử dụng một điện trở loạt để hạ thấp điện áp đầu vào để khắc phục điều này?
tgun926

1
Điều đó không thể được trả lời mà không xem sơ đồ và mã chương trình. Âm thanh như câu hỏi của riêng mình.
Chris Stratton

1
Câu trả lời tốt. Tôi cũng đã làm điều này với bộ xử lý Microchip. Bugger của thời gian tìm ra nó lần đầu tiên.
Adam Head

8

Bảng dữ liệu cho thiết bị của bạn có bảng này:

nhập mô tả hình ảnh ở đây

Trong bảng này, VCC có nghĩa là điện áp đặt vào chân VCC, không phải là mạng trong mạch của bạn mà bạn đã gắn nhãn VCC.

Vì bạn chưa áp dụng bất kỳ điện áp nào cho chân VCC, bạn không được đặt quá 0,5V cho bất kỳ chân nào khác. Kết nối PB4 của bạn đang vi phạm quy tắc này.


4

Dòng chảy qua điốt kẹp nội bộ.

Mạch bên trong (đơn giản hóa) trông như thế này:

nhập mô tả hình ảnh ở đây

Trong tài liệu Atmel này (ghi chú ứng dụng ngẫu nhiên có chứa thông tin về điốt kẹp) bạn có thể đọc:

Để bảo vệ thiết bị khỏi các điện áp trên VCC và dưới GND, AVR có các điốt kẹp bên trong trên các chân I / O (xem Hình 1). Các điốt được kết nối từ các chân đến VCC và GND và giữ tất cả các tín hiệu đầu vào trong điện áp hoạt động của AVR (xem Hình 2). Bất kỳ điện áp nào cao hơn VCC + 0,5V sẽ bị ép xuống VCC + 0,5V (0,5V là điện áp rơi trên diode) và bất kỳ điện áp nào dưới GND - 0,5V sẽ được buộc lên tới GND - 0,5V.


1

Chỉ cần một phụ lục cho câu trả lời đúng của Chris Strattons.

Bạn thực sự cung cấp năng lượng cho thiết bị thông qua các điốt bảo vệ. Có một số cách cung cấp bảo vệ ESD và tất cả chúng đều liên quan đến việc sử dụng điốt trên các chân để kết nối với đường ray bên trong. Vì vậy, đường dẫn và công suất bên trong của chip của bạn sẽ giảm ít nhất 1 diode xuống dưới "nguồn" được cung cấp trên pin.

Bạn có thể kiểm tra điều này bằng cách đo chân Vcc, nó sẽ thấp hơn khoảng 0,7V so với Vcc.

Khi bạn ngắt kết nối mặt đất, bạn sẽ kéo ít dòng điện hơn thông qua các điốt bảo vệ và dịch chuyển điểm hoạt động của điện áp được cung cấp cho đèn LED. Nhưng một chút, vì vậy điều này có thể không tính đến sự khác biệt.

Các điốt bảo vệ được thiết kế để xử lý Ampe dòng điện trong một cuộc tấn công vào ESD để chúng ổn với trò nhỏ giọt này.

Nguy hiểm của bạn khi vận hành chip theo cách này là bạn có thể tạo ra chốt, nhưng hầu hết các chip được thiết kế để KHÔNG thể bám vào trong những điều kiện này vì vậy đó không phải là vấn đề quá nhiều. Nhưng một khả năng.

Một mối nguy hiểm khác sẽ phụ thuộc vào bản chất chính xác của bảo vệ ESD trên chip. Nếu đó là kiểu kẹp và bạn có sự kiện dV / dT cao thì kẹp có thể kích hoạt và rút ngắn nguồn cung. Nhưng điều này cũng khó xảy ra.


4
"Các điốt bảo vệ được thiết kế để xử lý Ampe dòng điện trong một cuộc tấn công của ESD để chúng ổn với trò nhỏ giọt này." Đây là một quan điểm sai lầm. Một cuộc đình công ESD là tạm thời, bao gồm một điện tích khá nhỏ, do đó tiêu tán năng lượng thấp, ngay cả khi điện áp và dòng điện tức thời là lớn. Chạy dòng điện liên tục qua các điốt này sẽ gây ra các vấn đề về nhiệt không xảy ra trong quá trình thoáng qua.
Ben Voigt

3
"Các điốt bảo vệ được thiết kế để xử lý Ampe dòng điện trong một cuộc tấn công của ESD để chúng ổn với trò nhỏ giọt này." không chắc tôi đồng ý. Tôi đã nhìn thấy các bảng dữ liệu (ví dụ: Xilinx spartan FPGA) cho phép bạn sử dụng các điốt bảo vệ với một điện trở loạt để thay đổi mức, nhưng chỉ định một dòng điện tối đa khá thấp, mà bạn phải sử dụng để định cỡ điện trở. IIRC giới hạn sẽ chỉ xoay quanh việc chiếu một đèn LED duy nhất, mặc dù đó là công nghệ tốt hơn, vì vậy nó có thể cao hơn cho phần này, nếu Atmel chọn mô tả nó.
Chris Stratton

2
Kết luận rõ ràng rằng điều này ngụ ý rằng bạn có thể cấp nguồn an toàn cho chip không tuân theo. Ví dụ, tại sao Xilinx cho bạn biết giới hạn cho dòng điện thông qua điốt bảo vệ Spartan 3 mà chúng cho phép bạn chuyển tiếp độ lệch chỉ là 10 mA? xilinx.com/support/answers/19146.htm
Chris Stratton

2
@placeholder: Ai nói rằng "dòng điện trong một sự kiện là thấp"? Điện trở thấp trong kịch bản này thực sự làm cho việc đốt nóng trong dòng chảy liên tục trở nên tồi tệ hơn , vì mức tiêu thụ năng lượng là $ V ^ 2 / R $. Điều này trái ngược với một sự kiện ESD trong đó điện tích truyền được cố định khá nhiều và điện trở không ảnh hưởng đến tổng năng lượng tiêu tán. Điều mà điện trở thấp cung cấp là rất ít điện tích sẽ chọn bất kỳ con đường nào khác. Nhưng sức cản thấp trong đường dẫn không có nghĩa là có khả năng tản nhiệt tốt ...
Ben Voigt

2
@placeholder: Tất cả các phân tích HBM của bạn đưa ra các giả định không thể áp dụng được cho các dòng liên tục. Đối với ESD, năng lượng là
qΔV
. Đối với câu hỏi này, nó là
V2Rdt
Ben Voigt

0

Bạn có thể cung cấp năng lượng cho thiết bị thông qua các điốt bảo vệ của nó NHƯNG điều quan trọng là bạn đang làm điều gì đó "bất hợp pháp" và hoàn toàn bên ngoài đặc điểm kỹ thuật và bất cứ điều gì có thể xảy ra và bạn không nên ngạc nhiên nếu điều đó xảy ra.

Sơ đồ mạch của bạn là SAI.
Đây là sơ đồ mạch THỰC mà bạn đang sử dụng:

nhập mô tả hình ảnh ở đây

Đây là phiên bản phần cứng của "rác vào, rác ra".

Nếu bạn làm điều gì đó ngẫu nhiên và nhận được kết quả ngẫu nhiên, bạn sẽ thấy hạnh phúc - vũ trụ đang hoạt động như bạn mong đợi.

Càng về sau có lẽ ...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.