Giao diện ngoại vi có thể lập trình Intel 8255 (PPI) là một thành phần quan trọng trong việc kết nối bộ vi xử lý với các thiết bị bên ngoài trong những ngày đầu của hệ thống kỹ thuật số. Với các cổng I/O linh hoạt, nhiều chế độ hoạt động và dễ lập trình, 8255 cho phép giao tiếp đáng tin cậy với màn hình, cảm biến và bộ điều khiển, làm cho nó trở nên hữu ích trong cả giáo dục và công nghiệp.

Tổng quan về giao diện ngoại vi có thể lập trình (PPI) 8255
Chip Intel 8255 PPI là chip I / O được sử dụng rộng rãi được thiết kế để kết nối bộ vi xử lý với các thiết bị bên ngoài. Nó hoạt động như một cầu nối giao tiếp cho các thiết bị ngoại vi như ADC, DAC, bàn phím và màn hình. Hỗ trợ cả I/O trực tiếp và gián đoạn, nó mang lại sự linh hoạt trong thiết kế hệ thống. Với ba cổng hai chiều 8 bit (A, B, C), nó cung cấp 24 đường I / O có thể định cấu hình. Hiệu quả chi phí và khả năng tương thích với các bộ vi xử lý như Intel 8085/8086 khiến nó trở thành một yếu tố chính trong các hệ thống máy tính, bộ dụng cụ đào tạo và bộ điều khiển công nghiệp ban đầu.
Đặc điểm của chip 8255 PPI
• Giao diện có thể lập trình - Có thể định cấu hình thông qua hướng dẫn phần mềm để thích ứng với các thiết bị như màn hình, cảm biến và mô-đun đầu vào.
• Ba cổng 8-bit - Cổng A, B và C cung cấp 24 dòng có thể hoạt động như đầu vào hoặc đầu ra.
• Nhiều chế độ hoạt động -
Chế độ 0: Đầu vào / đầu ra đơn giản mà không cần bắt tay.
Chế độ 1: Nhấp nháy I / O với tín hiệu bắt tay để giao tiếp đồng bộ.
Chế độ 2: Truyền dữ liệu hai chiều bằng bắt tay (chỉ trên Cổng A).
• Đặt / Đặt lại bit (BSR) - Các bit cổng C có thể được đặt hoặc xóa riêng cho các ứng dụng điều khiển / trạng thái.
• Nhóm linh hoạt - Các cổng có thể được chia thành các nhóm 8 bit hoặc 4 bit.
• Khả năng tương thích TTL – Tích hợp dễ dàng với IC kỹ thuật số tiêu chuẩn.
• Thanh ghi điều khiển độc lập - Mỗi cổng có thể hoạt động riêng biệt, ở các chế độ hoặc hướng khác nhau.
Sơ đồ chân của chip 8255 PPI

| Số pin | Nhóm | Tín hiệu | Mô tả |
|---|---|---|---|
| 1–8 | Cổng A | PA0–PA7 | Cổng I/O đa năng 8 bit |
| 9–16 | Cổng C | PC0–PC7 | Chia thành PC0–PC3 (dưới) và PC4–PC7 (trên); được sử dụng làm đường I / O hoặc bắt tay |
| 17–24 | Cổng B | PB0–PB7 | Cổng I/O đa năng 8 bit |
| 25 | Điều khiển | CS' | Chọn chip (hoạt động thấp) |
| 26 | Quyền lực | VCC | Nguồn +5 V |
| 27 | Điều khiển | RD' | Đọc cho phép |
| 28 | Điều khiển | WR' | Bật viết |
| 29 | Điều khiển | Đặt lại | Đặt lại tất cả các cổng về trạng thái đầu vào |
| 30–37 | Xe buýt dữ liệu | D0–D7 | Truyền dữ liệu/lệnh giữa CPU và 8255 |
| 38–39 | Ghim địa chỉ | A0, A1 | Chọn thanh ghi / cổng nội bộ: 00 = Cổng A, 01 = Cổng B, 10 = Cổng C, 11 = Điều khiển |
| 40 | Mặt đất | GND | Tham chiếu mặt đất |
Kiến trúc của chip 8255 PPI

