1. Trang chủ
  2. » Công Nghệ Thông Tin

Chương 9 - Một số phối ghép cơ bản pps

59 278 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Chương 9 - Một số phối ghép cơ bản pps
Trường học Đại Học Bách Khoa Hà Nội
Chuyên ngành Hệ Thống Điện Tử Và Tương Tác
Thể loại Bài giảng
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 59
Dung lượng 632,16 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Vμ để có được một phối ghép bμn phím với bộ vi xử lý thực hiện các chức năng đã nêu ở trên trong thực tế người ta có thể lμm theo 2 cách: + dùng bộ vi xử lý để quản lý trực tiếp bμn phím

Trang 1

Dù lμ đơn lẻ hay lμ tập hợp các phím, khi phối ghép chúng với bộ vi xử lý ta cũng phải thoả mãn một số yêu cầu đặc biệt để đảm bảo cả hệ thống hoạt động đúng

Có rất nhiều loại công tắc đ−ợc dùng trong phối ghép với bộ vi xử lý nh−ng có thể xếp chúng vμo 2 nhóm:

+ công tắc có tiếp xúc cơ khí (kiểu điện trở: điện trở thay đổi khi ấn vμ khi nhả phím), vμ

+ công tắc không có tiếp xúc cơ khí (kiểu điện dung: điện dung thay đổi khi ấn

vμ khi nhả phím hoặc kiểu hiệu ứng Hall: điện áp thay đổi khi ấn vμ khi nhả phím)

Trong các loại công tắc đó, loại công tắc kiểu điện trở dựa trên tiếp xúc cơ khí

lμ rất thông dụng trong thực tế Trên hình 9.1 lμ cách nối công tắc vμo mạch điện vμ

đáp ứng của nó khi có lực tác động vμo phím (ấn phím)

Trang 2

F +5V 1mN

Ura

F

Ura 5V

t 20ms 20ms

Hình 9.1 ảnh hưởng độ rung của công tắc

Nhìn vμo đáp ứng về mặt cơ-điện của công tắc trên hình 9.1, ta nhận thấy: vì công tắc lμ một hệ thống có quán tính, do đó khi ta ấn phím rồi nhả phím, xung điện thu được ở đầu ra của nó không phải lμ liên tục mμ bị ngắt quãng tại các giai đoạn quá độ (lúc bắt đầu nhấn phím vμ lúc bắt đầu nhả phím) Điều nμy xảy ra lμ do trong kết cấu của công tắc có các bộ phận đμn hồi, khi bị tác động của lực bên ngoμi các kết cấu động của công tắc bị giao động lμm cho bề mặt tiếp xúc của công tắc bị biến đổi Trong thực tế thì mỗi quá trình quá độ trên kéo dμi khoảng 10-20 ms Nếu trong thời

kỳ quá độ ta đọc thông tin từ công tắc thì rất dễ nhận được thông tin sai lệch về trạng thái của công tắc, vì vậy người ta thường phải chờ cỡ 10-20 ms sau khi công tắc bị ấn hoặc nhả để đọc được trạng thái của công tắc trong giai đoạn xác lập

Khi một công tắc được nối thẳng vμo một chân nμo đó của bộ vi xử lý hoặc các mạch phụ trợ, có một cách khác để tránh các hiệu ứng phụ không mong muốn có thể tác động lên hoạt động của bộ vi xử lý do việc công tắc bị rung gây ra lμ dùng các mạch tích phân nối bên cạnh công tắc như trong trường hợp tạo tín hiệu cho đầu vμo RESET của hệ vi xử lý (xem hình 5.6)

Tiếp theo ta xét trường hợp một số công tắc nhất định được tổ chức theo ma trận gồm các hμng vμ các cột để tạo thμnh bμn phím cho một hệ vi xử lý Với tổng số phím khoảng 20-30 (bμn phím HEXA) thì đó lμ trường hợp thường thấy trong các hệ

thống nhỏ: các máy vi tính trên một bảng mạch in hoặc các bảng mạch điều khiển nhỏ (hay được gọi lμ "kit") Trong các máy tính cá nhân như IBM PC chẳng hạn thì tổng

số phím có thể lμ từ 80-101 hoặc 104 phím tuỳ theo thế hệ máy

Để nhận được thông tin chính xác về trạng thái của một phím trong các hệ thống như vậy ta thường phải lμm 3 khối công việc chính như sau:

Trang 3

+ Phát hiện có ấn phím,

+ Chờ công tắc ở trạng thái ổn định (chống rung),

+ Tìm phím được ấn vμ tạo mã cho phím đó

+5V Cổng ra 00 10k

Cổng vμo 01

D7 D6 D5 D4 D2 D1 D0 D3

Hình 9.2 Mạch phối ghép bμn phím

Vμ để có được một phối ghép bμn phím với bộ vi xử lý thực hiện các chức năng

đã nêu ở trên trong thực tế người ta có thể lμm theo 2 cách:

+ dùng bộ vi xử lý để quản lý trực tiếp bμn phím được ghép qua một số mạch cổng Có thể thấy rằng ở đây CPU lμm việc trong chế độ thăm dò Bằng cách nμy CPU phải để một phần thời gian để quản lý bμn phím nhưng ta lại đạt được sự đơn giản về phần cứng

+ dùng một mạch quản lý bμn phím chuyên dụng để phối ghép với bμn phím

ở đây CPU lμm việc với bộ quản lý bμn phím qua yêu cầu ngắt Bằng cách nμy ta giải phóng được CPU để nó có thể dμnh thời gian cho các việc khác quan trọng hơn

• CPU trực tiếp quản lý bμn phím

Trong cách lμm nμy, để đơn giản trong tình bμy, ta giả thiết trường hợp bμn phím hệ 16 gồm 16 công tắc - phím đánh dấu từ 0 - FH ghép với bộ vi xử lý thông qua

Trang 4

các mạch cổng như trên hình 9.2 Các mạch cổng có thể lμ các mạch IC như 74LS373 hoặc một phần của PPI 8255A được lập trình thích hợp

Bắt đầu

Đưa 0 ra mọi hμng

Đọc các cột

Hình 9.3 Lưu đồ thuật toán chương trình phối ghép bμn phím

Thuật toán của chương trình điều khiển việc phối ghép CPU - bμn phím theo sơ đồ phần cứng nói trên được trình bμy bằng lưu đồ trên hình 9.3

Đầu tiên ta phải kiểm tra tình trạng (tốt, xấu) của bμn phím khi nó chưa được

ấn (đúng ra lμ khi ta chưa kịp ấn phím nμo hoặc chưa kịp ấn phím tiếp theo) xem liệu

có phím nμo bị kẹt (dính) không bằng cách đưa 0 ra các hμng vμ đọc các cột để quét toμn bộ các phím Nếu có một công tắc nμo đó nối hμng vμ cột, mức điện áp 0 ở hμng

sẽ truyền sang cột vμ ta sẽ đọc được ở cột tương ứng mức điện áp 0 Một bμn phím tốt

sẽ không có các tiếp điểm của một công tắc nμo được nối trong lúc nμy vμ ta sẽ đọc

được mức 1 ở tất cả các cột Chương trình theo lưu đồ trên sẽ bị quẩn nếu bμn phím của ta bị dính Một cải tiến có thể được thêm vμo chương trình trên để thoát ra khỏi vòng quẩn đó vμ đưa ra thông báo bμn phím bị hỏng

có phím ấn ?

Kết thúc

Tìm thấy ?

Chống rung

Phát hiện phím bị ấn đ

s

đ s

s

đ

Bμn phím tốt hay xấu

có phím ấn ?

Trang 5

Nếu bμn phím không bị kẹt thì ta mới đi vμo phần phát hiện xem liệu có một phím nμo đó được ấn không Nếu phát hiện ra có một phím được ấn ta sẽ phải chờ cỡ

20 ms để cho công tắc có thời gian ổn định trạng thái Tiếp theo ta phải xác định lại xem có đúng lμ có một phím được ấn không, nếu có thì ta mới tiến hμnh xác định cụ thể xem đó lμ phím nμo trong số các phím Ta lμm việc nμy bằng cách đưa 0 ra lần lượt từng hμng vμ đọc các cột Khi đã biết được toạ độ hμng vμ cột của một phím bị ấn thì công việc tiếp theo lμ tạo mã cho phím đó Trong sơ đồ đơn giản như sơ đồ trên hình 9.3 thì việc tạo mã cho phím vừa tìm thấy được thực hiện bằng cách đọc 8 bit từ cổng vμo (4 bit cao chứa thông tin về toạ độ hμng còn 4 bit thấp chứa thông tin về toạ

độ cột) rồi chuyển thμnh mã hệ 16 tương ứng với phím bằng cách tra một bảng thích hợp

