pny “Tu 1Í
jor TRƯƠNG'TẤN HAI
TRƯỜNG ĐẠI HOC GIAO TRƠNG VẬN TẮLG SỞ?
Horns — s KY THUAT VEXU LY | (TẬP I) a a ` : a F be! re ¬ " ¬ eg Re ¬ l Covet ad “` ca " _— “.= a eee Tage eS nh nh so poly Sees td a Lat law
TRUONG DAI HOC GIAO THONG VAN TAI
Trang 2me
-——
CHRUGNG VI:
VAO/RA DIEU KHIEN BANG CHUONG TRINH
VI.1 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 ngồ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 ngồ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ị ngồ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 ngồ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ị ngồ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ỉ ngồ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 ngồi (liên quan tới thiết bị
vào/ra) với vùng địa chỉ các thanh ghi ngồ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)
Xem hình 6.1
Trang 30000H 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
MEMR = 0 hoặc - hoặc : _
MEMW = 0 TR = 0= 0 ¬ = 0
` “Hình 6.1 CáctÍnhiệudiềukhiểnchonvùngnhĩvào/ra
1 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 Chu kỳ.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.và OƯT 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 Hình 6.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 - trong hình 6.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.3) 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 Xem hình 6.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
ec
ce
th
Trang 4nà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 Trên hình 6.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ị ngồ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.4
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 TLK mini ne luan
1M" S, So Ag-A;
AD; AD,
Hinh 6.2a Biéu do thii gian đọc
Trang 5
MW hoac [OW MW heac Ol’ | MW 10W
Tiá hệ T Tz 1 T; TWAIT
CLK
o/M
s My t whhote (raw) 2212 AYR lo (Mw) hoge C10 20,50 As-Ais AD,-AD, [ALE WR READY
Hình 6.2b Biểu đồ thời gian viết
IN2 , A; 2uT8 A4 ——^e kẻ OpsPosH — - WR RD : - Ay ISPØZH = Ae SE TN onaroan ^ r oD 4
lơ ¡8 ips off
RD wR———Ì>>—]
Hinh 6.3 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.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 Xem hình 6.ð 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.5) 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
Trang 6~ " —————— O p——>©DsPoon 0, b OpSPOTH - ae _— O7 | » ODSPO3H Az ——slA; O, ——>iDSP00H A2 A2 A4 ———>|ÀJ 0, P IDSPO01H at 4
Aoe ——¬DlAo ¬ hor Ao
a g205 WR
RD ˆ ——4
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ị" Hình 6.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ị L | FE OAPANY
Hình 6.6, Với 17 bộ giải mã 74L154 mã hố cho 8 bit địa chỉ của
A3 —ib 2 PSPQ@6H — 4 pb—> DSPØ1H ——>E ee Ao —>4A 741S4- 4d, ; 6 , & 16 DSPOFH 2 p> DSP1OH - —» DSP1NH: bee DSP1FH pSP@@H be DSPFAH ° id b— DSPFPH
Để nâng tổng số vào(ra trong một hệ hơn ð12, cần cĩ thanh ghi địa chỉ mở rộng Nĩ
chỉ là một thanh ghỉ đơn giản, giữa các bit phụ để địa chỉ hố các cửa Nạp nĩ bằng lệnh
OUT Các cửa ra của hệ được chọn bởi giải mã đầu ra của thanh ghì ấy với địa chỉ ra
thơng thường Như vậy, nếu sử dụng thanh ghi địa chỉ mở rộng 8 bit, cĩ thể địa chỉ hố
65-281 (256 x 256 + 1; 6 đây 1 là địa chỉ thanh ghi dja chi mé réng).-
Trang 7# Bus tachi oe -_ — — =m—— — aby Xã Thanh ghi > >?
dig chi mo? ~_, Biachi cua
rong 5 biinh thong
Địa cđI _ c4 < mở Yữhø J Cac thuét bị _V40 F4 ^A⁄!*^ g Rus số liêu
Hình 6.7 Thanh ghi địa chi md rong
Thanh ghi địa- chỉ mở rộng được nạp một trong 256 tổ hợp mã để cung cấp 8 bit phần
cao địa chỉ cửa, cịn phần thấp là 1 trong 255 tổ hợp Một tổ hợp là địa chỉ của thanh ghỉ
mở rộng Phần chương trình cho cấu trúc vào/ra loại này, cần gửi ra các cửa vào/ra địa chỉ phần cao để nạp vào thanh ghi địa chỉ mở rộng (hỉnh 6.7)
Các xung "chọn thiết bị" cũng cĩ tác dụng như các xung điều khiển thiết bị ngồi khi khơng trao đổi số liệu Chỉ cớ lệnh OUỨT được dùng để sinh ra các xung như thế, vì lệnh
IN lam thay đổi nội dung thanh chứa Trong hình 6.8 phần mềm tạo các xung chọn thiết
bị để điều khiển một thiết bị ngồi bởi lập hay xố ẩip - flop Thue hién lénh OUT 1 lap
flip - flop, trên đầu ra của bộ đảo hở cực gĩp là mức logic O để đĩng rơle bán dẫn, cĩ tác dụng như đĩng một cơng tắc Dịng điện chạy từ nguồn xoay chiều 120V qua rơle bán dẫn đên mơồtơ Thực hiện lệnh OƯTO xố flip - fop làm ngất mơtơ Chú ý rằng số liệu trong bus số liệu khi thực hiên lệnh OUT khơng gây ảnh hưởng đến hệ thống vì nĩ khơng được chốt ` 'ODSP@1H ` Ra le SET ⁄ - Ip 4> bán M4eh | | 34T |mơ†ơ lật —T—— & Ops sạn | 129 VAC
Hình 6.8 Tạo xưng chọn thiết bị bằng chương trình đề điều khiến một thiết bị ngồi
Trang 8wee
we
ee
2 Vao/ra theo địa chỉ bộ nhớ
Các lệnh qui chiếu bộ nhớ cĩ khả năng trao đổi số liệu giữa thiết bị vào/ra với bộ vi
xử lý, chừng nào cửa vào/ra được gán cho vùng địa chỉ của bộ nhớ Các thanh ghỉ liên
quan tới cửa vào/ra coi như là các ngăn nhớ Ví dụ : Chọn bit A15 để phân biệt qui chiếu bộ nhớ hoặc thiết bị vào/ra Nếu Alð=0, các ngăn nhớ, được địa chỉ hố Nếu A1ð = 1, các thanh ghi cửa vào/ra theo địa chỉ bộ nhớ được địa chỉ hố Như vậy cĩ 32 Kbyte của vùng địa chỉ bộ nhớ đành cho bộ nhớ và
32 K cịn lại dành cho vào/ra theo địa chỉ bộ nhớ Bộ légic bên ngồi sinh ra xung chọn
thiết bị vào/ra chỉ khi IO/M = 0 địa chỉ tương ứng nơi trên bus địa chỉ và cĩ xung nhịp RD hoặc WR 7
Trao đổi số liệu vao/ra theo dja chi bộ nhớ khơng chỉ giới hạn trao đổi với thanh chứa
của bộ vi xử lý : l
Ví dụ : Một số lệnh sau đây của 8085A cĩ khả năng nhận số liệu từ các cửa theo địa
chỉ bộ nhớ
Lénh Giải thích
MOV r, M : Vao s6 liéu tu 1 cia téi thanh ghi trong
LDA : Vào số liệu từ một cửa tới thanh chứa
LHLD : Vào số liệu từ 9 cửa tới H, L
ADDM : Vào số liệu từ lcửa rồi cộng số học với thanh chứa
ANA A : Vao số liệu từ 1 cửa rồi cộng lơgic với thanh chứa,
Một số lệnh sau cĩ khả năng gửi số liệu ra cửa theo địa chỉ bộ nhớ Lệnh si Giải thích
MOVM,r : Gửi số liệu ra cửa từ thanh ghi trong
STA © : Gửi số liệu ra cửa từ thanh chứa "
SHLD : Gửi số liệu ra 2 cửa từ H và L
MVI M, data : Gửa số liệu trực tiếp ra cửa
Tậnh trao đổi vào/ra 16 bit SHLD, LHLD làm giảm thời gian thực hiện chương trình
Khi bộ vi xử lý gửi ra địa chỉ và xung điều khiến để đọc bộ nhớ, đĩ khơng cần xác
định nơi gửi số liệu vào là bộ nhớ hay thiết bị vào ra Nĩ chỉ địi hỏi nơi gửi số liệu vào
trong khoảng thời gian cho phép hoặc sử dụng đầu vào READY để tạo ra một số trạnh
thái WAIT cần thiết Tương tự như vậy, khi bộ xử lý viết bộ nhớ, nĩ cung cấp địa chỉ, số
"liệu và xung nhịp rồi tiếp tục chức năng sau của nĩ Bộ lơgic bên ngồi xác định bộ nhớ : hay vào/ra nào sẽ tiếp nhận số liệu đưa ra
_— Trên thị trường cớ nhiều thiết bị vào/ra tương tự và số (xem chương 9) đã cĩ sẵm mạch nối ghép tương tự như các ngăn nhớ để thích nghỉ trực tiếp với bộ vi xử lý `
3 Các cửa vào/ra MSI _ -
Các cửa vào/ra cố thể là các vi mạch cỡ nhỏ, cỡ vừa hoặc cỡ lớn Để giảm tổng số mạch trong hệ, các mạch MSI hoặc LSI được thơng dụng hơn Một số vi mạch MST là các cửa vào ra trên một chip Mộtcửa ra thơng thường là thanh ghi đơn giản hoặc thanh ghi
9
Trang 9
chốt Cửa ra 8 bit cĩ.thể là một thanh ghi chốt 8 bit Trên hình 6.9 là hai thanh ghi chốt
8 bít cĩ tên 74LS373 và- 74LS374 ‘
Mech 74LS373 gdm 8 ch6t theo mức đương loại D cơ một đầu vào mở mạch (đồng
hồ) Để kích đầư mở ruạch, cần cĩ xung chọn thiết bị ra với mức tích cực cao Xung này
được ginh ra bởi đảo xung chọn thiết bị ra với mức tích cực thấp hoặc được sinh ra Tnột
cách trực tiếp
Mạch 24L8874 gồm 8 chốt theo sườn dương loại D với xung đồng hồ chung Như vậy, _ đầu vào xung địng hồ được kích bằng xung chọn ra cĩ mức tÍch cực thấp hoặc cao, độ dốc
của sườn xung (20ns) phải thích hợp: Khảo sát chu kỳ máy viết vào/ra (L/O WRIE) trên hình 6.2b ta thấy rằng 8085A cung cấp số liệu ổn định kể từ sườn lên cha WR -
' Ca 2 mach 74LS373 va 743374 đều cĩ đầu ra 3 trạng thái Các bộ đệm 3 trạng thái cĩ đầu điều khiển ra với mức tích cực thấp Nếu nớ được sử dụng như cửa ra thì các bộ
đệm ra được mở hoặc điều khiển bởi thiết bị ra
OUTPUT TPƯT CON => _ SONIROL, ~ Oo (D + ~T } — ; - ‘
10 - ; miề BH Ce @ 10 2 16 CIC Tee de AQ
Zo “te Pa sá Cu 20——— Fi; “4 | mì Ea (8) 2a
30 7) | DL (7) tp ho Bs” Lo 3a 40 S154 FT %“ l ca LY Ko £9? he J & 5ơ (3) } Jp Tus 50.321 fp : -= 5a al 58 60 (14) PT: PT 60 (BL 7 zai > =} 15) _ 66 7o (17) | œ — Ade ZO (13) TP 6 ENABLE G- 41 4
7415373 OO" TALS BTA:
Trang 10Mạch 9334 của hãng NAIIONAL là chốt 8 bit loại D, cĩ thể địa chỉ hố riêng biệt Nếu dùng nĩ làm cửa ra thì khơng cần thêm bộ giải mã 9334 hoạt động như bộ giải mã
1 từ 8 và cĩ chốt D ở mỗi đầu ra (xem hình 6.10) Tám chốt này coÌl như 8 cửa ra, mỗi
-vơ cho một bít cửa (xem hình 6.11) Các đầu vào địa chỉ nối với AO - A2 của bus địa chỉ
IN/M nối với đầu vào mở mạch, WR nối với đồng hồ Nếu hệ cần nhiều cửa ra thì chúng ` được nối thành nhớm 8 mạch Các bit địa chỉ thêm 1 tổ hợp lơgic với WR,để tạo tÍn hiệu
_ mở mạch cho mỗi nhĩm 8 cửa
Mỗi chốt địa chỉ hố được ở loại 9334 được sử dụng như tầng bit riêng biệt của cửa ra 8 bit Các đầu vào cĩ thể nối chung chẳng hạn với 1 bit số liệu
Mỗi chốt D được địa chỉ hố bằng một lệnh ra khác cĩ thể thay đổi một bit của cửa ra mà khơng làm ảnh hưởng đến các bit khác Chỉ cần hai loại lệnh để lập mức lơgic 1 hay légic 0 cho bít đĩ là nạp vào thanh chứa giá trị 00H hoặc 01H và lệnh OUT cho cửa đã chọn, ví dụ các lệnh sau đây lập mức logic 1 cho bit 7
với đầu ra 3 trang thai (xem hinh 6.12) Cac bộ đệm 3 trạng thái được chia làm 2 nhĩm Mỗi nhớm cĩ mở mạch chung mức tính cực thấp Các
bộ đệm trong 74LS378 và 74LS374 đều cĩ trigơ
.- vào loại Schmitz để chống nhiễm ,
|/0⁄ Ao A4 A2
wa 4 Bp cn Catadinvra MVI A,O1H „
Se ligy D Q "nhịp > 1 Ƒ> OUT 7 f & 2 ——— _- 4 —> Dy = >| 9334 |“? 14 > &6‡>—> # chi | R a7 Db—>| 93342 |—” : 6 Hình 6.10 Chốt 8 bit cĩ địa chỉ D 9334 <> « ane 8
Các lệnh này làm nhiệm vụ là cĩ thể lập hay Da ¬——¬ 933+ Lz“>
xố một bit của cửa 8 bit và cA 8 bit thay đổi Bus sd tiga’ | “
đồng thời 3 &
Các đầu ra chốt va 3 trạng thái của —— 74L8378 và 74LS5374 cho phép dùng như các cửa , Dp | &
vào Nếu thiết bị vào cĩ chốt riêng mà khơng cĩ 2 3334 T73
dau ra 3 trang thai thi phan đệm 3 trạng thái 8
được sử dụng Các mạch MSĨ cĩ chứa các bộ đệm D, o——>‡ 933+ L^>
Trang 11
Véc 1G AY, 2N4 Ni 2A 1Y3 2A2 ty4 2A4
, | | | | ot
-È>H(tt46 _
_ | L——
Vec 26 IY 2A4 TYz_2ZA3173 2A2 114 ZA4_— 4 TAI 2X4 A2 293 4A 21 TAG 2 SND | (VII T22 ⁄ ~ J \ J
46 1ÁA ZÍ% 1A1 2X3 1Á 1A4 2Y4 GND
Hình 6.12 8 mạch điện với các đầu ra ba trạng thái và các đầu vào trigơ Schmitz a 7415240 cĩ các mạch đệm đảo , b 74L8244 cd céc mạch đệm khơng đảo
Các bộ đồn kênh MSI với các đầu ra 3 trạng thái - Ạ hoạt động như cửa vào trong hệ thống địi hỏi nhiều 4} ` $219 aS
cửa Bộ lơgic giải mã địa chỉ là một phần của bộ đồn 4+
kênh Như trong hình 6.13 8 bộ đồn kênh 16 thành 1 $7249
(8219)
Cho 16 bộ đệm 8 bit, 3 trạng thái và địa chỉ hố & 215 | :
được Mỗi bộ đồn kênh cho 1 bit từ 1 trong 16 cửa vào,
tới bus số liệu, 4 bit địa chỉ (A0 - A3) được giải mã bởi 424 4
bộ đồn kênh , 7
Nếu ở đây cần thêm mọt bộ giải ma thi da cd sẵn ——T +1
8119 |<
bộ giải mã điều khiển chọn từng nhớm của 8 bộ đồn
kênh khi 8219 được chọn đầu ra của nĩ sẽ cĩ giá trị ——, 4
đúng, phải lấy số ligu trén dAu Q cta chét ctta hodc "18249 |7
lấy giá trị bù khi số liệu vào bộ vi xử lý Một mạch
đặc biệt thích hợp cho thiết kế các cửa vào/ra là 8212 52.19 vy
Phần trước chương II mục 2-14 đã giới thiệu cửa Tỳ
vào/ra 8 bit Mạch MSI này gồm một chốt 8 bit với các - 4, bộ đệm ra 3 trang thái và phần logic chon mach (xem 7} : FS 49
hình 2-11) Bon dau vao diéu khién (DSI, DS2, MD va 3 EAc ˆ
STB) điều khiển chọn mạch, chốt số liệu, trạng thái bộ 3, ry
Trang 12|
|
|
|
|
từ phan légic chon mach (DS1 va DS2) néu DS1 co miic légic 0, DS2 cĩ lơgic 1, thi mach được chọn va đồng hồ cĩ lơgic 1
Đố liệu vào được chốt khi cĩ sườn xưng l xuống 0 của xung đồng hồ (xem hỉnh 6.14)
Khi sử dụng như cửa vào, 8212 cĩ bộ đệm vào 8 trang thái được điều khiển bởi thiết
bị vào, Đối với cửa vào, đầu điều khiển MODE phải cố mức lơgic 0 (MD =
bộ đệm ra được xác định bởi DS1, D52 Xung đồng hồ chốt số liệu được đưa vào STB (xem
hình 6.14)
Rus AIAN ; Rus —
SOU 18212 |cvara solidy|8212 |cwa va ——> :
hey _ hệ Hã x = vs Pet Mo 1 bs, 4 opsP ir f sosp FT] r vee Vic a) b) Bus | $24 ? B sả
Số mới vi 2 cưa ig 62712 cưửá
DS, |V40 e vÃo
thống Ds, M thang] PS,
— tut 9 tivo ~ \ MẸ
S) 4) — Tư t.PI v42
trước xem
Hỉnh 6.14 Mắc nối mạch 8212 cua Intel
- a Xung nhập cửa ra là mức thấp của xung chọn thiết bị vào b Xung nhập của cửa ra là xung chọn thiết bị vào ở mức cao c Xưng chọn thiết bị vào ở mức thấp làm xung nhập cửa vào
d Xung chọn thiết bị vào ở mức cao làm xung nhịp cho cửa vào thiết bị
được truyền theo 2 chiều 4 Trdo đổi thong tin song song điều khiển bằng
chương trình :
Dưới sự điều khiến
của chương trình, số liệu được trao đổi song song qua bus giữa bộ vỉ xử lý
và thiết bị vào/ra, một từ
một lần Cĩ 2 loại trao đổi điều khiển bằng chương trình : Khơng điều kiện
và cố điều kiện
-Khi trao đổi khơng
điều kiện, các lệnh trao
đổi số liệu với các cửa vào/ra khơng cần xác định cửa đã sẵn
sàng nhận hay gửi số liệu chưa Quá trình trao đổi
khơng điều kiện trao đổi
thơng tin lệnh, thơng tín
trạng thái hoặc các số liệu khác Các thơng tin lệnh
được gửi từ bộ vi xử để
điều khiển thiết bị vào/ra Thơng tỉn trạng thái truyền từ thiết bị vào/ra,
bộ vi xử sử dụng chúng để
điều khiển trạng thái vào/ra Số liệu và nĩ được phân biệt là thơng tin lệnh hay trạng thái bởi bộ vi xử lý
Một ví dụ truyền số liệu khơng điều kiện là gửi số liệu mã BCD từ bộ vi xử lý tới màn hình Bộ vi xử lý khơng cần biết mà hình đã sẵn sàng nhận Ví dụ truyền số liệu vào khơng
~
-
1ø
Trang 13
điều kiện là vào số liệu từ các cơng tắc ấn bằng tay Ỏ đây, bộ vi xử lý cũng coi các cơng tác đã ở vị trí yêu cầu gửi tiến hiệu
Khi trao đổi số liệu cĩ điều kiện việc thực hiện lệnh vào/ra trao đổi số liệu phụ thuộc vào việc thiết bị vào/ra đã sẵn sàng trao đổi số liệu chưa Thơng tin trạng thái được gửi trước để báo cho bộ vi xử lý biết trước rằng cĩ được phép gửi số liệu ra hay khơng
Thơng tin trạng thái chỉ ra trạng thái hiện hành của thiết bị vào/ra Thơng thường
thơng tin trạng thái cần Ít hơn 8 bit Bang chương trình ta sẽ loại trừ các bit khơng sử
dụng ra khi thử nghiệm các cờ trạng thái
Nếu thơng tỉn trạng thái chứa trong một bít, thì chỉ cĩ 1 cửa vào được phép gửi thơng tin hoặc 1 cửa đã sẵn sàng nhận Chương trình thử nghiệm các cờ trạng thái làm tăng thêm thời gian của các lệnh quan hệ tới vào/ra Thời gian thêm đớ gọi là thời gian chỉ phí
vào/ra (/O OVERHEAD)
As >2 “ SỐ liều „ 6 ắm 3 < S _ by VAO ee eC | 7 : ma , F45V - JDSPO1H | , ®& D ‹ Mach - Jat ¢ }DPSP@GH : }PSPOTH 5 ` <Uin4xø4 Hìnhˆ6.15 Hỏi đáp bằng cờ số liệu sẵn sàng
Ví dụ, thiết bị vào số liệu sẵn sàng ở cửa vào 1 (số liệu) để gửi đến bộ vi xử lý (Xem
hình 6.15) Để báo được phép gửi số liệu, thiết bị vào thiết lập cờ ở bit 7 của cửa vào (trạng thái) Việc dùng cờ khi điều khiển trao đổi số liệu cĩ điều kiện gọi là phương pháp mớc nối (HAND SHAKINCT) D6éi vdi vao/ra theo chugng trinh, do’ la phuong pháp nhận biết duy nhất khi số liệu mới đã sẵn sàng chuyển tới bộ vi xử lý
Để xác định xem đã cĩ sẵn số liệu gửi vào chưa, bộ vi xử ly tuan tự đọc từ trạng thái
trên cửa 0 và xét bit 7 Nếu bit 7 là 1, số liệu đã chờ sẵn và phải đọc nĩ từ cửa 1 Xung
chọn thiết bị vào cho phép số liệu vào từ cửa 1, đồng thời xố CỜ :
‘Thong thường, cờ trạng thái được xét suốt trong khoảng thời gian tối thiểu để gửi đi L số liệu Một chương trinh con cod chu trinh kín thực hiện nhiệm vụ này Chương trinh con trên hình 6.18 đành cho hệ trên hình 6.15
14 7 ` -
Trang 14Trong đĩ, thanh ghi B chifa téng s6 byte sé liéu gửi đi, HL chi địa chỉ khởi đầu của
vùng nhớ đệm số liệu trước khi chương trình này được gọi Sử dụng chu trình để kiểm
sốt bit trạng thái gây nên Việc khơng đi ra khỏi vịng kín nếu thiết bị vào hoạt động sai và khơng thể lập được cờ trạng thái Một phương pháp giải quyết chúng là điều khiển theo thời gian Nếu cờ trạng thái khơng lập thì sau một khoảng thời gian nhất định sẽ cĩ điều khiển ra khỏi vịng kín và thơng báo lỗi về bộ vi xử lý
Nếu nhiều thiết bị vào được sử dúng trong hệ, thì chương trình kiểm sốt cờ sẵn sàng của mỗi thiết bị phải quay vịng đế xem thiết bị nào đã cĩ số liệu sẵn sàng vào bộ vi xử lý Phương pháp này gọi là hỏi vịng (POLLING) Trên hình 6.16 là lưu đồ của chương trình con hỏi vịng cho hệ trên hình 6.17, gồm 8 thiết bị vào àm các cờ số liệu của chúng được tổ hợp trong một byte trạng thái
Trên hỉnh 6 19 là chương trình con kiểm sốt cờ trạng thái của mỗi thiết bị và rẽ nhánh đến chương trình phục vụ riêng mà nð thiết lập cờ Đồng thời nõ cũng thiết lập ưu tiên trong 8 thiết bị vào bằng cách thử tuần tự các bit yêu cầu phục vụ trong đĩ thiết bị
vào thứ 7 được ưu tiên nhất Các phương trình phục vụ bảo vệ nội dung thanh chứa A rồi
nhận số liệu vào và ghi va ơ nhớ hay xử lý ngay nớ Trước khi ra khỏi chương trình này,
phải khơi phục lại A ‘
D6i với các thiết bị Ta, cờ sẵn sàng của chúng chỉ rằng thiết bị cĩ thể: nhận số liệu Thiết bị ra địi hỏi một thời gian để xử lý số liệu vừa nhận được, trước khi nĩ sẵn sàng nhận số liệu mới ˆ Thite hiển - hưởng tr <0 củA i thi The hién ch.trink con cua t.bi 6 / Thực hiến ch tvinl, wn “T Cua bị A“
Hình 6.16 Lưu đồ của phương pháp hỏi vịng
Trang 15D ! 1< sẽ tê - “4k —— ST007H _
Bus so hen ` SH VY CAintwra ty tbe
bet ml! S| [sy |DSPðTH
Do 4 —t++-_| ta ’ :
° Had |
iDsPOs - STE22H
_ 1PSPOBH Mads (Ainhratự +,bL
2 vạo o9): ——— {DSP@@H 1333 trang : _ sẽfiểu tự t.bịL V40 07H Thái - STROTH _ : CL ‘(Ainh rate t.bt Bo ara bo bi
-| đêm 3 k—— Số liệu Tư +.bL
tang} + _ Vao ØØH
Thác k—
_T+_ STB00H
— IDSPOOH Cainnh vat t.bị
Vu VÄO0 Ø@@
Hình 6.17 Tổ hợp của 8 thiết bị vào thành 1 byte trạng thái
Š Các mạch vào/ra cĩ định hướng
Các cửa vào/ra vỉ điện tử cỡ lớn (LSI) bao gồm các chốt, bộ đệm và các cờ
Một mạch cĩ thể gồm nhiều cửa, các chế độ làm việc của từng cửa được xác định bởi
chương trình
Các mạch cửa cĩ định trình được chế tạo trong 2 thể loại, a Là một phần của mạch đa năng |
b Là mạch nối ghép cố chức năng như cửa vào/ra PIN: IN STATUS : Nhận byte trạng thái
ORAA : Lập các cờ
-JPPIN: , -_ Xét bit trạng thái (bit 7), nếu số liệu chưa cĩ thì chờ IND ATA : - 8ố liệu sẵn sàng nhận số liệu xố cờ trạng thái MOV M, A: Chuyển số liệu tới bộ nhớ đệm
Trang 16INXH: DCR B: _dJNZ PIN: RET .- Tăng con trỏ bộ nhớ Giảm tổng số byte sẽ nhận
Rẽ nhánh đến PIN nếu cịn nhận tiếp số liệu
Hình 6.1b Chướng trình con đồng bộ trao đối số "ho hệ trên hình 6.16
POLL: INSTATUS : RAL: CCSRV7.: RAL : CCSRV6 : RAL: | ` _ OCSRVð : | RAL : CCSRV4 : RAL: - CCSRV3 : CCSRV2 : RAL : CCSRVI1 : RAL : CCRASVO: RET
Nhận byte trang thai
Chuyén byte trang thai (bit 7) sang bit cờ tràn `
Gọi chương trình phục vụ nếu số liệu đã sẵn sàng
Bit trạng thái 6 sang cờ tràn ˆ
Gọi chương trình phục vụ cửa vào 6
Bít trạng thái ð sang cờ tràn
Gọi chương trình phục vụ nếu số liệu sẵn sàng Bit trạng thái 4 sang cờ tràn - Gọi chương trình phục vụ nếu số liệu sẵn sàng ˆ
Bit trạng thái 3 sang cờ tràn
Gọi chương trình phực vụ nếu số liệu sẵn sàng ' Gọi chương trình phục vụ nếu số liệu sẵn sàng ¬
Bit trang thai 1 sang cờ tràn
Gọi chương trình nhận số liệu nếu nĩ đã sẵn sàng Bit trang thái 0 sang cờ tràn “ Ề Gọi chương trình phục vụ nếu số liệu sẵn sàng
Hinh 6.19 : Chương trình con hỏi vịng, cho hiu đồ trên hình 6 16
: Các cửa vào/ra theo chương trình trong các mach da nang’
Vi du cho trường hợp này là mach 8155 cia INTEL Mach vi dién tử cỡ lớn này bao
gồm 256 x 8 ngăn nhớ đọc%viết, 3 cửa vào/ra theo chương trình, 1 bộ đệm 14 bịt Xem hình 6.20 mạch này thích nghỉ trực tiếp với 8085A như thể hiện trên hình 3.5.1 Mach 8155
cĩ một thanh ghi chốt để tách kênh phần thấp của các byte địa chỉ (A0 - A7) đối với bus
địa chỉ số liệu (ADO0 - AD?) Giá trị lơgic của đầu vào IO/M xác định địa chỉ cho bộ nhớ
hoặc vào/ra Địa chỉ và giá trị IO/M được chốt ở 8155 bởi sườn xuống tín hiéu ALE Tín
' ` hiệu mở mạch được kích từ phần cao byte địa chỉ Khi qui chiếu bộ nhớ O/M = 0) phần
thấp của byte địa chỉ được chốt để chọn 1 trong 256 ngăn nhớ đọc/viết ˆ
apo ™ Mf ¬ | cư ^ RD —y RESET — - TIMERIN 1 ~~ TIMER OUT RAMI: A| CC ` BA - , | tinh a = me Ty ` 2566| — cap oe 185 (4188 2 cE
oo wa " THƯỜ00968M đìQhới của 8 5
et ác | THƠNG VẬN TẢI - CƠ SỞ 2
Trang 17
8155 od 6 logi thanh ghi duge địa chỉ hố: như vào/ra Dé là thanh ghỉ trạng tháilệnh (CSS, 3 cửa A, B, C và các byte cao và thấp của bộ tạo thời gian (TIMER) Thanh ghi
lénh/trang thai <C/S> cĩ 2 mục dích :
1, Chứa chức năng của các cửa vàojra khi nĩ được nạp bằng lệnh v viết vào/ra
2 Cung cấp thong tin trang thai các cửa và TIMER khi nĩ được đọc bằng lệnh đọc, vao/ra
Thực chất nĩ là 2 thanh ghỉ cĩ cùng địa › chỉ vào/ra chúng được phân biệt với nhau bởi `
phép đọc hoặc viết Chức năng của từng bit xem hình 6.21
T844 |TMIZ|IER | IEA|PC2| PC1 | PB-| PA |
Le : | Binh nghia PAo-PA7 Ovao:
Định nghĩa PRo- PB? 4, Ya q 098 ALL a - “04 SAU 103 2 ALTS s Lingat eu: “alte chophep |
ir Naat cua’ BIOs cẩm -
5 00-4 - NOP - -b3 azn
sp Lạnh cua TIMER | “Kang lam việc -
04 = STOPS 4wđg4êm
“40% STORR AFIERTS - Aung: BEI khi-co! Te
14.2 START hap: dang thité wa AG dade
(3 Kher dong h4ay oan khi nap (nea Timer krỹI: vide)
Ney TIME R dang ]4 việc Thí cơng việc trển ae thiện gay
Sau khi gape TC
Froese we
APT ADG ‘ADS AD4AD3 AD2 ÀD4: ADo_ INTE | B [INTR INTE | A PINTR
JFIMER| pg jer | 5 |:A |SF] A
| „ c+4Ayếu, can ngat
———— bệ đệm era aay rong
SỐ (v^e '/rz2
——————”*- cưa Ai cho phep ngat
—> cua EB v&a ‘cau ngất
— Cera R Ady /rbhg (Ae/ra)
———— — cia: -B cho phep ngat
¬ TỶ“ ———————x na af TIMER'(bit vay Auda
: : end oe’ mule cao › Khi44PTC
VA lập mite thap khi Faces
ta ¥ nghia các bit lệnh " “hoặc khởi Äina bat cutis)
b Ý nghĩa các bit trang thai -
: Hinh 6.21, Thanh ghỉ: trạng thái, Moh
Trang 18Các ctia A.va B (PA và PB) cĩ 8 bit và được sử dụng như cửa vào hoặc cửa ra
Các bit 0 và 1 của byte lệnh xác định hướng của các cửa Nếu cửa của 8155 được lập
hướng vào bởi chương trình, thÌ nội dung chúng được đọc bằng phép đọc Hạn chế ở đây là - phải gửi nội dung của cửa vào ngăn nhớ Như đã đề cập phần trước, khi một chốt được dùng như cửa ra để cung cấp các xung điều khiển độc lậ; Cửa C cĩ 6 bit, cố thể sử dụng như cửa vào (ALTI) hoặc cửa ra (ALT2) hoặc dùng các tín hiệu đối 'thoại cho các cửa A và _ _B (ALT8 và ALT4) (xem hình 6.22) xa
Chức năng cửa C được xác định bởi các bit 2 và 3 của byte lệnh Bit 4 đến bit 6 tác động các tín hiệu ngắt và TIMER (xem chương VỊI) Khi khởi động cả cửa 3 A, B,.C của 8155 déu ở chế độ vào Các địa chỉ của thanh ghi lệnh/trạng thái, các cửa và bộ thời gian như sau: _ Thanh ghỉ Địa chỉ G/5 - xxxxx000 PA 7 xxxxx001 PB xxxxx010 PC xxxxx011 TIMERLOW xxxxx100 ° TIMER HIGH xxxxx101
Tín hiệu mở mạch được kích từ byte cao của địa chỉ khi qui chiếu vào/ra 8085A lặp lại địa chỉ cửa ở AD0 AD7 trên A8 - A15 Các ngăn nhớ và cửa vào/ra của 8155 cd cing đầu vào mở mạch, làm hạn chế tổng số bit ở byte cao địa chi tham gia gidi ma chon 8155 Nơi cách khác, địa chỉ 8 bit được lặp lại như byte địa chỉ cao và byte địa chỉ thấp, ba bit - thấp nhất dành cho địa chỉ thanh ghỉ vào/ram ð bít cịn lại dành cho giải mã chọn mạch Vi dụ: Nếu địa chỉ được giả mã để chọn 81ðð là A1ð - A8 = 01000xxx, thì địa chỉ của thanh ghi C/5 là 40H
Hãy xem một phương án mắc sau đây của 8155 cửa A là vào, cửa B ra chọn ALT4 cho cửa C ( Cửa C làm tín hiệu đối thoại cho A và B Xem hình 6.22) khơng sử dụng khả năng ngắt và bộ tạo thời gian
Chin | ALTI ALT2 ALT3 _ ALT4
PCO cửa vào Cửa ra AINTR ` AINTR (cửa A ngất )
, (ctta A ngat ) _
PC1 _ cửa vào Cửa ra ABF (bộ đệm cửa A đầy) | ABF (bộ đệm cửa A đầy)
PC2 | cửavào Cửa ra — ASTB | ASTB |
(chét cita A) (chốt cửa A) -
PC3 cửa vào Cửa ra Cửa ra - BINTR (cửa B ngắt) PCA cửa vào Cửa ra Của ra BBF (Bộ đệm cửa B dày)
PC5 cửavào |- Cửa ra ˆ — Cửa ra BSTB (chốt cửa B) Hình 6.22
19
Trang 19
Byte lénh x&c dinh chtic nang cdc ctfa cla 8155 sé 1a:
- 00001010 = OAH tà TỰ
8155 được khởi động bởi 2 lệnh sau:
MVI A, OAH: Nap từ lệnh vào Á
- OUT 40H: Gửi ra thanh ghi C/S ,
Khi cửa cĩ chế" độ vào ở ALT4 (VÍ dụ cửa A trong trường hợp trên), thiết bị vào ni số liệu đến các chấn PAO - PA7 cua 8Ì5ð rồi sinh ra xung chốt với mức tính cực thấp PC,"
hinh 6.23 Nhu vay, s6 liéu da dude nap vao ctla A va co "đầy bộ đệm cửa A (ABF)" được;
lập (Lập bit 1 của thanh ghi trạng thái) Điều khiển "đầy bộ đệm" được kiểm tra khi dog thanh ghi C/S véi lénh IN 40H va xét bit 1 ~ : #
Nếu bộ đệm đầy, số liệu từ cửa A được gửi vào thanh chứa của 808ðA bởi lệnh IN
41H xung đọc được sinh ra từ lệnh TĐ 41H và xố tính hiệu BF của cửa A
= BF £SRFk—— SS TB tss tKBFL | , | tS # wre Re — RD eps! tps SN | X sẽ “Tiêu VA tu cra Uy VI
Hình 6.23 Sø đồ thủi gian của cách thức vào của 8155
Nếu thiết bị vào phát sinh xung chốt quá dài trên chân PC; của 8155 thì các vấn đề khi thử cờ BF của thanh ghi trạng thái bằng chương trình quay vịng, khi thiết.bị vào đưa ra xung chốt, cờ BF được lập Bộ xử lý thực hiện lệnh để kiểm tra cờ BF, nếu cờ đỡ được © lập thì thực hiện lệnh IN để đọc số liệu từ vào Xung RD trong chu kỳ máy vào của: lệnh IN xố cờ BF, néu xung chốt từ thiết bị vào vẫn ở mức thấp, cờ BF lại được lập và bộ vỉ
ay
xử lý đọc lại lần nữa số liệu từ cửa vào Như vậy, đáng lẽ phần mềm là vịng kín để đọc - 10 byte số liệu từ cửa vào thì đọc cùng một số liệu 10 lần
Vấn đề này cĩ thể khác phục bởi thiết kế mạch lơgic cĩ giới hạn độ dài xung chốt từ / thiết bị vào Giải pháp đơn giản nhất là kiểm tra cờ INTR, khong thử cờ BF cờ INTR
được lập chỉ khi STROBE trở về mức lơgic 1
Các tín hiệu điều khiển cũng làm nhiệm vụ đối thoại cho cửa ra Trong ví dụ trên, khi
—
cửa B làm cửa ra các bit PC8 - PVõð làm nhiệm vụ đối thoại Ĩ chế độ ra nội dung thanh chứa của bộ vi xử lý 808ðA được gửi đến B của 8155 bởi lệnh QUT Xung,chốt xuất hiện
khi thực hiện lệnh OÚT, làm cho BBEF (PC4) cĩ mức lơgic 1 Xem hình 6.24 thiết bị ra
"kiểm sốt BBF để xác định thời điểm: số liệu ra ổn định Khi đã sẵn sàng nhận số liệu, thiết bị ra ổn định Khi đã sẵn sàng nhận số liệu, thiết bị ra gửi xung chốt tới PCB và xố
Trang 20_liệu chưa
BBEF Bộ vi xử lý đọc từ trạng thái và kiểm tra bit 4 để xem thiết bị ngồi đã nhận số BBF ——————— STROBE INTR HH Z wk / m twP Số liên rẢ cư¿ä
Hình 6.24 Sở đồ thời gian của cách thức cửa ra 8155
a
6 Mạch nối ghép thiết bị ngoại vỉ
Mạch nối ghép thiết bị ngoại vi theo chương trỉnh (PPD 8255A gồm nhiều cửa vào/ra
theo chương trình Nở được sử dụng với bộ vi xử lý 8085A và một số loại khác Bên trong
8255A cĩ thanh ghi điều khiển, thanh ghi trạng thái, 3 cửa vào/ra 8 bit A, B và C, xem
hình 6.25 C cd thé chia lam 2 nhdém độc lập bằng chương trình: Nửa cao (C, - C;) và nửa
thấp (Cy - C,) PA} 4 TT FÁ+ ie DA |? 39 PAs é cc KP 38 _.ơ ô8 S$ > 45V
CND [5 Tbe 8„———> GND Bkhi œ& lO
Az A, lÉ “Ip, oty — hho PA7-PAo
Pes ns Ho Cr Ile „ Da" : _ — ` —Ic8) INhẹc
P3 pc; |, , Ye bu s2 Í22 4S $2 ]i2 Acu: °
Rt t%, ri " 2chiến ` lđm A € Yo
PR PRA 24 {PB Bs ‹ bus kik = <S4o PC7- PC4 2 PBs D7-D, liga $š šố liều :
Db, | bển Trong Nhấu
- Bus siiê 2ch4 ¬ & bit A
RESET Dau vae Kê Tân, RD Mach Bela Ko
cS chon mach WR > logtel 34~PCo
_FÐ |4 vãa đọc Aa add
WR ban vao ghi Ao 7 kuải
Ao,Ar | Bia chi c2 RESE ‘| [Dieu Vo
PAy.PAg CWA A (bus) doe > khigh
PBs P8, Cun ‘ ‘ ` hhom PB 7 PR
Pep Peleg Sens Cua CC bys) Shi ! lân
Vee +E vou —
GND 2 Von CS \
Hình 6.25 Sơ đồ khối của mạch nối ghép ngoại vỉ theo chương trình 8255A
Bộ đệm bus số liệu trao đổi số liệu giữa bus số liệu ngồi với thanh ghi điều khiển, thanh ghi trạng thái, hoặc với một trong các vao/ra
Trang 21
8255A được chọn bởi tín hiệu mức thấp trên đầu vào mở mạch CS Khi 8255A khéng được chọn, bộ đệm bus số liệu nối 8255A với bus hệ thống được thâ nổi Nguồn tín hiệu CS phy thuộc vào loại vào/ra tách biệt hay vào/ra theo địa chỉ bộ nhớ được SỬ dụng Đối với vào/ra tách biệt các bit À, đến A; được đưa vào bộ giải mã để tao CS, cdc bit A, va
Aa dùng để chọn thanh ghỉ điều khiển, thanh ghi trạng thái hoặc cửa Nếu dùng 6 bít địa -
chỉ để giải mã, thì trong hệ cĩ khả năng sử tụng đến 64 mạch 82B5A Đối với vào/ra tách : biệt, điều kiện nữa để chọn 82BEA là I10/ M =
Nếu dùng phương pháp chọn tuyến tính, cĩ khả năng sử dung 6 6 mach 8255A ma khéng cần bộ giải mã Các bit địa chỉ chọn mạch và chọn cửa được thể hiện nhử sau:
Ais Aig A13 A12 An Aio Ag Ag
hoặc
O
Az Ao As Ag A3 Az A; Ao
Ld L_—
Chọn các ——— Chọn các cửa mach 8255A trong một 8255A
Điều kiện tiếp theo của vào/ra tách biệt là LƯƠN nối với đầu vào RD của 8255A và
UƯOW nối với đầu vào WE của 8255A
Nếu dùng phương pháp chọn vào/ ra theo địa chỉ bộ nhớ, MERM được nối với đầu vào
RD của 8255A và MEMW nối với đầu vào WR Cac bit dia chi A¿ - A¡s được đưa vào bộ giải mã để tạo xung chọn mạch S
Trong tất cả phương pháp trên, khi 8255A được chọn, các đầu vào Au và A,, ding để chọn thanh ghi điều, khiển hoặc 1 trong các cửa (A, B hoặc C) để trao đổi số liệu (xem bảng 6.26)
Bảng 6.26 Các thao tác cơ bản 8255A
Bang 6.26 Thao tác vào (đọc)
AL AO - RD cS cs Thao tac vao (doc)
0 0 0 1 0 Cửa A = bus số liệu
0 1 0 s1 0 Cita B > bus số liệu
1 0 0 1 0 Cita C = bus sé liéu
Bang 6.26 Thao tdc ra (viét)
0 0, 1 0 0 Bus số liệu >cita A 0 1 1 -0 0 Bus số liệu > cửa A
1 0 1 0 0 Bus số liệu = cữa A
1 1 1 0 0 Bus số liệu > cittaA
Trang 22
Bảng 6: Khơng hoạt động
x x x x 1 bus số liệu => trạng thái thứ 3
0 1 0 1 0 Diều kiện khơng chấp nhận 1 0 0 1 0 Bus số liệu > trạng thái thứ 3
Khi khởi động hệ, tín hiệu khởi động làm 82ððA thả nổi tất cả 24 chân liên quan với ư cửa vào/ra Trạng thái này kéo dài đến khi chương trình ứng dụng viết từ điều khiển
vào thanh ghi điều khiển để xác định chế độ làm việc của 82ð5A Ba chế độ cơ bản của
82B55A là: `
1 Chế độ 0: Vàoj/ra thơng thường 2 Chế độ 1: Chốt vào/ ra
3 Chế độ 2: Bus 2 chiều 2
Từ điều khiển của các chế độ được định nghĩa trên hình: 6.27 từ điều khiển định nghĩa chế độ 8255A Chế độ 0 xác lập 2 cửa 8 bít (A và B) và 2 cửa 4 bit (C cao và C thấp) Bất kỳ cửa nào cũng cĩ thể là vào hoặc ra Chỉ các cửa vào cĩ chốt Như vậy, èớ 16 khả năng vào/ra trong chế độ này Ví dụ, từ điều khiển 8AH lập cửa A ra, cửa C cao vào, cửa C thấp ra và cửa B vào
Nếu dùng phương pháp vào/ra tách biệt và 8255A được chọn khi A, dén A, = 0 thi chương trình khởi động 82ð5A như sau:
MVI A, 8AH: Nạp từ điều khiển vào À
OUT 08H: Ghi từ điều khiển vào thanh ghi điều khiển của 8255A
Chế độ l xác lập 2 cửa 8 bit A và B, nhưng cả hai cửa vào và ra đều là chốt, 2 cửa 4 bít (C) làm nhiệm vụ đối thoại cho các cửa A, B (Hình 6.28) là vào/ra ở chế độ 1 và các
từ điều khiển của chúng Đối với cửa vào ở chế độ 1, cửa A là vào, các bit C,, C, va C,
làm nhiệm vụ đối thoại Cửa B là vào và cĩ các bit Cạ, C¡ và C, làm nhiệm vụ đối thoại Con 2 bit C, va C, cd thể làm cửa ra hoặc vào Thiết bị vào gửi 8 bit số liệu đến Ay - Ay
(hoặc Bạ - B;) rồi phát sinh xung chốt (STB) với mức tính cực thấp để nạp số liệu vào chốt vào Như vậy, làm tín hiệu đầy bộ đệm vào (IBF) cố mức lơgic 1 Bộ vi xử ly đọc cửa C và kiểm tra tín hiệu IBF để xác định xem số liệu đã sẵn sàng chưa
Từ trạng thái của chế độ 1 được miêu tả trên hình 6.29
Nếu IBF cĩ mức lơgic 1, bộ vi xử lý đọc số liệu trên cửa A (hoặc B) và xố cờ IBF
Đối với thao tác ra của chế độ 1, bộ vỉ xử lý ghỉ số liệu ra cửa A (hoặc B), làm cờ "bộ
đệm ra đầy" (OBF) cớ mức lơgic 0 Thiết bị ra kiểm tra OBF để xác định xem số liệu đã
_sẵn sàng chưa Nếu đã tiếp nhận số liệu, thiết bị ra trả lợi bởi mức thấp trên đầu vào
ACK, dong thời xố cờ "đầy bộ đệm ra" OBF Chế độ 2 cho 1 bus 2 chiều 8 bít là cửa A,
ð bit của cửa C được dùng làm chỉ thị trạng thái và điều khiển cửa A, tạo khả năng đối thoại như trong chế độ 1 :
Trang 23“& ` 9° : y `
uf, VIS Sor eg kề về <s vy roses] [sv d fox [R &
see ey tye a < -c1egdvl |—€ c
a4 ,đ tt a 5 Sy \ SO S Mẹ dys we
~“e=soSle^4, uy WY `: ti N Ry ews u
& } ue SS] ots 9 SS Ss lu Ba
‘3° và~- lacs ss o VY € Qs “Sun sus ou
< WS Noa _€ trừ 2 1K th e9 H Cie z lị oO [UOT „| sont (4 K h A 4 † † | 9 a - ay ` ơ ' ao `) a c2 ôw + 4 ire 4 : 4 tS S : <® oO ; %2 XNm< | ị LƠ, Hình 6.27 cm Am A ? ¬ AS ^ 2 Ị
+øt điểu khiển: MODE1(CcW2A) - tổ điên khuyên MODE1CcWAA) |
- D7 Dg DeD, D, DD, Do | PAT-PAd D7 DeDs D4 De Ds Dd De |FAT~ FAo zy
4 Joh rN mie estpa = [0a Joe xXx [Pez] —* OBFA |
os Poe]_—>t | ,PCr„g Fcel£—— ACKA
_“— PC6,7 IREA 1zvÃo +
4sVváo —— PC3 > INTRA 2= Y4 {Pc3 —> INTRA Ơ= ra RD [ WR Pc4 z
L PC¿7e—> ——>+* J/s<—>
2 t
MODE1 (ca B) ~ an, ae © MODE 1 (cura B) :
yo Lot điêu khiến PB7-PBo
4c Aiey khiéh | eps pg, }E— D7 Ds Ps Pa Ds Ds Ds B
= Fo ỨN
|1 XIxxIXI1]1 | VTE Pak _— STRBI XIXIM|e ) ]Ä -|1Ƒ—> 98F8 b- PCale—— | BFS ` 1 Pezie—— ACKB
ED —[Péa|—> INTRS wk Ly sect ree Ỉ
24°
Hinh 6.28 a) va bì:
Trang 24chê đơ vÃo
D7 De Ds D4 Da D2 D4 b2
Yo lo as INTEA INTRA} INTE g IPF INTRe
D7 De Ds De bị Dz ™ De
OBR| INTE,| 1/o} 1/0] INTRal INTER] OBR] INTRg
#———Nhếm A—————- Nhấm———>y
Hình 6.29 Từ trạng thái MOD 1 của 8255
Trên hình 6.30 là mạch 8255A trong chế độ 2 và từ điều khiển của nớ Từ trạng thái - được miêu tả trong hình 6.31 ,
Dz Ds Ds Dy D Dz Dy Do’ ¡ PŒz-o 4zINPUT a Ơaf4 — 7 cưà§g 4s vÃo On rq > L_——> M0DE tua hhớmnR _ 9-:M4pRQ TS 2o zMODE { 3 PC2 je Yo
Hình 6.30 Mode 2, cửa 2 chiều của 8255A
8255A cho phép tổ hợp các chế độ khác nhau Ví dụ khi cửa A và các bit C, tới C; dùng để trao đổi số liệu 2 chiều cĩ đối thoại trong chế độ 2, thì cửa B cơ thể thao “bác vào trong chế độ 0
Đối với cửa C, cĩ khả năng lập và xố từng bit (bit SET/RESET) Nếu bit 7 của từ điều khiển là 0,:82BðA Sẽ hiểu là lệnh lập/xố bít cửa C cớ nghĩ cĩ khả năng lập hoặc xố bat ky bít nào của cửa C Từ điều khiển của lập/xố bít được miêu tả Trong hình 6.32
khả năng xố và lập trực tiếp từng bít là rất thuận tiện cho ứng dụng, khi các bit riêng
rẽ dùng để điều khiển tách biệt các chức năng bên ngồi
PD DPe Dc Đv D3 D¿ Dị Do
ERR INTE} (BFA | INTE) INTRA XIX LX
Trang 25Tử điêu khiển | _ D7) De} Ds | Dy D3 | Dz Dị | De LẬP I xOA x xX x fO1 121314151617 7O1T 101110114} 0}1 [Ro 4 910114 |2|9|2|111 |E1 4O;OlOl10l4 [414/14 |B2 cơ lập “xĩa bịt O=> tích ct1#
Hình 6.32 Từ điều khiến lập/xố bít của 8255A
7 Trao đổi thơng tin nối tiếp:
Bus số liệu của bộ vi xử lý được thiết kế để trao đổi song song các thơng tin đến hoặc từ các mạch vào/ra Tất cả các bit của byte đều được trao đổi đồng thời Phần này giới thiệu trường hợp trao đổi số liệu nối tiếp Mỗi bit mỗi lần
Số liệu trao đổi nối tiếp thường được gửi đi theo các nhớm bit mà nĩ tạo thành ký tự
hoặc từ Thơng thường các ký tự được thể hiện bởi mã ASCII Trao đổi nối tiếp chỉ cần một dây tín hiệu hoặc kênh liên lạc và nĩ được sử dụng khi:
1 Thiết bị vào/ra cần trao đổi số liệu vốn đã là vào/ra nối tiếp 9 Khoảng cách giữ bộ vi xử lý là thiết bị vào ra tương đối lớn
Nhiều thiết bị vào/ra như tetetype, băng từ cassette bát buộc thiết kế phải thu và phát
"số liệu mỗi bit một lần, cho nên việc trao đổi số liệu nối tiếp với bộ vì xử lý là thuận tiện hơn cả
Nếu khoảng cách giữa bộ vi xử lý và thiết bị vào ra lớn lên thì gid ca tang lên theo tổng _ số dây dẫn số liệu Giá của hệ khơng chỉ phụ thuộc vào giá của dây dẫn vi giá của bộ
khuyếch đại dây dẫn và bộ thu cũng đáng kể Khi đĩ sử dụng phương pháp trao đổi số liệu nối tiếp là kinh tế hơn, mặc dù nĩ cần thêm nhiều mạch và phần mềm hơn so với việc sử dụng trao đổi bằng cáp Trong một số ứng dụng khác, khoảng cách lớn đến nỗi cần cĩ phương tiện trao đổi số liêu như dây điện thoại thì số liệu phải được trao đổi nối tiếp Nĩi chung,-eền cĩ mạch nối tiếp (xem hình 6.33) mạch nối ghép cĩ 2 chức năng
~ 1, Tạo dạng lơgïc số liệu, gồm bộ chuyển nối tiếp song song và song song nối tiếp 9 Biến đổi các tín hiệu lơgic thành các tín hiệu điện thích hợp cho trao đổi số liệu trên ' kênh liên lạc nối giữa bộ vi xử lý và thiết bị vào/ra
Trang 26
He Ni Bo Rộ „| | Thiết bị
¡x0 H4 màn T1 xa (5 |
` , Sơng,n 4 Mới Tiếp
Hình 6.33 Nĩi ghép giữa bộ vỉ xử lý và thiết bị vào ra cho trao đổi số liệu nối tiếp
Các mức điện áp và dịng điện của số liệu trên kênh liên lạc Ít khi thích Hợp với mức logic TTL Bién đổi tín hiệu được thực hiện bằng phần cứng Tuy vậy, viée tao dang légic số liệu cĩ thể thực hiện bởi phần mềm, phần cứng hoặc tổ hợp cả 2 phương pháp
Hệ thống trao đổi số liệu nối tiếp gồm cĩ các dạng đơn cơng, bán song cơng, số liệu chỉ được gửi đi theo một hướng Ư hệ thống bán song cơng, số liệu được gửi đi theo 2 hướng, nhưng mỗi lẫn chỉ thực hiện truyền nối theo 1 hướng Ị hệ thống sĩng 5 sơng, số liệu được trao đổi theo 2 hướng đồng thời
_ Trên hình 6.34 là vị trí trao đổi số liệu nối tiếp đơn gián Bộ vi xử lý gửi số liệu tới
“thanh ghi dịch của thiết bị vào/ra Kênh liên lạc là đơi dây xoắn Tạo dạng số liệu được
"thực hiện bởi chương trình Số liệu vào thanh ghi địch từ bus DO của bus số liệu, đầu vào
xung đồng hồ của thanh ghi dịch được kích từ bộ lơgic sinh ra xung chọn thiết bị ra, Byte số liệu để truyền đi ở trong A (thanh chứa)
>» eh th A ET ES D CLK Thanh ghidich ODSP
Hình 6.34 Truyền số liệu nối tiếp đến thanh phi dịch
Xung chọn ra kích thanh ghi dịch
Chương trỉnh con sau đây thực hiện tao dáng số liệu và gửi số liệu, bít thấp nhất được gửi đi trước
S08 : MVI CG, 8 LOOP: OUT SR RAR DGRC JNZ LOOP RET
Vi du: Trên là trường hợp điển hình của trao đổi số liệu nối tiếp
27
Trang 27
Phần thu cĩ một số mạch làm nhiệm vụ xác định khi nào số liệu vào sẽ được trích
.mẫu, cĩ nghĩa xác định thời điểm xuất hiện bit số liệu mới
Trong ví dụ trên xung nhịp từ phía phát thơng báo cho thiết bị nhận thời điểm cho phép trích mẫu số liệu vào, như vậy nĩ đồng bộ quá trình trao đổi số liệu Nếu gửi xung
nhịp riêng biệt từ phía phát tới phía thu để đồng bộ hố, cần phải nối thêm dây giữa các
thiết bị Kỹ thuật trao đổi số liệu nối tiếp mà khơng cần them dây để truyền xung nhịp
từ bộ phát tới bộ thu sẽ được đề cập tới trong phần sau:
Nhịp truyền (BAUDRATTE) là nhịp truyền số liệu Nĩ xác định tổng số sự thay đổi của tín hiệu trong một giây Nếu tín hiệu truyền đi là nhị phân thì nhịp truyền tương ứng với tổng số bit truyền trong một giây Các kênh thơng tin được đánh giá bởi nhịp truyền Nếu:
số liệu được truyền với tốc độ ngồi khả năng của kênh, sẽ xảy ra lỗi, bên thu khơng nhận
đúng thơng tin
Truyền số liệu nối tiếp cĩ thể là đồng bộ hoặc dị bộ Trong truyền dị bộ, ký tự được
truyền đi khi cá khả năng truyền, khoảng thời gian truyền giữa 2 ký tự khác nhau, nhưng khoảng thời gian giữa các bit trong một ký tự là cố định, khi khơng truyền ký tự đi, đường dây nghỉ Với truyền đồng bộ,, ký tự sau được truyền tiếp theo lần ký tự trước Nếu khơng cớ số liệu sẵn sàng truyền, thì ký tự đặc biệt SYNC được truyền đi liên lạc cho đến khỉ truyền tiếp số liệu sau:
- » - \
a Truyền số liệu nối tiếp khơng đồng bộ
Truyền số liệu khơng đồng bộ được sử dụng cho yêu cầu truyền với tốc độ thấp, nhịp truyền thấp Tốc độ truyền thơng thường do các nhà máy chế tạo thiết bị liên lạc định sẵn
là: 110, 300, 600, 1200 và 2400baud - :
Ví dụ: Truyền số liệu giữa máy in và bộ vi xử lý cĩ thể là khơng đồng bộ Các loại Teletype 33 và Tettype 35 phát và nhận số liệu với đốc độ 110 baud hay 110 bit/giay: Đối với nhịp truyền này, thời gian mỗi bit là 9.09ms Số liệu được truyền đi theo nhĩm các bit nối tiếp tạo thành ký tự Ký tự được biểu diễn trong mã ASCII 7 bít, hoặc mã 7 mức, nĩ được truyền đi theo dạng trong hình: 6.85
Bộ phát và thu trong trao đổi thơng tin khơng đồng bộ là khơng đồng bộ với thời gian mà ký tự được truyền đi Khi bộ phát bát đầu gửi thơng tin, bộ thu tự đồng bộ với thời gian
của từng bit ký tự mà nơ trích mẫu ở thời điểm thích hợp
" F—— 7btsel&_—— yj BÉ TC ˆ v.~
——T - 1ˆ l tot i T 7 | PARITY Daydan 5 ~ — ni
sa [set EEE inse <acbrt
START 42:02 ms (Mobaud) = ~ hộc khởi đầu kì tự tiếp,
LSB - bít thấp nhất
MSB - Bit cao nhất - ;
Trang 28we
z
Le
Bít khởi động (bit START) đồng bộ phía phát với phía thu Đớ là bit đầu tiên của ký
tự được truyền đi và cĩ mức lơgic 1, dây dẫn số liệu nghỉ ở mức cao (MARKING) Phía
thu đồng bộ với phía phát khi cĩ biến đổi logic từ 1 xuống 0.trên dây dẫn Nĩ chờ một nửa thời gian bit, kiểm sốt đầu vào để chác chắn cĩ mức lơgỉc, cĩ nghĩa bit Start cĩ hiệu
lực và bát đầu cát mẫu số liệu sau khoảng thời gian 1 bit Nhịp truyền của bộ phát và bộ
thu được lap cùng giá trị và số liệu được cắt mẫu ở chính giữ mỗi bit truyền Như vậy cĩ thể giới hạn được lỗi xẩy ra khi cát mẫu ở đầu mỗi bit Sau bit START, 7 bit s6 ligu của kí tự ASCII được truyền, bit thấp nhất truyền trước Tiếp theo là bit chãn lé (PARITY) Đối với PARITV chẵn (lẻ) cuối cùng 2 bit STOP được truyền di Bit START véi mức logic 0 và 2 bit STOP được truyền đi Bit START với mức lơgic 0 và 2 bit STOP với mitc légic
1 tạo thanh khung (PRAME) cho | ki tu ASCII :
Phía bộ xử lý, việc tạo dạng logic cho số liệu truyền nối tiếp cĩ thể tực hiện phần mềm, ví dụ lập thời gian trễ 9.09ms cho 1 bit và các đặc điểm khác cho truyền một ký tự
ASCII nhu đã miêu tả trên đây Phần cứng chỉ lầm nhiệm vụ nối ghép điện giữa bộ ví xử lý với thiết bị ngồi, vÍ dụ Tbletype
Bất lợi của tạo dạng số liệu bằng chương trïnh là bộ vi xử lý phải thực hiện chương
trỉnh con thu phát ký tự Thời gian thực hiện chương trình dài khoảng 100ms nếu nhịp truyền là 110baud Trong khoảng thời gian này, bộ vi xử lý cĩ thể thực hiện 50 000 lệnh với thời gian thực hiện lệnh 2m
Nếu việc biến đổi song song thành nối tiếp cho truyền và biến đổi nối tiếp song song và tạo dạng số liệu đều dùng phần cứng, thì bộ vi xử lý sẽ được sử dụng hiệu quâ hơn Nĩ gửi số liệu song song đến phần cứng bên ngồi cĩ khả năng tạo dạng số liệu và biến đổi song song thành nối tiếp Phần cứng này cũng cĩ khả năng nhận số liệu nối tiếp, loại bé bit PARITY và các thơng tin PFRAME (bit START và 2 bit STOP) rồi biến đổi thành số liệu song song cho bộ vi xử lý, ©
Bộ thu phát khơng đồng bộ vạn năng (NNIVERSAL ASYN CHRONOUS RECEIVER TRANSMITER - UAR/T) là loại mạch động song cơng cĩ 40 chân, cung cấp đầy đủ thơng tin để trao đổi số liệu khơng đồng bộ, cớ khả năng tạo dạng logic số liệu Các tín hiệu trên các đầu vào/ra cứ mức TTL, đầu ra của phần thu là 3 trạng thái Phải cần một số mạch
để lấp nối ghép điện, nhưng khơng cần đồng hồ chung giữa VART và thiết bị nối với nớ
Các VART cĩ khả năng làm việc với nhịp truyền 200baud (ví dụ các VART của hãng TNTERSIL IM6402/6403) VART đã trở thành tiêu chuẩn cơng nghiệp, nhiều nhà máy đã
- sản xuất các mạch cĩ chân thích ứng, thuận tiện cho việc nối ghép -
Thơng thường bộ vi xử lý và thiết bị vào/ra nối song song với VART để lập liên lạc
nối tiếp (Xem hình 6.36: Một VART gồm 2 nửa thu và phát Chúng độc lập với nhau, trừ
phần tạo dáng của kỹ tự được phát đi hay thu vào tổng Tổng số bit số liệu truyền (từ ð đến 8), loại PARITY (chãn, lẻ hoặc khơng sử dụng PARITY), tổng số bit STOP (1 hoặc 2) cho cé hai nửa phát và thu được, nớ được xác định bởi động hồ ngồi 16 lần nhanh hơn , : nhịp truyền và được nối với 2 đầu vào đồng hồ riêng biệt của phần thu và phần phát
Hoạt động của VART trong hệ vi lý cơ bản rất đơn giản Để gửi số liệu đi, bộ vỉ xử lý
phát số liệu song song tới VART và xung chọn mạch tới đầu vào chốt số liệu (Dồ) Số liệu
được trạp vào VART và được phát nối tiếp Bộ VART cĩ 2 lần đệm (xem hình 6.36a), cho
nên ký tự mới cĩ thể được nạp ngay khi bát đầu truyền ký tự trước đĩ VART cĩ đầu ra
Trang 29
"thanh ghỉ đệm truyén réng" (TBMT), chi rang thanh ghi gitta cdc bit số liệu của VART sẵn sàng nhận ký tự mới Bộ vi xử lý dùng đầu ra máy làm nhiệm vụ đối thoại Cĩ thể truyền gố liệu từ bộ vi xử lý tới VANT trong chế độ khơng điều kiện Với trường hợp này, bộ vi xử lý gửi ký tự mà khơng ần hỏi trưởc khi sử dụng chế độ truyền của VART
Phía thu của VART (hình 3.36b) cĩ đồng hồ nhanh gấp 16 lần nhịp truyền để giảm bớt
_ sai sĩt vi nhiễu khi thu Khi xác nhận mức lơgic thay đổi từ 1 xuống 0 ở đàu vào nối tiếp
_thì đầu vào sẽ được kiểm tra ở thời điểm sau một nửa thời gian của bit để đâm bảo cĩ quá
trình biến đổi lơgic Việc thay đổi mức lơgic từ 1 xuống 0:
bus RIT /\ a4? ký So ON " =X REED oO W9 va LA don z2 LItLvL_ v HÀšS4Đ5A L1t111})k‡
CONTROL| Thanhghigir Thanh ghi 4éin a
STROB cac Nà gu Cac Dune sỗ liệu DATA STROBE
rT Lr |
pat ác [Phanlegetran | ˆ s K/ | TRANSMITTEK
ihe als A "BUFFER EMPTY
16xT R Ath st LOAD | Bau ra
an, ‘Pha : Th ” ra AT BS hố 1 3ian ot SHIFT anh Jet dich ne Tiếp ~
J a,
Phan logic Ket thúc
Tao b PARITY a iy ky hệ, ⁄ ! RECEIVED [BATA ENABLE RDg RD> KĐĩ RDG ¿8 Thanh gh ắm
ps PAY Thanh ghi n
phan inhan Cat bus ai
tH thainh ghigqit a khigi #
c EZ lợi trang
| _ _— , 1 „ - Ta h Thanh ghi_dich
sâu Vaio kK tra Rug Kr S0a Hie ¢ ~ ahh ghi dic
hối tiếp START Đá RITV lđh Pha —>|€P phan nhậu
———ề— 46x K Bộ Wat | ổ phá
“ Bong herp th fan}
Trang 30: ¢
Sau một thời gian nghỉ được VART dùng để tự đồng bộ cho cả thời gian nhận 1 kỹ tự Tiếp theo VART trích mẫu ở giữa mỗi bit vào để xác định giá trị của từng bỉ
Dau ra "cớ sẵn số liệu" (DAV) của nửa thu cĩ mức lơgic 1 chi rằng ký tự đã nhận xong
và đầu ra song song cho ra ký tự vừa thu được Đồng thời báo các lỗi PARITY, FRAME
va OVERRUN Khi phan thu làm việc trong chế độ hỏi đáp, bộ vi xử lý kiểm sốt cờ DAV,
nếu số liệu đã cĩ thì bộ vi xử lý nhận nớ Lỗi OVERRUN xéy ra khi tir thứ 2 lại được nhận trước từ thứ nhất ˆ
Bộ vi ử lý cĩ khả năng đọc thơng tin lỗi Vì các đầu ra số liệu song song và các đầu
báo lỗi song song với bus số liệu Các đầu vào cho phép thu (RDE), cho phép nhận lời trạng
thai (SWE) được điều khiển bởi xung chọn mạch cho các mục đích khác nhau Xung chốt "xố cờ cĩ sẵn số liệu" EDAV) khởi động VART đồng thời chỉ rằng ký tự trước trong thanh : ghi đệm ra đã được đọc trước khi nhận ký tự sau Xung chốt này được sinh ra bởi bộ vi
xử lý qua xung chọn mạch vào, nếu trao đổi trong chế độ hỏi đáp, hoặc bởi làm trễ xung nhận ký tự bằng phần cứng bên: ngồi
Nếu thanh ghi chứa các bit điều khiển nối với bus số liệu, cĩ thể doe nd bởi chương
trình VART lúc này làm việc như mạch nối ghép theo chương trình Khả năng chương trình:
hố nữa là bộ phát xung nhịp cho thu và phát Bộ phát xung nhịp chỉ cần một thạch anh Tần số thu phát được chọn từ bên ngồi với 16 khả năng Mã hệ hai của chúng được viết trước vào 1 trong 2 chốt bit của bộ phát xung nhịp
b Trao đổi thơng tin nối tiếp đồng bộ
_ Trong truyền ký tự đồng bộ, khơng cần gửi đi các bit khơng phái thơng tỉn như START;
ATOP trong trao đổi số liệu khơng đồng bộ Vì vậy cho phép trao đổi số liệu nhanh hơn
Thơng thường, nhịp truyền đạt tới 3800 và 9600baud Việc đồng bộ giữa bên thu và bên phát thực hiện bởi một hoặc hai ký tự đồng bộ VÍ dụ : Nếu truyền thơng tin ở mã ASCI
thì ký tự SYN được sử dụng làm ký tự đồng bộ
Trong thu phát đồng bộ, số liệu nhận được là một chuỗi hít liên tục khơng cĩ ký tự giới hạn Phía thu số liệu phải sơ sánh từng bit của dãy bit vào với ký tự đồng bộ SYN đã
được ghỉ trước để nhận biết ký tự đồng bộ Khi nhận biết ký tự đồng bộ, bộ thu coi mỗi
nhớm n bit như là một ký tự ngay cả khi phía phát khơng cĩ số liệu sẵn sàng để gửi đi Trong trường hợp này bên phát gửi mã SYN hoặc NVLL, như vậy khoảng cách giữa 2 ký tự là cố định Đồng hồ của bộ thu và phát cĩ cùng tần số và phải ổn định để duy trì đồng bộ trong cả thời gian dài Thơng thường hàng trăm + mang ký tự cĩ thể gửi đi mà khơng
cần đồng bộ lại bộ thu
Trên thị trường cĩ mạch nối tiếp ghép nối tiếp đồng bộ 2 chiều Chức năng của chúng
được điều khiển bởi chương trình VÍ dụ, mạch nối ghép liên lạc theo chương trình 82ð11`
của INTER làm cả hai chức năng nối ghép trao đổi thơng tin song bộ và khơng đồng bộ
c Các chân vào(ra nối tiếp của bộ vì xử lý
Vài bộ phận vi xử lý cố một hoặc nhiều chân để vào số liệu nối tiếp Bộ vi xử lý 8085A
cĩ một đầu vào số liệu nối tiếp (SID) và một đầu ra số liệu nối tiếp (SOD) Số liệu vào bộ
vi xử lý trên chân SID bởi lệnh RIM và ra chân SOD bởi lệnh SIM lệnh RIM đọc nội dung số liệu vào SID đến bit 7 của thanh chứa, 6 bit cịn lat của thanh chứa là thơng tỉn trạng thái của hệ thống ngắt của bộ vi xử lý
Trang 31_ Lệnh SIM nạp nội dung bit 7 của thanh chứa vào chốt ra SOD, nếu bít 6 của thanh
chứa cớ lơgic.1 Nếu bit 6 cớ lơgic 0, chốt SOD khơng bị ảnh hưởng Khi khởi động 8085A, chốtxra SOD cĩ mức lơgic 0 và các bít khác của thanh chứa làm mặt nạ che ngắt 808ãA Bàng chương trình điều khiển chân SOD, số liệu được đưa ra nối tiếp tới thiết bị ra Sau
đây là chương trỉnh con thực hiện trao đổi thơng tỉn nối tiếp khơng đồng bộ bằng chân
“SOD của 8085A
Trong đĩ thanh ghỉ B chứa 7 bit ASCH va bit PARITY Bit PARITY la bit 7 SRLDO :MVICIOD ; Nạp bộ đếm
MVI A, SODO ; — Nạp bít 7 của A (ISOSD = Olxxxxxx)
SIM ; — Phát bit 8TART 7
LOOP ; CALLDELAY ; Trễ một bit
MOVA, B ; Nap sé liéu va PARITY vao A STC ; Lập cờ tràn cho các bit STOP
RAR , - Đẩy bit để gửi vao CY’
MOVB,A _ ;¡ — Bảo vệ các bit cịn lại
RAR , —— Đẩy bit vào A7.để phát
ANI 80H ; Xố nội dung A trừ A7
ORI SODO —; Hoặc để được phép phát
SM ` ; Phát bịt 7
- DCRC ; Giảm nội dưng bộ đếm
JNZ LOOP RET
d Cúc đặc tính điện k
Bởi vỉ khoảng cách vật lý giữa cửa vào/ra và thiết bị vào/ra kết hớp với nĩ càng lớn,
cho nên càng cần phải quan tâm đặc biệt đến các đặc tính điện của dây dẫn để làm giảm bit lỗi nhịp của số liệu thu được VÌ độ trễ của dây dẫn làm ảnh hưởng đến sườn lên và sườn xuống nên khơng nhận được tín Hiệu 3 điều kiện làm điện áp trên đầu cuối thu khác với đầu cuối phát làm số liệu thu được khơng đúng là:
1 Điện áp nhiễu cảm ứng vào đường dây qua điện dung ghép nối C và điện câm ghép
nối L, giữa đơi dây hoặc dây dẫn đi qua mơi trường cớ thiết bị gây nhiễu điện như mơ tơ
-2, Phía thu và phát khơng chung đất gây ra lệch điện áp đất 3 Trên dây dẫn cĩ phản hồi điện áp truyền
Các cổng TTL chuẩn cĩ khả năng kích dây dẫn với độ dài 0,6m Trong mơi trường nhiễu điện, giới hạn nhiễu mức điện áp TTL cũng bị ảnh hưởng nghiêm trong
_ đ Các bộ khuyếch đại đường dây và bộ thu
Các mạch khuyếch đại đường dây dùng để chuyển các mức điện áp TL sang các tín hiệu đủ kích các dây dẫn thơng tin Các mạch nhận thơng tin từ dây chuyển các mức tín 32
Trang 32hiệu này thành các mic TTL Cé 3 doai khuyếch đại đường dây và nhận thơng tin từ dây dẫn là: đầu cuối đơn giản, khơng đổi xứng và đối xứng ⁄
Mạch đầu cuối đơn giản khơng dùng 1 dây tín hiệu và đất và chung để truyền tín hiệu Vy Thuan lợi cho phương pháp này, là chỉ cần một dây dẫn cho một kênh số liệu, nhưng
tín hiệu cĩ thể bị suy giảm bởi điện áp nhiễu Vị cảm ứng, từ dây dẫn gần nhau hoặc nhiễu của các động cơ Đớ là điện áp giữa đất và phần thu sinh ra do cĩ trở kháng nhất định giữa khuyếch đại đường dây và đất bên thu Dịng tín hiệu ngược và các dịng khác của hệ gây ra điện áp suy giảm VÀ, nớ đi qua trở kháng giữa hai điểm đất Điện áp phía
thu s6 14 Vp = Vy + Vy + Vg bén thu khong thé phân biệt giá trị đúng của V0
Phương pháp đối xứng sử dụng khuyếch đại vi sai và bộ thu vi sai Bộ khuyếch đại
phát sinh giá trị lơgic trên một đầu ra, cịn giá trị bù của nĩ được phát sinh trên đầu ra
khác Phần thu chuyển tín hiệu vỉ sai sang mức TL trên đầu ra củả nĩ
.Bộ khuyếch đại đường dây và bộ thu nối với nhau bởi đơi dây xoẩn để loại trừ dịng
cảm ứng điện từ Nhiễu đường dây ảnh hưởng của đơi dây và đến cả 2 đầu vào của bộ thu
vi sai Điện áp nhiễu xuất hiện trên bai đầu vào như trên gọi là COMMON MODE SIGNAL
Hiệu điện thế ` t cũng xuất hiện trên phần thu như vậy Điện áp trên đầu + của bộ thu vỉ sai là Vụ + Vg trên đầu - là + Vụ + V Hiệu điện áp giữa đầu + và đầu - là điện áp vui Pha ‘thu chuyển sang mức TTL trên đầu ra
Trong phương pháp khơng đối xứng, đầu vào - của khuyếch đại vi sai nối với đất, làm giảm một day dẫn Tuy nhiền khả năng truyền bị giảm vì cảm ứng điểm nối tăng lên do
sử dụng dất chung :
e Phối hợp trỏ kháng
Các đường truyền thơng tỉn được kết thúc khơng thích hợp là nguyên nhân gây lỗi do _ phân xạ của các tín hiệu truyền Khi thời gian tồn tại của bit số liệu dài hơn độ trễ truyền
đạt của dây dẫn, ảnh hưởng của phản xạ Số giảm dần sau thời gian ngắn Cịn khi thời gian tồn tại của bit số liệu ngắn hơn thời gian truyền đạt, day dẫn cần cớ trở kháng phối hợp
Trở kháng đặc trưng của dây dẫn RO là hàm số của hình dáng và cỡ dây Giá trị thơng
thường từ B0 đến 200 Để ngăn ngừa phản xạ, cuối dây dẫn phải mắc điện trở bằng trở kháng đặc trưng Phần thu cĩ trở kháng vào cao, vậy phải mắc thêm trở kháng để cĩ khả năng phối hợp trở kháng _
g Các tiêu chuẩn ghép nối
Các mạch vào/ra cĩ trên thị trường, đặc biệt các mạch trao đổi số liệu, thường được
thiết kế theo một hoặc nhiều tiêu chuẩn ghép nối Các tiêu chuẩn ấy chỉ rõ đặc tính điện
và phương thức trao đổi số liệu giữa các thiết bị Một trong các tiêu chuẩn được sử dụng là RS 232C Mạch nối ghép điện thường là đơn giản, kết thúc đơn giản hoặc khơng cĩ kết thúc Độ dài dây dẫn cự đại lõm, tốc độ trao đổi cực đại 20Kbaud, mức lơgic 1 từ 3 đến
25V, mức lơgic 0 từ +3V đến 25V -
Các tiêu chuẩn mới cho phép độ dài dây dẫn lớn hơn và nhịp truyền cao hơn Tiêu chuẩn RS422 cho đặc tính điện với phương pháp nối ghép đối xứng Tiêu chuẩn này cho _33 “14%
Trang 33
Sand
phép dây dẫn dài 1200m, nhịp truyền 10Mbaud Tiéu chudn RS 423 danh cho phuong pháp nối ghép khơng đối xứng Ỏ đây dây dẫn cơ thể dài 1200m và tốc độ truyền 100Rbaud
ANSIIEEE STD.488 là tiêu chuẩn nối ghép trong các thiết bị điện tử với nhau Nĩ
cho phép nối lỗ thiết bị Với tổng số độ dài dây dẫn là 20m Nếu nối ít thiết bị thì chiều | đài dây dẫn tối đa là 2m cho mỗi thiết bị Bus số liệu 8 bit và các tín hiệu điều khiển tạo
ra khả năng đối thoại Tốc độ trao đổi là 250KByte/s Thủ tục của tiêu chuẩn cho phép nổi các thiết bị với bus để thực hiện chức năng như bộ chấp hành, cHÍ thu nhận số liệu
Hoặc nĩ chỉ thực hiện như bộ ra lệnh, chỉ phát số liệu Hoặc nd như bộ điều khiển chỉ
- quần lý chức năng trên bus Nhiều máy do được thiết kế theo tiêu chuẩn ghép nối này, do
Trang 34CHU ONG VI
NGAT VA THAM NHAP TRUC TIEP (DMA) ˆ
1 NGẮT :
Nhứng hệ vi xử lý phục vụ đơn vị ngoại vỉ theo nguyên tắc hỏi vịng thường bị hạn
chế về hiệu suất do đơn vị trung tâm phải bỏ ra một phần thời gian đáng kể để hỏi, lần lượt theo một trật tự nhất định, trạng thái của từng đơn vị vào/ra Để tăng hiệu suất đồng thời để giảm mức độ phức tạp của phần niềm, người ta đã tạo thêm tính năng ngắt cho hệ vi xử lý, Neat giúp trung tâm loại trừ hồn tồn cơng việc hỏi vịng và đơn vị ngoại vỉ chỉ gửi yêu cầu phục vụ Trong trường hợp này là yêu cầu ngắt về trung tâm khi cần thiết
Vvixwlý| — INTRle _- 1aSETp | INTA Kk Scene ee eee cLR +5V
_— ¿ Yếu cau natty _ đơn vi VAO.RA,
_——
Hình 7.1 Tạo ngắt cho vi xử lý từ một đơn vị vào /ra qua cờ yêu cầu ngắt
Sơ đồ trình bày ở hình 7.1 cho phép một đơn vị vào/ra ngắt đơn vị vỉ xử lý Mạch lật
dùng để nhớ yêu cầu ngất của đơn vị vào/ra cho đến khi bộ vỉ xử lý ghi nhận Mỗi lần cĩ
yêu cầu ngất, đơn vị vi xử lý kết thúc lệnh đang thực hiện của chương trình bị ngất và
ghỉ nhận yêu cầu ngất, sau đơ chuyển điều khiển đến chương trình con phục vụ ngắt (xem hình 7.2)
thudngtrinh
chinhn-4 Nt N#2
Chưởng trình coh phucvy
Hinh 7.2 Qua trinh điều khiển khi trả lời yêu cầu ngắt
_ Ngồi cách dùng tín hiệu trực tiếp ŒNIA) từ bộ vi xử lý (như ở hình 7.1), người ta
cịn- ghi nhận ngắt bằng cách dùng xung chọn chíp được tạo trĩng chương trình con ngắt để xố mạch lật yêu cầu ngắt Để tiếp tục chính xác chương trình chính sau khi đã phục
vụ ngắt, nội dung thanh đếm chương trình được bộ vi xử lý cất giữ, trước khi chuyển điều -
Trang 35
TTL khơng che được (xem hình 7.3) nếu đầu vào ngắt khơng che được cĩ mức lơgic tích cực,
thì bộ vi xử lý bị ngát Nếu đầu ngắt che được cĩ mức lơgic tích cực thì bộ vi xử lý chỉ bị
ngắt khi đầu ngắt đĩ khơng bị che Trong quá trình thực hiện chương trình cĩ thể cấm 'hoặc cho phép mở những đầu ngắt che được Bộ vỉ xử lý khơng trả lời cho tất cả những,
yêu cầu ngất tác động vào đầu ngất bị che
Đầu ngất khơng che được cĩ thể chuyển thành đầu ngắt che được bằng một số- mạch
phụ bên ngồi theo như sơ đồ vẽ.ở hình 7.4 Mạch lật tạo che cho đầu ngắt và được nạp
lơgic 1 Nếu cần cho phép ngất hoặc lơgic 0 nếu cần ngất
ngất eS Vix) — ngất khơng — _ cheauge hgatche
CG— _ưe‹ chophep —>»S @|—— ngặt Za cán h gat —R tcho Ma Pa ls wx4XT —
Hình ¡34 Ngắt che được và ngắt khơng che được
? “——† : LQ D
Vixue ly 4 — Keng
we] hen, thié
INTE|L—(T——— _ „ bì
Đâu vao na4È khong che auec
—
Hình 7.4 Tạo ngắt che được từ ngắt khơng che được
Dưới đây là trình tự thực hiện cơng việc mỗi khi yêu cầu ngắt được ghi nhận
a Kết thúc lệnh đang thực hiện
b Thực hiện chu kỳ máy ngắt để cất giữ nội dung thanh đếm chương trình và chuyển điều khiển đến địa chỉ tương ứng
c Cất giữ trạng thái của bộ vỉ xử lý
d Nếu đồng thời nhiễu đơn vị vào/ra cĩ cùng địa chỉ ngất yêu cầu phục vụ, thì bộ vi xử lý ghỉ nhận yêu cầu của đơn vị cĩ mức ưu tiên cao nhất
đ Thực hiện chương trình con ứng với đơn vị vào/ra yêu cầu ngắt
- e, Hồi phục trạng thái của bộ vi xử lý được cất giữ khi ghi nhận ngắt
g Chuyển điều khiển trở lại lệnh tiếp theo lệnh bị ngắt để tiếp tục chương trinh chính
36 và
Trang 36“` naất ja 7 2,3 4, s WL & Hình 7.5 Trình tự cơng việc phục vụ ngất
._ 1, Thời gian ẩn (ateneytime); - 2, Chủ kỳ máy ngắt
8 Cất giữ trạng thái; 4 Nhận dạng thiết bị
ð Thời gian thực sự phục vụ ngắt; 6 Hồi phục trạng thái ,
7 Quay lại chương trình bị ngắt
Hình 7.5 Minh hoạ quá trình trên Khoảng thời gian tính từ thời điểm ngất đến lúc
bất đầu thực hiện chương trình con phục vụ ngất bao gồm các bước từ 1 đến 4 được gọi
là thời gian trả lời Tỷ lệ giữa tồn bộ thời gian từ bước 1 đến bước 7 và thời gian thực
hiện chương trình ngắt (bước 5ð) được gọi là tổng phí Trong một hệ vi ¡ xử lý cấu trúc ngắt
cĩ tổng phí càng thấp thì hiệu suất cho phép càng cao
2 Cấu trúc ngắt của bộ vỉ xử lý 8085 :
Bộ vi xử ly 8085 cd 5 đầu vao ngdt : TRAP, RST7.5, RST6.5, RST5.5 và INTR Trong đĩ TRAP là đầu vào khơng động 8085 Xung khởi động RESET xố mạch lật cho phép ngắt nội tại INTE, do đĩ tất cả ngắt che được đều bị ngắt che được cĩ tác dụng, ngắt phải được cho phép trong quá trình thực hiện chương trình
RST7.5, RST6.5, RSTð.ð được cho phép sau khi thực hiện hai bước chương trình sau :
1 Đặt mặt nạ ngất
2 Cho phép ngắt mỗi đầu ngắt cĩ thể che một cách độc lập bảng lạnh đặt mặt nạ SIM |
SIM (Set Interrupt Masks)
Trong quá trình thực hiện lệnh SIM, nội dung của thanh \ ghi tổng (A) được dùng để
đặt mặt nạ ngất : bit 0, 1, 2 đặt hoặc bỏ mặt nạ cho RST7.5; 6.5; 55 néu bit 3 - bit "cho
phép lật mặt nạ" bằng 1
Đặt bít mặt nạ = 1 cĩ ý nghĩa là cấm đầu ngất tương ứng với bit đơ
Lập L Xĩa
Mặt nạ RST 7.5
- Nếu bịt 2 = 1 "Nếu bit 2 = 0
Mat na RST 6.5 Néu bit 1 = 1 -_ Nếu biL1 =0
Mat na RST 5.5 Nếu bit 0 = 1 Nếu bit 0 = 0
Mạch lật L ngất m nội tại của RST 7.5 được xố, nếu bit 4 của thanh ghỉ tổng bằng 1, độc lập với việc lập hoặc bỏ mặt na cho RST 7.5
Dưới tác động của tín hiệu khé dong RESETIN cua 8085 mat na được áp cho tất cÁ › các đầu ngắt RŠT và tất cả ngất che được đều bị cấm
Lệnh SIM cịn cĩ thể dùng để gửi số liệu ra ngồi theo đầu ra nối tiếp SOD Bít 7
của thanh tổng được nạp vào chốt SOD nếu bit 6 bằng 1 Mạch chốt SOD giữ nguyên giá
37
Trang 37
trị cũ, nếu bit 6 bằng 0 mạch chốt SOD bi xố về: mức 0 dưới tác động của tín hiệu khởi
động RESETIN : Vi dy : Những lệnh sau ‘cho phép ngất RST7.ð, RSTð.5 và cấm RST6 5 Malenh | O | Of] t [1 [1] 041] 0 Noidung 7 6 5 4 2 2 1 «0
thành tổn ÍsODlsoE| X |R75 |MSE|MT5 | Mư5 | M55 |- trước lệnh 7
SIM hy
i k 4 4 4
; - Mat na RST 5.5
Mat na RST 6.5
Mat na RST 7.5
Cho phép lap mat na
Xda RST 7.5 Khơng xác định
Cho phép SOD
Số liệu ra nối tiếp
Chu ky al
Số trạng thái” : 4
Cờ .: Khơng
MVI A, 1AH : Nap mặt nạ ngất vào thanh tổng A
SIM : Lập mặt nạ ngất
Tiếp theo bộ vi xử ly phải thực hiện lệnh EI (Enableinte rrupt) để cho phép ngất mà thực chất là lập mạch lật cho phép ngất (INTEFF) bén m trong bộ vi xử lý INTEFF được lập sau khi kết thúc lệnh tiếp theo EI
Cho phép ngất
“BỊ
_ (NTEFP « 1
Lệnh DI (Disa ble Interrupt) cấm tất cả các ngắt che được ngay sau Rhi | thực hiện lệnh -
dd -
Cấm ngất
DI
Trang 38' Tất cả các ngắt che được cũng đều bị cấm khi bộ vỉ xử lý thực hiện chu ky máy: ngất, để tránh ghỉ nhận ngất tiếp theo cho đến khi lệnh, EI duge thyc hiện %
Đầu ngất INTR chỉ.bị cấm hoặc cho phép bởi- lệnh DI hoặc EI va khơng chị tắc động
-` của lệnh SIM Như vậy đối với bộ vi xử Tý 'B085 điều kiện ngắt cĩ hiệu, Ive là : xố
I Ngắt cĩ hiệu lực = TRAP + INTE, CINTR + Ri 7 - ca TH yên g
— Mĩ5 +RST6ð MB5 + RST55 'MB)-
Trong đĩ Min) la mat na cho RST(n) duge xAc định trong lệnh SIM Ae,
_ Hầu hết các đầu ngất của bộ vi xử lý đều nhạy với mức, tủy vậy cĩ miột gối nhạy, với” sườn hoặc nhạy với cả sườn lẫn mức 8085 cĩ cả 3 loại đầu ngát, TRAP là đầu 'ngắt, vừa
nhạy với mức vừa nhạy với sườn Để ghi nhận yêu cầu ngắt, đầu vào TRAP phải được giữ ở mức cao sau khi cĩ một quá độ từ mức thấp lên cao (sườn lên) Sau khỉ được ghỉ nhận, - _" mứe cao ở TRAP khơng cịn hiệu lực nếu khơng trở lại từ đầu trìnE tự yêu cầu ngắt Đặc
điểm này cho phép 8086 loại trừ những yêu cầu ngất giả do nhiễm sinh ra, đặc biệt do - _ nhiễm loại xung kim (glitch) RST 7.5 là đầu ngất nhạy với sườn: Yêu cầu ngất một quá
độ từ thấp lên cao, được ghi nhớ (nhờ mạch lật ngắt đành riêng cho RST7.ð nằm ở bên, ˆ
- trong bộ vi xử lý) cho đến khi nhận ngất hoặc do tín biệu khởi động RESETIN RST6.5 và RSTð.ð đều nhạy với mức Muốn yêu cầu ngắt được ghi nhận, tín hiệu ngất phải ở mức
cao cho đến khi bộ vi xử lý ghi nhận Như vậy đối với mỗi RST6.ð và RSTB.ð nghi ta: phải
sử dụng mạch lật yêu cầu ngất ở bên ngồi ˆ -ˆ ,
Lạnh RIM (Read Interrupt Mask) doc vao thanh tổng trạng thái: mặt nạ ngất, yêu: cầu
" ngắt chưa giải quyết và nội dung đầu vào số liệu nối tiếp SID Với lénh RIM ta cĩ thể : :
kiểm sốt trạng thái của từng đầu ngắt trong suốt quá trình chạy chương trình Khi ngắt bị cấm nhưng cĩ yêu cầu ngất chưa được giải quyết Chương trình chính cĩ thể cho phép
một yêu cầu ngắt đặc biệt nào đĩ được phục vụ
Đọc mặt nạ nÁtc 7 SIM ¬ Ơ ˆ- " poo ee , bĩ - SIO | H5 | 165 | 6.5 | IE |M75|M6.5|M5.5 4 4 ` + 4 ‘ : - £5
¬¬¬ a I ot Mat tia hgất ¬ Tái
| | - Cờ cho phép ngất me
Ngất chưa giải quyết
: $6 ligu vào nối tiếp -
Trong các hệ vi xử lý sử dụng ngất, việc hỏi vịng bằng chương trình thực chất được
thay thế bởi hỏi vịng tự động bằng phần cứng Lưu đồ trên hình 7.6 cho thấy 8085 kiểm, tra các đầu ngất trong khoảng thời gian của xung đồng hồ tiếp theo trạng thái cuối cùng
của mỗi chu kỳ lệnh và trong khoảng thời gian của tất cả xung đồng hồ Nếu 8085 đang
- ở trong trạng thái dừng (HALT) Bằng cách hỏi vịng tự động các yêu cầu ngắt như vậy
8085 chi trả lời ngất sau khi kết thúc lệnh đang thực hiện Nếu yêu cầu ngắt cĩ hiệu lực
tác động vào 8085 thì mạch lật cho phép ngắt (TNTEFF) được xố, mạch lật ghỉ nhận ngắt ay NTAFF) được lập và chu kỳ máy tiếp theo là chu kỳ đặc biệt, dành riêng cho xử lý, ngắt
Trang 39
| LẬP mạch lật
Xøa mà lat INTE
Hình 7-6 Chu kỳ máy lược giản
của 8085 bao gồm lơgic ngắt
ZF\ /
tLATMX
INTR
TINS
Đối với TRAP, RST7.5, RST6.5 va RST5.5 chu kỳ đặc biệt đĩ là chu kỳ máy nghỉ bus (Bus IDLE), đối với [NTR đĩ là chủ kỳ máy ghỉ nhận ngắt INA (interrupt Acknowle dge)
Thời gian ẩn that (latency time) duge dinh
nghĩa là khoảng thời gian tính từ thời điểm ngất xuất hiện đến thời điểm bát đầu thực hiện chu
kỳ máy ngất (xem hình 7.5) Theo đồ thị thời
gian ở hình 7.7 tín hiệu ngắt phải ở mức tích cực trong khoảng thời gian tins (thời gian lập ngắt) tính từ lúc cĩ yêu cầu ngắt đến sườn trước xung
_ đồng hồ của chu kỳ lệnh tiếp theo Đối với 808ð
giá trị tối thiểu của tịns là 1/2T + 200ns Trong
đĩ T là chu kỳ đồng hồ của vi xử lý
Nếu yêu cầu ngất cĩ hiệu lực xuất hiện
chính xác bằng tins don vị thời gian trước lúc bát đầu chu kỳ lệnh tiếp theo, thì chu kỳ ngất này cĩ thời gian ẩn ngắn nhất và bằng chính
TỊNs : TiArMIN =Tlụyg Nếu ngất cĩ hiệu lực xuất hiện ngay sau khi thời gian lập ngắt TỊs; thì yêu cầu ngắt khơng được trả lời (vi xử lý ẩn trước yêu cầu ngất) cho đến khi lệnh tiếp theo kết thúc, đây là trường hợp xấu nhất với thời gian ẩn cực đại,
Z1 tinn
Hình 7.7 Thời gian lập trụs (Setup) và thời gian giữ tixH (HOLP) ‹
của tín hiệu ngắt biểu diễn theo đồng hồ của vi xử lý tins + tmax cla chu kỳ lệnh
1/2T + 200n§ + 18T = 1B,5T + 200nS
Thời gian .ẩn cực đại là một nhân tố quan trọng trong việc xác định thời gian trả lời Điều kiện để cơng thức trên đúng là trong chu kỳ lệnh xuất hiện yêu cầu ngắt khơng
cĩ các trạng thái đợi (WAIT) và treo (HOLD) Nếu cớ các trạng thái đợi WAIT va treo
HOLD, thời gian ẩn cực đại cịn phải được cộng thêm thời gian của tất cà các các trạng thái này Một giả thiết khác cũng đặt ra là ngất khơng bị cấm tị wAx phải được tính
Trang 40Chu ky méy ngắt cĩ độ dài cố định la 12T; trong khoảng thời gian này nội dung thanh đếm chương trình PC, tức địa chỉ tiếp theo của lệnh bị ngắt, được cất giữ vào ngắn xếp
(STACK) và điều khiển chuyển sang địa chỉ ngắt tương ứng
“Chuyển điều khiển đến địa chỉ ngắt thực chất là gọi chương trình can bằng phần cứng
Tuy thuộc vào từng loại ngắt, mà ta cĩ những cách chuyển điều khiển khác nhau:
Đối với TRAP, RST7.ð, RST6.5 và RST5.5, 8085 chuyển điều khiển đến một trong
những địa chỉ quy định trước cho mỗi cầu ngt `
: Đầu ngắt Địa chỉ khởi động lại (Restart)
TRAP 24H
RSTB5 sẽ 2CH +
RST65 34H
RST7.5 _— 8ŒH
Chu kỳ máy ngắt đối với nhĩm ngắt này 1A bus nghi BI (Bus IDLE) Trong chu ky BI
bộ vi xử lý tự tạo mã lệnh cho lệnh khởi động lại với địa chỉ khởi động lại tương ứng, và khơng tăng nội dung PC Như vậy nội dung PC được cất giữ là địa chỉ của lệnh tiếp theo lệnh bị ngất Cĩ thể mơ tả hoặt động của lệnh tự tạo bên trong bộ vi xử lý này như sau:
RST (bên trong)
<(SP) - 1> - PCH
<(SP) - 9> « PCL,
(SP) ˆ <(SP)-2
PC “© Dia chi chi dong lai
Chu kỳ máy BỊ tương tự chu ky nhan lénh OF (OPCODE FETCH), chi khác ở chỗ,
đầu RD khơng hoạt động do mã lệnh được bộ vỉ xử lý tự tao bên trong bằng phần cứng
như đã trình bày ở trên
Cách xác định đơn vị yêu cầu ngất và chuyển điều khiển trực tiếp, đến chương trình con khởi động lại được gọi là ngất cĩ hướng (Vectorret interrupt) Do những địa chỉ khởi -
đọng lại (địa chỉ vectơ) chỉ cách nhau vài ơ nhớ, nên tại địa chỉ vectơ người ta thường ghỉ
một lệnh nhảy để từ đĩ nhấy đến vùng nhớ chứa chương trình con phục vụ ngắt
Đối với TNTR, chu kỳ máy ngất được gọi là chu kỳ ghi nhận ngất INA NTERRUPT ACKNO WLEDGE) INA cũng gần như chu kỳ máy nhận lệnh (OF) chỉ khác ở chỗ IO/M = 1 và thay vì tạo xung RD thì bộ vi xử lý tạo xung IĐTA Trong chu kỳ máy INA, PC khong tang, do đĩ nội dung PC được cất giữ là địa chỉ của lệnh tiếp theo lệnh bị: ngắt
Xung INTA được mach légic bên ngồi sử dụng để đưa mã lệnh (OPCODE) vào "bus số liệu Trong trường hợp lệnh nhiều bytes, 8085 tạo ra những chu kỳ máy INA phụ để chuyển những byte phụ vào bộ vi xử lý Về phương diện lý thuyết, mạch lơgic bên ngồi
cĩ thể chuyển bất cứ một lệnh nào vào Bus số liệu bằng xung TNTA, nhưng để quay lại chính xác sáu khi phục vụ ngắt xong, người ta thường dùng lệnh CALL và RST vì 2 lệnh
này đều cất giữ nội dung PC trước khi chuyển điều khiển Trong lệnh khởi động lai RSTn,
n cĩ thể mang tám giá trị khác nhau
0<n <7
41