Mỗi chân IO phải có điện trở kéo lên / xuống riêng?


13

Một câu hỏi rất cơ bản:

Mỗi chân IO của một vi điều khiển đang phục vụ như một đầu vào từ một công tắc hoặc jumper có điện trở kéo lên / xuống riêng không?

Sơ đồ IO 3 chân đơn giản

Trong ví dụ này, mỗi chân được kéo xuống bởi một điện trở, sau đó được kéo lên bằng công tắc 1P3T sang VCC.

Điều này có vẻ đơn giản, nhưng khi càng sử dụng nhiều chân IO, thì càng cần nhiều điện trở hơn? Có một số cách thông minh để giữ điện trở đếm ngược?

Câu hỏi liên quan: Chia sẻ điện trở kéo lên

Câu trả lời:


16

Theo sơ đồ được cung cấp, nếu cả 3 đầu vào đều dùng chung một điện trở, thì bất kỳ dòng nào được kéo lên cao thông qua công tắc sẽ nâng cả 3 dòng lên cao, chống lại mục đích của thiết kế - MCU sẽ không biết vị trí của công tắc là gì đã chọn.

Một cách phổ biến để giảm số lượng bộ phận , không phải số lượng điện trở, cho các thiết kế như vậy là sử dụng mạng hoặc mảng điện trở bus chung:
Mảng điện trở xe buýt chung (từ đây )


Chúng có sẵn như SIP / DIP qua lỗ cũng như SMD, với nhiều loại điện trở khác nhau, tùy thuộc vào nhu cầu của bạn. Chân bus được kết nối với mặt đất và các chân khác được kết nối với các đầu vào MCU tương ứng như trong sơ đồ của bạn. Mảng điện trở SIP (từ đây )

Mảng điện trở SMD (từ đây )


8

Hầu hết các MCU đều có các điện trở kéo lên (không xuống) tùy chọn được tích hợp cho mỗi pin, do đó, việc kéo các chân XUỐNG bằng công tắc (và đối phó với đảo cực trong phần mềm) là điều bình thường.

Vì vậy - không có điện trở cần thiết.

Về lý do tại sao pullup, không xuống, đó là một thói quen còn sót lại từ mạch logic TTL của năm 1970, trong đó việc mất một dòng điện ít hơn nhiều so với xuống - một điện trở kéo xuống sẽ lãng phí nhiều năng lượng hơn. Điều này không còn áp dụng với logic CMOS ngày nay, nhưng truyền thống về pull-up vẫn tồn tại, do đó, các chip 5V 5V sớm tương thích với logic TTL cũ hơn.


Tôi nghĩ lý do kéo lên là vì sử dụng chung của chúng là với các đầu ra của bộ sưu tập mở và một khi bạn có thói quen đi một chiều, bạn sẽ tiếp tục theo cách đó mà không có lý do chính đáng.
dunkers

Hơn nữa, đầu ra TTL có thể chìm 16mA nhưng chỉ có nguồn 800uA, do đó, có thể sử dụng kéo lên để thêm cơ vào đầu ra. Một đầu vào TTL sẽ tự kéo lên nếu bạn không kết nối nó, vì vậy việc kéo lên vì lý do đầu vào có vẻ hơi lạ đối với tôi. (Xin lỗi, đã chờ quá lâu để chỉnh sửa nhận xét trước đó ...)
dunkers

"một đầu vào TTL sẽ tự kéo lên" ... ở một mức độ nào đó có, nhưng không đáng tin cậy - cuốn sách màu cam lớn chỉ định 40 microamp Ih để đảm bảo Vin> 2.4V (cho 7400; 20ua cho 74LS) Để mở đầu vào TTL không được đề xuất ở bất cứ nơi nào tôi làm việc ...
Brian Drumond

1
Pulldowns so với pullups không chỉ đơn thuần là lịch sử. Với một điện trở pullup, phía bên kia của công tắc có thể được nối đất, thường thuận tiện.
Olin Lathrop

1
Họ vi điều khiển TI MSP430 có cả kéo và kéo xuống bên trong.
Người qua đường

0

Bạn không bao giờ muốn để một đầu vào logic mở với giả định rằng nó sẽ tự kéo lên hoặc xuống. nếu một đầu vào bị bỏ ngỏ, nó là một ăng ten nhỏ và cũng chịu các dòng điện trong thiết bị logic. Vì vậy, bạn kéo lên hoặc xuống để đảm bảo bạn có một đầu vào sạch sẽ và có thể dự đoán được. Tôi đã học được quy tắc này khi tôi làm việc tại Fairchild S Bán dẫn vào những năm 1980.


1
Điều này không trả lời câu hỏi đã được hỏi.
Photon

Tôi nghĩ, bối cảnh của câu hỏi ban đầu là có các nút và công tắc là đầu vào cho MCU. Nếu một chân I / O không được sử dụng, nó có thể được tạo ra một đầu ra sau đó được điều khiển thấp (hoặc cao) từ phần sụn. Điều đó sẽ giải quyết các vấn đề EMI ẩn giấu và nó không yêu cầu điện trở bên ngoài.
Nick Alexeev
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.