Sử dụng 10 kΩ, đó là một giá trị tốt.
Để biết thêm chi tiết, chúng ta phải xem những gì một pullup làm. Giả sử bạn có một nút bấm bạn muốn đọc bằng vi điều khiển. Nút nhấn là một công tắc SPST tạm thời (Single Single Single throw). Nó có hai điểm kết nối được kết nối hoặc không. Khi nhấn nút, hai điểm được kết nối (công tắc được đóng lại). Khi được phát hành, chúng không được kết nối (công tắc đang mở). Vi điều khiển vốn không phát hiện kết nối hoặc ngắt kết nối. Những gì họ làm có ý nghĩa là một điện áp. Vì công tắc này chỉ có hai trạng thái nên sử dụng đầu vào kỹ thuật số, điều mà sau tất cả được thiết kế chỉ ở một trong hai trạng thái. Các vi có thể cảm nhận trạng thái đầu vào kỹ thuật số trực tiếp.
Một pullup giúp chuyển đổi kết nối mở / đóng của công tắc thành điện áp thấp hoặc cao mà vi điều khiển có thể cảm nhận được. Một bên của công tắc được kết nối với mặt đất và bên kia với đầu vào kỹ thuật số. Khi nhấn công tắc, đường dây bị ép thấp vì về cơ bản công tắc đã rút ngắn nó xuống đất. Tuy nhiên, khi công tắc được giải phóng, không có gì dẫn đường dây đến bất kỳ điện áp cụ thể nào. Nó chỉ có thể ở mức thấp, thu các tín hiệu khác gần đó bằng cách ghép điện dung hoặc cuối cùng nổi đến một điện áp cụ thể do dòng điện rò rỉ nhỏ thông qua đầu vào kỹ thuật số. Công việc của điện trở pullup là cung cấp mức cao được bảo đảm tích cực khi công tắc mở, nhưng vẫn cho phép công tắc rút ngắn đường dây xuống đất một cách an toàn khi đóng.
Có hai yêu cầu cạnh tranh chính về kích thước của điện trở pullup. Nó phải đủ thấp để kiên cố kéo dòng lên cao, nhưng đủ cao để không gây ra quá nhiều dòng điện khi đóng công tắc. Cả hai đều chủ quan và quan trọng tương đối của họ phụ thuộc vào tình hình. Nói chung, bạn làm cho pullup chỉ đủ thấp để đảm bảo dòng cao khi công tắc mở, với tất cả những điều có thể làm cho dòng thấp xuống nếu không.
Chúng ta hãy nhìn vào những gì nó cần để kéo lên dòng. Chỉ nhìn vào yêu cầu DC phát hiện ra dòng rò của dòng đầu vào kỹ thuật số. Đầu vào kỹ thuật số lý tưởng có trở kháng vô hạn. Tất nhiên, những người thực sự không, và mức độ họ không lý tưởng thường được biểu thị dưới dạng dòng rò tối đa có thể đi ra hoặc đi vào chốt. Giả sử micro của bạn được chỉ định cho 1 rò rỉ tối đa trên các chân đầu vào kỹ thuật số của nó. Vì pullup phải giữ cho đường cao, trường hợp xấu nhất là giả sử pin trông giống như một dòng chìm 1 1A xuống đất. Ví dụ, nếu bạn sử dụng pullup 1 MΩ, thì 1 PhaA đó sẽ gây ra 1 Volt trên điện trở 1 MΩ. Giả sử đây là hệ thống 5V, vì vậy điều đó có nghĩa là chân chỉ được đảm bảo lên đến 4V. Bây giờ bạn phải xem thông số kỹ thuật đầu vào kỹ thuật số và xem yêu cầu điện áp tối thiểu là gì đối với mức cao logic. Đó có thể là 80% Vdd cho một số micros, sẽ là 4V trong trường hợp này. Do đó, pullup 1 MΩ nằm ngay bên lề. Bạn cần ít nhất một chút ít hơn thế để có hành vi đúng được đảm bảo do những cân nhắc của DC.
Tuy nhiên, có những cân nhắc khác, và những điều này khó định lượng hơn. Mỗi nút có một số khớp nối điện dung với tất cả các nút khác, mặc dù cường độ của khớp nối giảm theo khoảng cách sao cho chỉ các nút lân cận có liên quan. Nếu các nút khác có tín hiệu trên chúng, các tín hiệu này có thể kết hợp với đầu vào kỹ thuật số của bạn. Một pullup giá trị thấp hơn làm cho trở kháng đường truyền thấp hơn, làm giảm lượng tín hiệu đi lạc mà nó sẽ nhận. Nó cũng cung cấp cho bạn mức DC được bảo đảm tối thiểu cao hơn so với dòng rò, do đó, có nhiều khoảng trống hơn giữa mức DC đó và nơi đầu vào kỹ thuật số có thể hiểu kết quả là mức logic thấp thay vì mức logic cao dự định. Vậy bao nhiêu là đủ? Rõ ràng pullup 1 MΩ trong ví dụ này là không đủ (điện trở quá cao). Gần như không thể đoán được khớp nối với các tín hiệu gần đó, nhưng tôi muốn ít nhất một thứ tự biên độ lớn so với trường hợp DC tối thiểu. Điều đó có nghĩa là tôi muốn có một pullup 100 kΩ hoặc thấp hơn ít nhất, mặc dù nếu có nhiều tiếng ồn xung quanh tôi muốn nó thấp hơn.
Có một sự xem xét khác thúc đẩy pullup thấp hơn, và đó là thời gian tăng. Đường dây sẽ có một số điện dung đi lạc xuống đất, do đó sẽ phân rã theo cấp số nhân theo giá trị cung cấp thay vì ngay lập tức đi đến đó. Giả sử tất cả các điện dung đi lạc tăng thêm tới 20 pF. Lần đó, pullup 100 kΩ là 2 trận. Phải mất 3 hằng số thời gian để có được tới 95% giá trị thanh toán, hoặc 6 mẹo trong trường hợp này. Điều đó không có kết quả trong thời gian của con người vì vậy không có vấn đề gì trong ví dụ này, nhưng nếu đây là một tuyến xe buýt kỹ thuật số bạn muốn chạy ở tốc độ dữ liệu 200 kHz thì nó sẽ không hoạt động.
Bây giờ hãy xem xét sự cân nhắc cạnh tranh khác, đó là sự lãng phí hiện tại khi nhấn công tắc. Nếu thiết bị này sắp hết nguồn hoặc xử lý công suất đáng kể, một vài mA sẽ không thành vấn đề. Ở 5V, phải mất 5 kΩ để vẽ 1 mA. Đó thực sự là "rất nhiều" hiện tại trong một số trường hợp, và nhiều hơn yêu cầu do những cân nhắc khác. Nếu đây là một thiết bị chạy bằng pin và công tắc có thể được bật trong một khoảng thời gian đáng kể, thì mỗi chiếc Patrick có thể có vấn đề và bạn phải suy nghĩ về điều này rất cẩn thận. Trong một số trường hợp, bạn có thể lấy mẫu công tắc theo định kỳ và chỉ bật pullup trong một thời gian ngắn xung quanh mẫu để giảm thiểu mức rút hiện tại.
Khác với những cân nhắc đặc biệt như hoạt động của pin, 100 kΩ là trở kháng đủ cao để khiến tôi lo lắng về việc thu tiếng ồn. 1 mA dòng điện bị lãng phí khi bật công tắc có vẻ lớn không cần thiết. Vì vậy, 500 PhaA, có nghĩa là trở kháng 10 kΩ là đúng.
Như tôi đã nói, sử dụng 10 kΩ. Đó là một giá trị tốt.