1Í TRƯƠNG'TẤN HAI jor TRƯỜNG ĐẠI HOC GIAO TRÔNG VẬN TẮLG SỞ? Horns — s KY THUAT VEXU LY | law l “. td : eg Re ". be! Sees ` poly. " ca F so nh nh.
a Tage read eee Covet a a TRUONG DAI HOC GIAO THONG VAN TAI - HA NOI 1997 k CHRUGNG VI: VAO/RA DIEU KHIEN BANG CHUONG TRINH VI. GIỐI THIỆU CHUNG: Các hệ vi xử lý ứng dụng đỏi hỏi trao đổi số liệu giữa các mạch bên ngoài với bộ vi xử lý, giữa bộ vi xử lý với bộ nhớ. Sự trao đổi số liệu như vậy được gọi là quá trỉnh vào/ra. Cố nhiều phương pháp điều khiển trao đổi thông tin nhưng có thể chia chúng thành ba nhóm chính sau : , 1, Vàojra điều khiển bằng chương trình 2.
Vào/ra điều khiển bằng ngắt 3. Vao/ra diéu khién bang phan cứng ' Oo nhom thứ nhất, chương trình điều khiển quá trình trao đổi số liệu, có nghĩa là vào/ra ; duge thuc hién khi chương trình thực biện lệnh trao đổi vào/ra. Trong nhiều trường hợp cần xác định trạng thái SANSANG cia thiét bị trước khi trao đổi số liệu, bằng cách kiểm tra cờ bên ngoài hoặc các bít trạng thái liên quan với vào/ra. Ngược lại, trong nhóm thứ hai, thiết bị ngoài kích đầu vào ngắt của bộ vi xử lý để thông báo cho bộ vi xử lý biết khả năng trao đổi số liệu.
Việc chấp nhận yêu cầu ngất ở. một số đầu vào ngắt của bộ vi xử lý được điều kbiển bằng chương trình. Khi bộ vi xử lý chấp nhận ngất, nó dừng chương trình đang thực hiện và chuyển điều khiển đến chương trình phục vụ ngắt. Chương trình con này trao đổi số liệu, rồi trả điều khiển cho chương trình đang thực hiện bị ngắt.
Trong nhóm này việc trao đổi số liệu được xác định trước bằng mạch cứng bên ngoài và được điều khiển bằng chương trỉnh phục vụ ngắt. Trong nhớm ở, phần cứng điều khiển trao đổi số liệu hay xâm nhập trực tiếp bộ nhớ (DMA - DIRECTMEMORY ACCESS). Viéc trao déi số liệu là trực tiếp giữa bộ nhớ và vào/ra. Số liệu không đi từ vào/ra đến các thanh ghi của bộ vi xử lý rồi tới bộ nhớ, hoặc theo hướng ngược lại, mà trao đổi trực tiếp giữa thiết bị ngoài và bộ nhớ.
Bộ vi xử lý xác định trước cho DMA địa chỉ khởi đầu của bộ nhớ và tổng số từ sẽ truyền. DMA được sử dụng chủ yếuở nơi có yêu cầu trao đối số liệu với tốc độ cao. Như đã trình bàyở trước các cửa vào và các cửa ra là các thanh ghỉ ngoài. Một số phân loại bộ vi xử lý phát sinh tính hiệu điều khiển để phân biệt vùng địa chỉ các thanh ghi ngoài (liên quan tới thiết bị vào/ra) với vùng địa chỉ các thanh ghi ngoài gọi là các ngăn nhớ.
Tín hiệu điều khiển IO/M của 80854 xác định địa chỉ và số liệu cho b6 nhé (IO/M= 0), hoặc vào/ra (IO/M ='1). Hướng trao đổi số liệu của vào/ya xác định bằng xung RO = 0 (vao) va WR = 0 (ra). -—— me 0000H 00H 00H địa chỉ vùng địa chỉ |,. — địa chỉ nhó ˆ ` đefavào| 7 ˆ cửa vào FFFFH ˆ, FFH FF Cac tin hiệu điều khiển : .1JO/M=0_ © - IO/M = 1 -- -IO/M=1 hoặc RD = 0 WR=0.
hoặc - hoặc : _ MEMW = 0 TR = 0= 0 ¬.= 0 ee th ` “Hình 6. CáctÍnhiệudiềukhiểnchonvùngnhóvào/ra. Vào/ra tách biệt. Chỉ có lệnh IN vào lệnh OUT trao đổi số liệu trong vào/ra tách biệt.
Lệnh IN vào OUT đời hỏi ba chủ kỳ máy để thực hiện. Chu kỳ thứ nhất là OPCODEFETCH.thứ hai MEMORY RBAD nhận địa chỉ của 8 bit từ bộ nhớ vào cả hai thanh ghi W và Z. Chu kỳ thứ ba:'là INPUT' hoặc OUTPUT, chu ky nay lénh OUT gui số liệu từ bộ vi xử lý ra thiết bï.ra, lệnh IN nhận số liệu vào bộ vi xử lý từ thiết bị vào. Trong chu kỳ máy INPUT hoac OUTPUT, 8 bit dia chi cta tit hai thanh ghi W va Z được gửi vào bus địa chỉ /số liệu ADO-AD7 và vào bus địa chỉ A8- A15: Trên hình 6.2 là biểu đồ thời gian của chu kỳ lệnh In.
Các xung RD và WR xác định thời điển để chốt cửa vảo 3 trạnh thái kích Bus số liệu hơặc thời điểm để cửa ra chốt số liệu từ bus.2a chỉ số quan hệ thời gian giữa địa chỉ cửa và xung ED của 8085A trong chự kỳ may INPUT.2b là quan hệ thời gian giữa địa chỉ cửa và xung WR. Đối với các cửa vào, bộ giải mã cớ đầu vào là RD, IO/M, va địa chỉ cửa sẽ sinh ra xung chọn thiết bị vào duy nhất cho mỗi cửa vào (xem hình 6. Xung näy chỉ xuất hiện. trong chu kỳ INPUT của lệnh IN.
Xung chọn thiết bị vào mở bộ đệm 3 trạng thái của cửa vào. Nếu cớ lỗi thiết kế hoặc lỗi chương trình các bộ đệm 3 trạng thái của 2 hay nhiễu cửa hoặc bộ nhớ đồng thời được chọn. Như vậy cả 2 hay nhiều. thiết bị đồng thời kích bus số liệu, gây ra chập mạch trên bus số liệu.
Đối với cửa ra, bộ giải mã có đầu vào là WR, IO/M và địa-chỉ cửa ra sẽ sinh ra xung chọn thiết bị ra để chọn: cửa ra.3 xung này chỉ xuất hiện trong chủ kỳ OUTPUT của lệnh OUT. Thông thường mỗi xung chọn thiết bị ra làm nhịp cho một cửa ra. Có thể có hai hay nhiều cửa ra được chọn đồng thời. Thiết kế mạch logic thiết bị phụ thuộc vào số lượng thiết bị vào/ ra mà hệ yêu cầu.
Không cần giải mã địa chỉ cửa nếu hệ chi có một cửa vào và một cửa ra. Tín hiệu điều khiển IO/M tổ hợp với RD để tạo LOR và với WR để tạo xung viết LOW. Các xung nhịp 4 này điều khiển trực tiếp thanh ghi đệm vào và thanh ghi chốt ra. Nếu trong hệ cố nhiều cửa vào và cửa ra, cần phải giải mã địa chỉ để tạo xung chọn thiết bị cho mỗi cửa.
Phương pháp giải mã địa chỉ đơn giản nhất là chọn tuyến tính. Nó không đòi hỏi mạch logic, nhưng chỉ sử dụng cho hệ có tổng số cửa vào ít hơn hoặc bằng 8 và tổng số cửa ra Ít hơn hoặc bằng 8. © đây mỗi bit địa chỉ eó quan hệ loại trừ với cửa vào/ra và tổ hợp lôgic với IO/M va RD hoặc WR dé tao xung chọn thiết bị, trong chu kỳ mày ở thời điểm cha xung RD hoặc WR xuất hiện trừ đi độ trễ của mạch lôgic chọn.3 bịt địa chỉ A4 =1 chọn cửa 16. Xung chọn thiết bị vào IDSPI0H được sinh ra tu A„ IO/M và RD.
Dau ra IDSP10H cho phép b6 dém 8 tranh thai kích bus. ` Bất lợi của phương pháp chọn tuyến tính là lỗi chương trình gây nguy hại cho phần cứng. Nhầm lẫn địa chỉ cửa gây ra 2 hay nhiều cửa vào kích bus đồng thời. Giả sử chọn dây địa chỉ A¿ và A+ cho các cửa vào 4 và 8.
Nếu lệnh IN12 là lỗi của chương trình thi cả cửa 4 và 8 đồng thời được chọn. Như vậy khi sử dụng phương pháp này, phải đâm bảo không chọn 2 cửa đồng thời. Phương pháp chọn tuyến tính giới hạn tổng số cửa vào và ra của hệ. Để chọn nhiều cửa vào/ ra, cần cớ bộ giải mã địa chỉ.
Tổng số thiết bị ngoài cho phép là 512; 256 địa chỉ cho lénh IN va 256 cho lénh OUT. Khi giải mã các bít địa chi để cd nhiều xung chọn thiết bị vào, ta cần các bộ giải mã cố nhiều đầu vào bởi vì chúng làm giảm tổng sé IC cần thiết. Nếu một hệ yêu cầu 4 (hay Ít hơn) cửa vào và ð (hay Ít hơn) cửa ra thì có thể sử dụng một bộ giải mã 74LS139. 7415139 có 2 bộ giải mã, mỗi bộ có 4 đầu ra.
Một đầu vào của giải mã nối véi I/OR, 2 đầu còn lại nối với các bit địa chỉ AO và AI. Bốn đầu ra cho -xung chọn thiết bị vào, xem hình 6. Nếu không xuất hiện xung nhịp I/DOR thì 4 cửa ra đều có mức logic 1. Một trong các đầu ra có xung chọn thiết bị là 0 khi đầu vào LƯOR = 0.
Việc chọn cửa ra cũng tương tự như chọn cửa vào, nhưng đầu vào có mức tích cực thấp không nối với UƠÑR mà nối với A, tA c eat (OR. Tin hin mini ne luan TLK 1M" S, So Ag-A; AD; AD, Hinh 6. Biéu do thii gian đọc MW hoac [OW MW heac Ol’ | MW 10W Tiá hệ T Tz 1 T; TWAIT CLK o/M 20,50 s My t whhote (raw)2212 AYR. lo (Mw) hoge C10 As-Ais AD,-AD, [ALE ¬ WR READY Hình 6.
Biểu đồ thời gian viết tt ee IN2. , A; 2uT8 A4 ——^e kẻ OpsPosH fen en — - WR RD : - Ay lô¡8 ISPØZH ips = Ae SE off ^ TN r onaroan oD 4 RD wR———Ì>>—] Hinh 6. Tạo xung chọn thiết bị vào và ra bằng phương pháp tuyến tính Bởi vì chỉ có 2 bit địa chỉ thấp nhất nối với bộ giải mã và các bit địa chỉ còn lại không được sử dụng cho nên có thể nhiều lệnh IN höặc OUT với các địa chỉ khác nhau sẽ cho cùng xung chọn thiết bị. Thí dụ, xung chọn thiết bị IDSPOOH được tạo ra khi thực hiện các lệnh TNO hoặc IN4, IN8, 1N12, TNI16, IN20, v.
Các bộ giải mã với 6 đầu vào linh hoạt hơn. Ví dụ, các bộ giải mã 1 từ 8 có tên 8205 và 74L138.ð khi 8205 hoặc 74LS138 được sử dụng để phát sinh xung chọn thiết bị cho hệ 8085A, các xung chốt RD hoặc WR phải nối với một trong các đầu vào "chọn ƒ————— mạch" với mức tích cực thấp, còn đầu vào "chọn mạch" với mức tích cực thấp kia được nối với đất. Tín hiệu IO/M được nối với đầu “chọn mạch" với mức tích cực cao (xem hinh 6. Như vậy không cần thêm mạch lôgic để sinh ra LOR hoặc IOW, bởi vì chúng đã có sẵn bên trong 8205 hoặc 7415138.
— A}, >——»iDsPo0H “1, a ODSPOOH 2 Ao 1⁄2. Aa—¬ —zIDSPð01 ^8— ODSPOTH 1912 | ipspom | 215132 ODSP22H bh|DSPo3H l/0w ——" ODSP03H ~ " ——————. Az ——slA; O, ——>iDSP00H A2 A2 O p——>©DsPoon A4 ———>|ÀJ 0, P IDSPO01H at 4 0, b OpSPOTH - ae Aoe ——¬DlAo. ——4 _— O7 |__» ODSPO3H I0/A ——}| „ : Ioff———> Hình 65.
a) Bộ giải mã tạo ra xung "chọn cửa vào". b) Bộ giải mã tạo ra xung "chọn cửa ra" Các bộ giải mã cớ đầu vào "chọn mạch” mắc liên tiếp nhau cho phép tạo nhiều hơn các xung "chọn thiết bị".6 là sơ đồ của 17 bộ giải mã 1 từ 16 có tên 74L154, cung cấp 2ð6 xung chọn thiết bị. A3 —ib 2 PSPQ@6H — 4 pb—> DSPØ1H ——>E e .