Sau đây lμ văn bản chương trình thực hiện thuật toán đã nêu dựa trên sơ đồ trong hình 9.2 bằng cách dùng mạch PPI 8255A với địa chỉ cơ bản lμ 60H Cần chú ý rằng đây chỉ lμ chương trình dùng để minh hoạ thuật toán

; thủ tục đọc vμ tạo mã cho phím bị ấn ; Ra: AL: mã phím,

Trang 6

; AH=00H khi không có lỗi,

; AH=01 khi có lỗi

Wait_Open: IN AL,PB ;đọc cột để kiểm tra dính

AND AL,0FH ;che các bit cao CMP AL,0FH ;có phím dính?

LOOPNE Wait_Open ;đúng, chờ khỏi dính

JCXZ Sai ;"quá tam ba bận": phím bị kẹt Wait_Pres: IN AL,PB ;đọc cột để kiểm tra ấn phím

AND AL,0FH ;che các bit cao CMP AL,0FH ;có phím ấn?

JE Wait_Pres ;không,chờ ấn phím MOV CX,5880 ;có,trễ 20ms để chống rung Tre: LOOP Tre

;đọc để kiểm tra lại phím bị ấn

Hgsau: OUT PA,AL ;đ−a 0 ra 1 hμng

IN AL,PB ;đọc các cột vμ kiểm tra

JE Thoi ;đúng,mã của phím trong BX

JNS Tiep ;tìm tiếp Sai: MOV AH,01 ;AH để báo có lỗi

Thoi: MOV AL,BL ;mã của phím hệ 16 trong AL

MOV AH,00 ;AH để báo không có lỗi Ra: POP DX ;lấy lại các thanh ghi

Trang 7

• Dùng mạch chuyên dụng để quản lý bμn phím

Thí dụ trên cho thấy một cách phối ghép đơn giản giữa CPU vμ bμn phím

Trong trường hợp CPU còn phải dμnh thời gian để lμm nhiều công việc khác của hệ thống hoặc số lượng phím nhiều, thường người ta sử dụng các mạch quản lý bμn phím

có sẵn để lμm các công việc đã nêu liên quan đến bμn phím Như vậy bộ vi xử lý được giải phóng khỏi công việc quét bμn phím vμ khi cần thiết nó chỉ việc đọc mã của phím

bị ấn do mạch quản lý chuyên dụng đưa đến

Mạch AY5-2376 của General Instrument lμ một vi mạch chuyên dụng như vậy Nó lμm việc đúng theo cách của một chương trình quét bμn phím mμ ta đã mô tả

ở thí dụ trên vμ khi đã tạo xong mã cho phím bị ấn, nó đưa ra xung STB (xung cho phép chốt dữ liệu) để báo cho bộ vi xử lý biết Bộ vi xử lý có thể nhận biết xung STB khi lμm việc theo kiểu thăm dò (polling) hoặc có thể đáp ứng với xung STB theo kiểu ngắt nếu xung nμy được sử dụng như một xung tác động đến đầu vμo yêu cầu ngắt che được INTR Mạch AY5-2376 còn có khả năng quản lý không nhầm lẫn đối với bμn phím ngay cả trong trường hợp có 2 phím được ấn gần như đồng thời

Một trường hợp đặc biệt của việc quản lý bμn phím dùng vi mạch chuyên dụng lμ bμn phím cho các máy IBM PC vμ các thiết bị đầu cuối Tại đây người ta sử dụng một hệ vi xử lý chuyên dụng cho công việc quản lý bμn phím Hạt nhân của hệ

nμy lμ vi mạch 8048 - máy vi tính trong 1 vỏ, bao gồm CPU 8bit, ROM, RAM, cổng

I/O vμ một bộ đếm/định thời gian lập trình được Chương trình trong ROM của 8048

điều khiển việc kiểm tra các mạch điện tử của bμn phím khi nó vừa được nối với nguồn điện vμ thực hiện việc quyét bμn phím theo 3 công đoạn đã nêu ở trên Khi có một phím được ấn, mạch 8048 đưa ra tín hiệu yêu cầu ngắt đến CPU vμ truyền mã của phím bị ấn đến CPU Mã nμy được truyền đi dưới dạng dữ liệu nối tiếp để giảm bớt số đường dây cần dùng cho việc truyền tín hiệu

Trong thực tế còn tồn tại những mạch kết hợp các phối ghép bμn phím - đèn LED trong một vi mạch để tạo thuận lợi cho người sử dụng khi xây dựng các kit vi xử

lý Đó lμ trường hợp mạch 8279 của Intel, một vi mạch tổ hợp cỡ lớn lập trình được Sau khi được CPU lập trình (ghi từ điều khiển), mạch 8279 có khả năng quản lý bμn phím theo 3 công đoạn kinh điển đã nêu vμ đồng thời có khả năng điều khiển bộ phận hiện thị gồm nhiều nhất lμ 16 đèn LED 7 nét ở chế độ động

Trang 8

2 Phối ghép với đèn hiện thị LED (điốt phát sáng)

Điốt phát sáng - LED lμ một phần tử phối ghép với bộ vi xử lý ở đầu ra rất thông dụng Trong trường hợp đơn giản, đó có thể lμ một vμi đèn LED đơn lẻ để báo hiệu một vμi trạng thái nμo đó Phức tạp hơn, đó lμ các đèn LED được tổ hợp thμnh

đèn chỉ thị 7 nét hoặc nhiều hơn để hiện thị các thông tin dưới dạng số hoặc chữ

Để điều khiển được các đèn LED nμy sáng, bộ vi xử lý hoặc các mạch cổng của

nó cần được tăng cường khả năng tải bằng các mạch khuếch đại đệm (bằng transistor, bằng mạch SN7400 hay SN7406) hoặc các mạch điều khiển đèn LED 7 nét chuyên dụng (như SN7447) để đảm bảo đưa ra được tín hiệu với công suất nhất định cần thiết cho hoạt động của đèn LED

• CPU - SN7447 - LED 7 nét ở chế độ tĩnh

Một trong các phối ghép giữa vi xử lý vμ đèn LED 7 nét thường thấy lμ dùng mạch SN7447 để giải mã số BCD ra 7 nét vμ để điều khiển bộ đèn chỉ thị (xem hình 9.4) Đây lμ kiểu điều khiển đèn LED ở chế độ hiện thị tĩnh với đặc điểm lμ khá đơn giản về kết cấu nhưng rất tốn năng lượng: để thắp sáng các nét của đèn LED thì cần

có dòng điện liên tục đi qua

Hình 9.4 Phối ghép vi xử lý với LED 7 nét thông qua mạch SN7474

Ta có thể tính sơ bộ để thấy sự tiêu tốn năng lượng của việc hiện thị theo cách nμy Một đèn LED 7 nét tiêu tốn năng lượng nhiều nhất khi nó phải hiện ra số 8 vμ lúc nμy nó tiêu thụ dòng điện cỡ 140 mA (khoảng 20mA/nét tuỳ theo chủng loại) Bản thân một mạch SN7447 khi hoạt động cũng tiêu thụ cỡ 14 mA Nếu ta dùng 8 đèn LED nμy để chỉ thị 8 chữ số (địa chỉ vμ dữ liệu) thì riêng cho mạch hiện thị ta đã phải cung cấp gần 1,5 A !

Trang 9

MAN7 MAN7

Để khắc phục nhược điểm của mạch phối ghép hiện thị tĩnh như đã được nêu

ở trên, người ta thường sử dụng mạch phối ghép hiện thị động lμm việc theo nguyên tắc dồn kênh: toμn bộ các đèn hiện thị dùng chung 1 bộ điều khiển SN7447 vμ các đèn LED không được được thắp sáng liên tục mμ luân phiên nhau sáng theo một chu kỳ nhất định Công suất tiêu thụ nhờ thế mμ giảm đi rất nhiều mμ vẫn đạt được hiệu quả hiện thị

Sơ đồ mạch của cách phối ghép nμy được thể hiện trên hình 9.5

Trang 10

Nguyên tắc hoạt động

Giá trị số cần hiện thị của mỗi con số được gửi đến cổng PB của 8255A từ CPU dưới dạng mã BCD Từ đây số BCD được mạch SN7447 giải mã vμ tạo ra các tín hiệu điều khiển thích hợp đưa đến các chân catốt a, b, , g của LED Mỗi giá trị cần hiện thị được đưa đến cổng PB cứ mỗi 2 ms một lần cho một đèn

Giá trị số nói trên được hiện ra trên chữ số thập phân nμo lại lμ do các bit của byte dữ liệu từ CPU đưa đến cổng PA của mạch 8255A quyết định

Như vậy cứ mỗi 2 ms thì phải ta đưa dữ liệu ra PB rồi PA vμ cho hiện ra được một giá trị số trên 1 đèn Nếu cả thảy có 8 LED 7 nét thì ta mất 16 ms để cho hiện số

ra cả dãy đèn Quá trình trên lặp đi lặp lại (1 lần hết 16 ms hay 60 lần trong 1 s) lμm cho ta có cảm giác lμ các đèn sáng liên tục mặc dù trong thực tế chúng được điều khiển để sáng không liên tục

Một phương pháp phối ghép giống như trên nhưng không dùng đến mạch giải mã SN7447 cũng rất hay được sử dụng Thay vì mạch SN7447 như ở trên, tại đây ta dùng một bộ khuếch đại đệm chỉ để nâng cao khả năng tải của cổng PB Vì thế trong trường hợp nμy CPU phải đưa đến PB không phải lμ 4 bit mã BCD của giá trị số cần hiện thị mμ lμ các mẫu 7 bit để lμm sáng các nét tương ứng với giá trị số đó Như vậy CPU phải để thì giờ để chuyển đổi từ giá trị số hệ 16 sang mẫu bit dμnh cho các nét của LED vμ ta có khả năng hiện được các số từ 0-FH

Để giải phóng hoμn toμn được bộ vi xử lý khỏi công việc điều khiển đèn LED

ta có thể dùng mạch điều khiển 8279 đã được nói đến trong mục trước

3 Phối ghép với mμn hình

Trong giai đoạn hiện nay, mμn hiện thị bằng tinh thể lỏng (liquid crystal display, LCD) vμ mμn hình bằng ống tia điện tử hay đèn hình (cathode ray tube, CRT) lμ các thiết bị hiện thị rất thông dụng đối với các máy vi tính loại xách tay hoặc loại để bμn Trong phần nμy ta sẽ chỉ giới thiệu các thông số vμ cách phối ghép mμn hình CRT với CPU Mạch dùng cho việc phối ghép nμy còn có tên lμ bộ điều khiển mμn hình (CRT controller, CRTC)

• Mμn hình hiện chữ (chế độ văn bản)

Quét mμnh vμ quét dòng

Đèn hình thực chất lμ một đèn điện tử đặc biệt có 2 đầu, trong đó một đầu có

bề mặt loe rộng ra để lμm chỗ quan sát hình ảnh của các tia điện tử vμ bên cạnh lμ lưới kim loại nối với điện áp rất cao để gia tốc cho các tia điện tử phát ra từ một súng

đặt ở đầu bên kia của đèn Bề mặt phía trong của đầu loe của đèn được phủ một lớp

Trang 11

hoá chất (lớp huỳnh quang) có khả năng phát sáng khi có điện tử đập vμo, mμu của

ánh sáng phát ra phụ thuộc vμo thμnh phần hoá học của lớp huỳnh quang Nếu mμn hình lμ loại một mμu thì trên bề mặt nμy chỉ có một chất huỳnh quang duy nhất, còn nếu lμ mμn hình mμu thì lớp huỳnh quang được hình thμnh từ rất nhiều phần tử của

3 loại hoá chất khác nhau, khi có điện tử đập vμo mỗi chất liệu có thể phát ra một trong 3 mμu cơ bản: đỏ (red, R), xanh lơ hoặc xanh nước biển (blue, B) vμ xanh lá cây (green, G) Điện tử phải đi qua một mặt nạ gồm rất nhiều lỗ để được định hướng

chính xác vμo các phần tử phát mμu Khoảng cách giữa các lỗ trên mặt nạ hay kích

thước của các điểm ảnh (pitch) trên mμn quyết định độ phân giải của một mμn hình

Muốn thể hiện hình ảnh trên mμn hình ta phải điều khiển tia điện tử, được phát xạ ra từ một catốt bị nung nóng ở đuôi đèn, di chuyển từ trái sang phải (tạo ra dòng) vμ từ cao xuống thấp (tạo ra mμnh), đồng thời ta điều chế cường độ của tia điện

tử theo độ sáng của hình ảnh muốn hiện trong suốt thời gian tia điện tử chuyển động

đến phần loe ra của đèn Những lúc tia điện tử gặp đầu mút bên phải cũng như bên dưới của mμn hình nó sẽ bị tắt vμ được lái rất nhanh theo hướng ngược lại để lại bắt

đầu quá trình "quét" tạo ra dòng mới vμ mμnh mới Tuỳ theo cách thực hiện việc quét

ta có thể có cách quét 1 mμnh hay 2 mμnh xen kẽ Tuỳ theo các tiêu chuẩn khác nhau

ta cũng có các thông số về dòng quét cho một mμnh, tần số quét dòng hoặc tần số quét mμnh với các trị số khác nhau

Cho dù có các thông số khác nhau, một mμn hình cho máy vi tính thông thường phải bao gồm các mạch dao động để tạo ra xung quét dòng, xung quét mμnh dùng vμo việc điều khiển chuyển động của tia điện tử vμ mạch khuếch đại tín hiệu hình để điều khiển cường độ sáng của tia điện tử đó Để mμn hình nμy hiện thị được thông tin, ta phải cung cấp các tín hiệu đồng bộ cho các bộ tạo dao động nói trên vμ cung cấp tín hiệu chứa thông tin về đối tượng cần hiện thị (tín hiệu hình) cho bộ khuếch đại ảnh Cả 3 tín hiệu điều khiển nμy phải được đồng bộ với nhau để một

điểm ảnh của hình phải được hiện ra tại cùng một vị trí trên mμn trong mỗi mμnh

Cách hiện thị ký tự

Ký tự hoặc hình vẽ được hiện lên mμn hình bằng tập hợp các điểm (dot) sáng

hay tối Trong chế độ văn bản (text mode) các điểm nμy được hình thμnh bằng việc có

cho tia điện tử đập hay không đập vμo mμn huỳnh quang theo một khuôn mẫu có sẵn, trong đó các điểm được tổ chức theo ma trận

Trên hình 9.6 lμ thí dụ các ma trận điểm dùng lμm mẫu chữ phục vụ cho việc

hiện thị chữ E vμ chữ H trên mμn hình Chấm đen để biểu hiện những chỗ có điện tử

đập vμo mμn, chấm trắng để biểu hiện những chỗ không có điện tử đập vμo mμn (chữ trắng trên nền đen) Đây lμ ma trận điểm 5ì7 cho các ký tự Các kích thước ma trận khác hay được dùng trong thực tế lμ 7ì9, 7ì12 hoặc 9ì14 Các mẫu chữ như vậy thường được tạo sẵn cho mỗi ký tự ASCII vμ được chứa trong một vi mạch nhớ ROM

có tên lμ ROM tạo chữ

Trang 12

Bộ chia 25*: bộ đếm hμng chữ (25 hμng/mμnh+thời gian quét ngược mμnh)

Hình 9.7 Sơ đồ khối mạch hiện chữ theo ma trận 9ì14 trên mμn hình

Trên hình 9.7 lμ sơ đồ khối của một mạch để hiện thị được một trang mμn hình văn bản gồm 80 ký tự theo chiều ngang vμ 25 ký tự theo chiều dọc (80 ì 25)

Mã ASCII của các ký tự thuộc một trang mμn hình cần hiện thị được chứa

sẵn trong bộ nhớ RAM đệm mμn hình (mỗi ký tự cần 1 byte để ghi nhớ mã của nó)

Nếu ta cần hiện thị 1 trang mμn hình gồm 80ì25=2000 ký tự thì ta cần dùng đến một

bộ nhớ RAM đệm có dung lượng cỡ 2 KB Nội dung của bộ nhớ RAM đệm nμy được bộ

điều khiển mμn hình đưa ra định kỳ để lμm tươi mμn hình sau một khoảng thời gian

nhất định (như vậy mμn hình để hiện thị thông tin lμm việc ở chế độ động) Trong thực tế, bộ nhớ RAM đệm nμy còn phải thâm nhập được bằng bộ vi xử lý để ta còn có khả năng thay đổi được nội dung cần đưa ra hiện thị Các địa chỉ A0-A6 sẽ xác định

vị trí của ký tự cần hiện thị trong 1 hμng còn các địa chỉ A7-A11 sẽ xác định toạ độ tính theo cột của cả một hμng ký tự cần hiện thị Nói cách khác tổ hợp các bit địa chỉ A0-A11 của RAM đệm sẽ quyết định toạ độ cụ thể của 1 ký tự trên mμn hình

