Các bước thực hiện quá trình truyền dữ liệu của máy vi tính sang máy in như sau: CPU chờ cho đến khi đường tín hiệu BUSY xuống thấp, tín hiệu này báo cho biết máy in đã sẵn sàng nhận dữ
Trang 1chương 2: SƠ ĐỒ TRUYỀN CỦA BUS
TRUYỀN CỔNG MÁY IN
Sơ đồ chân của cổng máy in được mô tả như sau:
DATA BUS
Trang 2SƠ ĐỒ CHÂN CỦA CỔNG MÁY IN
Trang 3Bảng 01: Chức năng của các chân cổng máy in
Châ
n
động
E Lối ra Dữ liệu đã được gữi ra Thấp
2 D0 Lối ra Đường dữ liệu, bit thứ
01
Ba trạng thái
3 D1 Lối ra Đường dữ liệu, bit thứ
4 D2 Lối ra Đường dữ liệu, bit thứ
03
Ba trạng thái
5 D3 Lối ra Đường dữ liệu, bit thứ
6 D4 Lối ra Đường dữ liệu, bit thứ
05
Ba trạng thái
7 D5 Lối ra Đường dữ liệu, bit thứ
8 D6 Lối ra Đường dữ liệu, bit thứ
9 D7 Lối ra Đường dữ liệu, bit thứ
Trang 418 GND Nối đất
Cổng máy in là một đế nối gồm có 25 chân, trong đó có 12 chân ra, 05 chân vào và 08 chân nối mass Cụ thể:
Chân 0209: loại chân ra, đường dẫn dữ liệu, là dạng đường dẫn một chiều, chỉ ra
Chân 01,1017 : các chân tín hiệu bắt tay giữa máy vi tính và máy in
Trang 5Các bước thực hiện quá trình truyền dữ liệu của máy vi tính sang máy in như sau:
CPU chờ cho đến khi đường tín hiệu BUSY xuống thấp, tín hiệu này báo cho biết máy in đã sẵn sàng nhận dữ liệu
CPU xuất mã của ký tự kế tiếp ra cổng máy in
CPU đưa bit STROBE xuống thấp báo hiệu cho máy
in biết dữ liệu mới đã được đưa đến cổng máy in
Máy in nhận dữ liệu, nhận dữ liệu xong, trả bit BUSY về mức cao
Máy in trả bit ACK về mức cao
CPU trả bit STROBE về mức cao
Máy in trả ACK xuống thấp
Máy in thực hiện công việc in
Thực hiện in xong, máy in cho BUSY xuống thấp để cho CPU biết đang sẵn sàng nhận ký tự khác
Có thể biểu diễn các bước thực hiện của dạng giao tiếp song song bất đồng bộ qua cổng máy in như sau:
GIẢN ĐỒ THỜI GIAN
Đặc điểm thuận lợi lớn nhất ở hình thức truyền này là tất cả các tín hiệu đều nằm ở cấp điện áp từ 0V đến 5V, có nghĩa là nó tương thích với hầu hết các IC số, loại TTL hay CMOS Chính
Trang 6sự tương thích này giúp cho việc giao tiếp trở nên đơn giản và dễ dàng hơn
Tuy nhiên, ở đây các đường tín hiệu dữ liệu là dạng tín hiệu một chiều nên trong việc giao tiếp với các hình thức trao đổi tín hiệu hai (02) chiều hay tín hiệu lớn hơn phạm vi một byte thì cổng máy in không thích hợp Tạo ra một cổng vào ra có phạm
vi trao đổi lớn hơn và đa dụng hơn cổng máy in là nhiệm vụ đặt
ra cho người nghiên cứu
Trang 7III KHẢO SÁT VI MẠCH PPI 8255A:
Có rất nhiều IC dạng IO đảm nhiệm công việc giao tiếp trao đổi thông tin giữa các hệ thống như 82C37A, 82C42, 82C79, 82C55A, … với phạm vi sử dụng và khả năng lập trình trạng thái vào ra IC PPI 82C55A được chọn vì thỏa được yêu cầu để thiết kế mạch giao tiếp đa năng Tiến hành khảo sát vi mạch để thuận tiện cho việc sử dụng, cụ thể khảo sát: cấu trúc phần cứng, cấu trúc thanh ghi điều khiển
1 Cấu trúc phần cứng PPI 82C55A:
PPI 82C55A là IC ngoại vi được chế tạo theo công nghệ LSI dùng để giao tiếp song song giữa các hệ thống vi mạch hay giữa Microprocessor và thiết bị điều khiển (bên trong hay bên ngoài), có 40 chân, dạng DIL
SƠ ĐỒ CHÂN VÀ SƠ ĐỒ LOGIC PPI 82C55A
Trang 8Tên các chân PPI 82C55A:
RESET : Reset input, chân vào, xác lập lại trạng thái ban đầu
CS\ : Chip Select, chân vào, chọn trạng thái hoạt động
RD\ : Read input, chân vào, xác lập trạng thái đọc
WR\ : Write input, chân vào, xác lập trạng thái ghi
A0, A1 : Port Address, chân vào, xác lập địa chỉ
D0D7 : Dữ liệu Bus (Bi – Direction), ba (03) trạng thái
PA7 – PA0 : Port A, ba trạng thái, cổng giao tiếp A PB7 – PB0 : Port B, ba trạng thái, cổng giao tiếp B
PC7 – PC0 : Port C, ba trạng thái, cổng giao tiếp C
PPI 82C55A giao tiếp với các vi mạch khác thông qua 3 Bus: Bus dữ liệu 8 bit D0D7, Bus địa chỉ A1A2, Bus điều khiển RD\, WR\, CS\, Reset
PPI 82C55A có 03 Port xuất nhập (I/O) có tên là Port A, Port B, Port, mỗi Port 8 bit Với 03 port dữ liệu và một thanh ghi điều khiển PPI 82C55A có thể được ứng dụng vào nhiều công dụng khác, IC quét mã bàn phím là một trong những ứng dụng ấy Port A gồm các đường PA0PA7, Port B gồm các đường PB0PB7 , Port C gồm các đường PC0PC7 Các
Trang 9Port này có thể là các Port Input hay Output tùy thuộc vào lệnh điều khiển chứa trong thanh ghi lệnh Mã lệnh, thông tin trạng thái và dữ liệu đều được truyền trên 8 đường dữ liệu D0D7, công việc của PPI 82C55A tùy thuộc vào lệnh điều khiển chứa trong thanh ghi điều khiển Các đường tín hiệu RD\, WR\ của PPI 82C55A được kết nối với các đường tín hiệu đọc ghi của hệ thống vi mạch (hay Microprocessor) Tín hiệu Reset dùng để khi khởi động hay khởi động lại PPI 82C55A, khi bị Reset các thanh ghi bên trong của PPI 82C55A đều bị xóa về trạng thái mặc định và PPI 82C55A
ở trạng thái chờ lệnh, sẳn sàng làm việc Như vậy, điều trước tiên khi sử dụng vi mạch này, nếu chúng ta không muốn sử dụng các giá trị mặc định, là phải nhập lệnh vào thanh ghi điều khiển mỗi khi reset lại vi mạch Khi giao tiếp với Microprocessor ngõ vào tín hiệu Reset này được kết nối với tín hiệu Reset Out của vi xử lý Chân Reset tác động mức cao
Tín hiệu Chip Select (CS) dùng để điều khiển hoạt động của PPI 82C55A Tín hiệu này có thể làm cho vi mạch hoạt động bình thường hay ở trạng thái chờ Trong việc kết hợp Microprocessor với nhiều IC tạo thành một hệ thống hoàn chỉnh, chân CS giúp vi xử lý chọn đúng IC cần hoạt động Chân CS tác động mức thấp
Các đường địa chỉ A1A0 của PPI 82C55A dùng để lựa chọn các Port và thanh ghi A1A0 = 00Bin dùng để chọn Port
A, A1A0 = 01Bin dùng để lựa chọn Port B, A1A0 = 10Bin dùng để chọn Port C, A1A0 = 11Bin dùng để chọn thanh ghi điều khiển
Các Port I/O của PPI 82C55A chia ra làm 2 nhóm: Nhóm A gồm Port A và 4 bit cao của Port C, nhóm B gồm
Trang 10Port B và 4 bit thấp của Port C Để sử dụng các Port của PPI 82C55A người lập trình phải gởi từ điều khiển vào thanh ghi điều khiển để định cấu hình cho các Port đúng theo yêu cầu mà người lập trình mong muốn
Khi muốn thực hiện chức năng bắt tay với các hệ thống khác, PPI 82C55A dùng các bit PC7, PC6 và PC3 của port C để thực hiện chức năng giao tiếp Bit PC7 trở thành bit OBFA (Output Buffer Full, tác động mức thấp), khi có dữ liệu Microprocessor gởi ra Port A, tín hiệu OBFA sẽ yêu cầu thiết bị bên ngoài nhận dữ liệu Bit PC6 trở thành bit ACKA (AcknowLedge Input, tác động mức thấp), thiết bị nhận dữ liệu dùng tín hiệu này để báo cho PPI 82C55A biết tín hiệu đã được nhận và sẳn sàng nhận dữ liệu tiếp theo Bit PC3 trở thành INTRA (Interrupt Request, tác động mức cao), bit này có mức logic 1 khi 2 bit OBFA = 1, ACKA = 1 và bit INTEA (Interrupt Enable) ở bên trong PPI 82C55A bằng 1 Tín hiệu INTRA tác động đến ngõ vào ngắt của hệ thống trung tâm để báo thiết bị bên ngoài đã nhận dữ liệu ở Port A
Các bit còn lại của Port C: PC4, PC5 là các bit xuất hay nhập bình thường tùy thuộc vào bit D3 trong từ điều khiển
CẤU TRÚC TỪ ĐIỀU KHIỂN
D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0
GROUP B
PORT C (LOWER)
1 = INPUT
0 = OUTPUT PORT B
1 = INPUT
0 = OUTPUT MODE SELECTION
0 = MODE 0
1 = EODE 1
GROUP A
PORT C (UPPER)
1 = INPUT
Trang 11Để thuận tiện cho việc quản lý việc xuất nhập và cũng là để tăng thêm tính linh hoạt công việc giao tiếp, vi mạch PPI 82C55A phân chia ra hai cấu hình làm việc khác nhau đó là làm việc theo nhóm A và nhóm B Tuy nhiên, cũng có thể không chú ý đến việc phân chia này trong giao tiếp trao đổi thông thường, không cần nhiều tín hiệu giao tiếp
Trang 122 Cấu trúc thanh ghi điều khiển phần mềm của PPI 82C55A:
Do các Port ra của PPI 82C55A được chia ra làm 2 nhóm A và nhóm B tách rời nên từ điều khiển của PPI 82C55A cũng được chia làm 2 nhóm
a Các bit D 2 D 1 D 0 dùng để cấu hình cho nhóm B
Bit D0 dùng để thiết lập 4 bit thấp của Port C, D0 =
0 – Port C thấp là Port xuất dữ liệu (Output), D0 = 1 –
Port C thấp là Port nhập dữ liệu (Input)
Bit D1 dùng để thiết lập Port B, D1 = 0 – Port B là Port xuất dữ liệu (Output), D1 = 1 – Port B là Port nhập dữ liệu (Input)
Bit D2 dùng để thiết lập Mode điều khiển của nhóm B:
+ D2 = 0: Nhóm B hoạt động ở Mode 0
+ D2 = 1: Nhóm B hoạt động ở Mode 1
b Các bit D 6 D 5 D 4 D 3 dùng để cấu hình cho nhóm A
Bit D3 dùng để thiết lập 4 bit cao của Port C, D3 =
0 – Port C là Port xuất dữ liệu (Output), D3 = 1 – Port C
là Port nhập dữ liệu (Input)
Bit D4 dùng để thiết lập Port A, D4 = 0 – Port A
xuất dữ liệu (Output), D4=1 – Port A là Port nhập dữ
liệu (Input)
Bit D6D5 dùng để thiết lập Mode điều khiển của nhóm A: + D6D5 = 00: Nhóm A hoạt động ở Mode 0
+ D6D5 = 01: Nhóm A hoạt động ở Mode 1
+ D6D5 = 1x: Nhóm A hoạt động ở Mode 2
c Các nhóm A và B được cấu hình ở Mode 0
Trang 13Từ điều khiển khi 2 nhóm A và B làm việc ở Mode 0:
Ở Mode 0 các Port A, Port B, Port C thấp và Port C cao là các Port xuất hoặc nhập dữ liệu độc lập Do có 4 bit để lựa chọn nên có 16 từ điều khiển khác nhau cho
16 trạng thái xuất hay nhập của 4 Port
d Các nhóm A và B được cấu hình ở Mode 1
Từ điều khiển khi 2 nhóm A và B làm việc ở Mode 1:
Ở Mode 1 các Port A, Port B làm việc xuất nhập có chốt (Strobed I/O) Ở Mode này 2 Port A và Port B hoạt động độc lập với nhau và mỗi Port có 1 Port 4 bit điều khiển hay dữ liệu Các Port 4 bit điều khiển hay dữ liệu được hình thành từ 4 bit thấp và 4 bit cao của Port C
Khi PPI 82C55A được cấu hình ở Mode 1, thiết bị giao tiếp PPI 82C55A nhận dữ liệu, thiết bị đó phải tạo
ra một tín hiệu yêu cầu PPI 82C55A nhận dữ liệu, ngược lại PPI 82C55A muốn gởi tín hiệu đến 1 thiết bị khác, PPI 82C55A phải tạo ra 1 tín hiệu cho thiết bị đó nhận biết dữ liệu đã được xuất ra, tín hiệu yêu cầu đó gọi là tín hiệu Stobe
e Nhóm A làm việc ở cấu hình Mode 1
Cấu hình Port A được là Port nhập dữ liệu:
Trang 14Các đường tín hiệu của Port C một phần trở thành các đường tín hiệu điều khiển, tín hiệu chốt và một phần là đường dữ liệu của Port A
Mã lệnh từ điều khiển: