Cổng vi điều khiển mở cống


9

Tôi muốn hiểu khái niệm về các cổng thoát mở như cổng P0 của vi điều khiển 8051. Tại sao chúng ta cần kết nối điện trở kéo lên cổng P0?

Tôi có kiến ​​thức cơ bản về MOSFET và các thiết bị điện tử khác.


Không sao, điều tôi hiểu là về cơ bản nó hoạt động như mọi cổng khác nhưng chúng tôi phải cung cấp nguồn điện thông qua một số nguồn bên ngoài. Tôi có đúng không
abkds

Câu trả lời:


13

Bỏ qua những thứ bên trong và cách thức hoạt động của mosfet. Đầu ra hoạt động như một công tắc để tiếp đất. Nó không thể tự tạo tín hiệu cao (+ 5V). Điện trở kéo lên được sử dụng để khi mở công tắc, đầu ra sẽ cao. Khi đóng công tắc, đầu ra sẽ ở mức thấp (0V)

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


9

Có hai ứng dụng phổ biến của open-Drain (hoặc open-collector, trong trường hợp của BJT):

1) Kết nối nhiều đầu ra với cùng một dòng. Điều này được gọi là có dây-HOẶC. Ví dụ: bạn có thể có pin đặt lại cao thông thường trên thiết bị, được đặt lại từ cả pin vi điều khiển và nguồn khác, giả sử là một nút nhấn. Pin reset được buộc cao với một điện trở kéo lên. Bộ vi điều khiển được cấu hình như một đầu ra cống mở. Nút nhấn được buộc với mặt đất khi đẩy. Nếu vi điều khiển kéo đầu ra của nó về 0 hoặc nhấn nút nhấn, thiết bị sẽ được đặt lại.

Lưu ý rằng khi vi điều khiển đặt chân đầu ra của nó thành 1, thì chân đó có hiệu lực bị ngắt khỏi đường dây. Nó không điều khiển đường dây ("tìm nguồn cung ứng") với bất kỳ điện áp nào, vì vậy khi nút nhấn kéo đường dây xuống đất, không có ngắn.

Do cấu hình có dây OR rất hữu ích, đây là lý do tại sao các chân như đặt lại trên vi điều khiển, các dòng ngắt, xóa và bật các dòng trên các thiết bị như flip-flop, tất cả đều "hoạt động thấp" - có nghĩa là chúng thường được buộc cao (một lần nữa , thông qua một điện trở kéo lên) và bất kỳ thiết bị nào được định cấu hình là cống mở có thể kéo chúng xuống thấp. Các đầu vào như vậy thường được chỉ định là mức hoạt động thấp với một thanh ngang trên đỉnh của tên tín hiệu hoặc hàng đầu! (! CLR) hoặc dấu # (CLR #).

2) Thiết bị điều khiển kết nối với điện áp cung cấp khác nhau. Giả sử bạn có rơle yêu cầu 20 mA, nhưng điện áp 5 volt. Nhưng đầu ra vi điều khiển của bạn chỉ có thể điều khiển các chân lên đến điện áp cung cấp điện (VCC) là 3,3v. Với đầu ra cống mở, bạn có thể kết nối một bên của rơle với 5 V và bên còn lại với chân đầu ra của vi điều khiển. Khi đầu ra của vi điều khiển trong là 1, không có gì xảy ra (một lần nữa, hoạt động như chân bị ngắt kết nối). Khi nó được đặt thành 0, căn cứ này là phía dưới của rơle hoàn thành mạch và vận hành rơle. Trong một ứng dụng như vậy, điều quan trọng là đặt một diode "bay ngược" trên cuộn dây rơle để tránh làm hỏng bộ vi điều khiển khi thiết bị bị mất điện.

Đối với các trình điều khiển đầu ra như ULN2804 (mảng bóng bán dẫn Darlington), bạn có thể lái các tải được kết nối với điện áp cao tới 50 v và điều khiển chúng bằng đầu vào tương thích logic.