Trong thực tế ma trận điểm 9ì14 của bộ ROM tạo chữ có dạng như trên hình 9.8 Các dòng điểm thừa ra ở bốn phía lμ để tạo ra giãn cách giữa các chữ trong 1 hμng vμ giãn cách giữa các hμng với nhau

16.257.000 điểm /s

Tạo xung 16,257MHz Bộ ghi

Tần số điểm

dịch

ữ9

D8-D0 A0-A7

ROM tạo chữ

R0-R3

RAM

đệm

A0-A6 A7-A11

ữ80*

ữ25* ữ14

dòng quét 1 dòng quét 2

dòng quét 7

H.syn 18,432 KHz V.syn 50Hz

Trang 13

điểm đầu tiên (9 điểm cho 1 ký tự) được đưa ra bộ ghi dịch, ở đây dữ liệu từ dạng song song được biến ra dạng nối tiếp rồi đưa đến bộ khuếch đại với tốc độ 16.257.000

điểm/s để điều chế cường độ của tia điện tử phát ra từ catốt đèn hình Nên nhớ rằng khi một dòng quét cho một ký tự vừa xong thì bộ đếm ký tự tự động tăng thêm để ta

có thể lấy ra được dòng điểm của ký tự tiếp theo cần hiện thị ở trong cùng một hμng Công việc cứ tiếp tục như vậy cho đến khi thao tác xong với ký tự thứ 80, lúc nμy tia

điện tử bị lái ngược lại để bắt đầu lại quá trình trên đối với dòng quét tiếp theo

Khi đã quét xong được 14 dòng điểm cho 80 ký tự như trên (tức lμ cho một hμng ký tự) thì bộ đếm hμng ký tự được tự động tăng thêm 1 vμ hμng ký tự tiếp theo lại được quét như đối với hμng ký tự trước đó Quá trình sẽ tiếp diễn cho đến khi thao tác xong với hμng ký tự thứ 25 Lúc nμy tia điện tử bị lái ngược trở lại để có thể bắt

đầu lại quá trình lμm tươi mμn hình từ ký tự đầu tiên trên góc trái của hμng ký tự thứ nhất trên mμn hình

Trang 14

Quá trình lμm tươi một trang mμn hình phải được thực hiện 30-60 lần/s để mắt ta không thể phân biệt được tính không liên tục của quá trình hiện thị

Dồn kênh địa chỉ

2KB RAM mã ký tự

2KB RAM thuộc tính

Đệm vμo,chốt

ra cho bus D

Chốt 8 bit Chốt 8 bit

ROM tạo chữ Giải mã thuộc tính

Logic

xử lý tín hiệu hình Ghi dịch

Hình 9.9 Sơ đồ khối bộ phối ghép mμn hình một mμu của IBM

mμn hình một mμu của IBM

Trên hình 9.9 lμ sơ đồ khối của vỉ điều khiển mμn hình một mμu (monochrome display adapter, MDA) của IBM Nhìn vμo sơ đồ khối nμy ta có thể

nhận ra một số khối chức năng đã được giới thiệu trên hình 9.7 Tần số điểm 16,257 MHz được chia cho 9 ở bên trong khối logic xử lý tín hiệu hình để tạo ra tần số ký tự 1,787.904 MHz, tần số nμy được đưa đến mạch điều khiển mμn hình CRTC 6845 để tạo ra các xung đồng bộ vμ cả các xung khác cần thiết cho việc lμn tươi mμn hình Mạch CRTC có chức năng bao trùm chức năng của các bộ đếm ký tự, bộ đếm số dòng quét vμ bộ đếm số hμng ký tự của hình 9.7 cùng một số chức năng khác, nhưng với khả năng hoạt động linh hoạt hơn nhiều vì nó lμ một vi mạch rất phức tạp lập trình

được Khối logic xử lý tín hiệu hình sẽ xử lý các tín hiệu từ bộ ghi dịch cùng với các tín hiệu điều khiển hình (đồng bộ dòng, đồng bộ mμnh) để tạo ra tín hiệu hình cuối cùng

đưa ra điều khiển trực tiếp mμn hình

Trong hình 9.9 bên cạnh 2 KB RAM đệm chứa các byte lμ mã ASCII của các

ký tự cần hiện thị còn ta còn thấy có 2 KB RAM đệm khác dùng để chứa các byte

đièu khiển đèn hình

Trang 15

Byte mã ASCII Byte thuộc tính

7 6 5 4 3 2 1 0 ⏐ 7 6 5 4 3 2 1 0

Địa chỉ chẵn Địa chỉ lẻa) Dữ liệu trong bộ nhớ RAM đệm

Thuộc tính Các bit của byte thuộc tính

Hình 9.10 Byte mã ký tự vμ byte thuộc tính

Byte thuộc tính (xem hình 9.10) qui định cách thức hiện thị ký tự đã cho trên mμn hình: độ sáng của ký tự, ký tự hiện liên tục hay nhấp nháy, quan hệ giữa mμu nền vμ mμu chữ (ví dụ hiện bình thường thì chữ trắng trên nền đen còn đảo ngược thì chữ đen trên nền trắng) Trong bộ nhớ thực, byte mã ký tự đặt tại địa chỉ chẵn còn byte thuộc tính đặt tại địa chỉ lẻ Mỗi mảng nhớ 2 KB RAM nμy đều thâm nhập được

từ CPU hoặc từ CRTC

Để không xảy ra xung đột giữa CPU vμ CRTC trong khi thâm nhập bộ nhớ, thông thường CPU chỉ được quyền thâm nhập vμo các RAM đệm trong thời gian của các xung quét ngược hoặc cả CRTC vμ CPU đều được chia 1/2 thời gian liên tiếp của xung ký tự để thâm nhập vμo RAM đệm

Để lμm tươi mμn hình, CRTC liên tục đưa địa chỉ đến các ô của bộ nhớ mã ký

tự vμ bộ nhớ thuộc tính Mỗi xung ký tự sẽ cho phép chốt 1 byte mã ký tự vμ 1 byte thuộc tính để đưa đến bộ ROM tạo chữ vμ bộ giải mã thuộc tính Quá trình nμy sẽ tiếp tục cho các ký tự khác trong trang mμn hình vμ cứ lặp đi lặp lại mãi

các xung nhịp vμ xung Đồng bộ

Các bộ phối ghép mμn hình khác nhau có tần số xung đồng bộ dòng, xung

đồng bộ mμnh vμ tần số điểm khác nhau để phù hợp với các loại mμn hình mμ nó phải

Trang 16

điều khiển Nói chung các bộ phối ghép mμn hình thường có tần số xung quét dòng nằm trong dải 15-50 kHz, tần số xung quét mμnh nằm trong dải 50-60 Hz vμ tần số

điểm nằm trong dải 10-100 MHz

thời gian quét trội

thời gian quét mμnh tích cực thời gian quét trội vμ quét ngược

thời gian thời gian quét thời gian

quét trội dòng tích cực quét trội vμ quét ngược

Mμn hình

khung hình

lμm việc

(tích cực)

Hình 9.11 Phân chia thời gian của các xung quét dòng vμ quét mμnh

Ta lấy lại ví dụ bộ điều khiển mμn hình một mμu của IBM để phân tích các xung chính Hình 9.11 biểu diễn sự phân chia thời gian của hai loại xung quét

Giả thiết ta phải hiện thị một trang mμn hình gồm 80ì25 ký tự với ma trận

điểm 9ì14 Như vậy trên khung hình lμm việc của mμn hình ta phải có 80ì9=720

điểm/dòng quét vμ ta phải có tất cả 25ì14=350 dòng quét Nếu ta sử dụng tần số

điểm lμ 16,257 MHz (16.257.000 điểm/s) thì với tần số dòng 18,432 kHz (hoặc dòng quét/s) ta sẽ có (16.257.000 điểm/s)/(18.432 dòng quét/s)=882 điểm/dòng quét Thế mμ trên đây ta vừa tính được lμ trên khung hình lμm việc ta chỉ cần 720 điểm/dòng quét Như thế ta có 162 điểm dôi ra, nghĩa lμ tương ứng về mặt thời gian ta có thêm thời

gian để bù vμo các đoạn quét trội (ngoμi vùng lμm việc của mμn hình) vμ thời gian

quét ngược của tia điện tử theo chiều ngang

Tương tự ta cũng có tần số xung quét mặt lμ 50 Hz (50 mμnh/s), với tần số dòng 18,432 kHz (hay dòng quét/s) ta sẽ có (18.432 dòng quét/s)/(50 mμnh/s)=369 dòng quét/mμnh Trước đây ta đã tính được trong khung hình lμm việc ta chỉ cần 350 dòng quét/mμnh, tức lμ ta có dôi thêm ra 19 dòng quét/mμnh Với số dòng quét dôi thêm ra nμy, tương ứng về mặt thời gian ta sẽ có thêm thời gian để bù vμo các đoạn

quét trội (ngoμi vùng lμm việc của mμn hình) vμ thời gian quét ngược của tia điện tử

theo chiều dọc

Trang 17

• Mμn hình đồ hoạ (chế độ đồ hoạ)

mμn hình đồ hoạ một mμu

Trong chế độ văn bản, các chấm ở đầu ra của bộ ghi dịch lμ hình ảnh của các dòng điểm của các ký tự được ghi sẵn trong ROM tạo chữ Tương tự như vậy, để thể hiện một hình ảnh bất kỳ (trong đó có cả chữ, nhưng không tuân theo một khuôn mẫu sẵn có nμo) ta có thể đưa vμo thanh ghi dịch các điểm thμnh phần của hình đó

Để lμm được diều nμy ta không cần đến bộ ROM tạo chữ nữa vμ bộ nhớ RAM đệm lúc

nμy, thay vì chứa mã ASCII của ký tự, phải chứa các điểm ảnh (pixel hay pel) mμ tổ

hợp của chúng chính lμ hình ảnh cần phải hiện Chế độ lμm việc kiểu nμy của mμn

hình gọi lμ chế độ đồ hoạ, mμn hình hiện thị hình ảnh theo bản đồ điểm ảnh

(bit-map)

Giả thiết ta phải hiện trên khung hình lμm việc 640 điểm ảnh theo chiều ngang vμ 400 điểm theo chiều dọc thì cả khung hình lμm việc nμy tương đương với một ma trận với 256.000 điểm ảnh Nếu để ghi nhớ mỗi điểm ảnh như vậy ta cần 1 bit trong bộ nhớ RAM đệm thì với cả khung hình lμm việc ta phải cần đến bộ nhớ với

dung lượng cỡ 32 KB Từ đây ta cũng nhận thấy rằng nếu phải ghi nhớ thông số cho

một điểm ảnh mμu thì ta sẽ phải tốn thêm nhiều ô nhớ hơn so với cho trường hợp

điểm ảnh một mμu

mμn hình đồ hoạ mμu

Như trước đây đã nói, mμn hình (nhiều) mμu khác mμn hình một mμu bởi sự

có mặt của các cụm 3 phần tử trong lớp huỳnh quang phủ lên bề mặt phía trong của

đèn hình, mỗi phần tử có khả năng phát ra 1 trong các mμu R, B vμ G Mμu của một

điểm ảnh trên mμn hình mμu lμ sự kết hợp của 3 điểm sáng phát ra từ 3 phần tử mμu

đó khi chúng bị 3 tia điện tử đi ra từ 3 súng ở catốt đèn hình bắn vμo Như vậy, để

điều khiển một điểm ảnh của mμn hình mμu ta phải có 3 tín hiệu để điều khiển 3 tia

R, B vμ G, kèm thêm 1 tín hiệu để điều khiển cường độ sáng (I) của điểm ảnh Mμn

hình mμu loại nμy vì vậy còn được gọi lμ mμn hình RBG hoặc mμn hình RBGI Chúng

thường được thiết kế để có thể lμm việc được với các khuôn hình hiện thị khác nhau

vμ với các tần số của các xung đồng bộ dòng vμ mμnh nằm trong một dải nhất định

Ta thấy ngay rằng để ghi nhớ thông tin cho một điểm sáng trên mμn hình mμu trong bộ nhớ RAM đệm theo kiểu đã lμm cho mμn hình một mμu, ta phải tốn 4 bit (thay vì 1 bit như trong trường hợp mμn hình một mμu) vμ nếu ta phải hiện thị trên khung hình lμm việc 640ì400 điểm ảnh thì bộ nhớ RAM đệm cho mμn hình mμu phải có dung lượng cỡ 32 KBì4 = 96 KB

Trang 18

Hình 9.12 16 mμu của mμn hình mμu đồ hoạ CGA

Với 4 bit để chứa thông tin về mμu cho một điểm ảnh ta có khả năng thể hiện

được điểm ảnh đó với 16 mμu (xem hình 9.12)

Để có thể hiện một điểm ảnh với các gam mμu liên tục hơn người ta đã đưa vμo sử dụng các mμn hình tương tự Các mμn hình nμy được nối qua các mạch biến

đổi số - tương tự (DAC) ở đầu vμo vμ các bộ biến đổi nμy được nối đến các vỉ điều khiển mμn hình lμm việc với tín hiệu hình ở dạng số đã có sẵn Ví dụ, nếu ta dùng 2 bit để mã hoá các gam khác nhau cho 1 mμu cơ bản vμ nếu ta dùng 1 bộ DAC 2 bit cho mỗi mμu, ta có thể hiện thị một điểm ảnh với 4ì4ì4=64 loại mμu khác nhau

Trang 19

Để hạn chế bớt số bit cần thiết cho việc lưu giữ thông tin của điểm ảnh mμu

mμ vẫn đảm bảo được gam mμu rộng người ta đã sử dụng việc mã hoá thông tin theo

bảng mμu (palette) Điều nμy có nghĩa lμ trong một thời điểm chúng ta chỉ được sử

dụng một số mμu trong một bảng mμu chứa tất cả các mμu có thể có

Ví dụ, vỉ điều khiển mμn hình CGA của hãng IBM có khả năng hiện thị một lúc 320ì200 điểm với 4 mμu chọn trong bảng mμu gồm 16 mμu Vì tại một thời điểm

ta chỉ hiện 4 mμu nên để lưu giữ thông tin cho 1 điểm ảnh ta chỉ cần 2 bit

Ví dụ khác, nếu tại một thời điểm ta vừa lòng với việc hiện thị 640ì400 điểm

ảnh với 16 mμu trong bảng mμu gồm 256 mμu, chứ không phải lμ với 256 mμu cùng một lúc, ta sẽ chỉ cần đến 4 bit để lưu giữ thông tin cho một điểm ảnh với 1 trong 16 mμu Bộ nhớ RAM đệm sẽ nhỏ đi được một nửa so với trường hợp hiện đủ 256 mμu, lý

do lμ một byte trong trường hợp nμy có thể chứa thông tin cho 2 điểm mμu (xem hình 9.13a)

Việc chỉ dùng một số mμu trong một bảng mμu để lμm giảm kích thước bộ nhớ

đệm lμ rất có lợi đối với các bộ điều khiển mμn hình có độ phân giải cao (vμ như vậy

đòi hỏi bộ nhớ lớn), vì điều nμy lμm giảm được tần số truy nhập bộ nhớ DRAM đệm khi lμm tươi mμn hình

Một biện pháp khác để lμm giảm tần số truy nhập bộ nhớ đệm khi lμm tươi

mμn hình lμ bằng cách tổ chức bộ nhớ đệm theo các mặt nhớ song song để chứa thông

tin của một điểm Cách tổ chức bộ nhớ cho kiểu hiện thị nμy được minh họa trên hình 9.13b

Trong cách lμm nμy, 4 bit thông tin của 1 điểm ảnh được để tại các vị trí giống nhau trong 4 byte liên tiếp của bộ nhớ DRAM đệm Điều nμy tương đương việc mỗi

thông tin về 1 mμu được để trong một mặt điểm (bit plan) Khi bộ điều khiển mμn

hình lấy 4 byte nμy vμo các thanh ghi của nó thì nó có được cả thảy thông tin của 8

điểm ảnh Trong khi 8 diểm ảnh nμy được đưa ra mμn hình thì bộ nhớ DRAM có thời gian hồi phục để lại có thể đọc tiếp được

Với 4 bit thông tin cho một điểm ảnh trong 4 mặt ta sẽ chọn được 1 trong 16 thanh ghi tương ứng vói 1 trong 16 mμu của bảng mμu gồm 64 mμu (thanh ghi nμy có

6 bit cho các mμu đỏ vμ đỏ nhạt, xanh biển vμ xanh biển nhạt, xanh lá cây vμ xanh lá cây nhạt) Đây cũng lμ cách hiện điểm mμu của vỉ điều khiển mμn hình EGA (enhanced graphics adapter, bộ phối ghép đồ hoạ cải tiến)

• Các loại phối ghép mμn hình thông dụng

Trên hình 9.14 lμ bản liệt kê các loại mạch phối ghép mμn hình thông dụng trong thực tế vμ các thông số kỹ thuật chính của chúng Hình 9.14 cũng giới thiệu các khuôn mẫu hiện thị của các vỉ phối ghép mμn hình cho các máy vi tính cá nhân của hãng IBM hoặc tương thích

Trang 20

a) Chứa thông tin theo điểm ảnh

Thanh ghi bảng mμu xxRIGIBIRGB

Hình 9.13 Cách chứa thông tin trong bộ nhớ RAM đệm hình

Các máy tính cá nhân của IBM hoặc các máy tương thích thường không có sẵn khả năng đồ hoạ gắn trên bảng mẹ Người dùng phải lựa chọn để cắm vμo bảng

mẹ một vỉ mạch phối ghép (vỉ điều khiển mμn hình) với khả năng hiện thị ở chế độ văn bản/đồ hoạ thích hợp vμ chọn loại mμn hình phù hợp với bộ điều khiển đó Do vậy tên của bộ điều khiển mμn hình cũng dùng để gọi luôn cho loại mμn hình tương thích

đi kèm với nó

D0 D1 D2 D3

R⏐G⏐B⏐I ⏐R⏐G⏐B ⏐I

D7 D0 điểm1 điểm0 P1 P0

Bộ nhớ đệm hình

D7 D0

0 ⏐ ⏐ I

đệm hình

Bộ nhớ

⏐ ⏐ B ⏐ ⏐G ⏐ ⏐ R

Trang 21

Bộ Chế độ Độ phân Mμu/bộ mμu Loại Có trong

CGA Văn bản 80ì25 4/16 số PC,XT,AT p.g thấp 160ì100 4/16 số PC,XT,AT

p.g vừa 320ì200 4/16 số PC,XT,AT p.g cao 640ì200 2 (đen,trắng) số PC,XT,AT

Hercules một mμu 720ì348 2 số PC,XT,AT

mμu 720ì348 16/64 số PC,XT,AT EGA 640ì350 16/64 số PC,XT,AT

MCGA p.g vừa 320ì200 256 tương tự PS2-25,30

p.g cao 640ì480 2 tương tự PS2-25,30

VGA 11H 640ì480 2 tương tự PS2-50,80

12H 640ì480 16/256K tương tự PS2-50,80 13H 640ì200 256/256K tương tự PS2-50,80 Super VGA 640ì480 256/256K tương tự PS2-50,80

8514/A 1024ì768 256/256K tương tự PS2-50,80

Hình 9.14 Các loại phối ghép mμn hình chính cho máy IBM

Vỉ CGA của IBM

Vỉ phối ghép mμn hình mμu đồ hoạ (Color grahics adapter, CGA) một thời lμ một loại vỉ phối ghép mμn hình rất thông dụng, nó có thể điều khiển mμn hình lμm việc ở chế độ văn bản cũng như chế độ đồ hoạ Hạt nhân của vỉ CGA vẫn lμ vi mạch chuyên dụng CRTC 6845 nổi tiếng của Motorola Mạch CRTC nμy cung cấp các tín hiệu địa chỉ cho RAM đệm để lμm tươi mμn hình, tín hiệu để quét dòng điểm của ma trận điểm trong ROM tạo chữ, các tín hiệu đồng bộ dòng vμ đồng bộ mμnh vμ một số tín hiệu khác Vỉ CGA có thể điều khiển mμn hình mμu với các đầu vμo RBG tách biệt hoặc cung cấp tín hiệu hình tổng hợp được điều chế cao tần cho loại mμn hình mμu tổng hợp

Trong vỉ CGA có bộ nhớ RAM đệm hình với dung lượng 16 KB vμ được bắt

đầu từ địa chỉ 0B800H ở chế độ văn bản, mμn hình hiện được 80ì25 ký tự theo ma trận điểm 8x8, mỗi ký tự cần 2 byte liên tiếp để chứa mã vμ thuộc tính giống như ở bộ

Trang 22

điều khiển cho mμn hình một mμu (xem hình 9.10a; trên hình 9.10b các bit b2b1b0tương ứng với các mμu RGB cho chữ vμ b6b5b4 tương ứng với các mμu RGB cho nền)

Để hiện thị ký tự ta có thể định nghĩa được 8 mμu nền vμ 16 mμu chữ theo tổ hợp với các bit thuộc tính (xem hình 9.12) Bit BL=1 lμ để hiện chữ nhấp nháy, I=1 lμ để hiện chữ với cường độ sáng lớn hơn Như vậy, để lưu giữ thông tin của 1 trang mμn hình văn bản ta dùng hết 4 KB bộ nhớ vμ với 16 KB RAM đệm hình có trên vỉ CGA ta có thể lưu giữ được 4 trang văn bản

Khi lμm việc ở chế độ đồ hoạ, tín hiệu từ RAM đệm được đưa trực tiếp đến các thanh ghi dịch để đưa đến điều khiển riêng biệt mỗi súng điện tử Vỉ CGA có thể lμm việc ở 3 mức độ phân giải: thấp (160ì100 điểm, 4 mμu trong bảng 16 mμu), trung bình (320ì200 điểm, 4 mμu trong bảng 16 mμu) vμ cao (640ì200 điểm, 2 mμu đen vμ trắng)

Vỉ EGA của IBM

Vỉ phối ghép đồ hoạ cải tiến (enhanced graphics adapter, EGA) có bên trong

bộ điều khiển mμn hình giống như mạch CRTC 6845 nên nó cho phép lập trình để

định nghĩa ra tất cả các chế độ lμm việc như ở vỉ CGA, ngoμi ra còn định nghĩa được một số chế độ đặc biệt khác Vỉ EGA sử dụng cách bố trí bộ nhớ đệm theo kiểu mặt

điểm ảnh vμ các thanh ghi bảng mμu (xem hình 9.13 b)

Trên hình 9.13 biểu diễn chế độ hiện thị 640ì350 điểm với 16 mμu trong bảng mμu gồm 64 mμu Bộ nhớ DRAM đệm được xắp xếp thμnh 4 mặt điểm, mỗi mặt chứa

1 bit mô tả thông tin về mμu của 1 điểm Một nhóm 4 bit đọc được từ 4 mặt nμy được dùng để chọn ra 1 trong 16 thanh ghi 8 bit của bảng mμu Chỉ có 6 bit thấp của thanh ghi mới được dùng để đưa ra điều khiển mμn hình Tổ hợp của 6 bit nμy tạo ra các mμu của bảng 64 mμu, đó lμ các mμu trên thực tế hiện thị được theo các giá trị cụ thể

có trong 16 thanh ghi bảng mμu

Bộ MCGA của IBM

Bộ phối ghép MCGA (multicolor graphics array) của IBM được cấy ngay trên

bảng mẹ của máy PS/2 -25 hoặc PS/2 -30 cho phép lập trình để hiện thị trong tất cả các chế độ của vỉ EGA vμ một số chế độ khác Ví dụ, ta có thể lập trình để có chế độ hiện thị 320ì200 điểm với 256 mầu hoặc 640ì480 điểm trắng đen

Vỉ VGA của IBM

Trong vỉ phối ghép VGA (video gate array) cũng có bộ CRTC cho phép lập

trình để chọn ra các giá trị thích hợp cho tần số điểm, số dòng quét mμnh, tần số quét mμnh, số dòng quét trội Vỉ VGA có thể thực hiện được tất cả các chế độ hiện thị của các vỉ CGA vμ EGA cùng nhiều chế độ riêng biệt khác

Trang 23

Ví dụ, vỉ VGA với 8 bit để mã hoá mμu cho 1 điểm ảnh có thể điều khiển hiện thị 256 mμu trong 1 bảng mμu gồm 262.144 (256K) mμu Để lμm được như vậy, bộ nhớ của vỉ VGA được tổ chức thμnh 4 mặt, mỗi mặt chứa 8 bit mã hoá mμu cho 1

điểm Đầu ra của vỉ VGA lμ tín hiệu tương tự cho các mμu RGB Có 3 bộ DAC 6 bit

được nối vμo 6 bit tương ứng cho mỗi mμu của 1 trong 256 thanh ghi mμu 18 bit (hình 9.15a) Các thanh ghi mμu nμy được chọn nhờ nội dung 4 bit thấp của thanh ghi bảng mμu 4 bit cao của byte mã hoá mμu cho 1 điểm chọn ra các thanh ghi bảng mμu còn

4 bit thấp của nó được dùng để chỉ ra địa chỉ phần cao của các thanh ghi mμu (địa chỉ của một vùng các thanh ghi mμu) Như vậy, với 64 mức mμu cho 1 mμu thì ta có bảng mμu gồm 64::24ẳ24::64 =256K mμu

Trên hình 9.15b lμ một ví dụ về chế độ hiện thị 640ì400 điểm 16 mμu Mỗi

điểm ảnh được mã hoá bằng 4 bit để tại 4 mặt điểm 4 bit nμy chọn ra được 1 trong 16 thanh ghi bảng mμu Thanh ghi chế độ chỉ cho phép 4 bit thấp của thanh ghi bảng mμu chọn ra 1 thanh ghi mμu trong nhóm mμu 4 bit thấp của thanh ghi chọn mμu sẽ chọn 1 trong 16 nhóm mμu Như vậy ta có thể chuyển rất nhanh giữa các nhóm 14 mμu nμy

+ Dùng các dịch vụ của ngắt INT 10H của BIOS nếu lμm việc với các máy kiểu IBM Cách nμy thường chậm hơn cách trên nhưng có lợi lμ ta có thể sử dụng các dịnh vụ có sằn của BIOS vμ vì vậy có thể trao đổi chương trình giữa các máy

Ví dụ

Để minh hoạ cho việc lập trình cho mμn hình dùng hợp ngữ bằng cách ghi trực tiếp vμo vùng RAM đệm hiện thị, ta lấy một ví dụ hiện thị một mμn hình 80 cột

vμ 25 hμng ký tự '$' (tức 80ì25 = 2000 ký tự '$') với mμu tía trên nền xanh da trời

Thân của chương trình nói trên viết dưới dạng thủ tục có thể như sau:

Trang 24

a) HiÖn 320×200 ®iÓm víi 256 mμu

b) HiÖn 640×480 ®iÓm 16 mμu

H×nh 9.15 HiÖn thÞ ®iÓm mμu trong vØ VGA

Nhãm 2

:

Nhãm 15

R G

B

66 6

R G

B

66 6

Thanh ghi Thanh ghi mμu b¶ng mμu 18 bit

4

4

Trang 25

ADD DI,2 ; hiện ký tự tiếp LOOP HIEN ; cho đến hết MOV AH,4CH ; về DOS

Disp Endp

4 Phối ghép với thế giới tương tự

Việc phối ghép hệ vi xử lý vμ các thiết bị lμm việc với các đại lượng tương tự lμ một nhu cầu rất hay gặp trong thực tế đời sống cũng như trong công nghiệp Các phần tử mμ hệ vi xử lý cần phải phối ghép thường lμ các đầu đo (bộ cảm biến hoặc bộ biến đổi) ở đầu vμo vμ các cơ cấu chấp hμnh các loại ở đầu ra Để ghép nối với các thiết bị như vậy, thông thường ta phải cần đến các bộ chuyển đổi tương tự-số (analog

to digital converter, ADC), các bộ chuyển đổi số-tương tự (digital to analog converter, DAC) Trong một số trường hợp cụ thể ta còn cần đến một số thiết bị điện tử chuyên dụng khác: bộ khuếch đại đo, bộ chuyển mạch tương tự (bộ dồn kênh hoặc phân kênh tương tự), mạch so sánh số, mạch trích mẫu vμ giữ mẫu, khuếch đại công suất

Cổng

ra

Rơle

điện tửDAC

Trang 26

Các thiết bị trên thường được ghép nối với nhau để tạo thμnh các hệ thu thập dữ liệu (data acquisition system, DAS), các bộ điều khiển, các thiết bị đo lường cao cấp, các thiết bị xử lý dữ liệu thời gian thực , tất cả được sử dụng rất rộng rãi trong công nghiệp cũng như trong đời sống

Ta sẽ không đi sâu vμo từng mạch phối ghép trong các thiết bị cụ thể mμ chỉ nêu ở đây sơ đồ khối của một hệ thống điều khiển dựa trên cơ sở vi xử lý như lμ một

ví dụ đại diện (hình 9.16)

Hệ thu thập dữ liệu có nhiệm vụ phối ghép với các bộ cảm biến về mặt điện

(phối hợp trở kháng, khuếch đại mức tín hiệu ) vμ biến các tín hiệu thu được từ dạng tương tự sang dạng số để CPU có thể đọc vμo vμ xử lý Bμn phím vμ mμn hình lμ 2 thiết bị vμo/ra truyền thống Tuỳ theo quy mô vμ tính chất công việc, chúng có thể lμ các thiết bị rất đơn giản như bμn phím hệ 16 vμ các đèn hiện thị LED, LCD hoặc phức tạp như bμm phím vμ mμn hình giống như trong các máy vi tính thực thụ

Bộ vi xử lý ở đây thường lμ loại chuyên dụng, được chế tạo đặc biệt cho các công việc trong điều khiển (ví dụ như các vi mạch 8051, 8096 hoặc 80186 của Intel) Chương trình viết cho CPU thông thường lμ để thực hiện các thao tác điều khiển của

các khối chức năng theo kiểu tỷ lệ/tích phân/vi phân (PID) bằng phương pháp số Một điểm đặc biệt nữa lμ trong hệ thống điều khiển thường có một đồng hồ thời gian

thực (RTC) để hệ thống có thể thực hiện các yêu cầu điều khiển theo thời gian thực

Các cơ cấu chấp hμnh thường lμ loại số hay tương tự Cơ cấu chấp hμnh số

thường lμ các khoá điện tử hoặc khoá cơ điện dùng để đóng/ngắt các mạch cấp điện cho đối tượng cần điều khiển, vì vậy các cơ cấu nμy chỉ cần được cấp tín hiệu lôgic thích hợp lμ được Các cơ cấu chấp hμnh tương tự cần được nối với hệ vi xử lý qua các

bộ chuyển đổi DAC vμ kèm theo các bộ khuếch đại công suất để thực hiện các thao tác

điều khiển do bộ vi xử lý đưa đến

5 Phối ghép CPU với mạch đếm/định thời gian 8254 (8253)

Mạch định thời gian lập trình được 8254/8253 lμ một mạch phụ rất quan trọng trong các hệ vi xử lý của Intel Nó có thể để đáp ứng được các yêu cầu ứng dụng khác nhau trong hệ vi xử lý: đếm thời gian, đếm sự kiện, chia tần số, tạo ra dãy xung

Sơ đồ khối của vi mạch 8254 vμ cách phối ghép với CPU được thể hiện trên hình 9.17

Các tín hiệu của vi mạch 8254 có tên vμ ý nghĩa giống như của 8088 nên khá quen thuộc vμ ta sẽ không cần phải giải thích nhiều nữa Chân chọn vỏ của vi mạch

8254 phải được nối với đầu ra của một bộ giải mã để định địa chỉ cơ bản cho mạch Cùng với địa chỉ cơ bản, các chân địa chỉ A1 vμ A0 sẽ cung cấp địa chỉ cụ thể của các thanh ghi ở bên trong mạch 8254 khi ghi (lập trình) hoặc đọc thông tin của mạch (xem Bảnh 9.1) Đó lμ 3 thanh ghi cho 3 bộ đếm vμ một thanh ghi cho từ điều khiển

Trang 27

Theo sơ đồ khối ta thấy trong vi mạch 8254 có 3 bộ đếm lùi 16 bit, nội dung ban đầu của mỗi bộ đếm đều có thể lập trình từ CPU để thay đổi được Ngoμi ra ta còn có thể điều khiển được hoạt động của các bộ đếm bằng tín hiệu từ bên ngoμi qua các chân cửa (GATE) để cho phép bắt đầu đếm (GATE =1) hay để buộc kết thúc quá trình đếm (GATE =0)

Đệm bus dữ liệu

Clk1Gate1Out1

Clk2Gate2Out2

0 0 Thanh ghi cho bộ đếm số 0

0 1 Thanh ghi cho bộ đếm số 1

1 0 Thanh ghi cho bộ đếm số 2

1 1 Thanh ghi từ điều khiển

• Khởi đầu cho 8254

Cũng như các vi mạch lập trình được khác phụ trợ cho CPU đã nói từ trước tới nay, sau khi bật điện mạch 8254 phải được khởi đầu để có thể hoạt động theo đúng yêu cầu Một điều cần chú ý lμ trạng thái của 8254 sau khi bật điện lμ không xác

định

Để khởi đầu cho mạch 8254 ta phải ghi từ điều khiển vμo thanh ghi từ điều khiển của nó Dạng thức từ điều khiển của 8254 được biểu diễn trên hình 9.18

Trang 28

D7 D6 D5 D4 D3 D2 D1 D0

Ghi/đọc:

00: lệnh chốt bộ đếm 01: chỉ đọc/ghi byte LSB 10: chỉ đọc/ghi byte MSB 0: bộ đếm HEX 4 số11: đọc/ghi byte LSB, tiếp theo lμ MSB 1: bộ đếm BCD 4 số

Hình 9.18 Dạng thức thanh ghi từ điều khiển của vi mạch 8254

Thanh ghi từ điều khiển dùng để chứa từ điều khiển cho cả 3 bộ đếm Với các bit SC1-SC0 (theo mã hệ 2) ta có thể chọn ra bộ đếm để lμm việc theo cách thức do từ

điều khiển quyết định Trường hợp đặc biệt khi SC1-SC0=11 ta có thể dùng lệnh đọc

ngược để đọc được nội dung hoặc trạng thái của bộ đếm trong thời điểm hiện tại

Các bộ đếm của mạch 8254 đều lμm việc ở chế độ đếm lùi Như vậy số đếm lớn nhất mμ ta có thể đưa vμo để bắt đầu đếm lμ 10000H hoặc 10000, vì sau khi lùi 1 ta

có nội dung mới của bộ đếm lμ FFFFH hoặc 9999 tuỳ theo bit BCD=D0 lμ 0 hoặc 1

Các bit M2M1M0 sẽ xác định các chế độ lμm việc của các bộ đếm, trong đó các

đầu vμo GATE có những tác động khác nhau đến các đầu ra OUT Mạch 8254 có tất cả 6 chế độ lμm việc vμ các chế độ nμy được đánh số từ 0-5

Các bit RW1RW0 cho phép chọn cách thức ghi/đọc với các bộ đếm Ta có thể ghi/đọc tách riêng từng byte của bộ đếm Nếu muốn ghi/đọc liên tiếp 2 byte của bộ

đếm thì ta phải tuân theo thứ tự: byte thấp trước vμ tiếp theo lμ byte cao

Các chế độ lμm việc của 8254

Các chế độ lμm việc của 8254 được mô tả rõ nhất thông qua các biểu đồ thời gian (soạn theo tμi liệu tra cứu của Intel) Trong khi xem các biểu đồ đó ta chú ý các quy định vμ các ký hiệu sau:

Trang 29

1 Các bộ đếm được lập trình để lμm việc theo hệ 16 vμ ở chế độ chỉ đọc/ghi LSB của số đếm

2 CW: từ điều khiển biểu diễn theo hệ 16

3 Các con số nằm dưới đồ thị thời gian:

- N: số bất kỳ,

- số trên: cho MSB

- số dưới: cho LSB

Chế độ 0 - Tạo yêu cầu ngắt khi đếm xong (terminal count, TC)

Biểu đồ thời gian của chế độ 0 được thể hiện trên hình 9.19

Tại đường biểu diễn xung WR có các giá trị CW vμ LSB ứng với thời điểm xung ghi tích cực Đó chính lμ các thời điểm để ghi từ điều khiển CW cho mạch vμ byte thấp của số đếm cho bộ đếm đã chọn

Tại nhóm xung thứ nhất, CW=10H tức lμ ta muốn định nghĩa chế độ 0, chỉ

đọc/ghi LSB vμ chế độ đếm theo hệ 16 cho bộ đếm số 0 Sau khi ghi từ điều khiển vμo thanh ghi từ điều khiển thì OUT=0 Tiếp theo ta ghi LSB=4 lμ phần thấp của số đếm cho bộ đếm Giá trị nμy sẽ được chuyển vμo bộ đếm ở chu kỳ đồng hồ sau Lúc nμy GATE=1 nên từ đây lμ bắt đầu của quá trình đếm ngược Khi bộ đếm đạt tới 0 thì OUT=1 Điều đó có nghĩa lμ nếu ta nạp vμo LSB=N thì sau N+1 xung đồng hồ ta có OUT=1 Ta cũng nhận thấy rằng bộ đếm sau khi đạt 0000H thì sẽ tiếp tục đếm lùi từ FFFFH nếu như nó không được nạp giá trị đếm mới Xung OUT có thể được dùng như

lμ xung yêu cầu ngắt đối với CPU để báo lμ đã đạt được số đếm (TC)

Tại nhóm xung thứ 2 ta thấy được tác dụng của xung điều khiển cửa GATE Khi bộ đếm đang lμm việc mμ GATE=0 thì nội dung của bộ đếm được giữ không đổi cho đến khi GATE=1, lúc nμy bộ đếm lại tiếp tục đếm lùi

Tại nhóm xung thứ 3 ta thấy được hoạt động của bộ đếm khi nó đang đếm mμ

ta có xung điều khiển nạp nội dung số đếm mới Nội dung mới chỉ được đưa đến bộ

đếm tại xung đồng hồ tiếp theo Sau đó bộ đếm lại tiếp tục đếm lùi với số đếm mới

Chế độ 1 - Đa hμi đợi với thời gian lập trình được

Ta đã gặp các mạch đa hμi đợi kiểu tương tự (đa hμi một trạng thái ổn định) với hằng số thời gian do trị số của các linh kiện R vμ C quyết định Mạch 8254 ở chế

độ 1 có khả năng lμm việc như một mạch đa hμi đợi nhưng với hằng số thời gian lập trình được tỷ lệ với chu kỳ xung đồng hồ ở đầu vμo

Biểu đồ thời gian của 8254 ở chế độ 1 được thể hiện trên hình 9.20

Ngày đăng: 28/07/2014, 17:22

HÌNH ẢNH LIÊN QUAN

Hình 9.1.  ả nh hưởng độ rung của công tắc - Chương 9 - Một số phối ghép cơ bản pps
Hình 9.1. ả nh hưởng độ rung của công tắc (Trang 2)
Hình 9.2 Mạch phối ghép bμn phím. - Chương 9 - Một số phối ghép cơ bản pps
Hình 9.2 Mạch phối ghép bμn phím (Trang 3)
Hình 9.3. Lưu đồ thuật toán chương trình phối ghép bμn phím. - Chương 9 - Một số phối ghép cơ bản pps
Hình 9.3. Lưu đồ thuật toán chương trình phối ghép bμn phím (Trang 4)
Hình 9.4. Phối ghép vi xử lý với LED 7 nét thông qua mạch SN7474. - Chương 9 - Một số phối ghép cơ bản pps
Hình 9.4. Phối ghép vi xử lý với LED 7 nét thông qua mạch SN7474 (Trang 8)
Hình 9.5. Phối ghép hiện thị ở chế độ động vμ dồn kênh. - Chương 9 - Một số phối ghép cơ bản pps
Hình 9.5. Phối ghép hiện thị ở chế độ động vμ dồn kênh (Trang 9)
Hình 9.6. Hiện chữ - Chương 9 - Một số phối ghép cơ bản pps
Hình 9.6. Hiện chữ (Trang 12)
Hình 9.9. Sơ đồ khối bộ phối ghép mμn hình một mμu của IBM. - Chương 9 - Một số phối ghép cơ bản pps
Hình 9.9. Sơ đồ khối bộ phối ghép mμn hình một mμu của IBM (Trang 14)
Hình 9.12. 16 mμu của mμn hình mμu đồ hoạ CGA. - Chương 9 - Một số phối ghép cơ bản pps
Hình 9.12. 16 mμu của mμn hình mμu đồ hoạ CGA (Trang 18)
Hình 9.15. Hiện thị điểm mμu trong vỉ VGA. - Chương 9 - Một số phối ghép cơ bản pps
Hình 9.15. Hiện thị điểm mμu trong vỉ VGA (Trang 24)
Bảng mμu                   18  bit - Chương 9 - Một số phối ghép cơ bản pps
Bảng m μu 18 bit (Trang 24)
Hình 9.16. Sơ đồ khối của hệ thống điều khiển dùng vi xử lý. - Chương 9 - Một số phối ghép cơ bản pps
Hình 9.16. Sơ đồ khối của hệ thống điều khiển dùng vi xử lý (Trang 25)
Hình 9.17. Sơ đồ khối của vi mạch 8254. - Chương 9 - Một số phối ghép cơ bản pps
Hình 9.17. Sơ đồ khối của vi mạch 8254 (Trang 27)
Hình 9.18. Dạng thức thanh ghi từ điều khiển của vi mạch 8254. - Chương 9 - Một số phối ghép cơ bản pps
Hình 9.18. Dạng thức thanh ghi từ điều khiển của vi mạch 8254 (Trang 28)
Hình 9.19. Thí dụ biểu đồ thời gian của 8254 ở chế độ 0 - Chương 9 - Một số phối ghép cơ bản pps
Hình 9.19. Thí dụ biểu đồ thời gian của 8254 ở chế độ 0 (Trang 30)
Hình 9.21. Thí dụ biểu đồ thời gian của 8254 ở chế độ 2 - Chương 9 - Một số phối ghép cơ bản pps
Hình 9.21. Thí dụ biểu đồ thời gian của 8254 ở chế độ 2 (Trang 35)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w