Upload
votu
View
222
Download
6
Embed Size (px)
Citation preview
Trao đổi trực tuyến tại:
http://www.mientayvn.com/chat_box_li.html
HỆ THỐNG HỖ TRỢ
VI XỬ LÝ
Bộ môn: ĐIỆN TỬ - VIỄN THÔNG
LÊ VĂN THANH VŨ
Tài liệu tham khảo Trần Quang Vinh, “Cấu trúc máy tính”, Nxb Giáo dục
Trần Bá Thái, “Điều khiển và Ghép nối các thiết bị ngoại vi”
Intel, “16bit HMOS Microprocessor 8086”.
Intel, “82C55A CHMOS Programmable Periphral Intreface”.
Intel, “8253/54 Programmable Interval Timer”.
Intel, “8251A Programmable Communication Interface”
Intel, “8259A Programmable Interrupt Controller”.
Siemens, “SAB 8284B, SAB8284B-1 Clock Genentor and
driver for SAB8086 Family Processor”.
Motorola Semiconductors, “Real Time Clock PLUS RAM”.
Sơ đồ khái quát hệ thống vi xử lý
P
Thiết bị vào
(Key, Mouse)
Thiết bị ra
(Monitor)
Điều
khiển
vào ra
trực
tiếp
DMA
Thiết bị vào ra
(Đo lường)
ADDRESS BUS
Khối nhớGiao tiếp ổ đĩa
Đĩa nhớ
CONTROL BUS
DATA BUS
ADDRESS BUS
Yêu cầu tìm hiểu
1. Một hệ thống cần những linh kiện bổ sung gì?
2. Chức năng của từng linh kiện trong hệ thống như thế
nào?
3. Làm thế nào để ghép nối linh kiện hổ trợ với VXL?
4. Thế nào là một vi mạch khả trình?
5. Hoạt động của các linh kiện sẽ như thế nào?
6. Làm thế nào để điều khiển vi mạch trong các hoạt động
của nó?
7. Lập trình để điều khiển linh kiện như thế nào?
Chip điều khiển đồng hồ 8284
Sơ đồ khối chức năng của vi mạch 8284
CYSNC
PCLK
AEN1
RDY1
READY
RDY2
AEN2
CLK
GND
Vcc
X1
X2
TNK
EF
F/C
RES
Reset
Cấu trúc bố trí chân 8284
Giản đồ xung mô tả hoạt động 8284
Chip điều khiển BUS 8288
Bố trí chân của vi mạch 8288
Sơ đồ khối chức năng của 8288
Các lệnh và điều khiển logic 8288
Giản đồ xung mô tả
hoạt động của 8288
Giản đồ thời gian của các tín hiệu DEN và PDEN
Giản đồ thời gian của AEN (cho phép, ngắt 3trạng thái)
Nguyên tắc vào ra trong hệ thống
P không thể hoạt động được nếu không có các giao tiếp vào ra,
được dùng để trao đổi thông tin số liệu với người dùng và với các hệ
thống khác. Tuy nhiên, để trao đổi thông tin với P không đơn giản
chỉ nối lại như chúng ta nhìn thấy.
Ghép nối P phải tuân thủ một số nguyên tắc sau:
- Phải tương thích BUS ba trạng thái
- Có mức logic phù hợp với chuẩn BUS.
- Có chức năng giải mã
- Trao đổi thông tin dưới sự điều khiển của P
Các chế độ vào ra song song đơn giản
Vào song song đơn giản không điều khiển
Vào ra song song có điều khiển
Ghép nối vào có tín hiệu điều khiển
Vi mạch ghép nối song song PPI8255
Bố trí chân của vi mạch PPI8255 ở dạng võ PDIP
Định dạng thanh ghi điều khiển của 8255
Định dạng thanh ghi điều khiển của PPI8255
Lập trình cho PPI8255
Bắt đầu
Xác định chế
độ vào ra
Xác định giá
trị thanh ghi
điều khiển
Ghi giá trị
điều khiển
Xuất nhập
Bắt đầu
Lập chương trình để xuất dữ liệu ra 8bit ở cổng B sau
khi lập bit PC5 ở mức cao, sau đó đọc vào 8bit ở
cổng A khi bit PC0 ở mức thấp.
Giả sử địa chỉ gốc của vi mạch 8255 là 300h.
Từ điều kiện bài toán, ta sẽ xác định được
-Chế độ hoạt động vào ra đơn giản một chiều
-Nữa cổng C byte cao ở hướng ra.
-Cổng B ở hướng ra
-Cổng A ở hướng vào
-Nữa cổng C thấp ở hướng vào
D7 D6 D5 D4 D3 D2 D1 D0
1 0 0 1 0 0 0 0
CODE_SEG SEGMENT
Chip điều khiển ngắt 8259
Sơ đồ chân
Sơ đồ khối chức năng vi mạch 8259
Các cơ chế vào ra trong hệ thống
Nguyên lý trao đổi hỏi vòng Nguyên lý trao đổi dạng ngắt
Ghép nối 8259 với hệ thống
Hoạt động của 8259 với MSC85Mã của lệnh CALL ở MSC85
Lập trình điều khiển 8259
Thanh ghi điều khiển 8259
Định dạng thanh ghi từ lệnh ICW1
Định dạng thanh ghi từ lệnh ICW2
Định dạng thanh ghi ICW4
Các thanh ghi hoạt động OCW
Thanh ghi hoạt động OCW1
Cấu trúc thanh ghi điều khiển hoạt động OCW2
Nguyên tắc nghép nối tiếp các PIC
Điều khiển vào ra trực tiếp DMA8237
Sơ đồ khối chức năng của DMAC8237Sơ đồ chân vi mạch điều khiển DMA 8237
Các thanh ghi của DMAC8237
Tên thanh ghi Độ dài (bit) Số lượng
Địa chỉ gốc
Số từ gốc
Địa chỉ tức thời
Số từ tức thời
Trạng thái
Lệnh
Tạm thời
Chế độ
Mặt nạ
Yêu cầu ngắt
16
16
16
16
8
8
8
6
4
4
4
4
4
4
1
1
1
4
1
1
Định dạng các thanh ghi 8237
Định dạng thanh ghi lệnh của 8237
Định dạng của thanh ghi chế độ 8237
Định dạng thanh ghi yêu cầuĐịnh dạng thanh ghi mặt nạ 8237
Định dạng thanh ghi mặt nạ
Định dạng thanh ghi trạng thái DMA
Xác định các thanh ghi
Tín hiệu logicHoạt động thanh ghi tương ứng
A3 A2 A1 A0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
Đọc thanh ghi trạng thái
Ghi vào thanh ghi lệnh
Không hợp lệ
Ghi thanh ghi yêu cầu DMA
Không hợp lệ
Ghi từng bit thanh ghi mặt nạ bit
Không hợp lệ
Ghi thanh ghi chế độ
Không hợp lệ
Xóa byte con trỏ mạch lật
Đọc thanh ghi tức thời
Xóa master
Không hợp lệ
Xóa thanh ghi mặt nạo
Không hợp lệ
Ghi toàn bộ các bit thanh ghi mặt nạ
IOR IOW
Giao tiếp DMAC8237 với P
Ghép tầng các DMAC8237
Đọc ghi ở chế độ phụ
Giản đồ ghi trong chế độ phụ
Giản đồ đọc ở chế độ phụ
Giản đồ xung mô tả hoạt động 8237
Hoạt động DMA giữa hai khối nhớ
Khối thời gian PIT8253/54
Bố trí chân của vi mạch PIT9253Sơ đồ khối chức năng của PIT8253
Hoạt động đọc ghi của PIT8253
Thanh ghi điều khiển D7 D6 D5 D4 D3 D2 D1 D0
SC1 SC0 RL1 RL0 M2 M1 M0 BCD
BCD: Bit định dạng từ đếm
Nếu bằng 0 định dạng nhị phân, 16bit.
Bằng 1 sẽ thực hiện đếm BCD (bốn chữ số)
Các bit M0÷M2 là các bit xác định chế độ đếm, có 6 chế
độ đếm cho mỗi bộ đếm
RL1 và RL0: chế độ truy xuất các thanh ghi bộ đếm
SC1 và SC0: Các bit lựa chọn bộ đếm
Các chế độ đếm của PIT8253
M2 M1 M0 Chế độ Hoạt động đếm
0 0 0 0 Ngắt khi kết thúc đếm
0 0 1 1 Phát xung nảy lập trình được
x 1 0 2 Bộ phát tốc độ
x 1 1 3 Bộ phát xung vuông tốc độ
1 0 0 4 Phát xung cho phép mềm
1 0 1 5 Phát xung cho phép cứng
Các bit ghi đọc thanh ghi đếm (Read/load)
RL1 RL0 Hoạt động
0 0 Chốt thanh ghi bộ đếm
0 1 Chỉ đọc/ghi byte cao
1 0 Chỉ đọc/ghi byte thấp
1 1 Đọc/ghi byte thấp trước, byte cao sau
Các bit lựa chọn bộ đếm (Select Counter)
SC1 SC0 Hoạt động
0 0 Chọn bộ đếm 0
0 1 Chọn bộ đếm 1
1 0 Chọn bộ đếm 2
1 1 Không sử dụng
Các chế độ hoạt động đếm
Chế độ 0, ngắt khi kết thúc đếm – Interrupt on
Terminal Count. Bộ đếm sẽ bắt đầu đếm ngay sau
sườn sau của CLK khi đã hoàn thành quá trình nạp
giá trị đếm.
Chú ý: Bộ đếm chỉ hoạt động khi cực cửa (GATE) ở mức
cao. Khi đang hoạt động đếm, GATE về mức thấp sẽ
ngắt đếm cho đến lúc GATE trở lại mức cao và bộ
đếm sẽ tiếp tục đếm tiếp giá trị đã chốt
Các chế độ hoạt động đếmChế độ 1, Xung nảy lập trình được. Đầu ra bộ đếm sẽ
về mức thấp ngay sau hoạt thành quá trình thiết lập
bộ đếm bắt đầu từ sườn sau của CLK. Quá trình đếm
kết thúc đầu ra sẽ trở lại mức cao.
Bộ đếm tạm dừng khi cực cửa ở mức thấp, và sau khi
cho phép thì sẽ bắt đầu đếm lại từ đầu
Các chế độ hoạt động đếmChế độ 2, Phát tốc độ. Sử dụng bộ đếm chia N (giá trị
nạp), đầu ra sẽ ở mức cao trong N-1 chu kỳ đầu sau
đó sẽ xuống mức thấp trong cuối của quá trình đếm.
Quá trình được lập lại cho đến khi có sự thiếp lập lại
bộ đếm.
Mạch đếm cũng được điều khiển bởi cực GATE, nếu có
một mức thấp ở cửa GATE quá trình đếm tạm dừng
và sẽ đếm lại từ đầu khi GATE trở lại mức cao.
Các chế độ hoạt động đếmChế độ 3, Phát xung vuông lập trình được. Tương tự
như ở chế độ 2, đầu ra sẽ ở mức cao trong khoảng
nữa quá trình đếm, sau đó sẽ trở về mức thấp ở
khoảng đếm còn lại.
Nếu giá trị nạp là số lẻ thì ở mức cao sẽ kéo dài hơn ở
mức thấp một chu kỳ của xung nhịp vào.
Các chế độ hoạt động đếmChế độ 4, Lập xung cho phép mềm. Sau khi thiết lập
chế độ và nạp giá trị, đầu ra bộ đếm sẽ ở mức cao và
bắt đầu đếm và khi kết thúc quá trình đếm sẽ phát một
xung ở mức thấp.
Quá trình được điều khiển bởi tín hiệu GATE, khi cực
cửa ở mức thấp sẽ tạm dừng quá trình đếm và khi trở
lại mức cao sẽ reset giá trị đếm
Các chế độ hoạt động đếmChế độ 5, Lập xung cho phép cứng. Tương tự như
chế độ 4, nhưng được điều khiển bằng cực cửa
Lập trình cho PIT8253
Lập trình điều khiển PIT8253 phát xung vuông tần số
50kHz. Biết rằng xung nhịp vào CLK là 2MHz và có
địa chỉ gốc là 304H.
MOV DX,307h
OUT DX,56h
NOP
MOV DX,305h
OUT DX,40
Vi mạch điều khiển ghép nối nối tiếp
Điều khiển logic trong 8251
Trong đó, chân C/D (12) là chân điều khiển từ xuất
nhập với BUS hệ thống. Nếu C/D=1 sẽ truy xuất điều
khiển hoặc trạng thái, và C/D=0 sẽ truy xuất dữ liệu
Thanh ghi điều khiển của 8251
Các chân điều khiển modem
DSR – Data Set Ready,dùng cho mục đích P kiểm tra khi
tiến hành đọc trạng thái. Có hướng vào
DTR – Data Terminal Ready, hướng ra mục đích chung sử
dụng bằng lập trình mức thấp cho từ lệnh.
RTS – Request To Send là chân hướng ra. P đưa ra
mức thấp ở chân này để báo hiệu sắp có viết từ lệnh.
CTS – Clear To Send có hướng vào, dùng để cho phép
8251 phát dữ liệu khi bit Tx Enable bằng 1. Nếu bit Tx
Enable hay CTS không tích cực khi Tx hoạt động thì sẽ
phát hết dữ liệu trong USART.
Khối điều khiển phátBộ đệm phát, sẽ là một thanh ghi dịch có chức năng
chuyển dữ liệu từ dạng song song sang nối tiếp trên
đường TxC. Ngoài ra khối phát còn có các chân chức
năng sau:
-TxRDY (Transmitter Ready), có hướng vào để báo cho
P là 8251 sẵn sàng nhận từ tin để phát.
-TxE (Transmitter Empty), Khi không có dữ liệu để phát
8251 sẽ giăng tín hiệu ở chân này lên mức cao.
-TxC (Transmitter Clock), là tín hiệu điều khiển tốc độ
đồng hồ phát. Có thể bằng 1, 1/16 hoặc 1/64 tốc độ
BAUD
Khối điều khiển nhậnThanh ghi bộ đệm nhận, có chức năng chuyển đổi nối tiếp
song song khi nhận được dữ liệu từ chân RxD sẽ loại bỏ
bit START và STOP
RxRDY – Sẵn sàng nhận, có hướng vào dùng để chỉ thị
rằng 8251 đã chứa một ký tự nhận sẵn sàng để đưa vào
P.
RxC – Đồng hồ nhận. Là tín hiệu điều khiển đồng hồ nhận
tương tự ở TxC tốc độ đồng hồ có thể bằng hoặc gấp
nhiều lần tốc độ Baud.
Chế độ truyền không đồng bộĐịnh dạng thanh ghi điều khiển ở chế độ không đồng bộ
D7 D6 D5 D4 D3 D2 D1 D0
S2 S1 EP PEN L2 L1 B2 B1
Các bit hệ số tốc độ Baud B2 và B1 xác định hệ số
giữa tín hiệu đồng hồ và tốc độ baud.
Bit độ dài ký tự: L2,L1 dùng để xác định độ dài của ký
trong một lần truyền: 5bit, 7bit hay 8bit
Bit cho phép chẵn lẽ: PEN
Bit chẵn lẻ EN, không có nghĩa khi PEN=0
Bit xác định độ dài bit STOP
Tín hiệu truyền trên đường dây
Với chế độ không đồng bộ, mỗi khung sẽ phát đi đầu tiên
là bit START, các bit tin kết thúc là bit kiểm tra chẵn lẻ và
bit STOP
Chế độ truyền đồng bộChế độ truyền đồng bộ có định dạng thanh ghi điều khiển
D7 D6 D5 D4 D3 D2 D1 D0
SCS ESD EP PEN L2 L1 0 0
Ở chế độ đồng bộ, các bit liên đến định dạng dữ liệu vẫn
tương tự như chế độ không đồng bộ: các bit kiểm tra chẵn
lẻ PEN và EP cũng như các bit độ dài L2,L1.
Các bit xác định tốc độ không có nghĩa nên được cho bằng 0
Bit phát hiện đồng bộ mở rộng ESD, xác định hướng của tín
hiệu SYNDET.
Bit ký hiệu đồng bộ - SCS xác định ký hiệu là đơn hay đôi.
Định dạng thông tin đồng bộ
Thanh ghi lệnh điều khiểnD7 D6 D5 D4 D3 D2 D1 D0
EH IR RTS ER SBRK RxE DTR TxEN
TxEN, cho phép phát. Khối chỉ phát đi khi bit này bằng 1
DTR – Đầu cuối sẵn sàng, bit này lập chân DTR về mức 0
RxE – Bit cho phép nhận. 8251 chỉ nhận khi RxE=1
SBRK – Ngắt quá trình phát, khi bit này bằng 1 chân TxD sẽ
về mức 0.
ER, lỗi Reset. Bằng 1 sẽ báo có lỗi tái khởi động lại.
RTS, khi ở mức cao sẽ lập chân RTS ở mức 0
IR – Reset cục bộ, khi đặt bằng 1 sẽ khởi động lại
EH – Enter Hunt Mode. Ở mức 1 sẽ chuyển chế độ đồng bộ
Thanh ghi trạng thái đọcD7 D6 D5 D4 D3 D2 D1 D0
S2 S1 EP PEN L2 L1 B2 B1
Chuẩn BUS mở rộng ISA 8bit
Ví dụ về card ghép nối qua ISA8bit
Hệ thống BUS đa năng nối tiếp
Chân Tên Màu Mô tả
1 Vcc Đỏ Nguồn
2 D- Trắng Dữ liệu -
3 D+ Xanh Dữ liệu +
4 GND Đen Đất
Các gói tin trong giao thức USBType
PID value
(msb-first)
Transmitted byte
(lsb-first)Name Description
Reserved 0000 0000 1111
Token1000 0001 1110 SPLIT High-speed (USB 2.0) split transaction
0100 0010 1101 PING Check if endpoint can accept data (USB 2.0)
Special1100 0011 1100
PRE Low-speed USB preamble
Handshake
ERR Split transaction error (USB 2.0)
0010 0100 1011 ACK Data packet accepted
1010 0101 1010 NAK Data packet not accepted; please retransmit
0110 0110 1001 NYET Data not ready yet (USB 2.0)
1110 0111 1000 STALL Transfer impossible; do error recovery
Token
0001 1000 0111 OUT Address for host-to-device transfer
1001 1001 0110 IN Address for device-to-host transfer
0101 1010 0101 SOF Start of frame marker (sent each ms)
1101 1011 0100 SETUP Address for host-to-device control transfer
Data
0011 1100 0011 DATA0 Even-numbered data packet
1011 1101 0010 DATA1 Odd-numbered data packet
0111 1110 0001 DATA2 Data packet for high-speed isochronous transfer (USB 2.0)
1111 1111 0000 MDATA Data packet for high-speed isochronous transfer (USB 2.0)
Kết nối phân cấp qua USB 2.0
Các tác vụ trong một giao dịch của USB
Các tác vụ viết
Tác vụ điều khiển trong giao dịch điều khiển
Tác vụ viết trong giao dịch truyền dữ liệu
Các tác vụ đọc
Đọc điều khiển trong quá trình điều khiển
Truyền dữ liệu hướng vào
Chúc các em thi đạt
kết quả cao