Monitor và card giao diện đồ hoạ

Một phần của tài liệu Bài Giảng ghép nối máy tính (Trang 107)

7.3.1. Nguyờn lý hiện ảnh trờn monitor

Phương phỏp hiện ảnh trờn màn hỡnh của monitor mỏy tớnh cũng giống như trong mỏy thu hỡnh thụng thường. Hỡnh bờn dưới minh họa việc hiện ảnh trờn màn hỡnh kiểu ống phúng tia õm cực CRT (cathode ray tube).

Hỡnh 7.14 – Cấu tạo ống hỡnh CRT

Cỏc điện tử phỏt xạ từ cathode trong ống được hội tụ thành 1 chựm tia, sau đú được tăng tốc và được làm lệch hướng chuyển động bởi cỏc bộ phận lỏi tia. Tia này sẽ đập vào màn hỡnh cú phủ chất huỳnh quang để tạo thành 1 điểm sỏng gọi là 1 điểm ảnh.

Do hiện tượng lưu ảnh trong vừng mạc của mắt người nờn khi tia điện tử được quột rất nhanh o chiều ngang từ trỏi sang phải sẽ tạo nờn 1 vệt sỏng ngang được gọi là dũng quột. Đến cuối 1 dũng, nú được quột ngược trở về bờn trỏi để quột tiếp dũng thứ 2 bờn dưới ..v..v.. Quỏ trỡnh quột cỏc dũng được dịch dần từ trờn xuống dưới cho suốt chiều dọc của màn hỡnh được gọi là quột dọc.

Độ chúi (sỏng tối) được quyết định bởi cường độ chựm tia đập vào màn hỡnh huỳnh quang và 1 điểm màu tự nhiờn được hiện nhờ sự trộn lẫn của 3 màu: đỏ, xanh dương, xanh lỏ cõy o 1 tỉ lệ nào đú. Ba màu này được hiện nhờ 3 tia điện tử cựng bắn vào 3 điểm trờn màn hỡnh kề cận nhau, mỗi điểm được phủ chất huỳnh quang phỏt ra cỏc màu tương ứng. 3 chựm tia điện tử đú được phỏt ra bởi 3 sỳng điện tử là 3 cathode được xếp đặt bờn trong CRT một cỏch cẩn thận. Cú 2 kiểu quột tia điện tử:

- Quột xen kẽ (interlaced): cỏc dũng lẻ được quột trước cho đến hết màn hỡnh o chiều dọc, gọi là mành lẻ; sau đú cỏc dũng chẵn tạo nờn mành chẵn được quột sau. Phương phỏp này cú ưu điểm là thu hẹp được dải tần số làm việc của thiết bị nhưng cú nhược điểm là hỡnh ảnh bị nhấp nhỏy.

- Quột khụng xen kẽ (non-interlaced): cỏc dũng quột được thực hiện tuần tự. Ưu điểm là hỡnh ảnh được điều chỉnh chớnh xỏc và ổn định nhưng thiết kế mạch điện sẽ khú hơn vỡ phải giải quyết vấn đề tăng dải tần làm việc.

Hiện nay cũn cú cỏc monitor dựng màn hỡnh tinh thể lỏng LCD hoặc ống chứa khớ được hoạt động o nguyờn lý tương tự như trờn nhưng khụng cú tia điện tử quột nờn thay vỡ cỏc điểm ảnh riờng biệt là cỏc phần tử phỏt sỏng được định địa chỉ một cỏch tuần tự. Do vậy, trờn cỏc monitor này hỡnh ảnh cũng được phỏt ra từng dũng một. Quỏ trỡnh quột ngược cũng khụng cũn nữa vỡ ở đõy đơn giản chỉ việc thay đổi địa chỉ về phần tử đầu dũng tiếp o.

7.3.2. Card giao tiếp đồ họa

Để hiện cỏc hỡnh ảnh, ký tự, hay hỡnh vẽ trờn màn hỡnh, PC phải thụng qua mạch ghộp nối màn hỡnh (graphics adapter). Board mạch này thường được cắm trờn khe cắm mở rộng của PC. Sơ đồ khối như hỡnh sau:

Hỡnh 7.15 Sơ đồ khối của bản mạch ghộp nối màn hỡnh Bus Interface: ghộp nối bus;

Video Ram: Ram Video

Character code: mó ký tự

Attribute information: thụng tin thuộc tớnh; Character rom: rom ký tự

Attribute decoder: bộ giải mó thuộc tớnh; Shift register: thanh ghi dịch

Character generator: mỏy phỏt ký tự; Synchronization information: thụng tin đồng bộ.

Phần trung tõm là chip điều khiển ống hỡnh CRTC (cathode ray tube controller). CPU thõm nhập RAM Video qua mạch ghộp nối bus để ghi thụng tin xỏc định ký tự hay hỡnh vẽ cần hiển thị. CRTC liờn tục phỏt ra cỏc địa chỉ để Ram video đọc cỏc ký tự trong đú và truyền chỳng tới mỏy phỏt ký tự (character generator).

Trong chế độ văn bản (text mode), cỏc ký tự được xỏc định bởi mó ASCII, trong đú cú cả cỏc thụng tin về thuộc tớnh của ký tự, thớ dụ ký tự được hiện o cỏch nhấp nhỏy hay đảo màu đen trắng ….ROM ký tự (character rom) lưu trữ cỏc hỡnh mẫu điểm ảnh của cỏc ký tự tương ứng để mỏy phỏt ký tự biến đổi cỏc mó ký tự đú thành 1 chuỗi cỏc bit điểm ảnh (pixel bit) và chuyển chỳng tới thanh ghi dịch (shift register). Mỏy phỏt tớn hiệu sẽ sử dụng cỏc bớt điểm ảnh này cựng với cỏc thụng tin thuộc tớnh từ Ram video và cỏc tớn hiệu đồng bộ từ CRTC để phỏt ra cỏc tớn hiệu cần thiết cho monitor.

Trong chế độ đồ họa (graphics mode), thụng tin trong RAM video được sử dụng trực tiếp cho việc phỏt ra cỏc ký tự. Lỳc này cỏc thụng tin về thuộc tớnh cũng khụng cần nữa. Chỉ từ cỏc giỏ trị bit trong thanh ghi dịch, mỏy phỏt tớn hiệu sẽ phỏt cỏc tớn hiệu về độ sỏng và màu cho monitor.

• Mỏy phỏt ký tự trong cỏc chế độ văn bản và đồ họa:

Mỗi ký tự được biểu diễn bởi 1 từ 2 byte trong RAM video. Byte thấp chứa mó ký tự, byte cao chứa thuộc tớnh. Cấu trỳc của một từ nhớ video như sau:

15 14 13 12 11 10 9 8

BLNK BAK2 BAK1 BAK0 INT FOR2 FOR1 FOR0

7 6 5 4 3 2 1 0

CHR7 CHR6 CHR5 CHR4 CHR3 CHR2 CHR1 CHR0 BLNK: Nhấp nhỏy; 1 = bật, 0 = tắt

BAK2 … BAK0: Màu nền; (từ bảng màu hiện tại) INT: Cường độ sỏng ; 1 = cao, 0 = bỡnh thường

FOR2 … FOR0: Màu nền trước (từ bảng màu hiện tại) CHR7…CHR0: Mó ký tự.

Trong chế độ văn bản, 6845 liờn tục xuất cỏc địa chỉ cho RAM video qua MA0- MA13. Ký tự ở gúc tận cựng phớa trờn bờn trỏi màn hỡnh cú địa chỉ thấp nhất mà 6845 sẽ cung cấp ngay sau khi quột dọc ngược. Logic ghộp nối định địa chỉ cho RAM video bằng việc lấy ra mó ký tự cựng với thuộc tớnh. Mó ký tự dựng cho mỏy phỏt ký

tự như là chỉ số thứ nhất trong ROM ký tự. Lỳc này, 6845 định địa chỉ hàng quột đầu tiờn của ma trận ký tự, địa chỉ hàng bằng 0. Cỏc bit của ma trận điểm ảnh bõy giờ sẽ được truyền đồng bộ với tần số video từ thanh ghi dịch tới mỏy phỏt tớn hiệu. Nếu mỏy phỏt tớn hiệu nhận được giỏ trị 1 từ thanh ghi dịch, nú sẽ phỏt tớn hiệu video tương ứng với màu của ký tự. Nếu nhận được 0 nú sẽ cấp tớn hiệu tương ứng với màu nền. Vậy dũng quột thứ nhất được hiện phự hợp với cỏc ma trận điểm ảnh của cỏc ký tự trong hàng ký tự thứ nhất. Khi tia điện tử đạt tới cuối dũng quột, 6845 kớch hoạt lối ra HS để tạo ra quỏ trỡnh quột ngược và đồng bộ ngang. Tia điện tử quay trở về bắt đầu quột dũng tiếp. Sau mỗi dũng quột, 6845 tăng giỏ trị RA0-RA4 lờn 1. Địa chỉ dũng này hỡnh thành một giỏ trị offset bờn trong ma trận điểm ảnh cho ký tự được hiện. Dựa trờn mỗi dũng quột như vậy, một dũng cỏc điểm ảnh của ký tự trong hàng ký tự được hiện ra. Điều này cú nghĩa là với ma trận 9x14 điểm ảnh cho 1 ký tự, hàng ký tự thứ nhất đó được hiện sau 14 dũng quột. Khi địa chỉ RA0-RA4 trở về giỏ trị 0, 6845 sẽ cấp 1 địa chỉ MA0-MA13 mới và hàng ký tự thứ hai sẽ được hiện ra cũng như vậy. Ở cuối dũng quột cuối cựng, 6845 sẽ reset địa chỉ MA0-MA13 và RA0- RA4 và cho phộp lối ra VS phỏt ra tớn hiệu quột ngược cựng tớn hiệu đồng bộ dọc.

Mỗi ký tự cú chiều cao cực đại ứng với 32 dũng vỡ cú 5 đường địa chỉ RA0-RA4, cũn bộ nhớ video trong trường hợp này được tới 16K từ vỡ cú địa chỉ MA0-MA13 là 14 bit. Trong chế độ đồ họa, chỳng kết hợp với nhau để tạo thành địa chỉ 19 bit, lỳc đú 6845 cú thể định địa chỉ cho bộ nhớ video lờn tới 512k từ. Trong trường hợp này, cỏc byte trong RAM video khụng được dịch thành mó ký tự và thuộc tớnh nữa mà trực tiếp xỏc định cường độ sỏng và màu của điểm ảnh. Đa số cỏc RAM video được chia thành vài băng được định địa chỉ bởi RA0-RA4. Cỏc đường MA0-MA13 sẽ định địa chỉ offset bờn trong mỗi băng. Số liệu trong RAM video lỳc này được trực tiếp truyền tới thanh ghi dịch và mỏy phỏt tớn hiệu. ROM ký tự và mỏy phỏt ký tự khụng làm việc. (adsbygoogle = window.adsbygoogle || []).push({});

• Tổ chức của RAM video

RAM video được tổ chức khỏc nhau tuỳ o chế độ hoạt động và bản mạch ghộp nối. Thớ dụ, với RAM video 128 KB, cú thể địa chỉ húa toàn bộ bộ nhớ màn hỡnh qua CPU như bộ nhớ chớnh. Nhưng nếu kớch thước RAM video lớn hơn thỡ làm như vậy sẽ đố lờn vựng ROM mở rộng ở điạ chỉ C0000h. Do đú, card EGA và VGA với trờn 128 KB nhớ được tăng cường thờm 1 chuyển mạch mềm (soft-switch) cho phộp thõm nhập cỏc cửa sổ 128 KB khỏc nhau vào RAM video lớn hơn nhiều. Cỏc chuyển mạch này được quy định bởi riờng cỏc nhà sản xuất board mạch.

Tổ chức trong chế độ văn bản

RAM video được coi như một dóy từ tuyến tớnh, từ đầu tiờn được gỏn cho ký tự gúc trờn tận cựng bờn trỏi màn hỡnh gọi là hàng 1 cột 1. Từ thứ 2 là hàng 1, cột 2, …. Số từ tuỳ thuộc vào độ phõn giải của kiểu hiện ký tự.

Thớ dụ: độ phõn giải chuẩn 25 hàng, 80 ký tự đũi hỏi 2000 từ nhớ 2 byte. Như vậy, tổng cộng cần 4 KB bộ nhớ RAM video. Trong khi đú với card cú độ phõn giải cao SVGA 60 hàng, 132 ký tự cần đến 15840 byte. Do đú RAM video thường được chia thành vài trang. Kớch thước của mỗi trang tuỳ thuộc vào chế độ hiện của màn hỡnh và số trang cực đại, phụ thuộc cả vào kớch thước của RAM video. 6845 cú thể được

chương trỡnh húa sao cho địa chỉ khởi phỏt của MA0-MA13 sau quột ngược dọc là khỏc 00h. Nếu địa chỉ khởi phỏt là bắt đầu của 1 trang thỡ cú thể quản lý RAM video o vài trang tỏch biệt nhau, nếu CPU thay đổi nội dung của 1 trang mà trang đú hiện đang khụng hiện thỡ màn hỡnh cũng khụng thay đổi. Do đú, cần phõn biệt trang nhớ đang được kớch hoạt (đang hiện) và trang đang được xử lý.

Đoạn chương trỡnh ghi ký tự 'A' cú cường độ sỏng cao vào gúc trờn bờn trỏi với màu số 7 và màu nền số 0. Trang thứ nhất và là duy nhất bắt đầu ở địa chỉ B0000h. MOV AX, 0B000h; nạp thanh ghi ax với địa chỉ đoạn của Ram video

MOV ES, AX; truyền địa chỉ đoạn vào ES

MOV AH, 0F8h; nạp byte thuộc tớnh 1111 1000 vào AH MOV AL, 41h; nạp mó ký tự của ‘A’ vào AL

MOV ES:[00H],AX; ghi byte thuộc tớnh và mó ký tự vào RAM video. Tổ chức trong chế độ đồ họa:

Tổ chức trong chế độ này phức tạp hơn. Vớ dụ: với bản mạch Hercules, RAM video được chia thành 4 băng trờn 1 trang . Băng thứ nhất: đảm bảo cỏc điểm ảnh cho cỏc dũng 0, 4, 8, …, 344; băng thứ hai cho cỏc dũng 1, 5, 9, …, 345; băng thứ 3 cho cỏc dũng 2, 6, 10, …., 346; và băng thứ 4 cho cỏc dũng 3, 7, 11, …, 347. 64 KB được chia thành 2 trang 32 KB. Độ phõn giải trong chế độ đồ họa là 720 x 348 điểm ảnh, mỗi điểm ảnh được biểu diễn bởi 1 bit. Do vậy, một dũng cần 90 byte (720 điểm ảnh / 8 điểm ảnh trờn 1 byte). Địa chỉ của byte chứa điểm ảnh thuộc đường i và cột j trong trang k là:

B0000h+8000h*k+2000h*(i mod 4)+ 90*int(i/4)+int(j/8)

B0000h là đoạn video, 8000h là kớch thước của trang, 2000h*(i mod 4) là offset của băng chứa byte đú, 90*int(i/4) là offset của dũng i trong băng và int(j/8) là offset của cột j trong băng.

Trong bản mạch CGA bộ nhớ video được chia thành 2 băng cũn với EGA và VGA thỡ phức tạp hơn.

• Truy xuất màn hỡnh qua DOS và BIOS Truy xuất qua DOS

Cỏc hàm của int 21h cú thể hiện cỏc ký tự trờn màn hỡnh nhưng khụng can thiệp được vào màu:

- Hàm 02h: ra màn hỡnh. - Hàm 06h: ra một ký tự. - Hàm 09h: ra một chuỗi. - Hàm 40h: ghi file/ thiết bị

Từ DOS 4.0 trở đi cú thể dựng lệnh mode để điều chỉnh số cột văn bản từ 40 đến 80 hay số dũng từ 25 đến 50.

Cỏc lệnh copy, type và print trong command.com cho phộp hiện text trờn màn hỡnh. DOS gộp chung bàn phớm và monitor thành 1 thiết bị mang tờn CON (console). Ghi CON là truyền số liệu tới monitor, cũn đọc CON là nhận ký tự từ bàn phớm. Vớ dụ: để hiện nội dung của file output.txt lờn màn hỡnh của monitor sẽ cú cỏc cỏch sau: - copy output.txt con

- type output.txt > con - print output.txt /D:con

Truy xuất qua BIOS

Bios thõm nhập monitor bằng int 10h với nhiều chức năng hơn DOS, như đặt chế độ hiện hỡnh, quản lý tự động cỏc trang, phõn biệt cỏc điểm trờn màn hỡnh nhờ cỏc tọa độ,…

Những thường trỡnh đồ họa:

BIOS trờn main board cú sẵn những hàm dựng cho thõm nhập MDA và CGA.

BIOS của riờng EGA và VGA cú những hàm mở rộng tương ứng trong khi vẫn giữ nguyờn định dạng gọi.

Một trong những hàm quan trọng nhất của int 10h là hàm 00h dựng để đặt chế độ hiện hỡnh. Để thay đổi chế độ hiện hỡnh cần phải làm rất nhiều bước chương trỡnh phức tạp để nạp cỏc thanh ghi của chip 6845. Trong khi đú, hàm 00h làm cho ta tất cả cỏc cụng việc này.

Thớ dụ: tạo kiểu 6 với độ phõn giải 640*200 trờn CGA. Mov ah, 00h ; hàm 00h

Mov al, 06h ; chế độ 6 Int 10h ; gọi ngắt

Cỏc board EGA/VGA cú riờng BIOS của chỳng. Trong quỏ trỡnh khởi động PC, nú sẽ chặn int 10h lại và chạy chương trỡnh BIOS của riờng board mạch. Thường trỡnh cũ (của BIOS trờn board mach chớnh ) được thay địa chỉ tới int 42h. Tất cả cỏc lệnh gọi int 10h sẽ được BIOS của EGA/VGA thay địa chỉ tới int 42h nếu board mạch EGA/VGA đang chạy cỏc kiểu hiện tương thớch với MDA hay CGA. Cú cỏc kiểu hoạt động từ 0 đến 7.

BIOS của EGA/VGA dựng vựng 40:84h tới 40:88h để lưu số liệu BIOS và cỏc thụng số của EGA/VGA. Nú cú cỏc hàm mới với cỏc hàm phụ sau: (adsbygoogle = window.adsbygoogle || []).push({});

- Hàm 10h: truy xuất cỏc thanh ghi màu và bảng màu - Hàm 11h: cài đặt cỏc bảng định nghĩa ký tự mới - Hàm 12h: đặt cấu hỡnh hệ con video

- Hàm 1Bh: thụng tin về trạng thỏi và chức năng của BIOS video (chỉ cú ở VGA)

- Hàm 1Ch: trạng thỏi save/restore của video (chỉ cú ở VGA) Sau đõy là chức năng của cỏc hàm và thớ dụ sử dụng chỳng:

- Hàm 10h, hàm phụ 03h – xoỏ/đặt thuộc tớnh Vớ dụ: Xoỏ thuộc tớnh nhấp nhỏy:

Mov ah, 10h ; dựng hàm 10h Mov al, 03h ; dựng hàm phụ 03h Mov bl, 00h ; xoỏ thuộc tớnh nhấp nhỏy Int 10h ; gọi ngắt

- Hàm 11h – ghộp nối với mỏy phỏt ký tự

Mov ah, 11h ; dựng hàm 11h

Mov al, 01h ; nạp bảng ký tự từ Rom Bios vào Ram mỏy phỏt ký tự. Mov bl, 03h ; gỏn số 3 cho bảng

Int 10h ; gọi ngắt

- Hàm 12h, hàm phụ 20h – chọn thường trỡnh in màn hỡnh. Dựng hàm phụ này cú thể thay thế thường trỡnh chuẩn cho INT 05h bằng thường trỡnh cú thể dựng cho cỏc độ phõn giải mới của EGA/VGA.

Vớ dụ: Cho phộp thường trỡnh mới in màn hỡnh: Mov ah, 12h ; dựng hàm 12h

Mov bl, 20h ; dựng hàm phụ 20h

Ấn PRINT hoặc SHIFT+PRINT để gọi thường trỡnh in đó được lắp đặt. • Truy xuất trực tiếp bộ nhớ video:

Để vẽ 1 điểm trờn màn hỡnh, BIOS phải làm nhiều thủ tục nhưng nếu muốn vẽ toàn bộ 1 cửa sổ hỡnh hay lư trữ thỡ phải truy xuất trực tiếp RAM video.

Với board đơn sắc MDA trong kiểu hiện văn bản số 7, 4 KB RAM đuợc tổ chức như 1 dóy (array) gốm 2000 từ nhớ kề nhau ( mỗi từ là mó thuộc tớnh: ký tự) tạo nờn 25 dũng, 80 cột. RAM video bắt đẩu ở đọan B0000h, trong đú ký tự gúc trờn cựng bờn trỏi là từ thứ nhất trong RAM video. Như vậy mỗi dũng cú 160 byte (A0h). Địa chỉ

Một phần của tài liệu Bài Giảng ghép nối máy tính (Trang 107)