| Khối chức năng | Mô tả |
|---|---|
| Bộ đệm bus dữ liệu | Hoạt động như một giao diện giữa bus dữ liệu hai chiều của CPU (D7–D0) và bus dữ liệu 8 bit bên trong của 8255. Nó tạm thời lưu trữ và truyền dữ liệu giữa CPU và các thanh ghi hoặc cổng bên trong. |
| Logic điều khiển đọc/ghi | Quản lý tất cả giao tiếp giữa CPU và 8255. Nó diễn giải các tín hiệu điều khiển như RD, WR, A0, A1, CS và RESET để xác định loại hoạt động (đọc, ghi hoặc điều khiển) và chọn đúng cổng hoặc thanh ghi điều khiển. |
| Logic điều khiển (Bộ giải mã) | Giải mã từ điều khiển do CPU gửi để định cấu hình các cổng ở các chế độ khác nhau (Chế độ 0, 1 hoặc 2) hoặc ở chế độ Đặt lại / Đặt lại bit (BSR). Nó xác định cách mỗi cổng sẽ hoạt động - dưới dạng đầu vào, đầu ra hoặc bắt tay. |
| Kiểm soát nhóm A | Điều khiển Cổng A (8 bit: PA7–PA0) và Cổng trên C (4 bit: PC7–PC4). Nó hỗ trợ Chế độ 0, 1 và 2, cho phép I / O đơn giản, I / O bắt tay và truyền dữ liệu hai chiều |
| Kiểm soát nhóm B | Điều khiển Cổng B (8 bit: PB7–PB0) và Cổng C dưới (4 bit: PC3–PC0). Nó hỗ trợ Chế độ 0 và 1, cho phép đầu vào / đầu ra cơ bản hoặc các hoạt động điều khiển bằng bắt tay. |
| Cổng A | Cổng I / O 8 bit có thể hoạt động như đầu vào hoặc đầu ra tùy thuộc vào cấu hình chế độ. Hỗ trợ Chế độ 0–2 dưới sự kiểm soát của Nhóm A. |
| Cổng B | Một cổng I/O 8 bit khác** để truyền dữ liệu. Hoạt động dưới sự kiểm soát của Nhóm B và hỗ trợ Chế độ 0 và 1. |
| Cổng C | Một cổng 8 bit được chia thành hai nhóm 4 bit: Upper (PC7–PC4) và Lower (PC3–PC0). Chúng có thể hoạt động như các cổng I / O độc lập, đường điều khiển hoặc tín hiệu bắt tay. Các bit riêng lẻ cũng có thể được điều khiển bằng chế độ Đặt / Đặt lại bit (BSR). |
| Bus dữ liệu nội bộ (8-bit) | Kết nối tất cả các khối bên trong của 8255, truyền dữ liệu và thông tin điều khiển giữa CPU, logic điều khiển và cổng. |
| Nguồn điện | Chip hoạt động với nguồn DC + 5V và kết nối GND để cấp nguồn cho toàn bộ mạch. |
Chế độ hoạt động và nguyên lý làm việc của chip 8255 PPI
Intel 8255 đóng vai trò như một giao diện có thể lập trình giữa CPU và các thiết bị ngoại vi, chuyển các hoạt động bus thành truyền dữ liệu song song. Hoạt động của nó được quy định bởi các bước khởi tạo và các chế độ có thể lựa chọn:
Đặt lại trạng thái
Khi bật nguồn hoặc đặt lại, tất cả các cổng (A, B và C) mặc định ở chế độ đầu vào để tránh làm hỏng thiết bị ngoại vi với đầu ra ngoài ý muốn.
Khởi tạo
CPU phải gửi một từ điều khiển định cấu hình từng cổng làm đầu vào / đầu ra và chọn một trong bốn chế độ hoạt động. Cho đến khi điều này được thực hiện, các cổng vẫn không hoạt động.
Chế độ hoạt động
Chế độ Đặt / Đặt lại Bit (BSR)
• Chỉ áp dụng cho Cổng C.
• Cho phép đặt hoặc xóa các bit riêng lẻ cho các tác vụ điều khiển / trạng thái.
Chế độ 0 - I / O đơn giản
• Đầu vào / đầu ra cơ bản mà không cần bắt tay.
• Được sử dụng để chuyển đơn giản như đèn LED, công tắc và màn hình.
Chế độ 1 - I / O nhấp nháy
• Thêm tín hiệu bắt tay (STB, ACK, IBF, OBF) qua Cổng C.
• Đảm bảo truyền dữ liệu ngoại vi CPU ↔ được đồng bộ hóa.
Chế độ 2 - I / O hai chiều
• Chỉ có sẵn trên Cổng A.
• Hỗ trợ truyền hai chiều với điều khiển bắt tay, hữu ích cho các thiết bị tốc độ cao hoặc không đồng bộ.
Hoạt động đọc / ghi
• Ghi: CPU đặt dữ liệu trên bus hệ thống và 8255 giải mã các dòng địa chỉ (A0, A1) để hướng nó đến chốt đầu ra của cổng chính xác.
• Đọc: Các thiết bị bên ngoài đặt dữ liệu trên các đường cổng, mà 8255 chốt và cung cấp cho CPU trong lệnh đọc.
Đồng bộ hóa
• Ở Chế độ 0, quá trình truyền dữ liệu diễn ra trực tiếp mà không cần bắt tay.
• Ở Chế độ 1 và 2, tín hiệu bắt tay từ Cổng C phối hợp sẵn sàng và chấp nhận, ngăn mất dữ liệu trong quá trình truyền tốc độ cao hoặc không đồng bộ.
Cân nhắc giao diện của chip 8255 PPI
Khi thiết kế hệ thống với 8255, giao diện cẩn thận đảm bảo độ tin cậy và ngăn ngừa hư hỏng cho cả chip và các thiết bị bên ngoài:
• Trạng thái đầu vào mặc định - Khi đặt lại, tất cả các cổng mặc định là đầu vào. Điều này tránh xung đột nhưng cũng có nghĩa là đầu ra không hoạt động cho đến khi được định cấu hình. CPU phải luôn gửi từ điều khiển để xác định đúng hướng và chế độ trước khi cố gắng giao tiếp.
• Giới hạn ổ đĩa đầu ra - Các cổng của 8255 chỉ có thể cung cấp hoặc chìm dòng điện hạn chế (vài miliamps). Lái trực tiếp các vật nặng như đèn, điện từ hoặc rơ le là không an toàn. Thay vào đó, các IC đệm hoặc trình điều khiển như ULN2803 (mảng Darlington) hoặc cổng thu mở như 7406 thường được sử dụng. Chúng cung cấp khả năng dòng điện cao hơn và bảo vệ PPI.
• Điều khiển động cơ - Đối với động cơ DC hoặc động cơ bước, các cổng 8255 không được kết nối trực tiếp. Thay vào đó, đầu ra phải được định tuyến qua bóng bán dẫn stages hoặc mạch trình điều khiển cầu H. Sự sắp xếp này cho phép dòng điện chạy hai chiều trong khi cách ly PPI khỏi điện áp cảm ứngtage tăng đột biến.
• Chuyển đổi tải AC - Giao tiếp với các thiết bị AC yêu cầu cách ly để đảm bảo an toàn. Rơle cơ học hoặc rơle trạng thái rắn (SSR) được điều khiển qua các giai đoạn đệm đảm bảo rằng 8255 chỉ xử lý tín hiệu điều khiển, trong khi tải điện áp cao thực tế được chuyển đổi ra bên ngoài một cách an toàn.
• Hạn chế của cổng C - Các bit của cổng C không phải lúc nào cũng có thể sử dụng tự do như I / O chung. Ở Chế độ 1 và 2, một số chân (ví dụ: STB, ACK, IBF, OBF) được tự động dành riêng để điều khiển bắt tay. Bạn phải tính đến các dòng dành riêng này để tránh xung đột khi trộn lẫn I/O chung với bắt tay.
Ưu điểm của chip 8255 PPI
• Khả năng tương thích CPU - 8255 hoạt động liền mạch với các bộ xử lý như Intel 8085, 8086 và các bộ xử lý tương thích của chúng. Thiết kế của nó phù hợp với các giao thức bus tiêu chuẩn, giúp việc tích hợp trở nên đơn giản mà không cần thêm logic keo.
• Cấu hình cổng linh hoạt - Với ba cổng 8 bit (A, B, C), người dùng có thể định cấu hình chúng dưới dạng đầu vào, đầu ra hoặc kết hợp tùy thuộc vào ứng dụng. Khả năng chuyển đổi giữa I/O đơn giản (Chế độ 0) và giao tiếp điều khiển bằng bắt tay (Chế độ 1 và 2) cho phép cùng một con chip xử lý nhiều tác vụ khác nhau.
• Hoạt động cung cấp một lần - Hoạt động từ nguồn điện +5 V tiêu chuẩn, 8255 dễ dàng cấp nguồn trong các hệ thống dựa trên TTL. Không cần bộ điều chỉnh đặc biệt hoặc nhiều mức điện áp, đơn giản hóa thiết kế bo mạch.
• Truyền dữ liệu song song đáng tin cậy - Con chip cung cấp giao tiếp song song 8 bit ổn định và có thể dự đoán được, giảm sự không chắc chắn về thời gian. Độ tin cậy này làm cho nó phù hợp để điều khiển màn hình, đọc cảm biến và quản lý tín hiệu điều khiển trong các hệ thống thực tế.
• Giá trị giáo dục – Bởi vì nó được ghi chép đầy đủ và phổ biến rộng rãi, 8255 đã là một công cụ giảng dạy quan trọng trong các phòng thí nghiệm vi xử lý và bộ dụng cụ đào tạo. Bạn có thể nhanh chóng hiểu các khái niệm giao diện I/O thông qua các thí nghiệm thực tế với thiết bị này.
Ứng dụng của chip 8255 PPI
• Hệ thống giáo dục - Bộ dụng cụ đào tạo và bảng phòng thí nghiệm thường bao gồm 8255 để chứng minh các khái niệm giao tiếp ngoại vi. Bạn có thể thực hành lập trình các chế độ khác nhau và quan sát sự tương tác thực tế với các thiết bị bên ngoài.
• Điều khiển hiển thị - Con chip điều khiển các thiết bị đầu ra trực quan như đèn LED bảy đoạn, mô-đun LCD và bảng chữ và số. Với nhiều dòng I/O, nó có thể làm mới màn hình hoặc gửi lệnh điều khiển đến IC trình điều khiển.
• Giao diện bàn phím – Bàn phím ma trận trong các thiết bị đầu cuối và máy tính cá nhân đầu tiên thường được quét bằng 8255. Bằng cách định cấu hình một số dòng làm trình điều khiển hàng và những dòng khác làm cảm biến cột, nó phát hiện các lần nhấn phím một cách hiệu quả.
• Điều khiển động cơ - Động cơ bước và động cơ DC có thể được điều khiển khi 8255 được ghép nối với bóng bán dẫn stages, mảng Darlington hoặc cầu H. Điều này làm cho nó hữu ích trong robot, hệ thống định vị và các dự án tự động hóa.
• Thu thập dữ liệu – Khi được kết nối với ADC (Bộ chuyển đổi tương tự sang kỹ thuật số) và DAC (Bộ chuyển đổi kỹ thuật số sang tương tự), 8255 cung cấp một giao diện hoàn chỉnh cho các tác vụ đo lường và điều khiển. Điều này cho phép bộ vi xử lý xử lý tín hiệu trong thiết bị khoa học và công nghiệp.
• Tự động hóa công nghiệp - 8255 được sử dụng trong việc điều khiển tín hiệu giao thông, logic thang máy và bảng giám sát quy trình. Khả năng quản lý đáng tin cậy nhiều đầu vào và đầu ra khiến nó trở thành một giải pháp chi phí thấp cho các hệ thống điều khiển nhúng.
• Retro-Computing – Các máy cổ điển như máy tính IBM PC / XT và MSX sử dụng 8255 để giao diện ngoại vi. Nó cũng được sử dụng trong máy in và thẻ mở rộng, củng cố vị trí của nó trong lịch sử máy tính cá nhân ban đầu.
So sánh chip 8255 PPI với các PPI khác
8255 so với 8155

Intel 8155 kết hợp nhiều chức năng trong một gói: nó cung cấp một khối RAM tĩnh nhỏ, bộ hẹn giờ có thể lập trình và các cổng I/O đa năng. Điều này làm cho nó phù hợp với các hệ thống nhỏ gọn cần kiểm soát bộ nhớ và thời gian. Ngược lại, 8255 tập trung hoàn toàn vào I / O có thể lập trình, không có bộ nhớ hoặc thời gian tích hợp. Thiết kế đơn giản hơn của nó giúp lập trình rẻ hơn và dễ dàng hơn khi ứng dụng không yêu cầu RAM hoặc bộ hẹn giờ tích hợp.
8255 so với 8259

Bộ điều khiển ngắt có thể lập trình 8259 phục vụ một mục đích rất khác: quản lý ngắt phần cứng để giúp CPU phản ứng nhanh với các sự kiện bên ngoài. Trong khi 8255 xử lý truyền dữ liệu I/O song song, tọa độ 8259 ngắt tín hiệu. Trong nhiều hệ thống dựa trên bộ vi xử lý, hai chip được sử dụng cùng nhau, 8255 để giao tiếp với các thiết bị như bàn phím và màn hình, và 8259 để quản lý các yêu cầu ngắt do các thiết bị đó tạo ra.
8255 so với Bộ mở rộng GPIO hiện đại