a microcontroller can often sink more current (drive to ground) than it can source (drive to the VCC of the microcontroller)Điều đó không còn đúng nữa với bộ vi điều khiển CMOS hiện đại
m.Alin

1
Trường hợp sử dụng thứ hai của bạn hiếm khi áp dụng cho vi điều khiển: trong hầu hết các trường hợp, chân IO của chúng không thể chịu được điện áp ngoài khoảng thời gian sử dụng điện (mặc dù một số chip điện áp thấp hơn có thể chịu được 5V). Một ngoại lệ là (là ??) chân RA4 trên một số Microchip uc. Nhưng chip trình điều khiển kiểu 2003/2804 là một ví dụ tuyệt vời về trường hợp sử dụng thứ hai của bạn.
Wouter van Ooijen

Giữa MSP430, Atmel AVR và Pic 16/18, tôi vẫn chưa thấy một bộ vi điều khiển hiện đại không thể chìm hoặc cung cấp cùng một dòng điện.
Người qua đường

m.Alin, Wouter_van_Ooijen, Passerby - cảm ơn vì ý kiến ​​của bạn, tôi đã chỉnh sửa câu trả lời của mình.
tcrosley

2

Một đầu ra cống mở chỉ là một công tắc mở được kết nối với 0V. Để truyền dòng điện qua nó, bạn cần phải cung cấp dòng điện vào nó và điều này có thể được thực hiện với một điện trở kéo lên. Nếu bạn không truyền dòng điện vào pin, bạn sẽ không thể thấy điện áp: -

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

Dưới đây là hai thiết bị chia sẻ cùng một đầu ra cống mở - chú ý điện trở kéo lên + 5V. Trong thực tế, mạch này sử dụng "cống mở" để thực hiện logic - nếu một trong hai cổng NAND được "kích hoạt" với 1,1 thì chúng sẽ kéo xuống Bus xuống 0V. Do đó, logic được gửi tới Bus là

NGƯỜI DÙNG XE = AB + CD

MOSFE thường được sử dụng làm thiết bị thoát nước mặc dù các BJT thông thường cũng có thể thực hiện chức năng này. Đầu ra cống mở là sự đơn giản hóa của đầu ra CMOS thông thường - nhanh chóng bật xuống đất nhưng sẽ chậm hơn trên hành trình trở về + Logic vì thời gian sạc của tụ điện ký sinh qua điện trở kéo lên.

Open collector trên wiki là một bài đọc tốt - nó thực hiện tương tự như cống mở và được đề cập trong bài viết như sơ đồ nhỏ được hiển thị ở trên.


0

1) Để đơn giản hóa điểm đầu tiên trong câu trả lời của tcrosley, ưu điểm của việc không cung cấp điện trở kéo lên bên trong một đầu ra là ở khả năng chia sẻ điện trở kéo lên đó giữa nhiều đầu ra. Các đầu ra sau đó được nối song song và tất cả được kết nối với điện trở dùng chung và nối đất.

2) Điểm trực tuyến bên dưới, điện trở (trong sơ đồ) là nơi đầu ra kết hợp được thu thập bởi các phần khác của mạch. (Tất nhiên, tất cả có thể là cách khác đối với mặt đất và nguồn cung.)

3) Nếu bạn không muốn thu thập đầu ra kết hợp từ nhiều đầu ra (và mạch sử dụng cùng một nguồn cung cấp điện áp ở mọi nơi), thì bạn không muốn sử dụng các đầu ra không có bộ phận kéo lên. Mặt khác, bạn được cung cấp với các kết quả đầu ra không hoàn chỉnh (theo một cách nào đó), mà bạn có thể tùy chỉnh theo nhu cầu của mình.


Tôi phân tích bức tường văn bản của bạn thành các đoạn được đánh số. Nó làm cho nó dễ hiểu hơn khi đọc và nhận xét về một số phần hoặc tuyên bố bạn đã thực hiện. Lưu ý các đoạn bắt đầu khi thay đổi ngữ cảnh trong câu trả lời của bạn.
Sparky256
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.