Các hệ thống ngày nay thường sử dụng bộ mở rộng GPIO dựa trên I²C hoặc SPI (chẳng hạn như MCP23017 hoặc PCF8574). Các thiết bị này cung cấp thêm chân I/O với ít kết nối hơn, tiết kiệm không gian bo mạch và giảm số lượng chân trên CPU. Tuy nhiên, chúng hoạt động nối tiếp, có thể chậm hơn so với truy cập song song trực tiếp của 8255. Mặc dù 8255 yêu cầu nhiều tuyến xe buýt hơn, nhưng cấu trúc song song của nó cho phép chuyển nhanh hơn và làm cho nó có giá trị cao trong môi trường giáo dục, nơi kiểm soát trực tiếp các chân riêng lẻ và hiểu thời gian xe buýt là rất quan trọng đối với việc học.
Khắc phục sự cố và các vấn đề thường gặp
Làm việc với 8255 đôi khi có thể dẫn đến lỗi hệ thống nếu các quy tắc thiết kế không được tuân thủ cẩn thận. Các vấn đề phổ biến và biện pháp khắc phục bao gồm:
• Cổng chưa khởi tạo - Sau khi đặt lại, tất cả các cổng mặc định ở chế độ đầu vào. Nếu CPU không gửi từ điều khiển thích hợp, đầu ra vẫn không hoạt động hoặc hoạt động không thể đoán trước. Luôn lập trình thanh ghi điều khiển trước khi cố gắng đọc hoặc ghi dữ liệu.
• Từ điều khiển không chính xác - Các từ điều khiển được định cấu hình sai có thể gán sai hướng hoặc chế độ cho các cổng, khóa các tín hiệu dự kiến. Kiểm tra chéo các giá trị từ điều khiển so với bảng biểu dữ liệu để đảm bảo cài đặt bit thích hợp.
• Lỗi bắt tay - Ở Chế độ 1 và 2, Cổng C cung cấp các tín hiệu bắt tay cần thiết (STB, ACK, IBF, OBF). Các kết nối bị thiếu, nối dây sai hoặc hiểu sai dẫn đến việc chuyển bị đình trệ hoặc bị mất. Xác minh cẩn thận cả hệ thống dây điện và kỳ vọng mức logic của các thiết bị được kết nối.
• Đầu ra quá tải - Mỗi chân cổng chỉ có thể xử lý dòng điện nhỏ. Có thể điều khiển đèn LED trực tiếp bằng điện trở, nhưng động cơ, rơ le và đèn yêu cầu các giai đoạn đệm bên ngoài như mảng bóng bán dẫn hoặc IC trình điều khiển. Bỏ qua giới hạn này có nguy cơ làm hỏng chip vĩnh viễn.
• Xung đột xe buýt - Nếu nhiều thiết bị cố gắng điều khiển bus hệ thống cùng một lúc, có thể xảy ra hỏng dữ liệu hoặc hư hỏng phần cứng. Trọng tài xe buýt thích hợp và sử dụng tín hiệu kích hoạt (RD ', WR ', CS ') ngăn chặn vấn đề này.
• Công cụ gỡ lỗi - Khi sự cố vẫn tiếp diễn, thiết bị kiểm tra giúp cô lập lỗi. Máy phân tích logic có thể xác nhận tín hiệu thời gian và điều khiển, trong khi máy hiện sóng có thể kiểm tra xem vấn đề có phát sinh do hệ thống dây điện phần cứng nhiễu hoặc khởi tạo phần mềm không chính xác hay không.
Kết luận
Intel 8255 PPI vẫn là nền tảng của giao diện vi xử lý. Mặc dù phần lớn được thay thế bằng bộ mở rộng GPIO hiện đại và I/O vi điều khiển tích hợp, nó vẫn tiếp tục đóng vai trò như một công cụ giảng dạy tích cực. Sự rõ ràng của nó trong việc thể hiện truyền dữ liệu song song, cấu hình cổng và bắt tay khiến nó trở nên vô giá đối với bất kỳ ai.
Câu hỏi thường gặp [FAQ]
Từ điều khiển trong 8255 là gì và tại sao nó lại quan trọng?
Từ điều khiển là một lệnh 8 bit do CPU gửi để định cấu hình các cổng và chế độ của 8255. Nếu không có nó, tất cả các cổng vẫn ở trạng thái đầu vào mặc định của chúng. Nó xác định xem mỗi cổng hoạt động như đầu vào hay đầu ra và chọn giữa Chế độ 0, 1, 2 hoặc Đặt / Đặt lại Bit.
8255 có thể điều khiển trực tiếp động cơ hoặc rơ le không?
Không. Đầu ra 8255 chỉ có thể lấy nguồn hoặc chìm một vài miliampe, không đủ cho động cơ hoặc rơ le. Các mạch trình điều khiển bên ngoài, chẳng hạn như mảng bóng bán dẫn hoặc cầu H, phải được sử dụng để xử lý dòng điện cao hơn một cách an toàn.
Tại sao 8255 vẫn được sử dụng trong giáo dục ngày nay?
8255 cung cấp một cách rõ ràng, thực hành để tìm hiểu về I / O của bộ vi xử lý, từ điều khiển và truyền dữ liệu song song. Kiến trúc đơn giản của nó giúp sinh viên hiểu các khái niệm cốt lõi trước khi chuyển sang các bộ vi điều khiển hiện đại.
Điều gì xảy ra nếu bạn sử dụng Cổng C ở chế độ bắt tay?
Ở Chế độ 1 và 2, một số đường Cổng C được dành riêng cho tín hiệu bắt tay (như STB, ACK, IBF, OBF). Các chân này không thể được sử dụng làm I/O mục đích chung trong các chế độ đó, bạn phải tính đến để tránh xung đột.
8255 khác với bộ mở rộng GPIO hiện đại như thế nào?
Không giống như bộ mở rộng I²C/SPI sử dụng giao tiếp nối tiếp, 8255 hoạt động với bus song song, cho phép truyền nhanh hơn nhưng yêu cầu nhiều chân hơn. Điều này làm cho 8255 kém tiết kiệm không gian hơn nhưng có giá trị cho việc điều khiển thực tế và học thời gian xe buýt.